You are on page 1of 34

Software Requirements

Specification
for

QuickQueueDine (QQD)
Version 1.0 approved

Prepared by Group 4

Manuel S. Enverga University Foundation(MSEUF)

October 24, 2023


Software Requirements Specification for <Project> Page 2

Table of Contents
Table of Contents ii
Revision History ii
1. Introduction 1
1.1 Purpose 1
1.2 Document Conventions 1
1.3 Intended Audience and Reading Suggestions 1
1.4 Project Scope 1
1.5 References 1
2. Overall Description 2
2.1 Product Perspective 2
2.2 Product Features 2
2.3 User Classes and Characteristics 2
2.4 Operating Environment 2
2.5 Design and Implementation Constraints 2
2.6 User Documentation 2
2.7 Assumptions and Dependencies 3
3. System Features 3
3.1 System Feature 1 3
3.2 System Feature 2 (and so on) 4
4. External Interface Requirements 4
4.1 User Interfaces 4
4.2 Hardware Interfaces 4
4.3 Software Interfaces 4
4.4 Communications Interfaces 4
5. Other Nonfunctional Requirements 5
5.1 Performance Requirements 5
5.2 Safety Requirements 5
5.3 Security Requirements 5
5.4 Software Quality Attributes 5
6. Other Requirements 5
Appendix A: Glossary 5
Appendix B: Analysis Models 6
Appendix C: Issues List 6

Revision History
Name Date Reason For Changes Version
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

SQL Structured Query Language

API Application Programming Interface

SDK Software Developing Kit

DBMS DataBase Management System

WAMP Windows, Apache, MySQL, And PHP

EULA End-User License Agreement

POS Point of Sale

1.3 Intended Audience and Reading Suggestions


The developers will be interested in the technical details and functional requirements for the QQD.
They will need a deep understanding of how the system should be built, functions and the datasets that will
be used on the development of the application, next are the project managers, they will need to grasp the
project's scope, objectives, and constraints of the application. The project managers will be interested in the
understanding of the strategic vision, as well as the high-level requirements to manage the project effectively.
Next is the Marketing staff, they will be interested in how the application aligns with the business goals and
how the features can be promoted and they also require to see the features, user experience, and potential
marketing opportunities of the application. Next is the users, they are the customers of the fast-food
restaurants, they will be interested in understanding the general functionality and benefits of having this
application and also to enhance their experience. Lastly are the testers, they will need to comprehend the
Software Requirements Specification for QuickQueueDine (QQD) Page 2

detailed functional and non-functional requirements, and the test cases to ensure the QQD performs as
expected before it can be published to the public.

1.4 Project Scope


The "QuickQueueDine" (QQD) kiosk application is designed to enhance and satisfy the dining
experience for both customers and fast-food restaurant staff. The QQD gives the freedom of the customers to
place orders, customize their meals, and make payments through self-service kiosks. This app aims to reduce
the wait times, to enhance the order accuracy, and offer the convenience to any customers that will use the
app. QQD aligns with the goal of improving operational efficiency and increasing customer satisfaction in
the fast-food industry, and also this application can be customized by whoever will partner with us. The
application is fully flexible to adjust what are the requirements of the specific restaurant and to elevate the
overall dining experience of the customer and to make the job more easy and reliable to the fast-food
workers.

1.5 References

[1] 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.

[2] 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.

[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

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 3

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 4

● 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 apps 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 5

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 6

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 7

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 8

➢ 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 9

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

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

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 12

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 13

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 14

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 15

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 16

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

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

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
Software Requirements Specification for QuickQueueDine (QQD) Page 17

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

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
Software Requirements Specification for QuickQueueDine (QQD) Page 18

Figure2: QQD Mobile Interface: Menu

Figure3: QQD Mobile Interface: Summary Order, Payment Method


Software Requirements Specification for QuickQueueDine (QQD) Page 19

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.
● 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.
Software Requirements Specification for QuickQueueDine (QQD) Page 20

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


Software Requirements Specification for QuickQueueDine (QQD) Page 21

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

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.
Software Requirements Specification for QuickQueueDine (QQD) Page 22

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.

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.
Software Requirements Specification for QuickQueueDine (QQD) Page 23

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
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
Software Requirements Specification for QuickQueueDine (QQD) Page 24

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
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.
Software Requirements Specification for QuickQueueDine (QQD) Page 25

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
technical specification, API documentation, database schema documentation, and a change log to facilitate
efficient development, maintenance, and troubleshooting processes.
Software Requirements Specification for QuickQueueDine (QQD) Page 26

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 27

Appendix B: Analysis Models

Figure 5: Process Model-Customer


Software Requirements Specification for QuickQueueDine (QQD) Page 28

Figure 6: Process Model-Management and Maintenance


Software Requirements Specification for QuickQueueDine (QQD) Page 29

Figure 7: Static View Model Database 1


Software Requirements Specification for QuickQueueDine (QQD) Page 30

Figure 8: Static View Model Database 2


Software Requirements Specification for QuickQueueDine (QQD) Page 31

Figure 9: RDBMS Entity-Relationship Diagram

Figure 10: Contextual Diagram


Software Requirements Specification for QuickQueueDine (QQD) Page 32

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 - Accommodating a surge in user traffic during peak hours might pose scalability
challenges, potentially leading to a decrease in system responsiveness.

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