[go: up one dir, main page]

0% found this document useful (0 votes)
118 views46 pages

Smart Fridge System Analysis Report

Uploaded by

muneebkhanuk8666
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views46 pages

Smart Fridge System Analysis Report

Uploaded by

muneebkhanuk8666
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

College of Science and Technology

School of Science and Technology

SOFT30121: Advanced Analysis and Design

Systems Analysis Design and Implementation (submission 1)

By

T0324977: Muhammad Khan


T0328947: Emircan Azik
T0324812: Hussain Ali Alkubaisi
T0418110: Ameer Biju Gafoor
N1258670: Nethum Aveesha Ekanayake
N1146466: Stephen Etukudoh

Smart Fridges for Future Fridges


Systems Analysis Design and Implementation 2

T0324977 Muhammad Khan


Systems Analysis Design and Implementation 3

SOFT30121: Advanced Analysis and Design....................................

Systems Analysis Design and Implementation.................................

1. Introduction..........................................................................
1.1. Purpose.................................................................
1.2. User Characteristics...............................................
1.3. Assumptions..........................................................
1.4. Scope and Constraints...........................................
1.5. Glossary of terms...................................................
1.6. Overview...............................................................

2. Functional Requirements.......................................................
2.1. Feature 1..............................................................
…..........................................................................................

3. Non-Functional Requirements................................................
3.1. Usability requirements...........................................
3.2. Reliability requirements.........................................
3.3. Performance requirements.....................................

4. Interfaces..............................................................................
4.1. User interfaces......................................................
4.2. Hardware interfaces..............................................
4.3. Software interfaces...............................................

5. Use Case Modelling................................................................


5.1. Use Cases..............................................................
5.2. Misuse cases.........................................................

6. Project Plan...........................................................................

7. References............................................................................
Appendix A: Contributions.....................................................

T0324977 Muhammad Khan


1. Introduction
Author(s):

1.1. Purpose
 The Software Requirements Specification (SRS) document aims to
comprehensively outline the backend development strategies and project
management framework for the FFsmart software system, commissioned
by Future Fridges Ltd. This document serves as a pivotal resource for the
development team, integrating the key objectives, functional and non-
functional requirements, and constraints that underpin the system's
design and implementation. It provides a roadmap to ensure that every
aspect of the software aligns seamlessly with the client's expectations,
industry standards, and the unique demands of the target market.
 The FFsmart system is a cutting-edge solution tailored for the commercial
restaurant sector, integrating advanced inventory management,
automated stock replenishment, and category-based food tracking. The
backend development will focus on ensuring robust data processing,
secure authentication protocols, and seamless integration with external
devices such as QR code scanners. Additionally, it addresses operational
efficiency by enabling automated alerts for low stock levels, expiration
tracking, and categorization of perishable goods.
 From a project management perspective, this document delineates the
phases of development, resource allocation, risk management, and the
iterative feedback process to ensure that the software evolves in response
to client needs. It emphasizes the importance of adhering to professional
standards, such as modularity in system architecture, scalability for future
enhancements, and rigorous testing protocols to guarantee reliability and
performance.
 By combining the backend development specifics with a structured project
management approach, this SRS document not only facilitates a clear
understanding among stakeholders but also ensures that the FFsmart
system is delivered on time, within budget, and with exceptional quality.
The ultimate goal is to create a user-centric product that meets the
dynamic demands of commercial kitchens while maintaining Future
Fridges Ltd.'s commitment to innovation and excellence.

1.2. User Characteristics


Roles:

1. Delivery Person: Delivery workers are responsible for adding items to


the inventory via the rear door access and logging in and entering the
delivered items into the application.

2. Chef:Chefs use the fridge to retrieve and insert ingredients for food
preparation. They also need to log when items are removed.
3. Head Chef:The head chef handles management of the inventory,
receives alerts for low-stock or expiring items, and checks user access
authorizations. They are the primary decision-maker regarding fridge
operations.

Experience levels:

1. Delivery Person:
* Delivery drivers will have varying levels of experience.
* Some most likely have experience using delivery apps but might not be
familiar with inventory systems or smart devices.

2. Chef:
* Mid to senior-level professionals with varying expertise with
technology.
* Often under time pressure especially during working and rush hours.

3. Head Chef:
* Must be highly experienced in kitchen operations and inventory
management.
* Familiar with using software for managing orders, inventory and alerts.

Technical expertise:

1. Delivery Person: Will have low to moderate familiarity with


smartphone usage (e.g., logging into apps, scanning barcodes, selecting
options).
2. Chef: Moderate technical expertise, they will be having experience
with using POS systems or other tools but may have limited tech
experience.
3. Head Chef: Will be having high expertise and comfortable with more
advanced features, such as configuring user permissions, and handling
inventory alerts.

Characteristics Influencing Product Design:

- User-friendly: Simple and easy to use interfaces to log deliveries with


minimal steps.
- Time Constraints: The design must be designed to prioritize speed, as
delivery drivers have tight schedules.
- Quickness: The system should allow quick item removal and addition
logging with a few taps.
- Detailed Insights: Generate detailed reports for health and safety
compliance and inventory performance.
- Emphasis on Essential information: Avoid cluttering and highlighting only
important information, such as remaining stock in inventory or expiry

T0324977 Muhammad Khan


dates.

 The application is designed to be used by users with low to high


expertise in technology. A delivery person would be shown simple
and user-friendly interface in order to maximize efficiency while
chefs/head chefs access more advanced features.

1.3. Assumptions
1. Hardware Simulation: The actual FFsmart fridge hardware is un-
available during development; hardware interactions will be simu-
lated.

2. User Devices: All users have access to compatible computing de-


vices (e.g., smartphones, tablets) to interact with the system.

3. Supplier Systems: Suppliers have APIs available for order place-


ments; if not, these will be simulated.

4. Technology Stack: The backend will be developed using Spring Boot


(Java framework) and MongoDB (NoSQL database).

5. Security Compliance: The system must comply with relevant data


protection and privacy regulations.

Network Connectivity: Reliable internet connectivity is assumed for all


interactions with the system. .

1.4. Scope and Constraints


