Result
Result
Result
Introduction:
A Food and Beverages Management System is designed to streamline the operations of
restaurants, cafes, or any food service establishment. The system integrates various processes such
as order management, inventory tracking, billing, and customer relationship management (CRM). By
leveraging technology, this system aims to improve efficiency, reduce manual errors, and enhance
the overall customer experience
Problem Statement:
In many food and beverage establishments, manual processes can lead to inefficiencies
such as:
Long Wait Times: Slow service due to manual processes affects customer satisfaction.
Modules :
Inventory Management: Tracks inventory levels in real-time, alerts for low stock, and
automates reordering processes.
Billing and Payment: Manages billing, payments (cash, credit, digital wallets), and
provides receipts to customers.
Reporting and Analytics: Provides insights into sales, inventory usage, customer
preferences, and staff performance through detailed reports.
Functional Requirements:
The following functional requirements outline the specific capabilities that the Food and
Beverages System must support:
Order Processing:
o The system must allow staff to input customer orders, modify them, and
cancel them as needed, with real-time updates communicated to the kitchen.
o The system should support order tracking, enabling staff and customers to
monitor the status of orders.
o Integration with a Kitchen Display System (KDS) should be provided
to ensure accurate and efficient communication with the kitchen.
Inventory Tracking:
o The system should monitor inventory levels in real-time, providing
alerts when stock levels are low.
o Automated reordering processes should be supported, generating
purchase orders when inventory falls below predefined thresholds.
o The system must track inventory usage, wastage, and incoming
stock, providing detailed reports for analysis.
Billing System:
o The system should automatically generate accurate bills based on customer
orders, including taxes, discounts, and service charges.
o Support for multiple payment methods, including cash, credit/debit cards, and
digital wallets, is required.
o The system must enable split billing, allowing customers to pay using different
methods or split the bill among individuals.
o Receipt generation should be available in both printed and digital formats.
Customer Data Management:
o The system must securely store and manage customer information,
including contact details, order history, and preferences.
o The system should support the management of loyalty programs, including
points accumulation and rewards redemption.
o Personalized promotions and targeted marketing campaigns should be enabled
based on customer behavior and preferences.
o The system should facilitate the collection and analysis of customer
feedback to improve service quality.
Reporting:
o The system must generate detailed sales reports, including daily, weekly, and
monthly summaries.
o Inventory reports should be provided, offering insights into inventory usage,
wastage, and reordering needs.
o The system should analyze customer behavior, including order frequency,
preferences, and feedback.
o Operational efficiency reports should track key performance indicators
(KPIs) related to service speed, order accuracy, and staff productivity.
Non Functional Requirements:
The non-functional requirements describe the quality attributes, performance standards, and
other constraints that the system must adhere to:
Usability:
o The system must have an intuitive and user-friendly interface that
requires minimal training for staff to operate effectively.
o The interface should be accessible on various devices, including
tablets, smartphones, and desktop computers.
Performance:
o The system must process orders, update inventory, and generate bills quickly
to avoid delays in service.
o The system should be capable of handling high transaction volumes during
peak hours without performance degradation.
Scalability:
o The system must be scalable to accommodate the growing needs of the
business, including an increase in the number of orders, customers, and
inventory items.
o It should support the addition of new modules or features as the
business expands.
Security:
o The system must ensure the protection of sensitive customer data, transaction
details, and inventory information through strong encryption and access
controls.
o Compliance with relevant data protection regulations, such as GDPR or PCI
DSS, must be maintained.
Reliability:
o The system should be highly reliable, with minimal downtime to ensure
continuous operation of the establishment.
o Regular backups and disaster recovery plans must be in place to prevent
data loss and ensure business continuity.
Maintainability:
o The system should be easy to maintain, with clear documentation and
support available for troubleshooting and updates.
o Regular software updates and patches should be provided to address
bugs, security vulnerabilities, and performance improvements.
Conclusion:
The implementation of a Food and Beverages System is crucial for modern food
service establishments that aim to improve operational efficiency, reduce errors, and
enhance customer satisfaction. By integrating various processes into a single, streamlined
platform, the system enables businesses to focus on delivering high-quality food and
exceptional service while minimizing the burden of manual administrative tasks.
This system not only addresses common challenges such as order errors, inventory
mismanagement, and billing inaccuracies but also provides valuable insights through
reporting and analytics. As a result, establishments can make data-driven decisions
to optimize their operations, reduce costs, and increase profitability.
In conclusion, the Food and Beverages System is an essential tool for any food service
business looking to stay competitive in today’s fast-paced industry. By leveraging technology
to automate and optimize key processes, businesses can enhance their service quality,
improve customer satisfaction, and achieve sustainable growth.
Result:
Thus the software to maintain and manage an restaurant, café or hotel ,the Food and
Beverages Management System has been identified successfully
EXP. NO: 2
9/8/24
SOFTWARE REQUIREMENT SPECIFICATION
Software Requirement
Specification
for
Prepared by Dafnia M,
Jashera S,
Sathish K
Table of Contents
1. Introduction.............................................................................................................................................. 4
1.1 Purpose................................................................................................................................................................4
1.2 Document Conventions........................................................................................................................................4
1.3 Intended Audience and Reading Suggestions......................................................................................................4
1.4 Product Scope......................................................................................................................................................4
2. Overall Description...................................................................................................................................4
2.1 Product Perspective..............................................................................................................................................4
2.2 Product Functions................................................................................................................................................4
2.3 User Classes and Characteristics..........................................................................................................................5
2.4 Operating Environment........................................................................................................................................5
2.5 Design and Implementation Constraints..............................................................................................................5
2.6 User Documentation............................................................................................................................................5
2.7 Assumptions and Dependencies..........................................................................................................................6
3. External Interface Requirements............................................................................................................6
3.1 User Interfaces.....................................................................................................................................................6
3.2 Hardware Interfaces.............................................................................................................................................6
3.3 Software Interfaces..............................................................................................................................................6
3.4 Communications Interfaces.................................................................................................................................6
4. System Features........................................................................................................................................6
4.1 Order Management..............................................................................................................................................7
4.2 Inventory Management........................................................................................................................................7
4.3 Billing System.....................................................................................................................................................7
4.4 Customer Data Management (CRM)...................................................................................................................8
4.5 Reporting and Analytics......................................................................................................................................8
4.6 Menu Management..............................................................................................................................................8
4.7 Reservation and Table Management....................................................................................................................8
5. Other Nonfunctional Requirements........................................................................................................9
5.1 Performance Requirements..................................................................................................................................9
5.2 Safety Requirements............................................................................................................................................9
5.3 Security Requirements.........................................................................................................................................9
5.4 Software Quality Attributes.................................................................................................................................9
5.5 Business Rules.....................................................................................................................................................9
6. Other Requirements............................................................................................................................... 10
6.1 Localization Requirements................................................................................................................................. 10
6.2 Regulatory and Compliance Requirements........................................................................................................ 10
6.3 Accessibility Requirements................................................................................................................................ 10
1. Introduction
1.1 Purpose
The purpose of this Software Requirements Specification (SRS) is to describe the functional and non-
functional requirements for the Food and Beverages Management System (FBMS). The system aims to
streamline and automate the operations within food service establishments, including restaurants, cafes, and
catering businesses. This SRS provides a comprehensive description of the system's capabilities,
constraints, and interactions with external systems. It is intended to serve as a guide for the development,
testing, and deployment of the FBMS.
This document follows the IEEE SRS template conventions. Requirements are categorized and numbered
according to their type and priority. Key terms are highlighted in bold and defined in the Glossary
section. Functional requirements are prefixed with "FR," while non-functional requirements are prefixed
with "NFR."
The FBMS is designed to be a comprehensive solution for managing food and beverage operations. It
covers order management, inventory tracking, billing, customer relationship management (CRM),
reporting, and analytics. The system will be scalable to accommodate small to large establishments and
flexible enough to integrate with existing hardware and software systems.
2. Overall Description
2.1 Product Perspective
The FBMS is a standalone software product designed to replace manual processes in food service
management. It will be deployed as a web-based application accessible from various devices, including
desktops, tablets, and smartphones. The system is intended to integrate seamlessly with existing kitchen
display systems, payment gateways, and customer feedback tools. The FBMS will provide a unified
interface for managing all aspects of food service operations, from order taking to inventory
management and customer engagement.
Waitstaff: Primarily use the system for order management, billing, and table management. Requires
an intuitive interface with minimal training.
Kitchen Staff: Use the kitchen display system for order preparation. Needs clear and timely updates
on order status.
Managers: Use the system for inventory tracking, reporting, and CRM. Requires access to detailed
reports and analytics for decision-making.
Customers: Interact with the system for online reservations, providing feedback, and
accessing loyalty programs. Requires a user-friendly interface with quick access to relevant
features.
System Administrators: Responsible for system maintenance, updates, and user
management. Requires full access to all system functionalities and settings.
Compliance: The system must comply with GDPR for data protection and PCI DSS for payment
information security.
Integration: The system must integrate with existing kitchen display systems and payment gateways
used by the establishment.
Performance: The system must maintain high performance, especially during peak hours, ensuring
that there are no delays in order processing or billing.
Stable Internet Connection: The system assumes the availability of a stable internet connection for
real-time updates and cloud-based features.
Third-Party Integrations: The system depends on third-party services for payment
processing, customer feedback, and kitchen display systems. Any changes in these services may
impact the system's functionality.
Order Entry Screen: Designed for waitstaff to input and modify orders. Features an intuitive layout
with options for adding, editing, and canceling orders. Supports quick access to popular items and
specials.
Kitchen Display Interface: Provides a clear view of incoming orders, grouped by priority. Allows
kitchen staff to mark orders as in-progress or completed. Supports touch input for ease of use.
Billing Interface: Automates bill generation, supports split payments, and integrates with multiple
payment methods. Displays a summary before finalizing the bill.
Manager Dashboard: Central hub for inventory management, reporting, and CRM. Offers
customizable widgets and reports for real-time insights.
Customer Portal: Accessible via web and mobile, allows customers to make reservations, provide
feedback, and view their loyalty points.
Kitchen Display Systems: The FBMS will interface with existing kitchen display systems via
standard communication protocols (e.g., HTTP, WebSocket).
Payment Terminals: Integration with various payment terminals to facilitate seamless
payment processing.
Barcode Scanners: Used in inventory management to quickly update stock levels.
Payment Gateways: Integration with leading payment gateways like Stripe, PayPal, and Square
to process payments securely.
CRM Systems: Interface with third-party CRM tools to manage customer data and loyalty
programs.
POS Systems: If needed, the system can integrate with existing POS systems to maintain
consistency in order and billing data.
HTTP/HTTPS: Used for communication between the client and server components of the system.
SMTP: For sending email notifications to customers and staff.
WebSockets: For real-time communication between the order entry system and kitchen display.
4. System Features
4.1 Order Management
The Order Management module is the core of the FBMS, responsible for handling all customer orders.
It includes:
Order Entry: Allows waitstaff to enter orders quickly and efficiently. Supports custom orders,
special requests, and modifications.
Order Tracking: Provides real-time updates to both waitstaff and kitchen staff on the status of
orders.
Order History: Maintains a record of all orders for reporting and analysis.
Integration with Kitchen Display: Orders are automatically sent to the kitchen display
system, where they are prioritized and managed.
FR1: The system shall allow waitstaff to enter new orders within 10 seconds.
FR2: The system shall update the kitchen display within 2 seconds of an order being placed.
FR3: The system shall store order history for at least one year.
The Inventory Management module tracks all stock levels in real-time and automates reordering processes.
Key functionalities include:
Stock Tracking: Monitors the quantity of each inventory item and updates the database in real-time.
Automated Reordering: Generates purchase orders when stock levels fall below
predefined thresholds.
Waste Management: Tracks waste and spoilage, providing reports on inventory usage efficiency.
The Billing System handles all aspects of bill generation and payment processing. Features include:
FR7: The system shall generate an itemized bill within 5 seconds of order completion.
FR8: The system shall support at least three payment methods (credit card, cash, mobile payments).
FR9: The system shall email receipts to customers upon request.
4.4 Customer Data Management (CRM)
The CRM module manages customer information and engagement strategies. It includes:
Customer Profiles: Stores detailed customer data, including contact information and order history.
Loyalty Programs: Manages customer loyalty programs, tracking points, and rewards.
Feedback Management: Collects and analyzes customer feedback to improve service quality.
FR10: The system shall create and store a customer profile for every customer with more than one
visit.
FR11: The system shall track loyalty points and allow customers to redeem rewards.
FR12: The system shall allow customers to provide feedback through the online portal.
This module provides detailed insights into various aspects of the business, such as sales performance,
inventory levels, and customer behavior. Key features include:
Customizable Reports: Users can generate reports based on selected criteria and time frames.
Sales Analysis: Tracks daily, weekly, and monthly sales, identifying trends and high-performing
items.
Inventory Reports: Provides insights into stock levels, usage rates, and waste.
FR13: The system shall generate sales reports within 10 seconds based on selected criteria.
FR14: The system shall provide monthly inventory reports, including waste and
reorder recommendations.
FR15: The system shall allow managers to export reports in CSV and PDF formats.
The Menu Management module allows for easy updates to the menu, reflecting changes in items, prices,
and availability across all platforms. Features include:
Menu Updates: Users can add, edit, or remove menu items in real-time.
Price Management: Adjusts prices based on demand, time of day, or special promotions.
Availability Tracking: Automatically updates item availability based on inventory levels.
FR16: The system shall allow managers to update menu items and prices in real-time.
FR17: The system shall automatically update item availability based on current inventory.
FR18: The system shall reflect menu changes across all user interfaces within 2 seconds.
This module handles online reservations and table assignments, optimizing seating and reducing wait times.
It includes:
Online Reservations: Allows customers to book tables in advance via the website or mobile app.
Table Assignment: Automatically assigns tables based on party size, preferences, and availability.
Waitlist Management: Manages walk-ins by adding them to a waitlist and providing estimated wait
times.
FR19: The system shall allow customers to make reservations online, specifying date, time, and
party size.
FR20: The system shall automatically assign tables based on availability and customer preferences.
FR21: The system shall manage a waitlist for walk-ins, providing estimated wait times.
NFR1: The system shall process 95% of all transactions (orders, payments) within 2 seconds
during peak hours.
NFR2: The system shall handle up to 500 concurrent users without performance degradation.
NFR3: The system shall perform daily backups of all data and store backups in a secure, off-
site location.
NFR4: The system shall include a disaster recovery plan that allows for full restoration of
services within 24 hours in case of a major failure.
NFR5: The system shall use SSL/TLS encryption for all data transmitted between clients
and servers.
NFR6: The system shall comply with PCI DSS standards for handling and storing
payment information.
NFR7: The system shall enforce strong passwords for all user accounts and provide multi-
factor authentication for administrative access.
BR1: All customer orders must be processed in the order they are received unless marked as high
priority.
BR2: Inventory levels must be updated immediately after an order is completed to ensure
accurate tracking.
BR3: Customer data must be handled in accordance with GDPR regulations.
6. Other Requirements
6.1 Localization Requirements
NFR8: The system shall support multiple languages, including English, Spanish, and French,
with the ability to add more languages as needed.
NFR9: The system shall allow users to set their preferred language in their profile settings.
NFR10: The system must comply with local health and safety regulations related to food
service operations.
NFR11: The system must ensure that all customer data handling practices are GDPR-compliant.
NFR12: The system shall be accessible to users with disabilities, meeting the WCAG 2.1 AA
standard.
NFR13: The system shall provide screen reader support for visually impaired users.
Result:
Thus the software requirement specification for the project the Food and Beverages
Management System has been identified successfully
Ex No: CLASS DIAGRAM FOR FOOD AND
Date: BEVERAGES MANAGEMENT SYSTEM
AIM:
To develop the class diagram for the food and beverages management system
A Class Diagram is a type of UML (Unified Modeling Language) diagram that represents the static
structure of a system. It illustrates the system's classes, their attributes, methods, and the relationships
between the classes. Class diagrams are used to model the data and behavior of a system and are essential in
designing and understanding the architecture of a software system.
❖ Define Structure: Shows the structure of the system by identifying classes and their attributes and
methods.
❖ Clarify Relationships: Illustrates how classes interact with one another through relationships such as
associations, inheritance, and dependencies.
❖ Facilitate Design: Helps in designing the system by providing a blueprint for developers to implement
the system's structure.
❖ Enhance Communication: Provides a visual representation that aids in discussions
with stakeholders and development teams.
❖
Classes: Represent entities in the system, shown as rectangles divided into three sections: name, attributes, and
methods.
❖
Attributes: Properties or data held by a class, listed in the second section of the class rectangle.
❖
Methods: Functions or operations that a class can perform, listed in the third section of the class rectangle.
❖
Relationships:
• Association: Represents a relationship between two classes, usually shown as a line connecting
them.
• Dependency: Indicates that one class depends on another, shown with a dashed line and
an open arrowhead.
Classes
User
Attributes:
o userID: Unique identifier for each user.
o name: Name of the user.
o email: Email address of the user.
o phoneNumber: Contact number of the user.
Methods:
o register(): Allows a user to register in the system.
o logIn(): Enables the user to log into their account.
o updateProfile(): Allows the user to update their personal information.
o placeOrder(): Facilitates the user to place an order for food and beverages.
Order
Attributes:
o orderID: Unique identifier for each order.
o userID: Identifier of the user who placed the order.
o items: A list of MenuItem objects included in the order.
o totalAmount: Total cost of the order.
o status: Current status of the order (e.g., Pending, Completed, Cancelled).
Methods:
o createOrder(): Creates a new order for the user.
o updateOrder(): Allows modifications to an existing order.
o cancelOrder(): Cancels an existing order.
MenuItem
Attributes:
o itemID: Unique identifier for each menu item.
o name: Name of the menu item.
o description: Brief description of the menu item.
o price: Price of the menu item.
Methods:
o updateMenuItem(): Allows updates to the menu item details.
o deleteMenuItem(): Deletes a menu item from the system.
Admin
Attributes:
o adminID: Unique identifier for each admin user.
o name: Name of the admin.
o email: Email address of the admin.
Methods:
o manageMenu(): Allows the admin to add, update, or remove menu items.
o reviewOrders(): Enables the admin to review and manage customer orders.
o generateReports(): Generates reports related to orders, sales, and inventory.
Payment
Attributes:
o paymentID: Unique identifier for each payment transaction.
o orderID: Identifier of the order associated with the payment.
o amount: The amount to be processed for the order.
o paymentStatus: Current status of the payment (e.g., Successful, Failed).
Methods:
o processPayment(): Processes the payment for the order.
o refundPayment(): Initiates a refund for a cancelled or returned order.
User - Order:
Association:
o Users can place multiple orders, represented by a solid line connecting User and Order. This
indicates that one user can have many orders, while each order is associated with one user.
Order - MenuItem:
Association:
o Orders consist of multiple menu items, represented by a solid line connecting Order and
MenuItem. This shows that one order can contain many menu items, and each menu item can
belong to many orders.
Admin - MenuItem:
Aggregation:
o Admins manage MenuItems, representing a whole-part relationship where Admin
oversees multiple MenuItems. This is depicted with a hollow diamond at the Admin end
connecting to MenuItem.
Admin - Order:
Dependency:
o Admins depend on Orders to review and manage them, depicted with a dashed line and
an open arrowhead pointing towards Order. This indicates that the Admin's actions rely on
the existence of Orders.
Payment - Order:
Association:
o Payments are associated with specific Orders, shown with a solid line connecting Payment and
Order. This indicates that each order is linked to one payment, and each payment is for one
specific order.
Thus, the classes are identified and the class diagram is developed successfully for Food
and Beverages Management System.
EX.NO:
5 SEQUENCE AND COLLABORATION DIAGRAM FOR
DATE:
FOOD AND BEVERAGES MANAGEMENT SYSTEM
Aim:
To create a sequence diagram and collaboration diagram that models the interactions between
the Waitstaff, Customer, Food and Beverages Management System (FBMS), Kitchen Display
System, Billing System, Inventory Management System, and Database during an order placement
event initiated by the Customer
4. Facilitate Communication:
Sequence diagrams serve as a communication tool for developers, testers, and stakeholders to
understand the interactions and timing between system elements.
Lifelines: Represents the sequence of actions over time for both actors and system components.
Call Message: A call message is a type of message that represents the invocation of an
operation on the target lifeline.
Return Message: A return message represents the passing of information back to the caller of
a corresponding former message.
Self Message: A self message represents the invocation of a message on the same lifeline.
Destroy Message: A destroy message represents the request for destroying the lifecycle of
the target lifeline.
Sequence Fragments:
The fragment operator (in the top left cornet) indicates the type of fragment.
sequence fragment is represented as a box, called a combined fragment, which
encloses a portion of the interactions within a sequence diagram.
A Fragment types: ref, assert, loop, break, alt, opt, neg.
Steps to Draw the Sequence Diagram for Food and Beverages Management System
1. Identify Actors:
o Waitstaff: Takes customer orders and processes payments.
o Customer: Places orders or reservations.
o Kitchen Staff: Prepares orders based on input from the system.
o Manager: Manages inventory, menu updates, and generates reports.
3. Choose a Scenario:
o Example: Order Placement and Fulfillment (Waitstaff takes an order, sends it to the
kitchen, and completes the billing process).
4. Draw Lifelines:
o Draw vertical lines for each actor and component (Waitstaff, Kitchen Staff,
Customer, Order Management System, Billing System, Inventory System, Kitchen
Display, Database).
5. Add Messages:
o Waitstaff → Order Management System: "Enter New Order"
o Order Management System → Kitchen Display: "Send Order to Kitchen"
o Order Management System → Database: "Save Order Details"
o Kitchen Display → Kitchen Staff: "Display Order"
o Kitchen Staff → Order Management System: "Mark Order as Complete"
o Order Management System → Billing System: "Generate Bill"
o Billing System → Customer: "Process Payment"
o Billing System → Database: "Store Payment Details"
6. Include Self-Messages:
o If the system does something internally, add a message from the Order Management
System to itself (e.g., checking availability of items in the inventory).
7. Add Condition:
o If there are choices (like item availability or out-of-stock scenarios), use an if/else block.
For example, if an item is out of stock, the system could notify the waitstaff.
8. End of Process:
o Close the lifeline for the Order Management System, Kitchen Display, and Billing System
after the order is fulfilled and payment is processed.
What is Collaboration Diagram?
1. Objects:
Objects in a collaboration diagram are depicted as rectangles and represent the
entities that interact in the system. For the SecureShe application, these are:
User:
The individual who initiates an emergency SOS, logs in, and uses the app.
SecureShe App:
The main application that processes user actions, manages location data, and
communicates with other services.
Emergency Contacts:
The contacts that receive SOS alerts and location updates.
Location Services:
Provides real-time user location information.
SMS Services:
Handles sending SMS alerts asynchronously.
Database:
Stores logs of SOS events, credentials, and location history.
2. Links:
Links are the connections between objects, shown as solid lines, representing the ability of
objects to communicate. In this diagram, links between User, SecureShe App, Emergency
Contacts, Location Services, and SMS Services are depicted, reflecting how they interact during
an emergency.
3. Messages:
Messages are labeled arrows showing the flow of communication between objects.
Each message is numbered to indicate the sequence of interactions in the system, such as
sending an SOS, retrieving location, or logging an event.
4. Return Messages
Return messages represent the return value of a message. They are shown as
dashed arrows with a label indicating the return value. Return messages are used to indicate
that a message has been processed and a response is being sent back to the calling object.
5. Self Message
This is a message that an object sends to itself. It represents an action or behavior that
the object performs internally without involving any other objects. Self-messages are useful for
modeling scenarios where an object triggers its own methods or processes.
2. Establish Relationships:
Relationships are represented by links showing the communication between objects. The
Waitstaff interacts with the Order Management System, which communicates with the
Kitchen Display System, Billing System, and Inventory Management System. The Database
stores order, billing, and inventory data.
3. Sequence of Interactions:
The collaboration diagram illustrates several key message exchanges, with each message
numbered to indicate its place in the sequence. Below is a detailed description of the interaction
sequence:
1. Order Placement:
2. Inventory Check:
o Message 5: The Order Management System checks the item availability with the
Inventory Management System.
o Message 6: The Inventory Management System returns the stock status to the Order
Management System.
3. Bill Generation:
o Message 7: After order completion, the Waitstaff requests the bill generation from
the Billing System.
o Message 8: The Billing System generates an itemized bill based on the order and sends it
to the Waitstaff.
o Message 9: The Billing System stores the payment details in the Database.
o Message 10: If the Customer is part of a loyalty program, the Order Management
System updates the CRM System with order history.
o Message 11: The CRM System stores loyalty points and updates the Database.
5. Order Fulfillment:
o Message 12: The Kitchen Display System informs the Waitstaff when the order is ready.
o Message 13: The Waitstaff serves the order to the Customer.
4. Arrange Object Placement:
In the collaboration diagram, objects are placed logically to show clear relationships. The
Customer, Waitstaff, Order Management System, Kitchen Display System, Billing
System, and Inventory Management System are positioned to reflect the flow of interactions.
Preparation 20
Design / 20
Implementation
Viva 15
Output 10
Record 10
Total 75
Result:
The sequence and collaboration diagrams for the Food and Beverages Management
System (FBMS) were successfully designed and modeled. These diagrams effectively illustrate the
interaction between various entities such as the Customer, Waitstaff, Order Management
System, Kitchen Display System, Billing System, Inventory Management System, and
Database during the order placement and fulfillment process.
EXP.NO:
ACTIVITY DIAGRAM AND STATE DIAGRAM FOR
27/9/2024 FOOD AND BEVERAGES MANAGEMENT SYSTEM
AIM:
To create activity diagram and state diagram for Food and Beverages Management
System.
DESCRIPTION:
ACTIVITY DIAGRAM:
PURPOSE:
NOTATION:
Decision: Decision node is a control node that accepts tokens on one or more
incoming edges and selects outgoing edge from two or more outgoing flows. The
notation for a decision node is a diamond-shaped symbol.
Initial activity: Initial node is a control node at which flow starts when the activity is
invoked. Activity may have more than one initial node. Initial nodes are shown as a
small solid circle.
Final activity: Final node is a control final node that stops all flows in an activity.
Activity final nodes are shown as a solid circle with a hollow circle inside. It can be
thought of as a goal notated as "bull’s eye," or target.
Fork: A fork in the activity diagram has a single incoming transition and multiple
outgoing transitions exhibiting parallel behavior.The incoming transition triggers the
parallel outgoing transitions.
Join: A join in the activity diagram synchronizes the parallel behavior started at a
fork. Join ascertains that all the parallel sets of activities (irrespective of the order) are
completed before the next activity starts. It is a synchronization point in the diagram.
Each fork in an activity diagram has a join where the parallel behavior terminates.
STEPS TO DRAW:
Here are the steps to draw an Activity Diagram
Identify:
qDecision activities
r Merge activities
s Fork activities
Ensure clarity.
Update customer data (loyalty points, order history) in the CRM System
ACTIVITY DIAGRAM
STATE DIAGRAM
A state diagram is a graph in which nodes correspond to states and directed arcs correspond
to transitions labeled with event names. A state diagram combines states and events in the
form of a network to model all possible object states during its life cycle, helping to visualize
how an object responds to different stimuli.A state diagram is a graph whose nodes are states
and whose directed arcs are transitions between states.
PURPOSE
The state model describes those aspects of objects concerned with time and the
sequencing of operations events that mark changes, states that define the context for
events, and the organization of events and states.
It provides direction and guidance to the individual counties within the states.
It specifies the possible states, what transitions are allowed between states.
It describes the common behavior for the objects in a class and each object changes its
behavior from one state to another.
It is used to describe the dependence of the functionality on the state of the system
that is how the functionality of an object depends on its state and how its state
changes as a result of the events that it receives.
NOTATION
State: A state is an abstraction of the values and links of an object. State models a
situation during which some (usually implicit) invariant condition holds.
Time Event: The arrival of an absolute time or the passage of a relative amount of
time.
Do activity: A do activity an activity that continuous for extended time within state.
Entry activity: An state is entered by any incoming transition the entry activity is
performed.
Exit activity: When the state is exited by any outgoing transition the exit activity is
performed.
Use verbs or verb phrases to describe each state (e.g., "Idle", "Running").
Specify any conditions or guards that must be true for a transition to occur.
Determine the possible states of the Food and Beverages Management System.
List the states:
Order Received
Order Verification
Payment Processing
Order Preparation
Quality Check
Order Dispatch
Order Delivered
Order Rejected
Order Cancelled
[Order Complete]
[Verification Successful]
[Payment Received]
[Order Prepared]
[Order Approved]
[Order Dispatched]
[Verification Failed]
[Payment Failed]
RESULT:
Thus the activity diagram and state diagram for Food and Beverages Management System
is successfully implemented.
EXP. NO: 7
Implementation of Food And Beverages Management System
Aim:
To implement a restaurant management system with Firebase backend,
ensuring features like dynamic menu browsing, order management,
reservations, and customer relationship management.
Requirements Server
(Firebase):
Firebase Cloud Services for hosting and data storage (no dedicated hardware required).
Client Machines:
Processor: Dual-Core or higher (Intel i3/i5
equivalent). RAM: Minimum 2 GB.
Storage: 500 MB free disk space.
Network: Reliable internet
connection.
2. Software
Requirements
Operating System:
3. Technical
Architecture
Frontend (Client-
Side):
Developed with HTML, CSS, JavaScript,
and Bootstrap. Responsive interface for
customer interactions. Backend
(Server-Side): Firebase Authentication
for secure login/registration. Firestore
for storing menu,
order, and reservation data. Cloud
Functions for order processing and
analytics. Database: Firebase Firestore for
real-time database operations.
Database Design
Users Collection:
Fields: id, name, email, role.
Menu Collection:
Fields: id, name, category, price, availability.
Orders Collection:
Fields: id, user_id, items, total_price, status.
Reservations Collection:
Fields: id, user_id, date, time, party_size.
System Workflow
User Authentication:
Secure login and registration using Firebase.
Dynamic Menu
Management: Admins
manage the menu.
Users browse categories and place orders.
Order Processing:
Users add items to cart and confirm
orders. Cloud Functions manage backend
processing.
Reservations:
Customers book tables with date, time, and party size.
Frontend Implementation
1. Home Page (index.html)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial- scale=1.0"> <title>ELEGANT EATS
RESTAURANT</title> <link rel="stylesheet" href="style.css">
</head>
<body>
<!-- Hero Section -->
<section class="hero">
<h1>Welcome to Elegant Eats</h1>
<p>Delicious food, outstanding service!</p>
</section>
<option value="all">All</option>
<option value="pizza">Pizza</option>
<option value="sandwiches">Sandwiches</option>
<option value="chicken">Chicken</option>
<option value
="Beverages">Beverages</option>
</select>
</div>
2. Menu Page
Description: Displays dynamic menu
categories. Key Features:
Users can filter menu items by categories (e.g., Pizza, Beverages).
<option value="all">All</option>
<option value="pizza">Pizza</option>
<option value="beverages">Beverages</option>
</select>
</div>
<div class="menu-grid">
<h3>Cheese Pizza</h3>
<button onclick="addToOrder('Cheese
Pizza', 179)">Order</button> </div>
</div>
</section>
3. Order Management
Description: Allows users to manage their
orders. Key Features:
View order summary.
Finalize orders and proceed to billing.
<section id="order-summary">
<h3>Your Order</h3>
<p>Total Items: <span
onclick="finalizeOrder()">Finalize Order</button>
</section>
5. Customer Feedback
Description: Collects feedback from customers for
CRM. Key Features:
Submit feedback via a form.
<form id="feedback-form">
<label>Your Feedback:</label>
<textarea required></textarea>
<button type="submit">Submit</button>
</form>
https://dafniagnanashelli.github.io/elegant-eats/
Menu Section:
Contact Information:
Includes an accessible way for visitors to connect with the restaurant, such as
location details, phone numbers, and email.
Report Analysis:
Includes the report analysis for the day which displays all the information
about the orders and the billing details
Staff Management:
Includes an accessible way for customers to connect with the staffs , it
displays all the staffs who are working in the restaurant .
Description Marks Allotted Marks Obtained
Preparation 20
Design / 20
Implementation
Viva 15
Output 10
Record 10
Total 75
Result:
Thus the implementation of a restaurant management system with Firebase
backend, ensuring features like dynamic menu browsing, order management,
reservations, and customer relationship management.
EX.NO: IMPROVING THE MODIFIED SYSTEM AND TESTING
IN VARIOUS SCENARIOS
AIM:
To enhance the Food and Beverages Management System by adding a Customer Relationship
Management (CRM) module and an updated Navbar for seamless navigation.
MODIFICATIONS:
1. CRM Module:
The CRM module allows customers to provide feedback and ratings. It includes:
A form for entering customer name, rating (out of 5), and detailed feedback.
Submission of feedback to improve service quality.
2. Updated Navbar:
The navigation bar now includes:
Links for various modules such as Menu, Order, Reservation, Billing, CRM, Analytics,
Staffs, and Contact Us.
Enhanced accessibility for better user experience.
IMPLEMENTATION:
CRM Section
<section id="crm">
<h2>Customer Relationship Management
(CRM)</h2> <form id="feedback-form">
<label for="name">Your Name:</label>
<input type="text" id="name" required>
<label for="rating">Your Rating:</label>
<input type="number" id="rating" max="5" required>
<label for="feedback">Your Feedback:</label>
<textarea id="feedback" required></textarea>
<center><button type="submit">Submit
Feedback</button></center> </form>
</section>
Updated Navbar
<nav class="navbar">
<div class="logo">ELEGANT EATS</div>
<ul class="nav-links">
<li><a href="#menu">Menu</a></li>
<li><a href="#order-management">Order</a></li>
<li><a href="#reservation">Reservation</a></li>
<li><a href="#billing">Billing</a></li> <li><a
href="#crm">CRM</a></li>
<li><a href="#analytics">Analytics</a></li>
<li><a href="#staffs">Staffs</a></li>
<li><a href="#contact-us">Contact Us</a></li>
</ul>
</nav>
Updated Navbar:
Scenario 1: Navigation to Modules
Test Steps:
Click on each link in the navbar.
Verify that the page scrolls to the corresponding section.
Expected Behavior:
Each link smoothly navigates to the correct section.
Scenario 2: Broken or Incorrect Links
Test Steps:
Inspect the navbar and check all links.
Verify the href attribute for correctness.
Expected Behavior:
All links should lead to the intended sections without errors.
TESTING CODE:
CRM Form Validation Tests
function testValidFeedbackSubmission() { document.getElementById('name').value =
document.getElementById('feedback-form').dispatchEvent(new Event('submit'));
= ""; document.getElementById('rating').value = 3;
document.getElementById('feedback').value = "";
document.getElementById('feedback-form').dispatchEvent(new Event('submit'));
OBSERVATIONS:
CRM Module:
Feedback form works as expected for valid and invalid submissions.
Alerts and form reset functionality are correctly implemented.
Updated Navbar:
Navigation links smoothly scroll to their respective sections.
All links are functional and correctly mapped.
OUTPUT:
1. CODE IMPLEMENTATION:
CRM Section:
Navigation Section:
2. UI:
CRM section:
Navigation Section:
Description Allotted Marks Obtained Marks
Preparation 20
Design/Implementation 20
Viva 15
Output 10
Record 10
Total 75
RESULT:
Thus, the CRM Module and Updated Navbar were successfully implemented and tested for
various scenario.
Ex no:11
Date: Implement TDD rules (Red, Green, Refactor) to
develop a typical model code using Ruby on Rails
framework
Aim:
To implement Test-Driven Development (TDD) principles (Red, Green, Refactor) to
develop a Ruby on Rails model for calculating the volume of a cylinder.
Introduction:
This report demonstrates the implementation of the Test-Driven Development (TDD) cycle—
Red, Green, Refactor—using the Ruby on Rails framework. TDD is a software development
process that relies on the repetition of a short development cycle, where requirements are
converted into specific test cases before the software is improved to pass the tests.
TDD Steps:
1. Red: Write a failing test to define the desired functionality.
2. Green: Write the minimal amount of code to make the test pass.
3. Refactor: Improve the code without changing its external behavior.
In this experiment, a Cylinder model is created to calculate the volume of a cylinder given
its radius and height.
Framework:
RSpec:
Features of RSpec:
1. Readable Syntax: Tests are written in plain English using describe, it, and
expect blocks.
2. Flexible Matchers: Matchers like eq, be_valid, and raise_error allow for
comprehensive testing.
3. Setup and Teardown: Hooks like before and after help manage test contexts.
4. Output Clarity: Failing tests are clearly reported, showing the test expectation and
the actual result.
Implementation:
Red (Write failing tests):
end
Failures:
1) Cylinder calculates the volume of a cylinder given radius and height
2) Cylinder raises an error if radius or height is negative
The tests fail because the Cylinder model and volume method are not yet implemented.
@radius = radius
@height = height
end
def volume:
(Math::PI * radius**2 * height).round(2)
end
end
Run the tests again:
class Cylinder
attr_accessor :radius, :height
@height = height
end
private
raise ArgumentError, 'Radius and height must be positive' if radius < 0 || height <
0 end
end
Run the tests once more:
The tests continue to pass, confirming that the code refactor is successful without altering
functionality.
Output:
The Cylinder model successfully calculates the volume of a cylinder, and all test cases pass.
Finished in X seconds
2 examples, 0 failures
SPLIT UP:
Preparation 20
Design/Implementation 20
Viva 15
Output 10
Record 10
Total 75
Result:
The application successfully demonstrates the implementation of TDD (Red, Green,
Refactor) to develop a Ruby on Rails model for calculating the volume of a cylinder.
EX.NO.:12
ENHANCING CUSTOMER EXPERIENCE USING
RETAIL DOMAIN DEEP DIVE
Aim:
To implement Inventory Management Optimization and enhance customer experience for
a fictional retail store using a retail domain deep dive.
Key Objectives:
• Ensure accurate stock tracking and real-time visibility.
Benefits:
• Reduced operational costs through efficient stock management.
o Train warehouse staff to use scanning devices for stock-in and stock-
out updates.
• Connect the inventory system to POS, ERP, and e-commerce platforms for real-
time updates.
o Integration with Shopify:
The Real-Time Inventory Monitoring Module ensures that inventory levels are
accurately updated with every transaction, preventing discrepancies and enabling quick
decision-making.
1. Barcode Scanning: Automatically update stock levels during sales and restocking.
rails db:migrate
2. Model Modifications:
def reorder_stock
end
end
3. Controller Logic:
PROGRAM:
else
product = Product.find(params[:product_id])
product.quantity += params[:quantity].to_i
product.save
redirect_to inventory_path, notice: "Stock updated successfully."
end
end
4. Frontend Integration:
a. Inventory Dashboard:
PROGRAM:
<h2>Inventory Dashboard</h2>
<table>
<tr>
<th>Product</th>
<th>Quantity</th>
<th>Reorder Threshold</th>
</tr>
<% @products.each do |product| %>
<tr>
</tr>
PROGRAM:
PROGRAM:
require "test_helper"
product = products(:one)
sale = Sale.create(product: product, quantity: 5)
assert_equal product.quantity, product.quantity -
5 end
end
end
SPLIT UP:
Preparation 20
Design/Implementation 20
Viva 15
Output 10
Record 10
Total 75
RESULT: