0% found this document useful (0 votes)
77 views44 pages

SRS - QQD - Version 3 (Software Engineering 1)

Subject: Software Engineering 1 School: Manuel S. Enverga University Foundation -Lucena 3rd Draft Version and Final Approve Date: 12-05-2023.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views44 pages

SRS - QQD - Version 3 (Software Engineering 1)

Subject: Software Engineering 1 School: Manuel S. Enverga University Foundation -Lucena 3rd Draft Version and Final Approve Date: 12-05-2023.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Software Requirements

Specification
for

QuickQueueDine (QQD)
Version 3.0 approved

Prepared by

Andaya, Lovely Fayte

Sanchez, John Patrick

Inofre, Jhan Phillipe

Manuel S. Enverga University Foundation(MSEUF)

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.

1.2 Document Conventions

QQD QuickQueueDine A portable kiosk application that will help the


customers to have a great experience inside
the fast-food restaurant

SQL Structured Query Language Is a standardized programming language that


is used to manage relational databases and
perform various operations on the data in
them.

API Application Programming Interface Through the use of a set of definitions and
protocols, APIs allow two software
components to communicate with one another.

SDK Software Developing Kit is a set of installable software development


tools combined into one package.

DBMS DataBase Management System These are computer programs designed to


store, retrieve, and process data. Users can
create, read, update, and remove data from
databases by using a database management
system (DBMS) as an interface.

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.

EULA End-User License Agreement is a formal agreement between a software


provider and a client or end-user that is often
made available to the client through a retailer
Software Requirements Specification for QuickQueueDine (QQD) Page 2

who serves as a middleman.

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.

1.3 Intended Audience and Reading Suggestions


Developers will be interested in the technical details and functional requirements for the QQD. They
need a deep understanding of how the system should be built, functions, and the datasets that will be used in
the development of the application. Project managers will need to grasp the project's scope, objectives, and
constraints of the application. They are interested in understanding the strategic vision, as well as the
high-level requirements to manage the project effectively. Marketing staff will be interested in how the
application aligns with the business goals and how the features can be promoted. They also require an
understanding of the features, user experience, and potential marketing opportunities of the application.
Users, who are the customers of the fast-food restaurants, will be interested in understanding the general
functionality and benefits of having this application to enhance their experience. Testers will need to
comprehend the detailed functional and non-functional requirements, as well as the test cases, to ensure the
QQD performs as expected before it can be published to the public.

1.4 Project Scope


According to previous studies[1], increased ease of use is correlated with more positive perceptions
of technology performance expectancy. The kiosk system allows customers the freedom to place orders,
customize their meals, and make payments easily, aiming to reduce wait times, enhance order accuracy, and
offer convenience to users[1]. The emphasis on user-friendly design, according to the mentioned studies[2],
aims to strengthen individual views on the efficiency of using technology, contributing to an enhanced
overall dining experience. Moreover, the system is fully customizable to meet the specific requirements of
partnering restaurants, providing flexibility to elevate both customer satisfaction and the work experience for
fast-food workers[3].

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

2.2 Product Features

User Management and Ordering

● User registration and login.


● Order food from categorized menus (Breakfast, Lunch, Dinner).
● View special menu items and promotions.
● Track order status.

Payment Options
● Payment via cash, GCash, or debit card.
● Manage payment methods (GCash and debit/credit cards).

Admin and Owner Functions

● Download and print sales reports.


● User management and account creation.
● Generate database backups.

Employee Kitchen

● Access recipe master list.


● Update customer order status.
● Manage inventory, including restocking ingredients.

Employee Cashier
Software Requirements Specification for QuickQueueDine (QQD) Page 5

● Accept cash payments.


● Create customer orders.
● Print customer receipts.

Manager Features

● Access restaurant information.


● View sales reports.
● Create accounts.

Data and Reporting:

● Track business progression and sales data.


● Manage inventory and ingredient consumption.
● Display best-selling dishes and food reviews.
● Store customer orders in the sales report.