• Backend Development:
◦ Implement user authentication and role-based access control.
◦ Develop inventory management functionalities.
◦ Create alert and notification systems.
◦ Simulate hardware interactions with the fridge sensors and
doors.
◦ Integrate with supplier ordering systems (simulated if neces-
sary).
• Project Management:
◦ Plan and monitor project activities to meet deadlines.
◦ Coordinate between team members and stakeholders.
◦ Manage risks and ensure quality deliverables.

Constraints:
• Time: Limited development period due to academic deadlines.
• Resources: Small team size focusing on backend development
and project management roles.

T0324977 Muhammad Khan


• Hardware Availability: Lack of physical hardware necessitates
simulation.
• Budget: Limited budget typical of a startup environment.
• Compliance: Must adhere to university guidelines and industry
best practices.

e. Glossary of Terms
• FFsmart: The smart fridge developed by Future Fridges Ltd.
• Backend: The server-side part of the application responsible for
data processing, business logic, and database interactions.
• Frontend:
The client-side part of the application that users interact with dir-
ectly. It includes screens, visuals, buttons, and other user interface
components.
• Spring Boot: An open-source Java-based framework used to cre-
ate microservices and web applications.
• MongoDB: A NoSQL, document-oriented database program that
uses JSON-like documents with optional schemas.
• API: Application Programming Interface, a set of protocols for
building and interacting with software applications.
• User Authentication: The process of verifying the identity of a
user accessing the system.
• Role-Based Access Control (RBAC): A method of regulating ac-
cess to a computer or network resources based on the roles of in-
dividual users.
• Simulated Hardware: Software modules that mimic the behavior of
actual hardware components.

Overview:
This paper offers an organized method for creating FFsmart software. It
describes the goals, specifications, and design plans of the project. Use
cases, project management techniques, user interface design, and
functional and non-functional requirements are important components.

1.5. Glossary of terms


Outline any acronyms, abbreviations and definitions that will be used
throughout the document

1.6. Overview
What does the rest of this document contain/how is it organised?

T0324977 Muhammad Khan


2. Functional Requirements (Backend)
Author(s): Muhammad Khan
• 2.1 User Authentication and Authorization
2 FR1: The system shall allow users to securely log in using unique
credentials.
◦ Priority: Must Have
◦ Acceptance Criteria: Users can log in and receive ac-
cess tokens; unauthorized users are denied access.
2 FR2: The system shall implement role-based access control, re-
stricting functionalities based on user roles (head chef, chef, deliv-
ery personnel).
◦ Priority: Must Have
◦ Acceptance Criteria: Users can only access features
permitted by their role.

2.2 Inventory Management


• FR3: The system shall track real-time inventory of items in the
fridge, including name, quantity, and expiry date.
◦ Priority: Must Have
◦ Acceptance Criteria: Inventory data is updated accur-
ately when items are added or removed.
• FR4: The system shall allow chefs to remove items from the in-
ventory as they are used.
◦ Priority: Must Have
◦ Acceptance Criteria: Item quantities decrease appro-
priately when removed by chefs.
• FR5: The system shall allow delivery personnel to add items to the
inventory upon delivery.
◦ Priority: Must Have
◦ Acceptance Criteria: Item quantities increase appropri-
ately when added by delivery personnel.

2.3 Alerts and Notifications


• FR6: The system shall send alerts to the head chef three days be-
fore an item's expiry date.
◦ Priority: Must Have
◦ Acceptance Criteria: Alerts are generated and sent for
items nearing expiry.
• FR7: The system shall send alerts when item quantities are projec-
ted to run out within three days.

T0324977 Muhammad Khan


◦ Priority: Must Have
◦ Acceptance Criteria: Low-stock alerts are generated
and sent to the head chef.

2.4 User Management


• FR8: The system shall allow the head chef to add or remove users
and modify their permissions.
◦ Priority: Should Have
◦ Acceptance Criteria: Head chef can manage user ac-
counts and permissions successfully.

2.5 Automated Reordering


• FR9: The system shall automatically generate orders for items
that have run out or are projected to run out and send them to the
appropriate suppliers every Monday.
◦ Priority: Should Have
◦ Acceptance Criteria: Orders are generated and sent to
suppliers correctly.

2.6 Access Control for Fridge Doors


• FR10: The system shall authenticate delivery personnel to unlock
the rear door of the fridge via the app.
◦ Priority: Must Have
◦ Acceptance Criteria: Only authorized delivery person-
nel can unlock the rear door.

2.7 Data Integrity Checks


1 FR11: The system shall verify that the correct items have been
added to the inventory after delivery.
◦ Priority: Should Have
◦ Acceptance Criteria: Discrepancies between delivery
records and inventory updates are identified and re-
ported.

2.8 Health and Safety Reporting


1 FR12: The system shall generate reports required by the health
and safety officer.
◦ Priority: Could Have

T0324977 Muhammad Khan


Acceptance Criteria: Reports are generated accurately and are
accessible by authorized personnel.

Functional Requirements (Testing)

1. Inventory Management
Inventory management is the systematic process of tracking, managing,
and organizing the stock of items in a storage facility. In the context of
FFsmart software, this involves ensuring accurate, real-time data about the
availability, usage, and expiration of food and supplies within the fridge.
Effective inventory management minimizes food waste, ensures optimal
stock levels, and aids in efficient kitchen operations.
Must-Have Requirements:
1. Real-Time Inventory Tracking

This feature ensures that every item entering or leaving the fridge is
tracked through smart sensors or manual inputs. The system logs
each transaction, including details like the timestamp and the
responsible user. Real-time updates eliminate the need for manual
inventory checks, reducing errors and saving time. For example,
when a chef removes an ingredient, the system automatically
updates the inventory count.
2. Item Details Storage

The system maintains a database of all stored items, including their


names, quantities, and expiry dates. This enables staff to easily view
what is available, prioritize the usage of perishable goods, and
identify when to restock.
 Item Name: e.g., "Lettuce" or "Chicken Breast."

 Quantity: Current number of units or weight.

 Expiry Date: To comply with food safety guidelines and


prevent waste.

The system should allow chefs and head chefs to easily view this
information through
their respective app interfaces.

3. Expiry Notifications

To adhere to food safety standards and reduce wastage, the system


