chapter 3
chapter 3
3.PROPOSED SYSTEM
This part deals with the description of the proposed Food Delivery System, detailing
what will be accomplished in this section. It includes the purpose of the proposed
system, its functional and non-functional requirements, system requirements,
supplementary specifications, and the UML modeling used to visualize and design the
system.
Functional Requirements
The functional requirements outline the specific behaviors and functions that the
system must perform. These include:
Non-Functional Requirements
1
These are the criteria used to judge the operation of a system, rather than specific
behaviors. These include:
System Requirements
These include hardware and software requirements necessary for the development and
deployment of the system:
Hardware Requirements:
o Server Hardware: Intel Xeon or AMD EPYC with a minimum of 8
cores, 32 GB RAM, 1 TB SSD, Gigabit Ethernet, and 2 TB external
backup.
o Client Devices: Tablets/Computers (Intel i5, 8 GB RAM, 256 GB
SSD, touch screen, Wi-Fi), POS Terminals (ARM Cortex, 4 GB RAM,
32 GB SSD, touch screen, Ethernet/Wi-Fi), Receipt Printers, Barcode
Scanners, Payment Terminals.
Software Requirements:
o Frontend: ReactJS, HTML, CSS, JavaScript.
o Backend: Node.js, Express, MongoDB.
o Development Tools: Visual Studio Code, Git.
Supplementary Specification
This section includes additional specifications that support the main requirements,
ensuring that the system adheres to quality standards and user expectations.
UML Modeling
2
To model the proposed system, various Object-Oriented Analysis (OOA) models are
used:
I. Order Management
3
Take orders using a computer
Send orders directly to the restaurant
Update order status (e.g., In Progress, Ready, Served)
I. Performance
II. Scalability
III. Security
IV. Usability
V. Reliability
VI. Maintainability
5
3.2.3 System Requirement
1. Hardware Requirements
1. Server Hardware:
2. Client Devices:
I. Tablets/Computers for Order Taking:
Processor: Intel i5 or equivalent.
Memory: 8 GB RAM.
Storage: 256 GB SSD.
Display: 10-inch screen or larger with touch capability.
Network: Wi-Fi 802.11ac.
II. POS (Point of Sale) Terminals:
Processor: ARM Cortex or equivalent.
Memory: 4 GB RAM.
Storage: 32 GB SSD.
Display: 15-inch screen with touch capability.
Network: Ethernet or Wi-Fi 802.11ac.
3. Peripheral Devices:
I. Receipt Printers: Thermal printers with Ethernet or USB connectivity.
II. Barcode Scanners: USB or Bluetooth-enabled barcode scanners.
III. Payment Terminals: Devices supporting EMV, NFC, and magnetic
stripe payments.
2. Software Requirements
1. Frontend:
6
Technologies: ReactJS, HTML, CSS, JavaScript
2. Backend:
3. Development Tools:
This comprehensive list of hardware and software requirements ensures that the
proposed system is built using current technology standards, providing a robust,
scalable, and efficient solution.
To ensure the security and safety of the Food Delivery System and its users, the
following procedures will be implemented:
Security Procedures
1. Data Encryption:
- Use HTTPS for Secure Data Transmission: All data exchanged between the client
and the server will be encrypted using HTTPS to protect against eavesdropping and
man-in-the-middle attacks.
- Encrypt Sensitive Data Stored in the Database: Sensitive information such as user
passwords, payment details, and personal data will be encrypted in the database to
prevent unauthorized access in case of a data breach.
7
2. Authentication and Authorization:
- Use JWT for Secure User Sessions: JSON Web Tokens (JWT) will be used for
user authentication and maintaining secure sessions, ensuring that only authenticated
users can access protected resources.
3. Regular Audits:
Safety Procedures
1. Data Backup:
- Store Backups in a Secure, Off-Site Location: Store backup copies in a secure, off-
site location to protect against data loss due to physical damage to the primary site
(e.g., fire, flood).
2. Disaster Recovery:
- Regularly Test the Disaster Recovery Procedures: Periodically test the disaster
recovery procedures to ensure that they are effective and that staff are familiar with
8
the steps to take in an emergency. Regular testing will help identify any gaps or
weaknesses in the plan.
ID Name Description
BR-01 Customer All customers must register with a valid phone number before
Registration placing an order. Modifications to existing registration
information are allowed.
BR-02 Order Placement Customers can only place an order if they have provided a
Eligibility valid delivery address and selected at least one item from the
menu. Incomplete orders cannot proceed.
BR-03 Payment The system processes payments through integrated payment
Processing gateways (credit card, debit card, or wallet). Cash-on-delivery
Standards is allowed if enabled by the restaurant.
BR-04 Delivery Orders are automatically assigned to a delivery executive
Assignment based on proximity to the restaurant and customer location.
Protocol Admins can manually assign in exceptions.
3.3.2 Constraints
Platform Requirements
2. Cross-Platform Support
o The system must be compatible with multiple operating systems
(Windows, Linux, macOS) and devices (desktops, tablets,
smartphones).
o Technical Constraint: Developing and testing the system across
different platforms increases complexity and resource requirements.
3. Network Dependence
9
o The system should operate effectively even during network outages,
with the ability to synchronize data once connectivity is restored.
o Technical Constraint: Implementing offline functionality and
synchronization mechanisms can be complex and resource-intensive.
Process Requirements
1. Project Timeline
o The system must be developed, tested, and deployed within a specified
timeframe, typically six months.
o Schedule Constraint: A tight development schedule may limit the
ability to implement all desired features and thoroughly test the
system.
2. Budget Limitations
o The development and implementation of the system must stay within
the allocated budget.
o Economical Constraint: Budget constraints may impact the choice of
technology, tools, and the scope of features that can be developed.
4. Stakeholder Involvement
10
o Regular input and feedback from key stakeholders (e.g., restaurant
managers, staff, customers) are necessary to ensure the system meets
user needs.
o Process Constraint: Coordinating with stakeholders and incorporating
their feedback can be time-consuming and may cause delays.
5. Regulatory Compliance
o The system must adhere to local and international regulations
regarding food safety, health, and safety standards.
o Political Constraint: Keeping up with changing regulations may
require ongoing updates and modifications to the system.
6. Third-Party Integration
o The system must integrate with third-party services such as payment
gateways, online reservation platforms, and food delivery services.
o Technical Constraint: Ensuring reliable and secure integration with
multiple third-party services can be complex and may require ongoing
maintenance.
These constraints outline the various restrictive conditions that impact the
development and Food Delivery System. Addressing these constraints effectively is
crucial for the successful completion and implementation of the project.
This part includes the various restrictive conditions that exist in providing/delivering
Food Delivery System. These constraints might be economical, political, schedule-
related, technical, or any other factors that hinder the development team and the
organization from meeting the objectives of the systems development project. These
constraints are similar to pseudo requirements and can be categorized as follows:
Platform Requirements
11
Platform requirements are constraints on the environment and technology of the
system:
Process Requirements
Process requirements are constraints on the project plan and development methods:
12
In this part of the project, we will develop the system use case model for the Gursha
Restaurant Management System. This involves identifying the key actors interacting
with the system, the use cases representing the system's functional requirements, and
documenting each use case. The following steps will be undertaken:
· 1. Actors Identification:
The actors are the primary entities that interact with the system. These are:
Customer: End-users of the system who browse menus, place orders, and
provide feedback.
Restaurant: Partners who manage their menu, receive and prepare orders, and
track order statuses.
Delivery: Individuals responsible for picking up orders from restaurants and
delivering them to customers.
Admin: System administrators who manage overall operations, resolve issues,
and ensure the smooth functioning of the platform.
User Registration
Place Order
Process Payment
Assign Delivery Executive
Manage Feedback
13
1. Use Case: User Registration
Field Description
Identifier UC-01
This use case allows a new user to create an account in the system
Description
by providing necessary details.
Actor Customer
Precondition The user must not already have an account in the system.
Post condition The user is successfully registered and can log in to the system.
Extends None
Alternative If the user did not provide complete or valid details, the system
Course of displays an error message and prompts the user to re-enter the
Action required information.
Field Description
Identifier UC-02
This use case allows a registered user to place an order for items
Description
from the restaurant's menu.
14
Field Description
Actor Customer
The user must be logged into the system and have added items to
Precondition
the cart.
Extends None
1. The user reviews the items in the cart. 2. The system prompts the
Basic Course of user to confirm their delivery address. 3. The user selects the
Action payment method. 4. The system processes the payment and places
the order. 5. An order confirmation is sent to the user.
Alternative If the payment fails, the system informs the user and allows them to
Course of Action retry with a different payment method or cancel the order.
No Actors Description
15
No Actors Description
2 UC-02 Log In
The use case diagram for the Food Delivery System provides a visual representation
of the interactions between the identified actors and the system's functionalities. It
serves as a high-level overview, showcasing how different users engage with the
system and the key use cases they interact with.
In the diagram, actors are represented as stick figures, while the use cases are depicted
as ovals. Lines connect actors to the use cases they are involved with, illustrating the
relationships and interactions. This diagram aids in understanding the scope of the
system and facilitates discussions around system requirements.
A Use Case Diagram is a visual representation of the interactions between the actors
(users or external systems) and the system to achieve specific goals. It provides an
overview of:
16
Actors: Represent entities (users or systems) that interact with the system.
Use Cases: Represent the functionalities or processes the system supports.
Relationships: Show the interactions between actors and use cases, as well as
any extensions or inclusions.
1. Actors:
17
Figure 3 System Use Case Diagram
The conceptual class diagram is a vital modeling tool used during the analysis phase
of the system development life cycle (SDLC). It helps in identifying and organizing
the key entities (classes) within the proposed system and their relationships. The
primary purposes of using a conceptual class diagram in this phase are:
18
phases, making it easier to develop detailed class diagrams and database
schemas later.
4. Identifying Relationships: It illustrates how classes interact with each other,
which is crucial for understanding data flow and dependencies within the
system.
The sequence diagram is a dynamic modeling tool used in the analysis phase of the
system development life cycle, particularly from the perspective of Object-Oriented
(OO) design. Its primary purpose is to illustrate how objects interact in a specific
scenario over time. Here’s why we use this model:
19
1. Visualizing Interactions: Sequence diagrams help visualize the flow of
messages between objects, showing how they collaborate to complete a
particular use case. This aids in understanding the behavior of the system and
the timing of events.
2. Clarifying Use Case Scenarios: They provide clarity on how use cases are
realized through object interactions, helping to ensure that all functional
requirements are accounted for.
3. Identifying System Behavior: Sequence diagrams highlight the order of
operations and the relationships between different objects, which can reveal
potential issues or inefficiencies in the system design.
4. Supporting Communication: These diagrams serve as an effective
communication tool among stakeholders, facilitating discussions on the
system’s functionality and design.
20
Figure 5 Sequence Diagram
The activity diagram is a modeling tool used in the analysis phase of the system
development life cycle to represent the workflow of activities and the flow of control
within a system. Its primary purposes are:
21
Figure 6 Activity Diagram
The state chart diagram is an essential tool in the analysis phase of the system
development life cycle, particularly from an Object-Oriented (OO) perspective. It is
used to model the dynamic behavior of an object over its lifecycle, highlighting the
various states an object can occupy and the transitions between those states. Here’s
why this model was used:
22
2. Clarifying State Transitions: They provide a clear visualization of state
transitions, allowing stakeholders to understand how an object changes state in
response to events or conditions.
3. Identifying State-Dependent Behaviors: The diagrams help identify
different behaviors associated with various states, which can be crucial for
designing system responses in different scenarios.
4. Supporting Requirement Validation: By modeling states and transitions,
state chart diagrams facilitate discussions around requirements, ensuring all
possible scenarios are accounted for and correctly implemented.
23