Cross-Platform Mobile Applications:

● User-facing mobile app for iOS and Android.


● Separate Account and Roles for Admin/Owner, Employee Kitchen, and Employee Cashier.
● Developed using Android Studio, Java, and Dart programming with the Flutter framework.

Database Server and Hardware:

● Utilizes MySQL for data storage.


● Windows 11. With WAMP installed
● Requires mid-range server/computer hardware with INTEL or AMD CPU, 8GB RAM, and
at least 50GB storage.
● Sever language programs: PHP and Python
Software Requirements Specification for QuickQueueDine (QQD) Page 6

2.3 User Classes and Characteristics

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.

2.4 Operating Environment


Hardware Platform

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.

Operating System and Software Components

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.

2.5 Design and Implementation Constraints


➢ There are two databases to store information.
○ The First Database it has five (5) tables, they are:
■ User Account
■ Customer
■ Logs of the Account System
■ Sale report
■ App error logs
○ The Second Database it has nine (9) tables, they are:
■ Master list Menu System
■ Menu System
■ Menu Today
■ Inventory System
■ Order System
■ Customer
■ Receipt System
■ Kitchen System
■ Payment System
➢ MySQL Server will be used as SQL engine and database server management system.
➢ The QQD System is running 24/7 for Customers and the Restaurants.
➢ Users can access their Phone via Web Application. In android or IOS devices.
➢ The Admin, Cashier Employees, Kitchen Employees can access on their Android Tablet.
➢ Users/Customers must have their correct username and password to enter their account in our Mobile
Application, updated information of their location and payment methods. Especially the Phone
number too.
➢ The user can either pay via GCASH/Debit Card, or in the Over the Counter.
Software Requirements Specification for QuickQueueDine (QQD) Page 9

➢ For development component/technologies:


○ The Android Studio and Java as a Programming language
○ The Mobile Framework is Flutter and Dart as a Programming language.
➢ Security Consideration of our System
○ Separate Database Server
○ Database Firewall
○ System backup
○ Database Activity Monitor

2.6 User Documentation


User Manuals
● Component, Technologies, and Server Uses
○ SQL SERVER AND ENGINE
■ WAMP with PhpMyAdmin
■ MySQL Server as host of Database
■ Server Side-language for Database
● PHP
● Python
○ Mobile Application Cross-Platform
■ Flutter and Dart Programming Language
■ Android Studio for IDE and java Programming Language
○ PC Server
■ Windows 11
■ CPU Quad-Core for Better Performance
■ at least 8gb or more
■ 160gb Storage, preferred SSD for faster and reliable
■ fiber connection at least 50 mbps or higher
○ Building Network Connection
■ Fiber Connection
■ Load balancer
■ Router Wifi
■ gigabit Switch