sends notifications to the head chef when items approach their
expiration date (three days in advance). This ensures timely usage or
disposal of items, preventing health risks and compliance violations.

Notifications must include:


 Item name.
T0324977 Muhammad Khan
 Remaining quantity.

 Expiry date.

This feature helps the restaurant avoid using expired items and
manage stock proactively.
4. Low-Stock Alerts

The system predicts when items are likely to run out based on past
usage patterns and sends low-stock alerts three days in advance.
This proactive feature allows the kitchen to plan for reordering or
substitutions, avoiding disruptions in operations.
Should-Have Requirements:
5. Weekly Inventory Report

A summarized report of all inventory activities, such as items added,


removed, expired, or flagged as low stock, is generated weekly. This
report helps management review the efficiency of stock handling and
plan for improvements. Reports should be emailed or displayed in the
head chef’s app for easy access.
Could-Have Requirements:
6. Visual Inventory Dashboard

A summarized report of all inventory activities, such as items added,


removed, expired, or flagged as low stock, is generated weekly. This
report helps management review the efficiency of stock handling and
plan for improvements.
 Current stock levels categorized by type (e.g., veget-
ables, meats).

 Color-coded indicators for low-stock or near-expiry items.

 Filters to focus on specific categories, suppliers, or date


ranges.

The dashboard should improve user experience and efficiency in


stock management.

2. User Authentication and Role-Based Access Control


(RBAC)
User authentication and Role-Based Access Control (RBAC) are security
measures designed to manage access to the system based on user roles
and credentials. Authentication verifies a user’s identity, while RBAC
determines what resources and actions the user can access based on their
assigned role. These features ensure system security, protect sensitive
data, and enhance accountability by granting permissions only as needed.

T0324977 Muhammad Khan


Must-Have Requirements:
1. User Login System

The system requires each user to log in with unique credentials,


ensuring that only authorized personnel access the fridge or its
management software. For instance, a delivery person and a head
chef would log in but see and access different features based on their
roles.
The system should differentiate roles and restrict actions accordingly:
 Delivery Personnel: Access only to the rear door for re-
plenishment and recording delivered items.

 Chefs: Add, remove, and view stock.

 Head Chef: Full administrative rights, including user


management.

2. Role-Based Access Control

RBAC ensures users can only perform actions relevant to their


responsibilities. For example:
 Delivery Personnel: Only have access to the rear fridge door
to restock items.

 Chefs: Can view, add, or remove items but cannot change ad-
ministrative settings.

 Head Chef: Has full access to all system functionalities, includ-


ing managing user roles and viewing detailed audit logs.
This separation of permissions enhances security and reduces
accidental or malicious misuse of the system.

Should-Have Requirements:
3. User Action Audit Logs

Every user action, such as opening a fridge door or modifying


inventory, is logged in the system. This provides an audit trail to track
who performed what action and when, improving accountability and
aiding in troubleshooting security incidents.

Could-Have Requirements:
4. Two-Factor Authentication (2FA)

To further secure access, especially for high-level roles like the head
chef, 2FA can be implemented. This involves a secondary verification
step, such as a code sent to the user’s mobile device, making
unauthorized access significantly harder.

T0324977 Muhammad Khan


3. Automated Restocking and Supplier Management
Automated restocking and supplier management refer to the integration of
inventory management with procurement processes. This system
automates the reordering of items, maintains a database of suppliers, and
tracks delivery performance. It ensures that necessary ingredients are
replenished efficiently, suppliers are managed effectively, and order
fulfillment is transparent.
Must-Have Requirements:
1. Automatic Reordering

The system automatically generates and sends orders for items


nearing low-stock levels based on predefined schedules (e.g., every
Monday). This reduces manual intervention and ensures
uninterrupted kitchen operations. Each item is linked to a specific
supplier, ensuring orders go to the right vendor. (e.g., “Supplier A
supplies tomatoes”).
2. Supplier Database

A centralized repository of supplier information, including contact


details and the items they supply, streamlines procurement. This
feature simplifies order management and allows easy referencing
during supplier communications or evaluations.
The system must maintain a list of approved suppliers, including:
 Supplier name.

 Contact details.

 List of items supplied.

Should-Have Requirements:
3. Order Confirmation Notifications

Once an order is placed, the system notifies the head chef with
details such as the items ordered, quantities, and expected delivery
dates. This promotes transparency and allows the kitchen to plan for
incoming deliveries.
4. Delivery Reconciliation

When deliveries arrive, the system generates a checklist for chefs to


verify that the correct items and quantities have been delivered. Any
discrepancies are logged, providing a basis for follow-ups with
suppliers and maintaining quality control.
Could-Have Requirements:
5. Supplier Performance Tracking

Over time, the system tracks and reports on supplier performance,


including metrics like delivery accuracy and timeliness. This data
helps management identify the most reliable vendors and address
T0324977 Muhammad Khan
issues with underperforming suppliers, ultimately improving the
procurement process.
The combination of Inventory Management, User Authentication and
RBAC, and Automated Restocking and Supplier Management
significantly enhances kitchen operations by ensuring efficient stock
usage, minimizing waste, and providing real-time tracking,
notifications, and detailed reports. User authentication and RBAC
protect the system from unauthorized access, enforce accountability,
and secure sensitive data and operations. Meanwhile, the automated
restocking and supplier management streamline the procurement
process, maintain consistent stock levels, and strengthen vendor
relationships through performance tracking and data-driven insights.
Together, these features optimize kitchen efficiency, reduce
operational costs, and ensure food safety and quality.

2.1. Feature 1

T0324977 Muhammad Khan


3. Non-Functional Requirements
Author(s):

Describe the characteristics of the system. Explain the rationale of each of


these to aid design choices later. Be as specific as possible. Not all these
requirement types may apply, so only use ones appropriate the system.

3.1. Usability requirements (Backend)


a. Usability Requirements

1. Ease of Use
The application must be user-friendly and require minimal training to use
the app for users such as chefs, delivery personnel, and head chefs.
Clear Navigation:
Clear navigation is a necessity to ensure the app is easy to use for all user
roles like delivery drivers, chefs, and head chefs. It must have a
straightforward navigation menu tailored to their tasks. Common actions
such as logging in to the app, adding/removing items and checking alerts
must ideally be accessible within a few clicks.
Simple Data Entry:
Data entry forms to add items, details etc. must include simple features like
date pickers to minimize errors and the effort taken.
Error Prevention and Feedback:
 Input validation in real time for invalid entries.
 Confirmation messages before critical actions like item removal or
