Professional Documents
Culture Documents
Project Documentation
Project Documentation
PROPOSAL DOCUMENT
FOR:
SAHANI WEB APP
VERSIONS: 2
Table of Contents
Acknowledgment.........................................................................................................................................5
Abstract/executive summary.......................................................................................................................5
Introduction.............................................................................................................................................6
Overview and Literature review..............................................................................................................6
A. Existing systems.................................................................................................6
Problem Statement...................................................................................................7
Justification..............................................................................................................7
Objectives................................................................................................................7
Proposed solution....................................................................................................................................8
Methodology...........................................................................................................................................8
Project Scope...........................................................................................................................................9
Resources................................................................................................................................................9
Preliminary Results and Evaluation.......................................................................................................10
Challenges, obstacles and risks..............................................................................................................11
Schedule and budget..............................................................................................................................11
Schedule.................................................................................................................11
Budget....................................................................................................................12
Design Constraints...............................................................................................40
1|Page
Future Contingencies...........................................................................................41
Document Organization.........................................................................................................................42
Points of Contact...................................................................................................................................42
Glossary.................................................................................................................................................42
SYSTEM ARCHITECTURE....................................................................................................................42
System Hardware Architecture..............................................................................................................43
System Software Architecture...............................................................................................................43
Internal Communications Architecture..................................................................................................44
FILE AND DATABASE DESIGN...........................................................................................................45
Database Management System Files.....................................................................................................45
Non-Database Management System Files.............................................................................................49
HUMAN-MACHINE INTERFACE.........................................................................................................49
Inputs.....................................................................................................................................................49
Registration............................................................................................................50
Login......................................................................................................................52
Outputs..................................................................................................................................................52
Order confirmation................................................................................................53
Receipt...................................................................................................................55
Restaurant Analytics..............................................................................................55
Payment Voucher...................................................................................................56
DETAILED DESIGN................................................................................................................................56
Hardware Detailed Design.....................................................................................................................57
Software Detailed Design......................................................................................................................57
EXTERNAL INTERFACES.....................................................................................................................58
Interface Architecture............................................................................................................................58
Interface Detailed Design......................................................................................................................59
SYSTEM INTEGRITY CONTROLS.......................................................................................................60
Test plan identifier.....................................................................................................................................62
Introduction...............................................................................................................................................62
2|Page
Objectives..............................................................................................................................................62
Scope.....................................................................................................................................................63
Features to be tested..................................................................................................................................64
Customer...............................................................................................................................................64
Restaurant..............................................................................................................................................64
Admin....................................................................................................................................................64
Features not to be tested............................................................................................................................65
Process overview.......................................................................................................................................65
Testing process..........................................................................................................................................66
Test strategy..............................................................................................................................................67
Unit testing............................................................................................................................................67
Integration testing..................................................................................................................................67
System testing........................................................................................................................................67
Performance testing...............................................................................................................................67
User interface testing.............................................................................................................................68
Item pass/fail criteria.................................................................................................................................68
Suspension criteria.................................................................................................................................69
Test deliverables........................................................................................................................................69
Environmental needs.................................................................................................................................69
Client-side environments.......................................................................................................................70
Server-side environments......................................................................................................................70
Staffing and training needs........................................................................................................................70
Schedule....................................................................................................................................................71
Approval................................................................................................................................................71
General information...................................................................................................................................73
Technical specifications........................................................................................................................73
Authorized use permissions...................................................................................................................73
System features.........................................................................................................................................74
General features.....................................................................................................................................74
Registration............................................................................................................74
Login......................................................................................................................76
Password reset.......................................................................................................76
3|Page
Customer’s features...............................................................................................................................77
Customer’s dashboard...........................................................................................77
Make an order........................................................................................................78
Restaurants features...............................................................................................................................82
Restaurant dashboard.............................................................................................82
Add menu...............................................................................................................82
View dashboard.....................................................................................................83
Add staff................................................................................................................84
Admin features......................................................................................................................................84
Admin dashboard...................................................................................................84
Admin Dashboard..................................................................................................85
Manage Restaurants...............................................................................................86
4|Page
Acknowledgment.
So much gratitude to my project coordinator Dr. Eng. Wilfred Gikaru and my Project supervisor
Dr. Phoebe Ongalo for their consistent guide and the support they gave me towards project
identification with the provision of information of the most current social and economic threats
that requires the skills of computation and some of the best available techniques to solve.
I would also wish to express my gratitude to the Department of Computer Science for the
resources and materials provided for the success of this project. This includes free WI-FI to
access online materials and for research wherever I felt stuck. The encouragements from the staff
were also sufficient for the success of this project.
Finally, more thanks to my colleague who added something to make my project better. All the
reviews and recommendations contributed towards providing a quality application and a
guarantee of full problem-solving software development.
Abstract/executive summary
The Online Platform Management Software is designed to cater to flexibility, scalability, and integration.
Sahani Restaurant Management Platform Software is a robust Management Solution. restaurants will be
more successful by providing better services to the customers and gaining greater control over the
business costs and profits. This Management Software System will give Your Business firm the business
management software solution it needs.
In a nutshell, the Restaurant Management software presents you with screens for the following:
Input of sales
Input of purchases
Multi-user support
5|Page
Introduction
There has always been a need for more market outreach. An ideal solution to ensure a business
firm maximizes sales while maintaining good customer relations with much ease.
Take Alibaba, for example, a platform that allows product owners to sell their items virtually
while customers all over the world are entitled to making purchases wherever and whenever they
wish to, well as long as the product they seek to purchase is available.
To bridge this gap, a platform system, explicitly in this case for restaurants was a necessity. The
system is to cover a wider scope to accommodate customers, product suppliers, restaurant users
which includes: cashiers, waiters, managers, and kitchen users, and guests, those who only wish
to visit the platform without storing their information in it.
Moreover, the platform system provides statistical analysis on, well almost every transactional
events module, from daily sales reports, weekly reports, monthly reports, yearly reports, payment
category reports, stock reports, and much more.
6|Page
Problem Statement
A multi-user system with a limited degree of access levels making it even harder for operations,
cut-off system users, lacking reporting features, no statistical analysis, a less intuitive designs
with lower system-users interaction levels.
Justification
The proposed system explicitly is aimed towards providing the best remedies and accurate
solutions to help mitigate the identified problems from the current system implementations in
terms of scalability, flexibility, provision of statistical analysis, spectacular design features, and
the most efficient report generations.
Objectives
An easy query of sales per day/Month/Year, Sales made by Cashier/Waiter/Product.
Track purchases made over some time e.g., daily, monthly, yearly.
An easy query of remaining stock in the stores, deficit stock.
Track items issued by the store to the kitchen, counter.
Track item usage per product.
Track daily portions produced from the kitchen and portions sold by the waiters/cashiers.
Easy management of your debtors and creditors' accounts.
Printable receipts per payment transaction.
Printable reports per Query.
Easy management of bank deposits, per bank, per Creditor account.
Advanced security controls.
User-friendliness and ease of use.
Backup and restore facilities
As a result of the benefit of this system: -
7|Page
You will be able to make more wise decisions concerning where your business
strengths are and its weak points.
Add value and satisfaction.
Improve credibility.
Growth opportunity.
Multi-User
Allows Data Exporting to other systems.
Period roll-overs
Variance Reports between different periods e.g., daily, weekly, monthly, yearly.
Comprehensive Audit Trails
Proposed solution
The proposed system, Sahani Restaurant Management Platform, is featured with adequate and
current techniques in providing the best remedies towards enhancing restaurant customer
relations through real-time menu updates, superior payment models, an efficient interaction
degree, and above all, sales maximization through a wider reach to the customers from widening
market. The customers also have greater access to several restaurants which enables them to
make self-benefiting decisions, which can be based on the prices, reputations, or popularity of
the restaurants they wish to buy their food from.
Methodology
My mode of data collection was a hybrid of interviews of restaurant owners and in-depth
analysis of the current systems in applications. The goal-seeking interviews with restaurant staff
were to acquire more on the challenges and shortcomings of the current systems in
implementations as well as the proposals for feature features they would wish to have included in
newer system solutions.
According to my findings, the higher management levels were suffering from a lack of statistical
analytic features, proper reporting solutions, and operational costs. The middle and lower
management personnel had a problem with limited system functionality features, no
customizations, poor designs which brought about fewer system interactions and mostly lack
exception handling.
8|Page
Their proposal was a more flexible system that would cover all parts of restaurants operations,
not to redesign the operations but to make them more efficient, enhance the quality assurance of
the system, and develop user-friendly applications.
Project Scope
This system platform will cover a wider range of applications, majorly categorized into three
main parts, The Administration, The Customer, and The Restaurants. The restaurant is
further subdivided into other user categories. These include the kitchen user, the cashier, and
the waiter.
The registered customer has the privilege to make orders from a variety of restaurants, make
payments, confirm orders, cancel orders, select delivery addresses, from the services offered by
the restaurants, which are delivery, dine-in, or and takeaway services.
The registered restaurants, on the other hand, adds menu items, stock management for the
kitchen, adds waiters and cashiers, manages customers orders, views reports, print
receipts, statistical analysis of orders and sales, chooses services they offer, sets locations
they are based in and many more functions.
Resources
The proposed system is an application program development-oriented without much necessities
of hardware and physical facilities. Some of the hardware requirements are user-oriented, a
restaurant would need a printer to print receipts, a point-of-sale terminal to handle payments, and
other necessities like tables for customers and a delivery system.
The funding should cover online hosting as the first step to making this application available
online for downloads as either an extension for major social apps and web browsers or an
independent stand-alone application. Moreover, the funding should be able to cover the users'
training on how, where, and when to use this program as well as the benefits of using the
program.
9|Page
Preliminary Results and Evaluation
Work Done Implementations Result Obtained Conclusion
Used
[1] Automated ▪ Carbon/Carbon ▪Real-time display This provided
Monitoring of Library of reports and sales solution to statistical
Orders and sales
▪An amazing analysis
administrative
▪Material design requirement and
dashboard
automated report
generations
[2] Multi user access ▪ admin = 1 ▪The best multi-user This application
levels system. model enabled user
▪restaurant = 2
▪secure application classifications to
▪customer = 3 ▪user-friendly enable the user to
application
▪ waiter = 4 have the correct
functional privileges
▪kitchen user = 5
as well as enhance
▪cashier = 6 the interaction
experience.
[3] Amazing and Design Technique ▪The best and most Responsive user
responsive features current user interface
▪Bootrap4 interface design
design features including
▪Material Theme
an amazing
▪ Laravel 8.2 dashboard and a
window loader.
▪node Js
▪HTML 5
[4] ORM Database ▪Laravel Database which can Migration flexible
Model be easily be accessed Database
with any
programming
10 | P a g e
language.
YEAR 2021
MONTH JANUARY FEBRUARY MARCH
WEEKS 1st 2nd 3rd 4 th
1st 2nd 3rd 4th
1sst 2nd 3rd 4th
PROPOSAL
INTRODUCTION
REVIEWING
INTRODUCTION
LITERATURE
REVIEW
REVIEWING
LITERATURE
REVIEW
METHODOLOGY
REVIEWING
METHODOLOGY
FINAL REVIEWING
OF PROPOSAL
11 | P a g e
Budget.
A budget of the requirements to implement the project. The entire budget is estimated to be
around Kshs 20,000 to Kshs 25000.
Item Cost
Computer/Smartphone Kshs. 10,000
Windows Operating System Kshs. 10,000
Internet Bundles Kshs. 5,000
12 | P a g e
SOFTWARE REQUIREMENTS
SPECIFICATION
FOR:
SAHANI WEB APP
EGERTON UNIVERSITY
13 | P a g e
PREPARED BY: BRENTONE ALISTAR
VERSIONS: 2
14 | P a g e
Software Requirements Specification for Sahani
Page 15
Revision History
Name Date Reason for Changes Version
Brentone Alistar 03/14/21 Project Swap 1.0
Overview
SRS is the official statement of what the system developers should implement. SRS is a complete
description of the behavior of the system to be developed. SRS should include both a definition
of user requirements and a specification of the system requirements.
The SRS fully describes what the software will do and how it will be expected to perform. The
SRS precisely defines the software product that will be built. SRS used to know all the
requirements for software development and thus that will help in designing the software. It
provides feedback to the customer. Documents that describe the functions of the SRS include
the Software Requirements Document (SRD), Functional Requirements Document (FRD),
Functional Requirements Specifications document (FRS), among other synonyms.
The SRS defines the contract between the developer and the owner of the system.
Introduction
Purpose
The Online Platform Management Software is designed to cater to flexibility, scalability, and
integration. Sahani Restaurant Management Platform Software is a robust Management Solution.
restaurants will be more successful by providing better services to the customers and gaining
15 | P a g e
Software Requirements Specification for Sahani
Page 16
greater control over the business costs and profits. This Management Software System will give
Your Business firm the business management software solution it needs. In a nutshell, the
Restaurant Management software presents you with screens for the following:
Document Conventions
This document follows the MLA Format. The bold-faced text has been used to emphasize
section and sub-section headings. Highlighting is to point out words in the glossary and italicized
text is used to label and recognize diagrams. When writing the SRS document for Sahani Online
Platform the following styles were used to make the document more effective and readable I
used Times New Roman font size 12 and headings which are bold and elegantly placed.
DB Database
16 | P a g e
Software Requirements Specification for Sahani
Page 17
ER Entity Relationship
OS Operating System
Project Scope
This system platform will cover a wider range of applications, majorly categorized into three
main parts, The Administration, The Customer, and The Restaurants. The restaurant is
further subdivided into other user categories. These include the kitchen user, the cashier, and
the waiter.
The registered customer has the privilege to make orders from a variety of restaurants, make
payments, confirm orders, cancel orders, select delivery addresses, from the services offered by
the restaurants, which are delivery, dine-in, or and takeaway services.
The registered restaurants, on the other hand, adds menu items, stock management for the
kitchen, adds waiters and cashiers, manages customers orders, views reports, print
receipts, statistical analysis of orders and sales, chooses services they offer, sets locations
they are based in and many more functions.
17 | P a g e
Software Requirements Specification for Sahani
Page 18
Overall Description
Product Perspective
The software product being developed is platform-independent equipped with relevant and stable
programming language implementation to enable the software product to run on all browsers
including chrome, Mozilla, Microsoft edge and opera.
Databases for Sahani software product has been implements with eloquent implementation
paradigm making it cross platform to major query languages. This has been made possible
through the programming language database eloquence abstraction.
This product is aimed at upgrading the existing online shopping platforms through reformations
and the shopping standards in terms of added modules and functionalities, improved user-
software interaction experience, software flexibility, maintainability, as well as efficiency.
Implicitly, this system will be a better version of the already existing self-independent systems
especially online food delivery categorically. With the addition of more features, the system is
objectively oriented towards the provision of a better experience to its users and generally
towards enhancing better performance.
Currently, there is no software, which combines all functionalities the way the Sahani does.
Therefore, it is a prototype of a new software that merges online shopping platform families with
a wider scope of functional modules.
Product Features
Sahani contains the following features:
Guests can visit the landing page, search for food and drinks, view registered restaurants in the
platform, view menu items from any selected restaurants, but must login to place an order.
Customers in addition to the guests’ privileges, can access the customer portal, place orders,
confirm orders, cancel orders, specify delivery addresses, edit profile information among many
other privileges.
Restaurant’s owners will need to register their restaurants with their restaurants’ information.
After the registration and account confirmation, the restaurant profile will get activated by the
Sahani platform administrator, thus allowing the restaurant to operate. The manager can add
restaurant’s staff like waiters, cashiers, kitchen users among others, add menu items, add more
profile information, manage stock, view reports, print reports, and many more.
18 | P a g e
Software Requirements Specification for Sahani
Page 19
The Platform Administrators role is in the management of the restaurants, the actions entitled to
the administrator are among being the super user to the platform, can ban restaurants operations,
suspend restaurants as well as activate restaurants. The admin can also view the overall platform
statistics.
The waiters will represent customers who doesn’t wish to use the system but need to dine-in or
make a takeaway order all the same. The waiters are entitled to the registered restaurant and only
make orders internally from registered restaurant menu
Moreover, the system will enable registration of a cashier who is entitled to completing payment
transactions, its implementation allows customers to select modes of payment either m-pesa
option or cash, bill splitting and receipt generation.
The last user in this series is the kitchen user, the user is solely responsible for the kitchen
management, management of stocks, recording of expenditures, and have profile edit privileges.
Sahani system domain comprises major online platforms used for online shopping, restaurants
management operations, stock managements by knowing which stocks were moved, how many
stocks are due to expire, which supplier a stock item belongs to and from sales-expenditure
differences the system will provide profit/loss reports.
User Objectives
To provide a reliable system that is easy to use and work with
To ensure 24 x 7 availability of the system
Provide a secure system that doesn’t lead to further complications
Provide a system that help implement online safety and regulations
Provide an interactive system that has good performance and minimum system requirements
such as memory size, processor speed, and data.
19 | P a g e
Software Requirements Specification for Sahani
Page 20
Operating Environment
Operating environment for the Sahani is as listed below.
distributed database
client/server system
Operating system: Independent
database: Eloquent MySQL database
platform: Web App.
User Documentation
For user documentation and information, please consult section 4: External Interface
User Constraints
The interactions with the platform will be based on role id.
20 | P a g e
Software Requirements Specification for Sahani
Page 21
Users have to provide unique credentials such as ID number for purposes of uniquely
identifying the users.
In cases of feedbacks, substantial evidence should be provided to support the claim. For
example, an order made and claimed to have been completed when delivery was never
made.
System Features
This template illustrates organizing the functional requirements for the product by system
features, the major services provided by the product. You may prefer to organize this section
by use case, mode of operation, user class, object class, functional hierarchy, or combinations
of these, whatever makes the most logical sense for your product.
The Sahani Platform is designed to cater to flexibility, scalability, and integration. Sahani
Restaurant Management Platform Software is a robust Management Solution. restaurants will be
more successful by providing better services to the customers and gaining greater control over
the business costs and profits. This Management Software System will give Your Business firm
the business management software solution it needs.
3.1.2 Stimulus/Response Sequences
The implementation paradigm for this request response paradigm with follow
representational API, using both safe and unsafe request methods to facilitate user
software interaction through user sending requests to the server and the server
replying with a response
DISTRIBUTED DATABASE:
A distributed database implies that a single application should be able to operate
transparently on data that is spread across a variety of different databases and
connected by a communication network hosted on different servers.
21 | P a g e
Software Requirements Specification for Sahani
Page 22
CLIENT/SERVER SYSTEM
The term client/server refers primarily to an architecture or logical division of
responsibilities, the client is the application (also known as the front-end), and the
server is the DBMS (also known as the back-end).
Some sites are client sites and others are server sites.
All the data resides at the server sites.
All applications execute at the client sites.
3.1.4 Technical Issues
It is in good practice for the users of the system product to keep up with newer
released versions to ensure efficient compatibility and configuration accuracy
with the dynamic changes and updates on the platforms that are related to the
system’s operation.
Objective
The purpose of the U1 use case is to provide relevant fields to the user for capturing user
credentials to ensure the unique identity of each and every user of the system that will facilitate
correct user reference.
3.2.3 Source – The source of this use case is the user of the system.
22 | P a g e
Software Requirements Specification for Sahani
Page 23
3.2.4 Actors – An end-user of the system (customer, admin, restaurant, waiter, kitchen user,
cashier) would be the relevant actor for this use case.
3.2.5.1.3 the provided user credentials are captured and stored in a distributed database.
3.2.5.1.5 the user logs into the email account and verifies the account.
3.2.5.2 Alternative Flow- At step 3.2.5.1.4, the user decides not to validate the
account.
3.2.5.2.3 The users’ privileges and access to major parts of the system is revoked.
3.2.5.3.1 System provides an error message indicating the error and relevant solution.
3.1.7 Requirements-
3.2.7.2 The system shall provide the option to register a restaurant or customer account.
3.2.7.4 The system shall indicate a need for registration should the user chose to skip
23 | P a g e
Software Requirements Specification for Sahani
Page 24
3.2.8 Preconditions – Good internet connection.
3.2.10.1.1 The maximum allowed execution time for the U1 use case is 60 seconds,
starting at the time when the user presses the register button and
24 | P a g e
Software Requirements Specification for Sahani
Page 25
Hardware Interfaces
This application will work on android phones and windows. Since the application must run
connected to the internet and need location data, Android devices must have a GPS unit and
internet connection in order to run this application.
For voice data inputs, the user requires a microphone connected to the computer. This is as a
supplementary input method should the user decide to enter data via voice input which will be
followed with voice translation into text and processing.
Software Interfaces
The Sahani online platform feature design entails the most elegant and iconic software designs
with the aim of giving its users maximum interaction, reducing execution time and minimizing
the number of errors to none. Right from the start stage, when the software loads and every time
the user makes a request to the server, the application software have been configured with a
stylish window loader, which will continue to animate request reply method until all requested
resources have been fully made available to the user via the server response. The design
implementations also consider the device resolution, responsive as it is in nature, the page
orientation and the menu placement vary with the variation of the device’s screen resolutions,
from big screens like tv, to medium screens like pc screens and finally small devices like smart
phones.
Communications Interfaces
The application will use HTTP protocol for communication over the internet.
25 | P a g e
Software Requirements Specification for Sahani
Page 26
A distributed eloquent database, one of the most powerful database abstractions made
possible by the implementation of the Laravel programming language which enables
easier database migrations by making it possible to use any query language to extract
database resources. The distributed database paradigm also enhances parallelization
which enhances the software execution speed performance.
Safety Requirements
As a measure against data loss, the software application will include a backing up feature that
ensures periodic backing up of data onto the google drives or accounts as an external source
and copy of the information for use in instances of server problems.
Password resets, verifications, and assignment of unique email addresses to the users is the
security convention to prevent unauthorized account access. The system also enforcer an 8-
character long password to help prevent brute-force attack on the passwords.
In cases of security events like hacked accounts, the administrator can always suspend the
hacked account, change the password and send the validation code to the authentic user.
Security Requirements
a) In the application side,
The system must not request unnecessary permissions from the user in order to prevent
unwanted attacks.
Stored data of the application should not be reached by other applications that is installed in
the user’s mobile device.
Stored data in the mobile device and sent data via the internet should be encrypted. Send and
receive data should be transferred via HTTPS connection. And also authenticated and
encrypted socket-level communication should be implemented.
26 | P a g e
Software Requirements Specification for Sahani
Page 27
Data that come from the application should be encrypted again on the database side.
a. Availability;
the system will be a configuration product that will be made available to all users
for free, however, the restaurant users have to pay a subscription fee.
%100 percent of the program depends on the host. In order to change the host, all the
components of the database should be transferred.
c. Security;
d. Flexibility;
the features of the system are user-customizable to meet the desired user preferences and
ensure users’ maximum satisfaction and user-controlled usage.
e. Adaptability;
27 | P a g e
Software Requirements Specification for Sahani
Page 28
frequent product updates on the product features and functionalities with regards to the
changing technological advancements to ensure a software product with efficient and
maximized user requirements.
f. Maintainability;
in terms of requests and responses, advanced and most current algorithms have been
implemented to facilitate faster processing of all user requests resulting in giving out
feedbacks/responses in time.
Inheritance relationships
System Admin
28 | P a g e
Software Requirements Specification for Sahani
Page 29
Restaurant
Waiter/Cashier/Kitchen User
The registered restaurants, on the other hand, adds menu items, stock management for the
kitchen, adds waiters and cashiers, manages customers orders, views reports, print
receipts, statistical analysis of orders and sales, chooses services they offer, sets locations
they are based in and many more functions.
The user class primary performs subjectively to avail all the required data for processing by the
system. The availability of these data can be via order module of the system or adding of menu
items by the restaurants management. Likewise, at the other end of the system is administrator
tasked with implementing the rules and regulations on the platform usage.
29 | P a g e
Software Requirements Specification for Sahani
Page 30
6.2.1.1.1 Abstract or Concrete:
the user class is an abstract class with methods and attributes that can be inherited
by other classes.
Cashier class
Customer class
Restaurant class
Administrator class
6.2.1.1.4 Purpose:
this class is the blueprint of all major objects in the system. It is tasked with the
role of holding together all other subclasses.
6.2.1.1.5 Collaborations:
this class interacts and indirectly dependent with the system administrative class
to inherit methods and features that are critical and essential for the general goals
of the system application.
6.2.1.1.6 Attributes:
user information
Name
Email
Password
30 | P a g e
Software Requirements Specification for Sahani
Page 31
UserID
Other information
Profile Picture
Address
Social media address
6.2.1.1.7 Operations:
The operations get fully initiated after the verification of the account, this majorly
applies to independent classes like customer and Restaurant class. After the
verification stage, the account is fully activated and the user can perform any set
of assigned privileges, for the restaurant, there is one more step needed for full
activation, the administrator has to activate the account further to ensure that the
subscription fee had been paid.
6.2.1.1.8 Constraints:
Verification is paramount to implement authentication class and activate the
systems modules given to the user role.
Item Cost
Computer/Smartphone Ksh. 15,000
Internet Bundles Ksh. 5,000
31 | P a g e
Software Requirements Specification for Sahani
Page 32
Duration Activity
Jan
2021
Feb
2021
March
2021
May 2021
Problem definition
32 | P a g e
Software Requirements Specification for Sahani
Page 33
Requirement Analysis
System Design
Coding
System Integration
33 | P a g e
Software Requirements Specification for Sahani
Page 34
Testing
Maintenance
Other Requirements
For the restaurant users, a cashier machine is recommended as well as a lesser printer for
printing the receipts upon completion of payment by the customers, these should be positioned
to be accessed by the cashier user. Additionally, the manager can have a different printer for
printing sales reports, stock reports as well as orders reports.
Glossary
EGERTON UNIVERSITY
35 | P a g e
Software Requirements Specification for Sahani
Page 36
VERSION: 2.0
36 | P a g e
Software Requirements Specification for Sahani
Page 37
Overview
The System Design Document describes the system requirements, operating environment,
system and subsystem architecture, files and database design, input formats, output layouts,
human-machine interfaces, detailed design, processing logic, and external interfaces.
INTRODUCTION
This System Design Document has been created to outline the proposed system design for the
Sahani Online Platform. Sahani is intended to make online restaurants services to be more user
friendly, offering extensively a wider scope of modules to cover all operations involved in the
standard day to day activities in the restaurants. The main aim of the system is to provide a better
management to the restaurants, expand the market coverages, this is via outreaching to all food
lovers with internet connection, and provide the most efficient and responsive interactions with
the users.
The registered restaurants, on the other hand, adds menu items, stock management for the
kitchen, adds waiters and cashiers, manages customers orders, views reports, print
receipts, statistical analysis of orders and sales, chooses services they offer, sets locations
they are based in and many more functions.
37 | P a g e
Software Requirements Specification for Sahani
Page 38
Project Executive Summary
The Online Platform Management Software is designed to cater to flexibility, scalability, and
integration. Sahani Restaurant Management Platform Software is a robust Management Solution.
restaurants will be more successful by providing better services to the customers and gaining
greater control over the business costs and profits. This Management Software System will give
Your Business firm the business management software solution it needs.
In a nutshell, the Sahani Platform presents you with screens for the following:
System Overview
Context Diagram
38 | P a g e
Software Requirements Specification for Sahani
Page 39
39 | P a g e
Software Requirements Specification for Sahani
Page 40
Data Flow Diagram
Design Constraints
The interactions with the platform will be based on role id.
Users have to provide unique credentials such as ID number for purposes of uniquely
identifying the users.
In cases of feedbacks, substantial evidence should be provided to support the claim. For
example, an order made and claimed to have been completed when delivery was never
made.
Synchronization: the system will be structured to serve multiple users at a go for complete
utilization of its resources and consistency in performance.
Memory requirements: the device will have a minimum 2GB internal hard drive requirement.
Software and database cannot exceed this amount.
40 | P a g e
Software Requirements Specification for Sahani
Page 41
Permissions: there is no permission requirements needed by the current version of the system.
Language requirements: currently supports English. This is due to the software area of
coverage, that is, my design is to enable the Sahani to cover East Africa countries.
It is assumed that the user of the system will have strong internet connectivity and some
knowledge and expertise on the usage online shopping platforms because this system is
client/server-based hosting all the resources on the server and allowing authenticated
users to request for those resources.
Future Contingencies
The system has major dependencies on the user of the system. This makes the performance of
the system mission critical depending particularly on some desired user characteristics and
capabilities.
Clear sight
Computer literacy
Choice of device screen resolution
Sight dependency countermeasure is via implementation of clear contrasting colors which are
intuitive to the operations of the system. Computer illiteracy can be corrected through organized
vocational training of the system’s user to gain the required know- how with the regards to the
usage of the system. The design has implemented a paradigm to help with screen resolution
differences by specifying the screen layout in each case.
Document Organization
This document completely describes the system at the architecture level, including subsystems
and their services, hardware mapping, data management, access control, global software control
structure, and boundary conditions. The document is organized into seven major sections. Each
section provides detailed sub-sections relevant to the major section. Charts, tables, and graphics
have been inserted to explain or clarify content.
41 | P a g e
Software Requirements Specification for Sahani
Page 42
Points of Contact
This section provides the organization code and title of the key points of contact (and alternates
if appropriate) for the information system development effort. These points of contact should
include the Project Manager, System Proponent, User Organization, Quality Assurance (QA)
Manager, Security Manager, and Configuration Manager, as appropriate.
Glossary
API – Application Programming Interface
OS – Operating System
DB – Database
DDB – Distributed Database
HTTP – Hypertext Transfer Protocol
URI – Uniform Resource Identifier
SQL – Structured Query Language
SYSTEM ARCHITECTURE
This section describes the system and/or subsystem(s) architecture for the project. References to
external entities should be minimal, as they will be described in detail in Section 6, External
Interfaces.
42 | P a g e
Software Requirements Specification for Sahani
Page 43
TypeScript, blade and Hack.
The relationships between the developed system modules enables the system to perform
functions that includes:
Customer user
User registration
Role-based login in
Placement orders
Confirmation of orders
Order cancellation before processing status
Payment upon order completion
Restaurant User
Restaurant registration
Restaurant Owner login
Adding of menu items
Updating restaurant’s profile
Adding restaurant staff
Order confirmation
Reporting module
Admin User
Login as a super user
Suspend, ban or activate restaurant account
Cashier
Responsible for completing payments
Login module
Mode of payment documentation
Belongs to a restaurant account
43 | P a g e
Software Requirements Specification for Sahani
Page 44
Waiter
Belongs to a restaurant account
Uses the system on behalf of the customer
Makes orders
Confirm orders
Login into account
Kitchen User
Manages the kitchen
Responsible for the stock management
Internal Communications Architecture
In this section, describe the overall communications within the system. The Sahani platform
system has implemented the Representational Stateful Transfer communication paradigm.
With the secure HTTPs, clients(end-users) can make requests to the system’s resources or
methods using safe HTTP get method, additionally, the end user can post an information, remove
the information as a resource from the server with POST AND PATCH methods. This eventually
triggers the server to give a feedback through a response to the clients’ requests.
Clients will use a browser to interact with the system located within the server to make their
requests.
44 | P a g e
Software Requirements Specification for Sahani
Page 45
Refined logical model; provide normalized table layouts, entity relationship diagrams,
and other logical design information
A physical description of the DBMS schemas, sub-schemas, records, sets, tables,
storage page sizes, etc.
Access methods (such as indexed, via set, sequential, random access, sorted pointer
array, etc.)
Estimate of the DBMS file size or volume of data within the file, and data pages,
including overhead resulting from access methods and free space
Definition of the update frequency of the database tables, views, files, areas, records,
sets, and data pages; estimate the number of transactions if the database is an online
transaction-based system
45 | P a g e
Software Requirements Specification for Sahani
Page 46
Overall Database Schema
A total of 46 tables
46 | P a g e
Software Requirements Specification for Sahani
Page 47
User migration
47 | P a g e
Software Requirements Specification for Sahani
Page 48
Restaurant menu
HUMAN-MACHINE INTERFACE
This section provides the detailed design of the system and subsystem inputs and outputs relative
to the user/operator.
Inputs
This section is a description of the input media used by the operator for providing information to
48 | P a g e
Software Requirements Specification for Sahani
Page 49
the system. This provides the layout of all input data screens or graphical user interfaces (GUIs)
(for example, windows), graphical representation of each interface, and definition of all data
elements associated with each screen or GUI, or reference to the data dictionary. This section
contains edit criteria for the data elements, including specific values, range of values,
mandatory/optional, alphanumeric values, and length. Also, data entry controls prevent edit
bypassing.
Registration
Customer Registration
This interface will take username in type text, email must be in email format, the password must
be length 8 characters or more, and both password and confirm password fields have to match.
49 | P a g e
Software Requirements Specification for Sahani
Page 50
Restaurant Registration
50 | P a g e
Software Requirements Specification for Sahani
Page 51
Login
Order food/drink
Make payment
Outputs
This section describes the system output design relative to the user/operator; shows a mapping to
the high-level data flows described in Section 1.2.1. System outputs include reports, data display
screens, and GUIs, query results, etc. The output files are described in Section 3 and may be
referenced in this section. The following should be provided, if appropriate:
51 | P a g e
Software Requirements Specification for Sahani
Page 52
Order confirmation
52 | P a g e
Software Requirements Specification for Sahani
Page 53
Receipt
Restaurant Analytics
Payment Voucher
53 | P a g e
Software Requirements Specification for Sahani
Page 54
DETAILED DESIGN
This section provides the information needed for a system development team to actually build
and integrate the hardware components, code and integrate the software modules, and
interconnect the hardware and software segments into a functional product. Additionally, this
section addresses the detailed procedures for combining separate COTS packages into a single
system. Every detailed requirement should map back to the SRS, and the mapping should be
presented in an update to the RTM and include the RTM as an appendix to this design document.
54 | P a g e
Software Requirements Specification for Sahani
Page 55
Requirement Specification
Power Mains Voltage or phones battery in case
of mobile phone
Connector serial/parallel, 11-pin, male/female, etc
Memory and storage Min memory of 1GB RAM and 16 GB
internal storage
Processor Min 2HZ
Graphical representation depicting the monitors, printers
number of hardware items
User interfaces buttons, toggle switches, etc
Monitor Touch screen or pc monitor
55 | P a g e
Software Requirements Specification for Sahani
Page 56
EXTERNAL INTERFACES
External systems are any systems that are not within the scope of the system under development,
regardless whether the other systems are managed by the State or another agency. In this
section, describe the electronic interface(s) between this system and each of the other systems
and/or subsystem(s), emphasizing the point of view of the system being developed.
Interface Architecture
In this section, describe the interface(s) between the system being developed and other systems;
for example, batch transfers, queries, etc. Include the interface architecture(s) being
implemented, such as wide area networks, gateways, etc. Provide a diagram depicting the
communications path(s) between this system and each of the other systems, which should map to
56 | P a g e
Software Requirements Specification for Sahani
Page 57
the context diagrams in Section 1.2.1. If appropriate, use subsections to address each interface
being implemented.
57 | P a g e
Software Requirements Specification for Sahani
Page 58
Audit procedures to meet control, reporting, and retention period requirements for
operational and management reports
Application audit trails to dynamically audit retrieval access to designated critical
data
Standard Tables to be used or requested for validating data fields
Verification processes for additions, deletions, or updates of critical data
Ability to identify all audit information by user identification, network terminal
identification, date, time, and data accessed or changed.
EGERTON UNIVERSITY
58 | P a g e
Software Requirements Specification for Sahani
Page 59
FACULTY OF SCIENCE
COMPUTER SCIENCE DEPARTMENT
TEST PLAN FOR SAHANI PLATFORM SYSTEM
59 | P a g e
Software Requirements Specification for Sahani
Page 60
Test plan identifier
This is the test plan for Automatic Answer Checker System (AACS). The system targets to
improve the process of exam making. It entails development of a web application that will be of
service to enable students to take exams and then receive results immediately. Users will only
require a browser and internet connection for use. The system will allow registered users or
students to exams which maybe one attempt or has no restrictions on number of attempts. Exams
will be set by admin.
Introduction
The goal of this document is to develop a test plan for the Sahani Platform System. This
document defines all the procedures and activities required to prepare for testing of the
functionalities of the system. The objectives of the test plan are to define the activities to perform
testing, define the test deliverables and to identify the various risks and contingencies involved in
testing.
Objectives
The Online Platform Management Software is designed to cater to flexibility, scalability, and
integration. Sahani Management Platform Software is a robust Management Solution. Sahani
will be more successful by providing better services to the customers and gaining greater control
over the business costs and profits. This Management Software System will give Your Business
firm the business management software solution it needs. In a nutshell, the Sahani Management
software presents you with screens for the following:
60 | P a g e
Software Requirements Specification for Sahani
Page 61
The latest design features to ensure maximum user experience
Multi-user support
High system security through the enabled log of system users
Report printing, receipts, and all category query reports
Scope
This system platform will cover a wider range of applications, majorly categorized into three
main parts, The Administration, The Customer, and The Sahanis. The Sahani is further
subdivided into other user categories. These include the kitchen user, the cashier, and the
waiter.
The registered customer has the privilege to make orders from a variety of Sahanis, make
payments, confirm orders, cancel orders, select delivery addresses, from the services offered by
the Sahanis, which are delivery, dine-in, or and takeaway services.
The registered Sahanis, on the other hand, adds menu items, stock management for the
kitchen, adds waiters and cashiers, manages customers orders, views reports, print
receipts, statistical analysis of orders and sales, chooses services they offer, sets locations
they are based in and many more functions.
The System Administrator has the privilege of Suspending, banning, or activating Sahanis
based on subscriptions or complaints, or both. He is the superuser
Features to be tested
The following features will be tested:
Customer
Registration and authentication.
Functionality to view and edit profile.
Functionality to view restaurants.
61 | P a g e
Software Requirements Specification for Sahani
Page 62
Functionality to make orders.
Functionality to confirm orders.
Restaurant
Registration and authentication.
Functionality to add menu items.
Functionality to add staff.
Functionality to complete profile.
Admin
Login authentication
Functionality to view registered restaurants.
Functionality to Manage Restaurants.
Functionality to respond to queries.
Functionality to view restaurants records.
FEATURE DESCRIPTION
Network security This is beyond scope.
Process overview
The following steps represent the overall flow of the testing process:
Identify the requirements to be tested. All test cases shall be derived using the current Program
Specification.
Identify which particular test(s) will be used to test each module.
62 | P a g e
Software Requirements Specification for Sahani
Page 63
Review the test data and test cases to ensure that the unit has been thoroughly verified and that
the test data and test cases are adequate to verify proper operation of the unit.
Identify the expected results for each test.
Document the test case configuration, test data, and expected results.
Perform the test(s).
Document the test data, test cases, and test configuration used during the testing process. This
information shall be submitted via the Unit/System Test Report (STR).
Successful unit testing is required before the unit is eligible for component integration/system
testing.
Unsuccessful testing requires a Bug Report Form to be generated. This document shall describe
the test case, the problem encountered, its possible cause, and the sequence of events that led to
the problem. It shall be used as a basis for later technical analysis.
Test documents shall be submitted. Any specifications to be reviewed, revised, or updated shall
be handled immediately.
Testing process
Organize Project: It involves creating a System Test Plan, Schedule & Test Approach, and
assigning responsibilities.
Design System Test: It involves identifying Test Cycles, Test Cases, Entrance & Exit Criteria,
Expected Results. In general, test conditions, expected results will be identified by the Test Team
in conjunction with the Development Team. The Test will then identify Test Cases and the Data
required. The Test conditions are derived from the Program Specifications Document.
Design Test Procedure: It includes setting up procedures such as Error Management systems
and Status reporting.
Build Test Environment: It includes requesting, building hardware, software and data set-ups.
Execute System Tests: The tests identified in the Design Test Procedures will be executed. All
results will be documented and Bug Report Forms filled out and given to the Development Team
as necessary.
Signoff: Signoff happens when all pre-defined exit criteria have been achieved.
Test strategy
The testing will be done using both manual and automatic test tools. The testing will cover the
requirements for all of the different roles participating in the site: customers, restaurants and
63 | P a g e
Software Requirements Specification for Sahani
Page 64
administrators. The following outlines the types of testing that will be done for unit, integration,
and system testing.
Unit testing
Unit testing is a method of testing that verifies the individual units of source code are working
properly. The goal of unit testing is to isolate each part of the program and show that the
individual parts are correct.
Integration testing
Integration tests exercise an entire subsystem and ensure that a set of components play nicely
together.
System testing
The goals of system testing are to detect faults that can only be exposed by testing the entire
integrated system or some major part of it. Generally, system testing is mainly concerned with
areas such as performance, security, validation, load, and configuration sensitivity. But in this
case focus is only on Performance and Load testing.
Performance testing
This test will be conducted to evaluate the fulfilment of a system with specified performance
requirements. This will be performed by:
Deleting data and check if it follows the right sorting algorithm to sort the resulting data or
output.
Trying to store new data and check if it over writes the existing once i.e. using an existing
username or email.
Trying to load the data while they are already loaded.
64 | P a g e
Software Requirements Specification for Sahani
Page 65
User interface testing
User Interface (UI) testing verifies a user’s interaction with the software. The goal of UI testing
is to ensure that the UI provides the user with the appropriate access and navigation through the
functions of the target-of-test. In addition, UI testing ensures that the objects within the UI
function as expected and conform to corporate or industry standards.
For the website, unit testing is done first. Because unit testing will ensure that the all components
of the system are working properly or not. If a single unit does not work properly the integration
test will not necessary to perform.
Suspension criteria
The test will be suspended if any of these events occur:
Test deliverables
The following documents will be generated as a result of these testing activities:
65 | P a g e
Software Requirements Specification for Sahani
Page 66
Master test plan (this document)
Individual test plans for each phase of the testing cycle
Test Design Specifications
Test log for each phase
Acceptance Test plan.
Unit test plan.
Screen Prototypes.
Test report.
Test scenario and expected result in an excel sheet.
System manual.
Environmental needs
There are essentially two parts to the Sahani system: the client-side, which will facilitate access
to the system by customers, administrators, restaurant’s managers and restaurant’s staff via the
Internet. The server-side which will deal with processing of information, storage of information
in a database and retrieval of information from the database.
Client-side environments
The client-side is any web browser that runs on client device. Client devices are workstations,
laptops and mobile devices with internet access enabled.
Opera browsers
Chrome browsers
Mozilla browsers
Internet Explorer
Safari browsers
Server-side environments
The system will be hosted on Php admin server that will provide the following functionalities:
66 | P a g e
Software Requirements Specification for Sahani
Page 67
A MySQL database for data storage.
Storage of system resources.
Project Manager: Responsible for managing the total implementation of the Web application.
Test manager: Responsible for developing the master test plan, reviewing the test deliverables,
managing the test cycles, collecting metrics and reporting status to the Project Manager, and
recommending when testing is complete.
Test engineer: Responsible for designing the tests, creating the test procedures, creating the test
data, executing tests, preparing incident reports, analyzing incidents, writing automated test
procedures, and reporting metrics to the test manager.
Each and every member assigned to this project should be experienced with:
Schedule
The schedule for testing the system will be as follows:
Testing will be done throughout the process of its development depending on the type testing in
question.
Approval
The test will be approved once it meets all quality requirements.
67 | P a g e
Software Requirements Specification for Sahani
Page 68
EGERTON UNIVERSITY
USER MANUAL
FOR
VERSION: 1.0
68 | P a g e
Software Requirements Specification for Sahani
Page 69
General information
Technical specifications
This chapter describes the Sahani in general terms and provides details of the operating
environment and minimum configuration necessary for the satisfactory operation of the system.
System features
On the home page of guest account, there are the following links at the top:
69 | P a g e
Software Requirements Specification for Sahani
Page 70
Sahani logo it redirects to home page.
General features
Registration
This is the first thing that a user is required to do in order to access other system features. It
requires a user to correctly fill in all details on the registration form. An activation link will be
sent to the registration email address. To complete the registration, a user has to click on the link
sent to their email address to activate their account.
70 | P a g e
Software Requirements Specification for Sahani
Page 71
71 | P a g e
Software Requirements Specification for Sahani
Page 72
Login
This feature allows registered users to log in to the system and access system features. A user is
required to enter the correct email and password. If any of this is not correct, an error message is
displayed containing error information. The login page also contains a link to reset a user
password, which redirects to page that allows user to enter emai address and a password reset
link is sent to the entered email. The link is located directly above the log in button.
Password reset
This feature allows a user to reset an account password in the event that a user has forgotten their
password. A user should enter their correct email and click the “submit” button. A reset
password link is sent to the user’s email address. A user clicks the link which redirects to reset
password page, where the user resets password and if successful then the user logs into their
account. In case a user inputs an email address that does not exist in the system, an error message
will be displayed.
72 | P a g e
Software Requirements Specification for Sahani
Page 73
Customer’s features
Customer’s dashboard
Below is a screenshot of how the customer’s landing page looks like.
73 | P a g e
Software Requirements Specification for Sahani
Page 74
Once the customer login successful, this landing appears. Here the customer is able to see the list
of module links. A user should click on any of the links to use a feature. The features accessible
from this dashboard are:
Dashboard
Restaurants
Profile Account
Make an order
The customer is able to view restaurant’s menus and make an order. The customer can also
confirm the orders
74 | P a g e
Software Requirements Specification for Sahani
Page 75
75 | P a g e
Software Requirements Specification for Sahani
Page 76
Customer’s dashboard
76 | P a g e
Software Requirements Specification for Sahani
Page 77
view order history
77 | P a g e
Software Requirements Specification for Sahani
Page 78
Restaurants features
Restaurant dashboard
Below is a screenshot of the restaurant’s landing page.
Once the restaurant login successful, this landing page appears. The restaurant is able to see all
the feature and clink on the links.
78 | P a g e
Software Requirements Specification for Sahani
Page 79
Add menu
Restaurant is able to add menu. The screenshot is shown below.
View dashboard
79 | P a g e
Software Requirements Specification for Sahani
Page 80
Add staff
Admin features
Admin dashboard
Below is a screenshot of the admin home page. Once the admin login successful, the landing
page below is shown.
80 | P a g e
Software Requirements Specification for Sahani
Page 81
Admin Dashboard
Manage Restaurants
Here the admin is able to view users and can delete or change user.
81 | P a g e
Software Requirements Specification for Sahani
Page 82
82 | P a g e