SRS - QQD - Version 3 (Software Engineering 1)
SRS - QQD - Version 3 (Software Engineering 1)
Specification
for
QuickQueueDine (QQD)
Version 3.0 approved
Prepared by
December 5, 2023
Software Requirements Specification for QuickQueueDine(QQD) Page 2
Table of Contents
1. Introduction 1
1.1 Purpose 1
1.2 Document Conventions 1
1.3 Intended Audience and Reading Suggestions 2
1.4 Project Scope 2
1.5 References 2
2. Overall Description 3
2.1 Product Perspective 3
2.2 Product Features 4
2.3 User Classes and Characteristics 6
2.4 Operating Environment 7
2.5 Design and Implementation Constraints 8
2.6 User Documentation 9
2.7 Assumptions and Dependencies 10
3. System Features 12
3.1 Login/Signup System 12
3.2 Homepage System 14
3.3 Setting Page 15
3.4 Menu Page 17
3.5 SUMMARY PAGE 18
3.6 CHECKOUT & PAYMENT PAGE 19
3.7 Profile Setting Page 21
3.8 Payment Method Setting Page 22
3.9 Order Status Page 24
3.10 Kitchen Dashboard 25
4. External Interface Requirements 27
4.1 User Interfaces 28
4.2 Hardware Interfaces 29
4.3 Software Interfaces 30
4.4 Communications Interfaces 31
5. Other Nonfunctional Requirements 32
5.1 Performance Requirements 32
5.2 Safety Requirements 33
5.3 Security Requirements 34
5.4 Software Quality Attributes 34
6. Other Requirements 34
Software Requirements Specification for QuickQueueDine(QQD) Page 3
Revision History
Name Date Reason For Changes Version
11/21/23 ● Table of Contents - the page numbers 2.0
● Document Conventions - (with meaning)
● Project Scope (incomplete detailed
references)
● System Features
○ 3.5 Summary Pages
○ 3.6 Checkout & payment page
○ 3.7 Profile setting Page
○ 3.8 Payment Methods Setting
Page
○ 3.9 Order Status Page
○ 3.10 Kitchen Dashboard
12/5/23 ● Intended Audience and Reading 3.0
Suggestions
● Scope
● References
● Functionalities
● Non - Functionalities
Software Requirements Specification for QuickQueueDine (QQD) Page 1
1. Introduction
1.1 Purpose
A self-service kiosk program called "QuickQueueDine" (QQD) Kiosk Portable Application was
created to make fast-food restaurant customers' ordering processes more efficient. Employees at restaurants
keep a close eye on the database that is associated with this application. Customers are given the freedom to
freely choose, personalize, and pay for their orders. Additionally, the app can send requests from customers
straight to the restaurant employees who handle order fulfillment. The main goal of QQD's development is to
improve the whole dining experience for those who opt to use this handy application.
API Application Programming Interface Through the use of a set of definitions and
protocols, APIs allow two software
components to communicate with one another.
WAMP Windows, Apache, MySQL, And PHP an acronym for Windows, Apache, MySQL,
and PHP in the software stack. Together, the
programs build a local web server
environment that is used to serve web pages
on localhost.
POS Point of Sale is the point in time and location where a retail
transaction is finished. At the point of sale, the
merchant computes the amount the consumer
owes, displays that amount, may create an
invoice for the client, and provides the
customer with options regarding how to pay.
Also according to the article[4], it would improve the experience of the customers if they used the kiosk
application since it was convenient and easy to use and it also helps some people that are not able to
understand the application too well.
Software Requirements Specification for QuickQueueDine (QQD) Page 3
1.5 References
[1] K. H. Seo, “A Study on the Application of Kiosk Service as the Workplace Flexibility: The Determinants
of Expanded Technology Adoption and Trust of Quick Service Restaurant Customers,” Sustainability, vol.
12, no. 21, p. 8790, Oct. 2020, doi: https://doi.org/10.3390/su12218790.
[2] A. K. Ssebwana and E. Bainomugisha, "A Secure Context-aware Content Sharing Kiosk for Mobile
Devices in Low-Resourced Environments," in SAIEE Africa Research Journal, vol. 111, no. 3, pp. 102-110,
Sept. 2020, doi: 10.23919/SAIEE.2020.9142603.
[3] N. Saeheng, A. Ngamyarn, and J. Sriboonjit, “The Effect of Kiosks Service Quality and Kiosks Product
Quality on Customer Satisfaction.” Available:
https://eres.architexturez.net/system/files/pdf/eres2014_194.content.pdf
[4]Ekşioğlu, Mahmut. “User Experience Design of a Prototype Kiosk: A Case for the İstanbul Public
Transportation System.” International Journal of Human–Computer Interaction, vol. 32, no. 10, 7 July 2016,
pp. 802–813, https://doi.org/10.1080/10447318.2016.1199179.
2. Overall Description
2.1 Product Perspective
The QuickQueueDine is a comprehensive software solution that encompasses various modules for
different user roles, including customers, owners/admin, employees, and managers. It also includes data
management, reporting, and external system compliance.
The system processes the transaction and stores the resulting data. Reports will be provided to the
manager and the administrator in order to make an upgrade or other adjustments that will help to improve the
application's service. For example, knowing the amount of customers who like to use the program allows the
administrator to decide whether to create new menus for the consumers as well as improve the application's
features.
The QuickQueueDine is a restaurant food ordering system that is intended for use with a general
self-service kiosk application. It is user-friendly for all users to fasten the ordering procedure for the users so
that any consumers can have a less hassle-free unloading line for the cashier.
Software Requirements Specification for QuickQueueDine (QQD) Page 4
Payment Options
● Payment via cash, GCash, or debit card.
● Manage payment methods (GCash and debit/credit cards).
Employee Kitchen
Employee Cashier
Software Requirements Specification for QuickQueueDine (QQD) Page 5
Manager Features
Customer/User
Customers or users of the Restaurant Management System represent the largest user class. They
include regular customers who use the system to order food. Their technical expertise may vary, and they
typically have varying privilege levels based on factors like loyalty programs or discounts. These users may
have different levels of education, but they all share the common need for a user-friendly ordering interface,
secure and convenient payment options, and the ability to track their orders. The satisfaction of this user class
is vital as they directly impact the restaurant's revenue and reputation.
Administrator/Technical Support
This user class consists of individuals with advanced technical expertise who hold administrative
roles in the restaurant's system. This category includes restaurant owners, administrators, and technical
support/IT personnel. Administrators and technical support staff have various responsibilities, including
system management, issue resolution, and database maintenance. Their needs are diverse, encompassing
access to sales reports, data analytics, user management, rapid issue resolution, regular software updates, and
security patch implementation. This user class is instrumental in ensuring the overall efficiency, security, and
performance of the restaurant's system.
Software Requirements Specification for QuickQueueDine (QQD) Page 7
Employee Kitchen
Employees in the kitchen represent the backbone of food preparation and inventory management.
This user class typically has varying levels of technical expertise and is primarily focused on order
preparation and ingredient tracking. Their needs include access to recipe information, real-time updates on
order statuses, and efficient inventory management tools, including restocking information. Ensuring the
satisfaction of kitchen staff is essential for maintaining smooth kitchen operations and order fulfillment.
Employee Cashier
Cashiers, who handle customer payments and order processing, make up an important user class in
the restaurant system. They typically have varying technical expertise and are responsible for providing
excellent customer service. Their primary needs revolve around efficient payment processing tools, quick
order creation, and the ability to issue receipts accurately. Satisfied cashiers are essential for ensuring a
positive and efficient customer experience at the point of sale.
Manager
Managers play a pivotal role in overseeing restaurant operations. Their technical expertise may vary,
but they are responsible for making strategic decisions and ensuring the restaurant's overall performance.
Managers need access to essential restaurant information, sales reports, and user account management tools
to streamline operations and make informed decisions. Their role is crucial in maintaining the restaurant's
success.
The QuickQueueDine primarily operates on dedicated server hardware. The server should meet
specific hardware requirements, including a reliable CPU, either INTEL or AMD, to ensure efficient
processing of data transactions and user requests. With a minimum of 8GB of RAM, the server can handle
concurrent user interactions and data processing without performance bottlenecks. Moreover, the server must
provide sufficient storage space, with a minimum of 50GB, to accommodate various data types, including
user information, food items, sales reports, and inventory data. This hardware platform is essential for the
robust and smooth operation of the system.
The QuickQueueDine operates within two primary operating system environments: Ubuntu Server
and Windows 11. Ubuntu Server versions chosen for compatibility with the system's software components
ensure a stable and secure platform. Similarly, Windows 11 is a viable option for users who prefer a
Windows-based server environment. The system relies on the MySQL database management system,
ensuring data consistency and reliability. Development tools include Android Studio, Java, Dart, and the
Flutter framework, enabling the creation of cross-platform mobile applications for both iOS and Android
devices. Additionally, web servers like WAMP SERVER and PhPmyAdmin may be utilized to manage
web-based functionalities, providing access to the system from various devices.
Software Requirements Specification for QuickQueueDine (QQD) Page 8
Internet Connectivity
The QuickQueueDine operates in an environment where internet connectivity plays a crucial role.
Users and employees rely on internet access to interact with the system, place food orders, and manage
various data-related tasks. To ensure uninterrupted restaurant operations, it's imperative that a stable internet
connection is available. However, recognizing the challenges posed by occasional connectivity issues, the
system is thoughtfully designed to support offline functionality. This feature enables employees, especially
those in charge of taking orders, to continue working even in the absence of a stable internet connection,
ensuring a seamless and reliable restaurant operation.
Printers
Cashiers within the system play a role in the point of sale process, where efficient and accurate
receipt printing is essential. To facilitate this, the system should be compatible with a range of receipt printer
models, allowing cashiers to issue transaction receipts to customers without any problems. This compatibility
ensures that the point of sale process is efficient and customer-friendly, contributing to a positive overall
restaurant experience.
On-line Help
FAQ
Q: Can’t Login to our Mobile application?
A: Kindly Fill your Correct Email and Password or if you forget your Password Click “Forget Password” or
if the Login Error said User Not Found, make Sure Username is Correct else Sign up to create your Account.
Tutorials
Setting up Mobile Development Environment
Flutter and Dart - https://www.geeksforgeeks.org/flutter-tutorial/?ref=lbp
Android Studio - https://www.geeksforgeeks.org/android-studio-tutorial/?ref=lbp
Android and IOS Flutter Cross-Platform - https://www.geeksforgeeks.org/what-is-flutter/
Assumptions
Software Requirements Specification for QuickQueueDine (QQD) Page 11
● Mobile Device Availability: Most People in the country now use their smartphone, with internet
connectivity. whether the user uses android or ios mobile phones.
● Account Verification: Users are assumed to provide accurate valid information during the account
registration process. Also this could help less scammers or bad suspicion to the system. thus the users
will not provide a fraudulent information to the system
● Internet Connectivity: Users assume to have access to a stable internet connection. thus can use the
mobile application, updated menu thus available or not and finally make a payment to their payment
methods.
● inventory Accuracy: The Restaurant had a regularly updated and maintained stocks levels that would
reflect in a real-time inventory system. thus less stocked will resolve to restock to the inventory.
● Secured Payment Processing from the App: users are assumed to use secure and valid payment
methods for the transaction. The system relies on the Payment Gateway API to process payment
securely.
Dependencies
● Payment Gateway API: The Mobile Application depends on the API integration. It relies on payment
methods whether Debit /Credit card or Gcash. with any issue with these Payment Gateway API will
impact the Payment functionality, but when the system occurred a system error. There is another way
to pay. via over the counter payment.
● Mobile Operating System: The app depends on the compatibility of the mobile operating system. and
their respective app store. but QQD mobile applications are mainly for Android and iOS users. Thus
most operating systems are used, especially android and IOS operating systems mostly used
everyday by the users.
● Server infrastructure: The App depends on reliable server infrastructure to store user information or
data. to handle order requests, and provide real-time updates to their orders. Server downtime or
issues may impact the app’s availability also to the mobile application.
● Database management System: The System relies on the Database management system for storing
and managing order data,. customer information data, and a sales report to the restaurant revenues
and reviews. However, an issue occurring to the database may affect the mobile availability. and
stored innovation will effect.
Software Requirements Specification for QuickQueueDine (QQD) Page 12
3. System Features
3.1 Login/Signup System
The System displays a 2 textbox where user input Email and password. If a
Response user has valid email and password the login proceeds to Home Page if not
Sequences 1 Email and Password are not found in the Database.
Response Sequence: The System will display if the user login did not
Response match to the system. and users forget their password. will pop up and
Sequences 3 display a textbox to enter an email if it exists will send a request to change
the password link to their email. If not , users must check their email or
create an account if new. then if the password changed successfully it will
direct back to the login page to enter their email and password, to be able
access their account.
3.1.3 Functional The System must provide user authentication, allowing users to log in with
Requirement 1: a valid email and password.
User
Authentication
Function The System able provide simplified login without entering their email and
Requirement 2: password. but to connect to their Google or Facebook account.
Login/Signin Via users must accept the EULA for connecting their google or facebook to
Google or account to create their account in our mobile application.
Facebook (TBD)
Function With multiple Roles of the user whether they are Customer, Manager,
Requirement 3: Owner/Admin, and Restaurant Employees. They have different access
pages.
users role and
permission Customers have their order system, payment system. etc.
Manager has the same owner/admin but does not have access to the
Database backup, Payment Process, and Order list.
Function The User shall use the Function if needed, if ever unknown is password nor
Requirement 4: account or details.
forget password can retrieve their account if lost thus they shall use their email that is
function(TBD) registered in the database. Thus the system will send an email to their email
account to retrieve the account but they shall change their password as
required in the system.
Software Requirements Specification for QuickQueueDine (QQD) Page 14
The Homepage System refers the Main lobby where user can see thier the
3.2.1 Description Button for Setting, Order Food, also where they can the Order Status and
Order Number Queue. also we can a Hamburger Button where a setting
will placed. then a placement of the QQD Logo. and the most important in
homepage is a welcome message to the customer. medium-high priority.
The System redirects the user to the Menu Page, and shows what available
Response dishes and promo food is available to the restaurant.
Sequences 1
The user redirects to the Setting Page, where the user can change their
Response information, payment methods, and etc.
Sequences 2
Response Sequence: The system will display the Customer Order status
Response and Order numbers. also constantly updating the order also with waiting
Sequences 3 time but the Waiting time is TBD.
Menu Button
Software Requirements Specification for QuickQueueDine (QQD) Page 15
Function The user will Change their information if needed or update their
Requirement 2: information.
● Name
Setting Button ● Contact Phone
● Email
● Address or Location
● Birthday Information
Function The user can look at their Order Status and Their Order number.
Requirement 3:
The Order Number is useful to ask our Employees about their order.
Order Status and
Order Numbers
The Setting page where the user can change their payment method or
3.3.1 Description information. also a High Priority. the Information is a Risk if the user leaks
their information to others. It's a benefit to the restaurant because we
ensure people using the app but not a bot.
The System redirects the user to the Menu Page, and shows what available
Response dishes and promo food is available to the restaurant.
Sequences 1
Software Requirements Specification for QuickQueueDine (QQD) Page 16
The user redirects to the Setting Page, where the user can change their
Response information, payment methods, and etc
Sequences 2
The system will display the Customer Order status and Order numbers.
Response also constantly updating the order also with waiting time but the Waiting
Sequences 3 time is TBD.
3.3.3 Functional The user Will redirect to the Profile Page, where the user can change their
Requirement 1: information. or updating their information too.
Profile Button
Function The user will Change their information if needed or update their
Requirement 2: information.
● Name
Payment Method ● Contact Phone
Button ● Email
● Address or Location
● Birthday Information
Function The user can look at their Order Status and Their Order number.
Requirement 3:
The Order Number is useful to ask our Employees about their order.
Back Button
Function ● Users should be able to log out securely from their profiles.
Requirement 4:
● The system must clear any sensitive information and return to a
Logout login or welcome screen.
Functionality
The Menu Page, Display the menu of the restaurant. Thus comes the image
3.4.1 Description and price of every dish.
3.4.2 Display Dishes with images, thus comes with prices of the menu.
Stimulus
Sequences 1
The System will display first the Breakfast, then there are buttons with a
Response label of Lunch and Dinner, to enable the next menu of lunch, dinner. Thus
Sequences 1 it will display the Best Seller dishes and most recommended dishes with a
parallel gallery display
The System will pop-up a floating image tab bar. Thus the customer will
Response set to add their dishes to the Cart. where the quantity of dishes will display.
Sequences 2
Software Requirements Specification for QuickQueueDine (QQD) Page 18
3.4.3 Functional The System will have an Automatic Scroll Gallery Horizontal Display. To
Requirement 1: Show the best seller, Most Recommended in a Day. etc.
Automatic Scroll
Gallery
Horizontal
Display
Function The System will Display available dishes but it varies when an ingredient
Requirement 2: is available or not. Thus the Inventory has real-time updates to make sure
the ingredients are still available to the happy customer.
Availability in the
Menu
Summary Page will output a Dialog of the Customer’s Order. Thus will
3.5.1 Description also display the Grand Total amount and Price and Quantity of the
Customer Order.
The System will display the Customer Quantity and Prices and the Subtotal
Response of the Customer orders. also Customers can Add or Subtract the product. if
Sequences 1 the product subtract to 0 will remove from the customer’s summary order.
then the customer will add their order and the limit will be 10 only.
The System will prompt the user if he/she will remove this item to their
Response cart.
Sequences 2
Software Requirements Specification for QuickQueueDine (QQD) Page 19
● The System will go back to the MENU thus pressing the back
Response button.
Sequences 3 ● The System will proceed to the next section of the app to pay their
orders. thus the Payment will output their 3 options to pay for their
dishes.
3.5.3 Functional The System displays the Customer’s List with subtotal updated prices and
Requirement 1: the Order’s Quantity.
The System will The Grand Total of the customer orders and will count
Response how many items in their basket.
Sequences 1
The System will prompt the user to pay at the counter. After the prompt the
Response System will wait to receive a notification payment from the Cashier POS.
Sequences 2 Thus the System also displays the Payment Numbers to present to the
employees cashier. and the Order Numbers. After the payment is
Software Requirements Specification for QuickQueueDine (QQD) Page 20
confirmed, the digital printing receipt will proceed to your mobile. The
next system will display the order status to the customer mobile
application.
When Customer chooses the Payment Method of Pay with Credit Card or
Stimulus Debit Card.
Sequences 3
The System will prompt the user to enter their Card Details, if the customer
Response has not yet set their card for the first time. Thus if the customer has their
Sequences 3 card credential information, the mobile Application, proceed to the API
Card Validation Gateway. then if the card was accepted to the payment
gateway. Now proceed to the digital printing receipt. but you can request
an actual receipt to the Employees Cashier POS. then the system will
display the order status to the customer mobile application.
The System will prompt the user to enter their GCASH Number, if the
Response customer has not yet set their GCASH for the first time. Thus if the
Sequences 4 customer has set their gcash payment, the mobile application proceeds to
the API GCASH VALIDATION GATEWAY, then if the GCASH
successfully accepts the payment. Now proceed to the digital printing
receipt. but you can request an actual receipt to the employee's cashier
POS. the system will display the order status to the customer mobile
application.
Function ● The System should handle error and provide a clear error message
Requirement 3: in case of payment failures.
● The System will send the Error Information to the App Error Logs
Error Handling Database.
and Failed ● Users should be guided on how to resolve issues or try alternative
Transaction payment methods.
● if the Cashless Methods Failed to pay your order. Most orders can
be paid on OVER THE COUNTER PAYMENT METHOD.
Function ● The system must accurately display the selected items, quantities,
Requirement 4: and prices before initiating the payment process.
● Thus there are no hidden charges to the System. will display the
Order Selection grand total of the customer’s order, and exact pay when choosing
your payment methods.
Function ● Transaction logs should include details like transaction ID, amount,
Requirement 5: timestamp, and payment status.
● The system must maintain a log of all payment transactions for
Transaction logs auditing and troubleshooting purposes.
The Profile Setting Page where users or customers can edit their profile and
3.7.1 Description manage their account password and phone numbers. also can add, delete,
edit their Cashless Payment Methods for Card and GCash. Also users can
log out too, thus the logout button will be placed in the Setting Page.
Displays editable fields for name, contact information, and other profile
Response details.
Sequences 1
Software Requirements Specification for QuickQueueDine (QQD) Page 22
The System will prompt users to update or change their password. as well
Response as phone numbers for the OTP and the Customer Email Address.
Sequences 2
3.7.3 Functional ● The Customer has the ability to edit their profile as well as the
Requirement 1: account. like password and Phone number for OTP Security
purpose.
Profile Editing ● Profile editing can update their name, Birthday, contact
and Account information, and Address information.
Editing. ● option to change their profile picture of the QQD Mobile
Application.
The Payment Methods where customers or users can manage their cashless
3.8.1 Description payment methods. ethier if they used the card or gcash payment.
3.8.2 Users can manage their Cashless payment methods, thus User Select the
Stimulus “Payment Methods”.
Sequences 1
Shows options to add, edit, or remove payment methods. for their Card or
Response Gcash Payment.
Sequences 1
User selects the option to "Add New Payment Method." ethier card or
Stimulus Gcash.
Sequences 2
Prompts the user to input details for the new payment method, such as card
Response information or Gcash Number.
Sequences 2
Software Requirements Specification for QuickQueueDine (QQD) Page 23
Prompts the user to confirm the deletion of the selected payment method.
Response
Sequences 4
3.8.3 Functional ● The Customer is enabled to edit, add, and delete their card or gcash
Requirement 1: information.
● Thus if cashless payment is not available for the customer either
Payment the customer has not yet added their card or gcash information. can
Information and pay via CASH OVER THE COUNTER PAYMENT.
View Payment ● The system should securely store and update payment information
Methods Details. as per user instructions.
● Users should be able to view detailed information about each
payment method, including card type, last four digits, and
expiration date.
Function ● The User should be able to Add, Edit, and Delete their card or
Requirement 2: GCash Information.
● Thus Users Able to add new Payment methods to their profile such
User able to Add, as GCash Account Numbers or Credit/Debit Card Details.
Edit, Delete ● Thus users are able to Edit their details of Existing payment
Payment Methods methods. even though the system will provide an interface for the
user to update their Card Information numbers and Expiration date.
● Thus users are able to delete their payment methods. The system
must prompt users to confirm the deletion and ensure that sensitive
information is securely removed.
Software Requirements Specification for QuickQueueDine (QQD) Page 24
Function ● In the case of a payment failure, the system should display clear
Requirement 3: error messages indicating the reason for the failure. Thus the
Message will be sent to the App Error Logs, to record.
Handle Payment ● Users should be guided on how to resolve the issue, such as using
Failures an alternative payment method thus we have another option is to
pay via cash to the PAY OVER COUNTER METHODS.
Function ● The system should maintain an audit trail or log of all actions
Requirement 4: related to payment methods, including additions, edits, and
deletions.
Audit Trail ● This log is essential for security monitoring and auditing purposes.
The Order Status, will display the Order Number and Order update via a
3.9.1 Description real-time cook from the Employee's Kitchen Staff. thus will be notify if the
order has been in the next stage.
3.9.3 Functional Users will see or Display an Order Status in Real-time. then the Order
Requirement 1: Status Numbers will display. Thus it will be useful to tell the customer their
order status or claim at the counter. using their order number.
View Order
Status
Function The user is able to see or ring a notification from their phone to see the
Requirement 2: stage of their order. thus will ring multiple times when their order is ready
to claim or pickup at the counter.
Order Status
Notifications and
Ring
Function ● The system should handle errors gracefully, displaying clear and
Requirement 3: user-friendly error messages if there are issues with order status
updates or other functionalities.
Clear Error ● The Error will be sent to the Database of App Error Logs.
Handling
The System will have a Dashboard for the Kitchen Employees for update
3.10.1 Description the Restaurant Inventory, Runs the Menus System, Kitchen System.
3.10.2 Kitchen Staff Will Receive an Order from Customer QQD mobile App.
Stimulus
Sequences 1
The System or Thier Mobile of Kitchen Staff will prompt or alert an order
Response from the customer. Thus will have a button for the next stage or updating
Sequences 1 the customer order.
Software Requirements Specification for QuickQueueDine (QQD) Page 26
The Order will be organized to be first to cook. nor who is 1st order are
Stimulus coof to be first.
Sequences 2
The System will display the Customer orders that are organized and must
Response be 1st to be cooked, and so soon to other orders.
Sequences 2
The system will have a button for the Specific Stage of the order. There
Stimulus will be PREPARE TO COOK, TO BE COOKING, READY FOR SERVE.,
Sequences 3 then READY TO CLAIM.
The System will have a button thus the Button will have a next stage button
Response or previous stage if the kitchen staff want to go back the status if necessary,
Sequences 3 to them.
3.10.3 Functional Users will see or Display an Order Status in Real-time. then the Order
Requirement 1: Status Numbers will display. Thus it will be useful to tell the customer their
order status or claim at the counter. using their order number.
View Order
Status
Function The user is able to see or ring a notification from their phone to see the
Requirement 2: stage of their order. thus will ring multiple times when their order is ready
to claim or pickup at the counter.
Order Status
Notifications and
Ring
Function ● The system should handle errors gracefully, displaying clear and
Requirement 3: user-friendly error messages if there are issues with order status
updates or other functionalities.
Clear Error ● The Error will be sent to the Database of App Error Logs.
Handling
Software Requirements Specification for QuickQueueDine (QQD) Page 27
Figure1: QQD Mobile Interface: Login, Home Page, Order Status, Setting
● Requirements: The Register user-interfaces must collect the basic information, (Contact Number,
Name, Address, Birthday, Gender, Email address). thus should validate for data accuracy to their
system.
● The Ordering System also has an integrated in the store thus the user needs if their phone is not
available or no internet access to view our menu or transact their order in the mobile application.
The QuickQueueDine/Restaurant Food Ordering System interfaces with the MySQL Database
Management System (DBMS), utilizing MySQL version 8.0 for data storage and retrieval. This interface is
essential for the system to access, manage, and store various types of data, including user profiles, food
items, order information, inventory data, and sales reports.
The DBMS must be capable of efficiently and securely providing data on demand, ensuring low
latency. This includes user details, food item descriptions and pricing, order history, inventory stock levels,
and sales reports. The seamless interaction with the DBMS ensures that the RMS can operate with real-time
data and keep the system updated.
Operating Systems
The QuickQueueDine/Food Ordering System interfaces with these operating systems to leverage
their capabilities, such as server management and mobile device support. Data sharing includes user profiles,
order information, and access to various features through these platforms.
The system development is facilitated by a suite of tools and frameworks, including Android Studio,
Java, Dart, and the Flutter framework. These components are vital for creating cross-platform mobile
applications for users and employees. They provide the development environment and programming
languages needed for application development.
The QuickQueueDine/Food Ordering System interacts with these development tools and frameworks
to design and implement the user interface, integrate with the server, and establish smooth communication
between users and the system.
Web Servers
The QuickQueueDine/Restaurant Food Ordering System may utilize web servers such as WAMP
SERVER and PhPmyAdmin to manage web-based functionalities, enabling access to the system from a
variety of devices. This interface supports web-related services and user interactions.
The QuickQueueDine/Restaurant Food Ordering System interfaces with these web servers to handle
tasks like user registration, login, and access to specific system features through web-based interfaces.
The QuickQueueDine/Restaurant Food Ordering System interfaces with Local Area Network (LAN)
to enable communication among all devices within the restaurant’s network. It relies on a reliable IP
protocol, specifically TCP/IP, to maximize compatibility and ensure stability.
The system uses the TCP/IP protocol for data transmission and communication across the
LAN.
All devices within the LAN environment must be equipped with standard
Ethernet-compatible, software-accessible LAN cards to maintain seamless communication. This
includes servers, surface computers, tablets, displays, and external payment systems.
Software Requirements Specification for QuickQueueDine (QQD) Page 32
The QuickQueueDine/Restaurant Food Ordering System must respond promptly to user actions, such
as menu navigation, order placement, and profile updates, with a stringent requirement of a 2-second
response time. This swift response is crucial to ensure that users have a smooth and efficient experience
while using the system. By keeping response times low, it aims to reduce user frustration and enhance overall
customer satisfaction.
Efficient order processing is a top priority. The system must process and confirm food orders within
5 seconds of submission. This requirement is essential to meet customer expectations and ensures that orders
are promptly prepared and served, contributing to a positive dining experience for patrons.
Fast database query performance is vital for user authentication and order history retrieval. The
system must complete these queries within 1 second, ensuring quick and reliable access to user accounts and
Software Requirements Specification for QuickQueueDine (QQD) Page 33
past orders. This rapid response enhances the efficiency of user interactions and contributes to a seamless
user experience.
Recognizing the challenges posed by unreliable internet connectivity in some areas, the system
should provide full functionality in offline mode. This feature allows employees to take orders and update
inventory even without an internet connection, ensuring that restaurant operations can continue
uninterrupted.
Scalability
Data Synchronization
Data synchronization across devices should occur in near real-time, with a requirement of within 2
seconds. This real-time synchronization ensures that all users have access to up-to-date information, such as
order status, inventory levels, and user profiles, promoting consistency and reliability.
Timely inventory updates are essential to track ingredient availability and inform kitchen staff about
restocking requirements. The QuickQueueDine/Restaurant Food Ordering System should update inventory
data, including restocking information, with minimal delay, completing these updates within 1 minute to
ensure the smooth functioning of restaurant operations.
Security Performance
While security is a paramount concern, it should not compromise the system's overall performance.
Security measures, including encryption and authentication processes, should introduce minimal latency,
with a requirement of less than a 1% increase in response time. This ensures that the system remains both
efficient and secure in its operations.
The QQD app's user safety requirements provide priority to user interface safety, guaranteeing an
intuitive user experience that reduces the possibility of mistakes during staff transactions. Furthermore, Data
Privacy and Security protocols are put in place to secure user data, preventing payment and personal
information from being misused or accessed by unauthorized parties. Emphasis is placed on accessibility,
guaranteeing that the application is easy to use for those with disabilities and intuitive for older users.
Error handling is a key component of safeguards and actions, requiring the provision of
unambiguous error messages and user instruction to avert wrong actions and reduce potential hazards. In
order to ensure optimal performance, maintenance processes are set up for routine software inspections, with
scheduled maintenance taking place either monthly or quarterly. User instructions and training are essential
Software Requirements Specification for QuickQueueDine (QQD) Page 34
for staff competency. Thorough training is necessary to properly mentor new users or clients. Customers are
given clear in-app instructions and guides. To improve overall security, the app's monitoring and reporting
features are integrated on both sides to identify and handle any dangerous activity.
External Policies and Regulations guarantee adherence to safety and privacy laws, including those
pertaining to data protection, accessibility standards, and pertinent municipal, state, or federal legislation.
The QQD app complies with food safety laws in the context of food service, reducing the danger of
contamination and health hazards.
The QuickQueueDine application is designed with a focus on usability, ensuring a user satisfaction
rating of at least 4 to 5 stars for both the food service quality and the food itself. Emphasizing high ease of
use over ease of learning, the application allows users to complete their orders within 2-3 minutes. In terms
of availability, the application aims for 99.99% uptime, operating 24/7 with no more than 9 hours of annual
downtime, subject to developer updates and maintenance to uphold app quality. For portability, the app is
compatible with various mobile devices, including Apple IOS and Android devices, ensuring accessibility
across different platforms. In the realm of interoperability, QuickQueueDine seamlessly integrates with
external systems, such as payment gateways and restaurant inventory management systems. Maintainability
is addressed through code documentation with a minimum comment coverage of 90%, and a commitment to
a mean time to repair critical issues within 3 hours. Flexibility is a key feature, allowing for easy updates and
feature additions without disrupting the user experience. Testability is ensured with a minimum of 90% of
code subjected to unit testing, maintaining comprehensive test coverage for product integrity. Robustness is a
priority, with the app gracefully handling unexpected inputs and network failures without system crashes.
Lastly, reusability is a focal point, providing adaptability to various conditions based on the preferences and
regulations of different fast-food restaurants that may utilize the application.
6. Other Requirements
The QuickQueueDine develops user-friendly documentation, including comprehensive user manuals
and online help systems, to guide customers and restaurant staff through system usage and troubleshooting.
An internal documentation that defines the needs for developers and system administrators, ensuring detailed
Software Requirements Specification for QuickQueueDine (QQD) Page 35
technical specification, API documentation, database schema documentation, and a change log to facilitate
efficient development, maintenance, and troubleshooting processes.
Appendix A: Glossary
SQL: Structured Query Language
A standardized programming language called Structured Query Language (SQL) is used to administer
relational databases and carry out different operations on the data they contain. SQL was first developed in
the 1970s and is still widely used today by database administrators, data analysts wishing to set up and
execute analytical queries, and developers creating data integration scripts.
API: Application Programming Interface
Application Programming Interface is referred to as API. Any software with a specific purpose might be
referred to as an application in the context of APIs. An interface can be compared to a service agreement
between two apps. The requests and replies that the two use to communicate with one another are outlined in
this contract.
SDK: Software Developing Kit
The abbreviation for "Software Development Kit" is SDK. The SDK is a collection of tools that makes it
possible to program mobile applications. Three categories can be used to group these tools: Application
maintenance SDKs; SDKs for programming or operating systems (Android, iOS, etc.).
QQD: QuickQueueDine
To improve the efficiency of fast-food restaurant patrons' ordering operations, "QuickQueueDine" (QQD)
Kiosk Portable Application, a self-service kiosk program, was developed. Restaurant staff members closely
monitor the database linked to this application. Clients are allowed to select, customize, and pay for their
orders as they please.
DBMS: DataBase Management System
The system software used to create and administer databases is called a database management system
(DBMS). End users can create, protect, read, update, and remove data in a database with the help of a
DBMS. The most common kind of data management platform, the database management system (DBMS)
functions simply as a conduit between users or application programs and databases, keeping data
conveniently available and regularly organized.
EULA: End-User License Agreement
A license to use software or applications is granted by a legal agreement known as an End-user License
Agreement (EULA) to the user. Before a user purchases, installs, or downloads any software that is held by
the service provider, they must give their consent.
POS: Point of Sale
The location where a consumer completes the payment for products or services and where sales taxes may be
due is known as a point of sale (POS). A point-of-sale transaction can take place in person or virtually, and
receipts can be produced electronically or in paper. Among retailers, cloud-based point-of-sale (POS)
systems are growing in popularity.
Software Requirements Specification for QuickQueueDine (QQD) Page 36
Connectivity Issues
Strategy - Implement offline mode support to ensure continuous functionality even in the absence of
a stable internet connection. Develop error handling mechanisms for scenarios where connectivity issues
arise.
Scalability Challenges
Strategy - Conduct thorough load testing to identify system limitations and optimize server capacity.
Implement scalable architecture to handle increased concurrent user loads.
Maintenance Challenges
Strategy - Establish a maintenance schedule with minimal impact on peak operational hours.
Implement automated backup systems to prevent data loss during maintenance activities.
Regulatory Compliance
Strategy - Regularly monitor and stay informed about relevant regulations. Implement a flexible
system architecture that allows for quick updates to address compliance requirements.