user access changes.
Success and error notifications must clearly describe the result, for
example:
 Success: "Item successfully added to inventory."
 Error: "Please enter a valid expiry date."
Role-Specific Dashboards:
Delivery personnel, chefs, and head chefs must see only relevant options
and data on their app interface to avoid confusion and prevent
unauthorised actions.
2. Accessibility Consideration
The app must be designed to be inclusive and appealing to a diverse range
of app users, including those difficulties that could affect their ability to use
the application.
 Color Contrast:
The app should be designed to ensure a minimum contrast ratio of 4.5:1
between the text and background colors, as it is recommended by the Web
Content Accessibility Guidelines (WCAG).
 Adjustable Text Size:
Include settings to increase/decrease font size for better readability without
breaking the layout.
 Visual Alerts:

T0324977 Muhammad Khan


Use visual indicators (e.g., color-coded notifications) for alerts,
supplemented with sound/vibration for mobile devices to cater to users with
hearing impairments.
3. Consistency in Design
The app design must be cohesive to improve its usability and minimize the
amount of time it takes to learn for users.
Uniform UI Components:
 Buttons, form fields, and navigation menus must follow a consistent
style, size, and placement across all screens.
 Using a consistent color scheme to differentiate general actions such
as:
o Primary Actions: Green color Ex: "Submit," "Confirm”.
o Warnings and Alerts: Yellow Ex: Alerts for low stock or expiring
items.
o Critical Actions: Red Ex: "Remove," "Cancel”.
Typography:
A single font- family will be used:
 Headings: Bold and larger size.
 Body Text: Regular size.
Icons and Labels:
 Using recognizable icons. Ex: a plus sign for adding items, with
descriptive labels.
Responsive Design:
 The interface must be optimized for various device sizes.
 Key interactive elements must remain easily clickable (at least 48x48
pixels).
Error Messaging Standardization:
 Ensure all error messages follow a consistent format. For example:
"Error: Quantity cannot be left blank. Please enter a valid number."

1. NFR1: The backend APIs shall be well-documented and follow RESTful


principles to facilitate easy integration with the frontend.
1. Acceptance Criteria: API documentation is clear, comprehensive, and
accessible.
2. NFR2: Error messages shall be informative and guide the user or
developer to resolve issues without exposing sensitive information.
1. Acceptance Criteria: Errors are logged appropriately, and user-facing
messages are helpful.

Usability Requirements (Frontend)

1. Ease of Use

T0324977 Muhammad Khan


The application must be user-friendly and require minimal training to use
the app for users such as chefs, delivery personnel, and head chefs.

Clear Navigation:

Clear navigation is a necessity to ensure the app is easy to use for all user
roles like delivery drivers, chefs, and head chefs. It must have a
straightforward navigation menu tailored to their tasks. Common actions
such as logging in to the app, adding/removing items and checking alerts
must ideally be accessible within a few clicks.

Simple Data Entry:

Data entry forms to add items, details etc. must include simple features like
date pickers to minimize errors and the effort taken.

Error Prevention and Feedback:

 Input validation in real time for invalid entries.


 Confirmation messages before critical actions like item removal or
user access changes.
Success and error notifications must clearly describe the result, for
example:
 Success: "Item successfully added to inventory."
 Error: "Please enter a valid expiry date."

Role-Specific Dashboards:

Delivery personnel, chefs, and head chefs must see only relevant options
and data on their app interface to avoid confusion and prevent
unauthorised actions.

2. Accessibility Consideration

The app must be designed to be inclusive and appealing to a diverse range


of app users, including those difficulties that could affect their ability to use
the application.

 Colour Contrast:
o The app should be designed to ensure a minimum contrast ratio
of 4.5:1 between the text and background colors, as it is
recommended by the Web Content Accessibility Guidelines
(WCAG).
 Adjustable Text Size:
o Include settings to increase/decrease font size for better
readability without breaking the layout.
 Visual Alerts:

T0324977 Muhammad Khan


o Use visual indicators (e.g., color-coded notifications) for alerts,
supplemented with sound/vibration for mobile devices to cater
to users with hearing impairments.

3. Consistency in Design

The app design must be cohesive to improve its usability and minimize the
amount of time it takes to learn for users.

Uniform UI Components:
 Buttons, form fields, and navigation menus must follow a consistent
style, size, and placement across all screens.
 Using a consistent colour scheme to differentiate general actions
such as:
o Primary Actions: Green colour Ex: "Submit," "Confirm”.
o Warnings and Alerts: Yellow Ex: Alerts for low stock or
expiring items.
o Critical Actions: Red Ex: "Remove," "Cancel”.

Typography:
A single font- family will be used:
 Headings: Bold and larger size.
 Body Text: Regular size.

Icons and Labels:


 Using recognizable icons. Ex: a plus sign for adding items, with
descriptive labels.

Responsive Design:
 The interface must be optimized for various device sizes.
 Key interactive elements must remain easily clickable (at least 48x48
pixels).

Error Messaging Standardization:


 Ensure all error messages follow a consistent format. For example:
"Error: Quantity cannot be left blank. Please enter a valid number."

Usability Requirements - (Testing)


User Interface (UI) Simplicity and Intuitiveness:
The FFsmart software must have an intuitive, easy-to-use interface
that allows staff with varying technical skills to use the system
effectively. This is crucial for minimizing training time and ensuring
smooth daily operations, especially for kitchen staff and delivery

T0324977 Muhammad Khan


personnel.
Rationale: A well-designed UI ensures that all users can quickly
adopt the system without confusion. This is essential for improving
operational efficiency and reducing errors that could arise from
complicated navigation or interface design.
Multi-Platform Compatibility:
The system should be accessible via multiple platforms, including
desktops, tablets, and smartphones. The app should be
responsive, with a design optimized for different screen sizes and
resolutions.
Rationale: Since FFsmart will be used by various staff members in
different settings (e.g., kitchen staff, delivery personnel), multi-
platform compatibility ensures accessibility regardless of device
type or location, improving flexibility and usability.
User Feedback:
The system should provide immediate and clear feedback on
actions performed (e.g., confirming item addition, showing real-
time status of inventory updates).
Rationale: This enhances the user experience by giving
immediate confirmation or alerts, preventing uncertainty and
reducing operational mistakes.

