MediStore Software Requirements Specification (SRS) "Online Store for Medical Supplies and Equipments" Version 1.0 Date: 2024/3/6 Team Members محي الدين محمود عقيلة اسالم ناصر قناط محمد خليفة بن دلة مهند المكي الشطشاطي Lead Software Engineer طه احمد محمد رضوان Prepared for ITSE311—Software Requirements Analysis Lecturer: Fatima Ben Lashihar Fall 2023 Table of Contents 1. INTRODUCTION.....................................................................................................................................................1 1.1 Purpose.................................................................................................................................................................1 1.2 Scope....................................................................................................................................................................1 1.3 Definitions, Acronyms, and Abbreviations..........................................................................................................1 1.4 References............................................................................................................................................................1 1.5 Overview..............................................................................................................................................................1 2. GENERAL DESCRIPTION....................................................................................................................................2 2.1 Product Perspective..............................................................................................................................................2 2.2 Product Functions.................................................................................................................................................2 2.3 User Characteristics.............................................................................................................................................2 2.4 General Constraints..............................................................................................................................................2 2.5 Assumptions and Dependencies...........................................................................................................................2 3. SPECIFIC REQUIREMENTS................................................................................................................................2 3.1 External Interface Requirements..........................................................................................................................3 3.1.1 User Interfaces..............................................................................................................................................3 3.1.2 Hardware Interfaces......................................................................................................................................3 3.1.3 Software Interfaces.......................................................................................................................................3 3.1.4 Communications Interfaces..........................................................................................................................3 3.2 Functional Requirements......................................................................................................................................3 3.2.1 Adding & Removing Items from Cart....................................................................................................3 3.2.2 Product and Category Management.............................................................................................................3 3.2.3 Cart Checkout .............................................................................................................................................3 3.3 Use Cases.............................................................................................................................................................3 3.3.1 Use Case #1..................................................................................................................................................3 3.3.2 Use Case #2..................................................................................................................................................3 3.3.2 Use Case #3..................................................................................................................................................3 3.5 Non-Functional Requirements.............................................................................................................................4 3.5.1 Non-Functional Requirements #1 ...............................................................................................................4 3.5.2 Non-Functional Requirements #2 ...............................................................................................................4 3.5.3 Performance..................................................................................................................................................4 3.5.4 Reliability.....................................................................................................................................................4 3.5.5 Security.........................................................................................................................................................4 3.5.6 Maintainability.............................................................................................................................................4 3.5.7 Portability.....................................................................................................................................................4 3.5.8 Scalability.....................................................................................................................................................4 1. Introduction 1.1 Purpose of Document The purpose of the intended SRS is to create a document for medical supplies & equipment web app store to develop an inclusive web store that offers a wide range of medical supplies and equipment to Individual Consumers, Hospitals and Clinics, and Pharmacies. the purpose of this system is to provide medical supplies & equipment on a website under one platform and allow customers to browse, purchase, and manage their products and purchase needs. 1.2 Scope 1.2.1 Web Application for Medical Supply & Equipment Store:the software will be developed as a web application that serves as an online platform for customers to explore, purchase, and manage medical supplies and equipment, and offer multiple types of medical equipment used in hospitals, clinics, pharmacies, and other audiences that we declared in the purpose of the document. 1.2.2 User Registration and Authentication:Customers can create accounts and log in to the web store, User authentication and authorization will be implemented to ensure secure access to the site. 1.2.3 Product Catalog:The web store will have a catalog of medical supplies, and equipment categorized according to their types, Each product will have detailed information, including description, specification, images, prices, availability, and customer reviews. 1.2.4 Search and Filter:Customers can search for specific products using keywords or filters such as product type, brand, or price range, Doing so doesn’t require the customer to log in to the website so this means any visitor to the website can search and filter any products and categories that the website offers. 1.2.5 Shopping Cart and Checkout:Customers can add products to their shopping carts and review the contents. They can proceed to a secure checkout process, providing delivery information, payment details with different payment methods, and verification. for the checkout process, It is mandatory to (login) to the website to access this feature. 1.2.6 Order Management:Admins will have access to an order management system to confirm, track, and manage customer orders. this includes order status and updates, verification delivery and shipment tracking, communication with the customers, and notifications will be provided to keep customers informed. 1.2.7 Rating and Reviews:The customers can write comments to review the products and to rate them based on a rating level from 1 to 5 stars. 1.2.8 Benefits and Limitations of the System:The system offers a convenient solution for customers to make purchases without the need to visit a shop physically, it also provides a centralized platform that offers a wide range of medical supplies and equipment for customers, One of the things that the system will not do is not differentiate between customers, whether they are regular customers, hospitals, clinics or other health organizations. in addition our store will not Offer Prescription Medications which means that we do not sell prescription medications we prioritize the safety and well-being of our customers and believe that obtaining prescription medications should be done through a valid prescription from a healthcare provider. 1.3 Definitions, Acronyms, and Abbreviations MediStore:-Medical supply and equipment store. MSE:- Medical supplies and equipment. Admin:- is an individual responsible for managing and overseeing the operations and functionalities of an online store. Checkout:- The process a Customer goes through to purchase an Item. UI: User Interface. 1.4 References 1.4.1 https://www.cse.msu.edu/~chengb/RE-491/Papers/SRS-BECS-2007.pdf Authors: Andrew Blossom, Derek Gebhard, Steven Emelander, Robert Meyer. 1.5 Overview The Software Requirements Specification (SRS) aims to document the development of an "MSE" web app store. The primary objective is to create an inclusive online platform that offers a diverse range of medical supplies and equipment to various stakeholders, including individual consumers, hospitals and clinics, healthcare professionals, and pharmacies. The purpose of this system is to provide a centralized website where customers can easily browse, purchase, and manage their products and purchase needs. By offering a one-stop platform, the web app store aims to streamline acquiring medical supplies and equipment, enhancing convenience and accessibility for all stakeholders. Key features of the web app store will include a comprehensive product catalog with detailed descriptions, search and filtering options to facilitate product discovery, a user-friendly interface for seamless browsing and purchasing, and order management. In addition to the functional requirements, the SRS will also address non-functional requirements such as user interface design, responsiveness, performance benchmarks, reliability, and scalability. These aspects are crucial for ensuring a smooth and secure user experience, as well as the long-term success and growth of the web app store. By providing this comprehensive overview in the SRS, the document serves as a roadmap for the development team, stakeholders, and other relevant parties involved in the creation of the "MediStore". It sets clear expectations, outlines the goals and functionalities of the system, and provides a foundation for the successful implementation and delivery of the desired online platform. 2. General Description 2.1 Product Perspective The "MediStore" aims to provide a convenient and efficient platform for customers to fulfill their medical supply needs, making it easier for customers to acquire their medical products by delivering their orders without the need to visit physical shops. also, it offers wide categories for the store products. 2.2 Product Functions Below are the product functions available to the customers and admins of the "MediStore":2.2.1 Customers .Register. .Login. .Search for Items. .Browse Categories. .Add / Remove item from the Cart. .Cart Checkout. .Rating and Reviewing Products. 2.2.2 Admins . Product and Category Management. . Order Management. 2.3 User Characteristics Customer:- any individual or health organization that requires the products that the "MediStore" provides. Admins:- "MediStore" staff employee that administrates the store functions and manages customer orders and product inventory. 2.4 General Constraints Supported platforms and devices:- The "MediStore" will be available in the form of a website only not as an application. Industry and country regulations:- The "MediStore" follows all regulations for all sales regarding "MSE", and must be compliant with relevant laws and regulations of the country around selling and distributing "MSE". 2.5 Assumptions and Dependencies .Assuming that the "MediStore" is used in different demographic locations the website will be available in the Arabic and English languages. .The "MediStore" depends on third-party shipping providers to control the delivery service. 3. Specific Requirements This section outlines detailed functional and non-functional requirements of the "MediStore" which serve as a foundation for the development and implementation of the system. 3.1 External Interface Requirements 3.1.1 User Interfaces The "MediStore" will feature a user-friendly web interface accessible through standard web browsers. .Sign in Page. .Register Page. .Home Page .Add to cart page. .Shopping Cart. .Checkout page. Category & Product management 3.1.2 Hardware Interfaces N/A: no specific hardware required. 3.1.3 Software Interfaces The "MediStore" will be compatible with any operating system such as Windows,Linux,(Mac OS), android. 3.1.4 Communications Interfaces Users can connect with the system using a browser and internet connection once users log into the system, customers can purchase and admins can manage the tracking of the system functionalities. 3.2 Functional Requirements 3.2.1 Adding & Removing Items from Cart 3.2.1.1 Introduction This function allows users to add and remove items from the shopping cart during the online shopping experience. 3.2.1.2 Inputs Product ID: Unique identifier for the product to be added or removed. Quantity: Number of units of the product to be added to the cart. Defaults to 1 if not specified. 3.2.1.3 Processing . Adding an item. . Removing an item. 3.2.1.4 Outputs Updated cart contents: Display a list of items in the cart along with their quantities and prices. Cart total price: Display the total price of all items in the cart, including any discounts. Out-of-stock message: Display an error message that informs the user that the product is out of stock. 3.2.1.5 Error Handling Item cannot be added to cart: when adding an item it cannot be added to the cart it might be out of stock and the out of stock message for the product is not appearing yet. 3.2.2 Product and Category Management 3.3.2.1 Introduction This functional requirement allows the admin of the system to add, update, and delete categories and products from the system. 3.2.2.2 Inputs This includes various details depending on the action being performed (e.g., product name, description, price, stock quantity, category ID for adding a product; category name and description for adding a category). 3.2.2.3 Processing Adding a product: Validate that all required product data is provided. Adding a category: Validate that all required category data is provided. Create a new category entry in the system's database with the provided information. Updating a product/category: Update the corresponding entry in the database with the new information provided. Removing a product/category: Remove the entry from the database. 3.2.2.4 Outputs Confirmation message: Provide a message confirming the successful addition, update, or removal of a product/category. Error messages: Display error messages in case of invalid data, missing information, or other issues during the process. 3.2.2.5 Error Handling Missing or invalid data: If required data is missing or invalid, display an error message specifying the issue(s) for correction. Non-existent product/category: in removing products or categories If the provided unique identifier doesn't match an existing entry, display an error message indicating the entry cannot be found. 3.2.3 Checkout 3.2.3.1 Introduction This functional requirement defines the process for users to complete their online purchases by checking out their shopping cart. 3.2.3.2 Inputs User's Cart. User Information. 3.2.3.3 Processing Cart validation: Verify the availability and pricing of the products in the user's cart. Order Calculation: Calculate the total of the order. User validation:- verify if the user was logged in to the system or missing any required input in the order confirmation form. 3.2.3.4 Outputs Order confirmation page: Display a confirmation page on the website summarizing the order details. Generating a report as a (PDF) file that has all of the order's information. 3.2.3.5 Error Handling payment failure. Invalid or missing information. 3.3 Use Cases 3.3.1 Categories and Products Management This use case represents the functional requirement for the administrator of the "MediStore". Use Case: Categories and Products Management. Actors: Administrator. Type: Primary. Description: Initiated when the administrator adds, removes, or updates products in the "MediStore". Includes: login Extends: None 3.3.2 Adding and removing items from the cart This use case represents the functional requirement for the customer to add and remove items from the cart. Use Case: Adding or removing items from the cart. Actors: Customer. Type: Primary. Description: This function allows customers of different types to add and remove items to the shopping carts. Includes: None. Extends: None. 3.3.3 Checkout This use case represents the second functional requirement for the customer. Use Case: Checkout. Actors: Customer. Type: Primary. Description: Customers who have items in their shopping cart can checkout on condition they enter their personal information in the order form. Includes: Login, Adding items to cart. Extends: None. 3.5 Non-Functional Requirements 3.5.1 24x7 availability. 3.5.2 Good component design. 3.5.3 Performance. 3.5.4 Reliability. 3.5.5 Security. 3.5.6 Maintainability. 3.5.7 Portability. 3.5.8 Scalability