● Setting up Database Server (https://www.wampserver.com/)


○ install a WAMP Server and Services. After install, first configure the Port and Port Forward
the network to access the database to another network.
○ then import the DB File, filename: QQD_Database_1 and QQD_Database_2.
○ also uses MySQL in http://localhost/phpmyadmin/index.php but don’t select the MarianDB.
○ Also you can change the Server Port and ip address in your desire. if not you can use the
default.
○ The Default username and Password of PhpMyAdmin. username is root then password is
blank or leave it blank. after login success, will prompt to change/add password to protect
your database. to unknown access visitors.

● Configured the Mobile Application SDK.


○ using Android Studio, replace the Comment to your desired IP ADDRESS and Port of your
Wamp Server.
Software Requirements Specification for QuickQueueDine (QQD) Page 10

● Configured the Database Connection PHP Files.

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.

Q:Can’t Access your Database Server? or Database Server is down?


A:Check the WAMP if it is red or is not running. Run the WAMP Services. when the WAMP Icon Turn
Green try again access the database by localhost or ip address. if working just type your password and your
database can access now. If you still can't access it, contact your technician to assist you.

Q:Does the Wamp Server not respond or the icon is red?


A:
● Try checking service status, left-click on the wampServer icon, navigate apache and then service. to
see what service is running.
● Check if there is port conflict. if another application is using the same port.
● Right-click on the wampServer icon then tools, restart DNS.
● if not working consult the wampServer Community/Documentation.

Q: API IS NOT FETCHING?


A:Are the api not working or not fetching to the client or server? Check the API Tokens if there are changes,
kindly copy the token code, and pass it to the securedFileToken. Another is to request a new token to the
API.

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/

Setting up MySQL Server


MySQL - https://www.geeksforgeeks.org/mysql-introdution/
Setting up WAMP - https://www.geeksforgeeks.org/how-to-install-and-set-up-a-wamp-server/
PhpMyAdmin - https://www.geeksforgeeks.org/basics-of-phpmyadmin/

2.7 Assumptions and Dependencies


The Mobile Application had benefits for customers and the employees. where its technology gives a full
advantage to mostly Fast-food Chain and restaurant industries. Thus, the Android and IOS mobile users, give
users a less stress-free experience, and secured system to happy customers.

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 Login/Signup System is to ensure the User/Customer has data privacy


3.1.1 Description protection to them. Also to help to organize
and user order properly, when they order, payment, if they already claim
their food.

Priority High Priority

3.1.2 User Select Login.


Stimulus
Sequences 1

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.

users select sign up.


Stimulus
Sequences 2

Response Sequence:The system displays a signup page to create an


Response Account. The Account just needs a Name, Number, Email, and a password.
Sequences 2 if the user filled their information and the account was created successfully.
users now proceed to the login page to login their account.

users select forget password


Stimulus
Sequences 3

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.

users proceed to login via Google or Facebook Account.


Stimulus
Sequences 4
Software Requirements Specification for QuickQueueDine (QQD) Page 13

Response Sequence: the system will pop up a display if they choose a


Response facebook or google account. then they must sign in there, then will redirect
Sequences 4 back to the login page. if successful the user accesses 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.

Owner/Admin have their Database backup, Restaurant Information, Sale


Report, etc.

Manager has the same owner/admin but does not have access to the
Database backup, Payment Process, and Order list.

Cashier/Kitchen Employees have access to Order System, Order Status


System, Payment Process System, etc.

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

3.2 Homepage System

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.

Priority High Priority

3.2.2 user select the Menu Button.


Stimulus
Sequences 1

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

User Select the Hamburger button also known as the Setting


Stimulus
Sequences 2

The user redirects to the Setting Page, where the user can change their
Response information, payment methods, and etc.
Sequences 2

Order Status and Order Number


Stimulus
Sequences 3

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.

3.2.3 Functional Just a Button that redirects to the Menu Page.


Requirement 1:

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

Adding or updating a user payment option


● linking Gcash account
● Debit Card/Credit Card: Mastercard or Visa Card

Their information is safe to the Secured Database. to prevent breaches and


malware attacks to the system. The user will not be worried about their
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

3.3 Setting Page

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.

Priority Medium Priority

3.3.2 User select the Profile Button


Stimulus
Sequences 1

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

User Select the Payment MEthods


Stimulus
Sequences 2

The user redirects to the Setting Page, where the user can change their
Response information, payment methods, and etc
Sequences 2

User Select the Back Button


Stimulus
Sequences 3

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

Adding or updating a user payment option (TBD)


● linking Gcash account
● Debit Card/Credit Card: Mastercard or Visa Card

Their information is safe to the Secured Database. to prevent breaches and


malware attacks to the system. The user will not be worried about their
information.
Software Requirements Specification for QuickQueueDine (QQD) Page 17

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

3.4 Menu Page

The Menu Page, Display the menu of the restaurant. Thus comes the image
3.4.1 Description and price of every dish.

Priority Medium Priority

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 Customer Pressed the Food that they ordered.


Stimulus
Sequences 2

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

3.5 SUMMARY PAGE

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.

Priority Medium Priority

3.5.2 Display the Customer Order with Prices and Quantity.


Stimulus
Sequences 1

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 Order exceed to below zero


Stimulus
Sequences 2

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

Back button and Payment Button


Stimulus
Sequences 3

● 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.

Order List by the


Customer.

3.6 CHECKOUT & PAYMENT PAGE

The Checkout Page is a Grand Total Overview and choice of Payment


3.6.1 Description methods. to the Mobile Application. thus will count how many orders of
the customers.

Priority Medium Priority

3.6.2 Display Overview Grand Total and Items count.


Stimulus
Sequences 1

The System will The Grand Total of the customer orders and will count
Response how many items in their basket.
Sequences 1

When Customer chooses the Payment Method of Pay at the Counter.


Stimulus
Sequences 2

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.

When Customer chooses the Payment Method of PAY WITH GCASH.


Stimulus
Sequences 4

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.

3.6.3 Functional ● The System required Complete Card or Gcash Information to


Requirement 1: accept the Payment.
● The Customers can choose 3 option payment methods, Pay at the
Payment counter, Pay with Card, and Pay with GCash.
Processing and ● The kiosk system must integrate seamlessly with a Payment API
Integration with for transaction processing.
Payment API ● The Payment API should handle secure communication,
authorization, and transaction settlement.

Function ● The System waiting for the Payment Confirmation, to proceed to


Requirement 2: the order preparation to the kitchen.
● After the Order payment confirmation. the system will proceed to
Order the printing receipt digital or actual(Can request to the POS
Confirmation and Employees.), then the Order Numbers will display to the System
saving a digital and the Order Status.
receipt ● The Customer’s payment was successful. the Order will send or
notify the Employees Kitchen for prep for the foods. thus they can
update their order foods, to the system.
Software Requirements Specification for QuickQueueDine (QQD) Page 21

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.

3.7 Profile Setting Page

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.

Priority High Priority

3.7.2 Stimulus User navigates to the "Profile" section


Sequences 1

Displays editable fields for name, contact information, and other profile
Response details.
Sequences 1
Software Requirements Specification for QuickQueueDine (QQD) Page 22

Account Management or Account


Stimulus
Sequences 2

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.

3.8 Payment Method Setting Page

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.

Priority Medium Priority

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

Users choose to "Edit" an existing payment method for Card or Gcash.


Stimulus
Sequences 3

allows the user to modify details of the selected payment method.


Response
Sequences 3

User selects the option to "Delete" a payment method ethier Gcash


Stimulus Account Number or Card Information. if they wish to delete their
Sequences 4 information in the QQD Mobile Application.

Prompts the user to confirm the deletion of the selected payment method.
Response
Sequences 4

User clicks on a specific payment method to view detailed information.


Stimulus ethier hey click the Card Payment or Gcash Payment.
Sequences 5

Displays comprehensive details of the selected payment method, such as


Response card type, last four digits, and expiration date for the Card then if GCash
Sequences 5 will display their gcash account number.

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.

3.9 Order Status Page

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.

Priority Medium Priority

3.9.2 User views an order currently in progress


Stimulus
Sequences 1

Provides real-time updates on the order status, such as "Preparing,"


Response "Cooking," "Food is Ready”.
Sequences 1

User receives a notification or observes a change in status to "Order


Stimulus Completed.
Sequences 2

Displays a confirmation message indicating that the order is ready for


Response claim at the Counter, after they Claim the Mobile Application will direct
Sequences 2 back to the Home Page.
Software Requirements Specification for QuickQueueDine (QQD) Page 25

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

3.10 Kitchen Dashboard

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.

Priority High Priority

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

4. External Interface Requirements


The System of QQD will provide innovation to the Restaurant Industry. Thus it requires friendly
visual and accurate information to the customer. Here is the QQD Mobile Interface for IOS and
Android Devices.

Figure1: QQD Mobile Interface: Login, Home Page, Order Status, Setting

Figure2: QQD Mobile Interface: Menu


Software Requirements Specification for QuickQueueDine (QQD) Page 28

Figure3: QQD Mobile Interface: Summary Order, Payment Method

Figure4: QQD Mobile Interface: Setting, Gcash Link, Payment Method

4.1 User Interfaces


User Interface 1: User login Interface
● Describe: System shall provide a secure login interface for users to access their account.
● Requirements: Users must enter a valid username or password for authentication, thus the system has
“Forgot Password” for Password/account recovery.

User Interface 2: User Registration Interface


● Describe: The system shall offer a friendly interface to the new customer, thus the system shall give
the customer to empathize to get along using the System.
Software Requirements Specification for QuickQueueDine (QQD) Page 29

● 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.

User Interface 3: Menu Browsing interface


● Describe: The System shall present the available dishes in this resturant. thus explored new dishes
that their customer is craving.
● Requirements: Users shall be able filter their dishes via Breakfast, Lunch, Dinner. sort by Prices. thus
the system shall view the dishes description and price. include an image, thus to make sure the
customers know what dishes they crave.

User Interface 4: Cart Interface or Order Cart Interface


● Describe: The System shall include an order cart interface, known the users to review, manage their
selected orders.
● Requirements: Users should be able to add, remove, or update quantities of their order in the order
cart interface. Thus the Order Cart interface must include the summary of the customers order, and
the total order ammount.

User Interface 5: Order Cart checkout interface


● Describe: The System shall offer a streamlined checkout interface to the customer, for completing
their orders.
● Requirements: The Order Cart Checkout interface must have a clear step, Order, Quantity, Price,
total to pay. Thus the users must double check their information for orders to be fulfilled and take to
the next step.

User Interface 6: Payment interface


● Describe: The System shall present a secured payment interface to the users, just able to tap their
credit card or debit card to the terminal.
● Requirements: users should be able to choose various payment methods(mastercard, VisaCard,
Gcash). The interface must be able to tap their card to the terminal without exposing their credit card
details(Card Number, Expiration Date, CCV).

User Interface 7: Order confirmation interface with order number to display


● Describe: The System shall display Order Confirmation interface to acknowledge to the user. to
know their order is complete. Thus the system will display their order numbers and status after the
confirmation display.
● Requirements: users should receive a confirmation message to their mobile application. with order
details, order numbers, order status in the kitchen. the confirmation should print their order numbers
or just view them on their mobile application.

User Interface 8: Order Status Update interface


● Describe: The system shall display the customer order status, to keep the customer up to date to their
order.
● Requirements: The users are able to see what is happening to the system by looking on their mobile
application for their order update. when the order is ready. the users must proceed to the claim area
and show their order numbers to our emplyees.

4.2 Hardware Interfaces


Hardware Interface 1: Point of Sale
Software Requirements Specification for QuickQueueDine (QQD) Page 30

● 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.

Hardware Interface 2: Payment Terminal Interface


● The System supports an integration payment terminal to process payment securely.

Hardware Interface 3: Kitchen Display System Interface:


● The Kitchen Employees will receive the customer orders via on their mobile application display
interface. Thus the Kitchen employees updating the customer order or status.
● relays incoming orders from the customer’s mobile application or POS in the restaurant.

Hardware Interface 4: Receipt Printer Interface


● Every Customer makes an order, transact payments. it’s must important to give the customer their
receipt to know their orders, also it’s required by DTI, To give the customer a copy/original receipt.

Hardware interface 5: Mobile Device Interface


● The interface requirements for mobile devices used by restaurant staff to manage the customers
orders. This includes smartphones or tablets that receive order notification, process payment, and
update order status in real-time for users.

Hardware interface 6: Display Interface


● The restaurant must have the monitor or television in their restaurant. to be able to display the
customer order status via their order number.

hardware interface 7: Network interface


● The network interface that the online ordering system supports with various hardware components.
This includes wired Ethernet, Wireless Wi-Fi connection, then a Mobile Signal for their Mobile Data
internet(Customer).

4.3 Software Interfaces


Database Management System (DBMS)

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/Restaurant Food Ordering System operates on multiple operating systems,


including Ubuntu Server and Windows 11 for server-side functionality. Additionally, it supports iOS and
Android operating systems for user and employee mobile applications. Compatibility with these operating
systems is crucial to ensure a consistent and user-friendly experience across various platforms.
Software Requirements Specification for QuickQueueDine (QQD) Page 31

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.

Development Tools and Frameworks

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.

4.4 Communications Interfaces


LAN Communication

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.

4.4.1 Communication Protocol

The system uses the TCP/IP protocol for data transmission and communication across the
LAN.

4.4.2 Ethernet Compatibility

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

5. Other Nonfunctional Requirements


This subsection presents the identified non-functional requirements for this prototype named
“QuickQueueDine” (QQD). The subcategories of non-functional requirements given are performance, safety,
security requirements.

5.1 Performance Requirements

Response Time for User Actions

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.

Order Processing Time

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.

Database Query Speed

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.

Offline Mode Support

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

The QuickQueueDine/Restaurant Food Ordering System must be capable of handling a minimum of


10,000 concurrent users without a significant drop in performance. Scalability is crucial to accommodate
high traffic loads during peak hours, preventing performance degradation and maintaining a responsive user
experience, even during busy periods.

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.

Inventory Update Speed

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.

5.2 Safety Requirements

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.

5.3 Security Requirements


In terms of data protection, ensuring the utmost security of user data, particularly personal
information and payment details, the QuickQueueDine application employs encryption measures during both
transmission and storage, effectively preventing unauthorized access to sensitive information. For User
Identity Authentication, to maintain the security measures the application incorporates robust user identity
authentication mechanisms. This includes the implementation of strong measures such as multi-factor
authentication and the utilization of One-Time Passwords (OTP), ensuring the verification of customer
identity during login attempts. Lastly, for User Consent the app will prioritize transparency and compliance
with privacy regulations, QuickQueueDine proactively informs customers about the collection and
processing of their data. Specifically, the app seeks explicit user consent for sensitive information, such as
contact numbers, to ensure ethical and lawful data handling practices.

5.4 Software Quality Attributes

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

Appendix B: Analysis Models

Figure 5: Process Model-Customer


Software Requirements Specification for QuickQueueDine (QQD) Page 37

Figure 6: Process Model-Management and Maintenance


Software Requirements Specification for QuickQueueDine (QQD) Page 38

Figure 7: Static View Model Database 1


Software Requirements Specification for QuickQueueDine (QQD) Page 39

Figure 8: Static View Model Database 2


Software Requirements Specification for QuickQueueDine (QQD) Page 40

Figure 9: RDBMS Entity-Relationship Diagram

Figure 10: Contextual Diagram


Software Requirements Specification for QuickQueueDine (QQD) Page 41

Appendix C: Issues List


< This is a dynamic list of the open requirements issues that remain to be resolved, including TBDs, pending
decisions, information that is needed, conflicts awaiting resolution, and the like.>

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.

Software Compatibility Issues


Strategy - Conduct compatibility testing across various operating systems and devices. Ensure that
the system is optimized for popular web browsers to guarantee a consistent user interface.

Third-Party Integration Issues


Strategy - Integrating with external systems, such as payment gateways or inventory management
tools, may encounter compatibility or communication challenges.

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.

Employee Training and Adoption


Strategy - Develop comprehensive training programs for employees. Provide ongoing support and
documentation to facilitate a smooth transition and adoption of the new system.

Data Security Concerns


Strategy - Employ robust encryption protocols for data transmission. Implement secure storage
practices, including hashing passwords. Regularly update security measures to address emerging threats.

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.

You might also like