3.2. Reliability requirements (backend)

• NFR3: The system shall be available 99% of the operational hours.


◦ Acceptance Criteria: Downtime does not exceed ac-
ceptable limits during operational hours.
• NFR4: The system shall ensure data consistency and integrity
across all operations.
◦ Acceptance Criteria: No data anomalies occur during
transactions; transactions are atomic.
• NFR5: The system shall perform regular backups and have a re-
covery plan in case of failures.
Acceptance Criteria: Backup procedures are in place, and data can be
restored successfully.

Reliability Requirements (Testing)


System Availability:
The system should maintain 99.9% uptime, with a maximum
allowable downtime of less than 8 hours per year, ensuring
continuous access for staff, particularly for inventory tracking and
restocking tasks.
Rationale: High system availability is critical to ensure that
kitchen staff and delivery personnel can access and manage
T0324977 Muhammad Khan
inventory without disruption, preventing delays in kitchen
operations and food supply chains.
Data Integrity:
The system should guarantee that all inventory data (item details,
quantities, expiry dates) is accurately recorded and stored. Any
transactions involving adding or removing inventory should be
securely logged with user identification, timestamp, and actions
performed.
Rationale: Data integrity is essential to maintain accuracy in
stock levels and expiry dates. Any errors in inventory data could
lead to food waste, ordering issues, or even health and safety
violations. Ensuring data consistency will build trust in the system.
Fault Tolerance:
The system should be able to handle hardware or software failures
without major disruptions. Critical functions, like inventory tracking
and user authentication, should fail gracefully, with proper error
messaging and logging.
Rationale: Fault tolerance ensures that, even in the event of an
issue, the system remains operational or can recover quickly,
thereby minimizing downtime and maintaining essential
functionality.

3.3. Performance requirements (Backend)

• NFR6: Backend APIs shall respond within 500 milliseconds under


normal load conditions.
◦ Acceptance Criteria: API response times are within ac-
ceptable thresholds during testing.
• NFR7: The system shall support scalability to handle increased
load without significant performance degradation.
◦ Acceptance Criteria: System performs adequately un-
der simulated high-load conditions.
• NFR8: Resource utilization shall be optimized to ensure efficient
use of server resources.
Acceptance Criteria: CPU and memory usage remain within acceptable
limits during operation.

Performance requirements (Frontend)

.1. Response Times

T0324977 Muhammad Khan


- Login and Authentication: Users must be able to
receive feedback whether it was a success or an
error within 1 second after entering their login
details.
- Real-Time Item Tracking: When any items are being
added or removed, updates must be reflected in the
UI and confirmation message within 1 second.
- Alert Notifications: Alerts for items in low stock or
expiry warnings must appear in the user interface
within 1 second after being triggered.

.2. Load Times


- Initial App Load:
 The application must be able to load its main interface within
two seconds when it Is started on high-speed networks like WiFi
or 5G.
 When it is started on slower networks such as 3G, the load time
should not exceed 5 seconds.

- Following Page Loading:


 Navigating between sections of the app like switching from
main page to adding items, it should not take more than 500
milliseconds.
 Any dynamically loaded content like adding a new item must
appear

T0324977 Muhammad Khan


4. Interfaces
Author(s):

Describe the logical characteristics of each interface between the software


product and the users, and any external systems. This may include sample
screen images (consider using balsamiq!), any GUI standards or product
family style guides that are to be followed, screen layout constraints,
standard buttons and functions (e.g., help) that will appear on every
screen, keyboard shortcuts, error message display standards, and so on.

5. User interfaces

1.1 GUI Standards and Layout

 Mobile-First Design:
o Optimized for touchscreens with responsive layouts.
o Vertical scrolling for main screens and collapsible menus for
navigation.
 Screen Layouts:
o Role-specific home screens:
 Delivery Personnel: Scan items and update inventory.
 Chefs: View inventory, request restocking.
 Head Chef: Comprehensive reports, alerts, and settings.
o Consistent placement of buttons:
 Top Bar: User role display, notifications, and settings.
 Bottom Navigation Bar: Quick links to key features
(e.g., Inventory, Alerts, Reports).
 Color Coding:
o Green: Adequate stock.
o Yellow: Low or nearing expiry.
o Red: Critical or expired stock.

T0324977 Muhammad Khan


Welcome Page - Sign-In and Sign-Up Screen (Left Panel):

This is the first interaction point for users of the FFsmart app. It provides a
clean and minimalistic interface with the following features:

 Header: Displays the app's name, "FFSmart Fridge," paired with a


visually appealing icon of a fridge to reinforce branding and establish
the app's purpose.
 Sign-In Button: A prominent blue button at the center of the screen
allows returning users to quickly access their accounts.
 Sign-Up Button: A secondary outlined button beneath the Sign-In
option, guiding new users through the account registration process.
 Overall Design: The high-contrast buttons ensure accessibility,
while the layout focuses on simplicity and clarity, offering an intuitive
onboarding experience.
T0324977 Muhammad Khan
Welcome Page - Role Selection Screen (Right Panel):

This screen allows users to select their role before accessing the app's
specific functionalities. It includes:

 Header and Branding: Similar to the previous screen, it reinforces


the app's identity with the "FFSmart Fridge" name and the fridge
icon.
 Role Options: Four distinct blue buttons represent the roles: Admin,
Head Chef, Chef, and Delivery Personnel. This segmentation ensures
that each user accesses functionalities tailored to their
responsibilities.
 User-Centric Design: The organized and well-spaced layout makes
navigation effortless. The bright blue buttons draw attention and
improve usability across devices.

These two pages work seamlessly to ensure users start their journey in the
app with clarity and ease.

T0324977 Muhammad Khan


Description for the Registration Page:

Registration Page - New Staff Onboarding:

This screen facilitates the registration of new users (staff) for the FFsmart
app, offering a user-friendly and secure onboarding experience. Key
features include:

 Header and Branding: The "FFSmart Fridge" title and fridge icon
continue to reinforce brand consistency across the app.

T0324977 Muhammad Khan


 Registration Fields:
o Email Field: Allows users to enter their email address as the
primary identifier. Accompanied by a user icon for clarity.
o Password and Repeat Password Fields: Ensures security by
requiring users to create and confirm a password. An "eye" icon
is provided to toggle password visibility, enhancing usability for
password input.
 Sign-Up Button: A clearly defined button below the input fields
allows users to finalize their registration. The gray color contrasts the
blue fields, signaling the end of the form.
 Login Redirect: A subtle text link ("Already have an account? Log
in") below the Sign-Up button ensures easy access for returning users
without overwhelming the screen.
 Overall Layout: The design emphasizes simplicity, accessibility, and
professionalism, making it approachable for users with varying
technical proficiency.

This page ensures a seamless entry into the FFsmart system, maintaining
consistency with the app’s clean and intuitive design language.

T0324977 Muhammad Khan


Elements:

1. Sign In Title: This title clearly indicates the purpose of the page.
2. FFSmart Fridge Logo: This visually represents the FFsmart brand
and system.
3. Welcome Back Message: This friendly greeting acknowledges
returning users.
4. ID Input Field: This field prompts the user to enter their unique
identifier (likely a username or employee ID).
5. Password Input Field: This field prompts the user to enter their
password for authentication.
6. Forgot Password? Link: This provides a link for users to recover
their password if they've forgotten it.
7. Sign In Button: This button initiates the login process upon clicking.
8. Don't have an account? Register Link: This provides a link for
new users to create an account.
T0324977 Muhammad Khan
Purpose:

This page serves as the initial point of access for users to log in to the
FFsmart Fridge system. It allows authorized users to authenticate
themselves and gain access to the system's features and functionalities.

Elements:

1. Sign In Title: This title clearly indicates the purpose of the page.
2. FFSmart Fridge Logo: This visually represents the FFsmart brand
and system.
3. Welcome Back Message: This friendly greeting acknowledges
T0324977 Muhammad Khan
returning users.
4. Fridge ID Input Field: This field prompts the user to enter the
unique identifier of the FFsmart fridge they want to access.
5. Password Input Field: This field prompts the user to enter the
password associated with that specific fridge.
6. Forgot Password? Link: This provides a link for users to recover the
password for the fridge if they've forgotten it.
7. Sign In Button: This button initiates the login process upon clicking.
8. Don't have an account? Register Link: This provides a link for
new users to create an account and register a new FFsmart fridge.

T0324977 Muhammad Khan


Page 1: Replenish Items

 Purpose: This page is the starting point for delivery personnel to


interact with the FFsmart system. It allows them to select items to be
replenished in the fridge.
 Elements:
o Selected Items: This section displays a list of items that the
delivery person has selected for replenishment. Each item is
listed with its name, quantity, and a checkbox to indicate
whether it has been selected.
o Request Delivery: This button initiates the delivery process.
Once clicked, it likely triggers a notification to the restaurant
staff or delivery service about the required items.
o Back: This button takes the user back to the previous screen or
exits the app.

Page 2: Replenish Items (Items Requested)

 Purpose: This page confirms the items that have been requested for
delivery. It provides a visual confirmation and a way to navigate back
to the previous screen.
 Elements:
o Selected Items: Similar to the previous page, this section
displays the selected items with their names, quantities, and
checkboxes.
o Items Requested: This prominent button visually confirms
that the items have been requested. It might also trigger a
notification or confirmation message.
o Back: This button takes the user back to the previous screen.

1.2 Standard Buttons and Functions

 Buttons:
o Floating Action Button (FAB) for primary actions like adding new
inventory or placing orders.
o Standard icons for common actions (e.g., a bell for alerts, a
shopping cart for orders).
 Help and Tutorials:
o Accessible through the settings menu for app walkthroughs.
 Gestures:
o Swipe left/right to navigate screens or dismiss notifications.

T0324977 Muhammad Khan


1.3 Error Messaging Standards

 User-friendly messages with visuals:


o Example: “Failed to Update Inventory. Please check your
connection and retry.”
 Toast notifications for minor errors and modals for critical issues.

1.4 Accessibility Features

 Voice commands for common tasks (e.g., “Show inventory for


today”).
 Adjustable text sizes and color themes for improved usability.

5.1. Hardware interfaces


Describe any links from the software to physical hardware, if any. What part
of the hardware will the software link to? Which part of the software will link
to the hardware? If hardware is not being used at this stage, but could be in
the future, then what is being used as the placeholder (e.g. mock-up piece
of software that acts has hardware) to enable demonstration of the
software product.

5.2. Software interfaces

Describe the interfaces between different software components. Typically,


if different languages have been used, then how will they interface. Any
database will need to connect to the software – how is this done? Etc.

6. Use Case Modelling


Author(s):

Use Case 1: User Login

Actor(s): Delivery Person, Chef, Head Chef, Manager

Precondition:
 The user must be having an active authorized account with username
and password.

Postcondition:
 The user will gain access to the application and is going to see the
appropriate interface based on their role and access.

T0324977 Muhammad Khan


Main Flow:

The user launches FFsmart app on their device. Login page is displayed to
the user. User enters valid credentials and logs in. The system verifies the
login details. Following successful authentication of login details, the
system shows user the respective interface (Delivery additions for delivery
person, insertion/removal for chefs and headchef etc.)

Alternative Flow:

In the case of invalid credentials, system displays error message informing


user of invalid login details and to try again. User can retry with correct
details.

Use Case 2: Item Insertion/Removal

Actor(s): Delivery Person, Chef, Head Chef

Precondition:
 The user is logged into the system.

Postcondition:
 The inventory is updated to reflect the addition or removal of items in
real time.

Main Flow for Item Insertion - Delivery Person/Chef/Head Chef:

The authorized users logs in to the app. The authorized users navigates to
the section to insert items. The authorized users enters details of the items
that are added. App verifies the data and insertion of items. The system
updates the inventory to reflect the added items. Confirmation message is
displayed to the person.

Main Flow for Item Removal (Chef/Head Chef):

The chef or Head Chef logs in to the app. The user navigates to the section
to remove items from the fridge. The user selects the items to be removed
from a list of the current inventory. The user chooses the quantity of the
item to be removed. The system will update the inventory in real time. A
confirmation message will be displayed to the user.

Alternative Flow:

T0324977 Muhammad Khan


If there is a discrepancy such as an item not existing in the inventory, the
system displays an error message to the user to retry.

Use Case 3: Alert Notifications

Actor(s): Head Chef

Precondition:
 The system is actively monitoring the inventory, stock and expiry
dates in real time.

Postcondition:
 The head chef is alerted of expiring and low-stock items and will be able
to take necessary action.

Main Flow for Expiry Alerts:

The system detects an item nearing its expiry date (ex: expiring in 3 days).
The system sends a notification to the head chef’s application stating that
the item along with its details are expiring in a certain number of days.

Main Flow for Low Quantity Alerts:

The system detects an item that is nearing a low quantity threshold (ex:
item about to run out in 2 days). The application sends a notification to the
head chef’s application stating that the item is about to run out in quantity
soon.

Alternative Flow:

If the user misses or ignores the notification, the app will resend the alert
periodically.

Use Case 4: User Authentication Flows

Actors: Delivery Person, Chef, Head Chef, Manager

Precondition:
* The user must have valid credentials that are already registered in the
system.
T0324977 Muhammad Khan
Frontend Components Involved:
* Login Page with input fields for the username and password, login button,
and error message display.
* Forgot Password Button
* Dashboard based on roles and navigation to appropriate interface
according to user.

Main Flow:
1. The user opens the application.
2. The login page is displayed and shows the fields for entering username
and password.
3. The user inputs their username and password.
4. The user clicks the "Login" button.
5. The app validates the credentials through the backend.
6. Upon successful authentication of details, the app navigates the user to
the dashboard based on their role.

Alternative Flow:
* In case of Invalid Credentials:
1. The backend returns an authentication error.
2. The app displays an error message on the login page:
"Invalid username or password. Please try again."
* Forgot Password:
1. The user clicks the "Forgot Password" button.
2. The app navigates to a page where they can follow instructions to
Postcondition:
* The user is either logged in successfully or receives an appropriate error
message.

Use Case 2: Data Entry Forms for Item Tracking

Actor(s): Delivery Person, Chef, Head Chef

Precondition:
* The user is logged into the system.

Frontend Components Involved:


* Data Entry Forms with fields for item name, quantity, and expiry date.
* Dynamic inventory list of the current fridge inventory.
* Confirmation pop-ups to confirm data.

Main Flow for Item Insertion:

o The user logs into the app and navigates to the page to add

T0324977 Muhammad Khan


items

o The app displays a form with the following fields for item
information:
 Item Name (Text field)
 Quantity (Numeric input)
 Expiry Date (Date picker)
 The user fills in the form and clicks "Submit."
 A confirmation text pops up, summarizing the entered data.
 The user Confirms.
 The app sends the data to the backend and updates the inventory list
in real time.
 A success notification is displayed to the user.

Main Flow for Item Removal:


o The user navigates to the inventory table.
o The user selects the items that are to be removed.
o The app displays a confirmation message
o The user confirms the removal of the items
o The app sends the removal request to the backend and updates
the inventory table in real time.
o A success notification is displayed upon removal.

 Alternative Flow:
 Invalid Data:
o The user leaves required fields blank or enters invalid values.
o The app highlights the invalid fields and displays an error
message to complete the fields with valid information.
 Postcondition:
 The inventory is updated with the added or removed items, and the
user is notified whether action is a success or a failure.

 Use Case 3: Alert Display Mechanisms

 Actor(s): Head Chef

Precondition:
 The system has detected low stock or expiring items in the inventory.

Frontend Components Involved:


 Alert Notifications like push notifications, in-app banners.
 Inventory Table

T0324977 Muhammad Khan


Main Flow for Alert for Low Stock:
 The system detects an item that is going to run out soon.
 A notification is sent to the head chef’s device with the item name
and its remaining quantity.
 The head chef can view a list of active alerts.
 The head chef selects the low stock alert and see it in the inventory
table and see the relevant item.

Main Flow for Expiry Alerts:


 The system detects when an item is nearing its expiry date (eg. Item
expiring in the next 3 days)
 A push notification is sent to the head chef’s device:
 “Example: Expiry Alert: [Bread] will expire in 3 days."
 The head chef clicks on the notification.
 The app navigates to the Alerts Dashboard and highlights the
expiring item in the inventory table.

Alternative Flow:
Dismiss Alert:
 The head chef views the alert in the Alerts Dashboard.
 The chef clicks "Dismiss" for alerts.
 The app removes the alert from the active list and removes it.
Postcondition:
 The head chef is informed of low stock or expiring items and can take
necessary actions, such as reordering or using the item before expiry.

T0324977 Muhammad Khan


The Inventory Management system handles the management of all items
that are being stored or removed in the fridge. It ensures real-time updates
on inventory changes and helps to facilitate the operations in the
restaurant. ThUsee system is highlighted in the Use Case Diagram above

 Add Items to Inventory: Allows the Head chefs, Chefs and Delivery
Persons to record new items that are added to the fridge, along with
their details like name, quantity, expiry date etc.
 Remove Items: Chefs can update the system when items are taken out
from the fridge, and the inventory is updated and accurate in real-time.
 Track Inventory:Gives an overview of the available stock levels, expiry
dates, and item details only for users with the access like Chefs and
Head Chefs.

T0324977 Muhammad Khan


The Alert and Notification System is crucial for ensuring that critical
information related to inventory and user activities is sent effectively and
quickly to the relevant users like the Head Chef and Administrator.

 Expiry Notifications: These notifications alerts the Head Chef three


days before an item is about to expire to reduce waste and have higher
food safety standards.
 Low Stock Alerts: It notifies the Head Chef when an item is about to
run out of stock.
 Notifications are sent via the app and can include push alerts depending
on user preferences.
 The system makes sure that notifications and alerts are only sent to
authorized users like the Head Chef.

T0324977 Muhammad Khan


The Rear Access System allows Delivery Persons to use the app to open
the rear access door of the FFsmart fridge for to add the new items to the
inventory.

 Secure Door Access: Delivery Persons can log in to the app using
their details and access the rear door. The system will authenticate
the user before granting access.
 Access Permissions: Ensures only authorized Delivery Persons can
access the rear door.
 The system enforces strict access control measures to prevent
unauthorized access attempts.

T0324977 Muhammad Khan


The User Management System is responsible for managing all user-
related activities and ensuring secure access to the application.

 User Login: Ensures that only authorized users can access the system.
All users must log in using their valid credentials.
 Manage User Accounts: The Administrator has the permissions to
manage ser accounts. This includes assigning roles and defining user
permissions.
 Assign Roles and Permissions: The Administrator has the authority to
define what each user role can access. Like
T0324977 Muhammad Khan
the Delivery Persons can only open the rear access of the fridge, while
the Chefs can add and remove items from the fridge inventory.

7. Project Plan
Author(s): Muhammad Khan

T0324977 Muhammad Khan


1. Organization and Roles
To efficiently build the final software product, the team will be organized as
follows:
 Project Manager: Responsible for overall coordination, risk
management, and ensuring the project is delivered on time.

 Backend Developer: Focuses on server-side logic, database


integration, and API development.

 Frontend Developer: Implements the user interface and en-


sures responsiveness.

 UI/UX Designer: Creates visually appealing and user-friendly


interface designs.

 Tester/QA Engineer: Develops test cases, performs manual


and automated testing, and ensures software quality.

 Documentation Specialist: Compiles technical documenta-


tion, including the software requirements specification (SRS) and
user guides.
Team Coordination:
 Weekly Stand-Ups: 2-hour meetings to discuss progress,
roadblocks, and plans for the day.

 Sprint Cycles: Two-week sprints with clearly defined goals.

 Communication Tools: MS Teams for real-time collaboration,


supported by announcements for formal reminders.

 Issue Management: Regularly monitor tasks via JIRA.

2. Development Methodology
Selected Methodology: Agile (Scrum Framework)
Justification:
 Agile encourages collaboration, iterative development, and
adaptability, which are crucial for evolving project requirements.

 Advantages:

 Flexibility in accommodating changes.

 Enhanced product quality through frequent feedback and


testing.

 Early delivery of usable features.

 Disadvantages & Mitigation:

T0324977 Muhammad Khan


 Scope Creep: Managed using the MoSCoW prioritization
method.

 Less Predictability: Addressed by maintaining a refined


backlog and using Agile metrics (e.g., burn-down charts).

3. Tools and Technologies


a. Progress Tracking:
 Tool: JIRA

 Justification: Comprehensive for task tracking, issue manage-


ment, and progress visualization.
b. Communication:
 Tool: Microsoft Teams

 Justification: Enables real-time communication and integration


with other tools and easy to use.
c. Document Sharing:
 Tool: Live MS Word document.

 Justification: Secure, easy sharing and editing of project docu-


ments like design artifacts and meeting notes.
d. Source Control:
 Tool: GitHub or GitLab

 Justification: Offers version control, branch management, and


collaboration features.
e. Development Tools:
 IDEs: IntelliJ IDEA, VS Code (team’s preference).

 Justification: Supports multiple languages, plugins, and team


member familiarity.
f. Testing Frameworks:
 Tools: JUnit for unit testing, Selenium for automated UI test-
ing.

 Justification: Reliable tools for robust testing and debugging.


g. Diagram Drawing:
 Tool: Figma or Balsamiq

 Justification: Intuitive for creating wireframes, flowcharts, and


architectural diagrams.

4. Risk Assessment

T0324977 Muhammad Khan


Identified Risks:
 Technical Risks: Learning curves for unfamiliar tools or frame-
works.

 Project Risks: Tight deadlines, requirement changes.

 Team Risks: Low attendance, potential turnover.


Mitigation Strategies:
 Provide training links and tutorials and resources for unfamiliar
tools.

 Build buffer time into the schedule.

 Maintain detailed documentation to onboard new members


quickly in future.

5. Task Estimation and Scheduling


a. Gantt Chart & Task List:
 Tasks will be broken into specific deliverables such as require-
ments gathering, design, development, testing, and deployment.

 Dependencies and durations will be outlined in the Gantt chart.


b. Milestones:
 Completion of SRS document (Week 2).

 Prototype delivery (Week 4).

 Completion of testing (Week 8).

 Final delivery (Week 10).


c. Critical Path Analysis:
 Tasks such as requirements gathering and API integration are
identified as critical, as delays here would impact overall time-
lines.

6. Procedures and Protocols


Task Delivery:
 Assign deadlines with clear priorities. Tasks not delivered on
time will be reassessed, and team members reallocated as
needed.
Dealing with Non-Performance:
 Schedule one-on-one meetings to identify and address barriers
to performance. Escalate unresolved issues to the Project Man-
ager.
Confirming Deadlines:
T0324977 Muhammad Khan
 Use shared calendars and task trackers to ensure all deadlines
are visible and agreed upon.
Problem Reporting:
 Establish an anonymous reporting system for team members to
voice concerns. Escalate major issues during sprint retrospectives.
Consensus on Tools and Technology:
 Hold a dedicated team meeting, present options, and decide via
majority vote, facilitated by the Project Manager.

7. Documentation and Deliverables


Deliverables:
 SRS Document: Comprehensive software requirements.

 Progress Reports: Regular updates during sprint reviews.

 Final Software: Fully functional and tested software with user


manuals.
Quality Assurance:
 Ensure all documentation and software artifacts meet specified
standards before submission.

T0324977 Muhammad Khan


Systems Analysis Design and Implementation 46

7. References

References here in Harvard referencing style. Use the MS Word citing and
referencing feature.

Appendix A: Contributions

Contribution table

Name Primary Areas worked on Contributio


Role(s) n rating (0-
4)
Muham Backend - Section 1 – Section 2 –Section 3- 4
mad Project Section 5 – Section 6
Manager
Emircan Documentati Section 1- Section 2 Section 3
on section 5 Section 6
Ameer Frontend Section 1 Section 5 Section 3
Aveesha Testing Section 2 Section 6
Stephan Testing -
Hussain Frontend Section 1 Section 5 Section 3

Signed by:

Name Signed
Muhammad Khan 22-11-2024

T0324977 Muhammad Khan

You might also like