You are on page 1of 24

SYSTEM REQUIREMENT SPECIFICATION

DOCUMENT: a restaurant reservation application.


TABLE OF CONTENT
1. INTRODUCTION

1.1 PURPOSE
1.2 INTENDED AUDIENCE
1.3 INTENDED USE
1.4 PRODUCT SCOPE
1.5 DEFINITIONS AND ACRONYMS

2. OVERALL DESCRIPTION
2.1 USER NEEDS
2.2 ASSUMPTIONS AND DEPENDENCIES
3. SYSTEM FEATUES AND REQUIERMENT
3.1 FUNCTIONAL REQUIREMENT

3.2 EXTERNAL INTERFACE REQUIREMENT


3.3 NON-FUNCTIONAL REQUIREMENT

1. INTRODUCTION
1.1 PURPOSE
The purpose of the system requirement specification document is to clearly define the
System under development, namely restaurant reservation application (RRA).

1.2 INTENDED AUDIENCE


The intended audience of this document includes the owner of the restaurant, the
Employee of the restaurant, the marketing team, and the users of the restaurant
reservation application.
Other intended audience includes the development team such as the requirement team
Requirement analysts, design team and other members of the developing organization.
1.3 INTENDED USE
The essential use of this software requirement specification document is to provide a
Whole overview of the (RRA) and its functionalities and features ; also to help the
Customer use the application so that he or she can make a reservation quickly without
Wasting time.

1.4 PRODUCT SCOPE


The restaurant reservation application aims to facilitate the interaction between the
Customer and the restaurant, so the customer will make a reservation through the
Restaurant application which will save him time.
The RRA will allow the customer the following functionalities: select the meal, pay the
Reservation, select the number of members in the reservation, select the drinks which
Will be served in the reservation, and order a meal to be delivered to his place.
The RRA aims to increase the business performance by organizing the reservation
DB also it aims to decrease the overcrowding in the restaurant when making
Reservations.

1.5 DEFINITIONS AND ACRONYMS


Restaurant employees: anyone working in the restaurant.
Customer: anyone who interact with the RRA to make a reservation.
Functionalities: the whole services provided by the RRA to customers.
RRA: restaurant reservation application.
Reservation DB: reservation data base.

2. OVERALL DESCRIPTION
2.1 USER NEEDS
The restaurant reservation application can be used by any customer who want to make
A reservation in a restaurant or who want to make a delivery to eat at home.
The major users of the RRA are the customers who are primary users and, the bank
system.

2.2 ASSUMPTIONS AND DEPENDENCIES


In order to make the economic transactions within the RRA easier we need a connection
To the bank system so that the customer can make his reservations faster also we need
A connection to a cyber-security system so that the confidential information of our
Customers such as his or her ID number, credit card number, bank account number
remain safe.
Also if the customer have insufficient funds in his or her bank account the RRA should
Notify our customer with a message.

3.SYSTEM FEATURES AND REQUIREMENT


3.1 FUNCTIONAL REQUIREMENT
1) The system shall allow customers to search for the specific meal.
2) The system shall provide login security and payment security to customers.
2.1) The system shall record membership information of the customer.
3) The system shall allow customers to make a delivery.
3.1) The system should allow the customer to chose the time and place of
receiving the delivery.
4) The system shall allow the employees to add new meals and drink.
5) the system shall email customers about the new meals.
6) The system shall allow customers to modify their meals.

3.2 EXTERNAL INTERFACE REQUIREMENT


A) HARDWARE REQUIREMENT
The RRA can be installed on a pc with minimum hardware equipment in terms of CPU
And GPU: intel i3, NVIDIA GEFORCE 720m, and a minimum of 4 GB ram also the RRA
Can be installed in phones with the minimum hardware requirement in terms of CPU
and GPU: dual core processor.

B) SOFTWARE REQUIREMENT
For pc users they need to have at least a windows 7 PC to run the RRA and For phone
Users they need a minimum of android 7 for android users to run the application and
For the ios users they need a minimum of ios 7 to run the application.

3.3 NON-FUNCTIONAL REQUIREMENT


1) the system shall provide a friendly user interface.
2)The system shall detect any use of bad language in the chat section
3) The system shall provide a fast performance for customer help them
Make reservation or order quickly
4)The system shall provide a secure environment for customers
USE CASE DIAGRAM
CLASS DIAGRAM
RELATIONAL SCHEMA: Restaurant Reservation Application
Customer (customerID, F_name, L_name, phone number, #employeeID)
Drinks (drinkID, name, number, price, #employeeID)
Customer_drinks (#customerID, #drinkID)
Sodas (#drinkID)
Juices(#drinkID)
Employees (employeeID, F_name, L_name, phone number, #DeliveryID)
Delivery (DeliveryID, #customerID, place, time, number)
Meal (mealID, name, number, price, #employeeID)
European meals (#mealID)
Tunisian meals (#mealID)
Oriental meals (#mealID)
Customer_Meal (#customerID, #mealID)
Reservation (reservationID, #customerID, place, number, time)
SQL CODE FOR THE PROJECT(RRA)
CREATE Database restaurant;
use restaurant;
CREATE TABLE Customer (
customerID INT NOT NULL PRIMARY KEY,
F_name VARCHAR(50) NOT NULL,
L_name VARCHAR(50) NOT NULL,
phone_number VARCHAR(20) NOT NULL,
employeeID INT NOT NULL
);

CREATE TABLE Drinks (


drinkID INT NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
number INT NOT NULL,
price DECIMAL(10, 2) NOT NULL,
employeeID INT NOT NULL
);

CREATE TABLE Customer_drinks (


customerID INT NOT NULL,
drinkID INT NOT NULL,
PRIMARY KEY (customerID, drinkID),
FOREIGN KEY (customerID) REFERENCES Customer(customerID),
FOREIGN KEY (drinkID) REFERENCES Drinks(drinkID)
);

CREATE TABLE Sodas (


drinkID INT NOT NULL PRIMARY KEY,
FOREIGN KEY (drinkID) REFERENCES Drinks(drinkID)
);

CREATE TABLE Juices (


drinkID INT NOT NULL PRIMARY KEY,
FOREIGN KEY (drinkID) REFERENCES Drinks(drinkID)
);

CREATE TABLE Employees (


employeeID INT NOT NULL PRIMARY KEY,
F_name VARCHAR(50) NOT NULL,
L_name VARCHAR(50) NOT NULL,
phone_number VARCHAR(20) NOT NULL,
DeliveryID INT NOT NULL
);

CREATE TABLE Delivery (


DeliveryID INT NOT NULL PRIMARY KEY,
customerID INT NOT NULL,
place VARCHAR(50) NOT NULL,
time DATETIME NOT NULL,
number INT NOT NULL,
FOREIGN KEY (customerID) REFERENCES Customer(customerID)
);

CREATE TABLE Meal (


mealID INT NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
number INT NOT NULL,
price DECIMAL(10, 2) NOT NULL,
employeeID INT NOT NULL
);

CREATE TABLE European_meals (


mealID INT NOT NULL PRIMARY KEY,
FOREIGN KEY (mealID) REFERENCES Meal(mealID)
);

CREATE TABLE Tunisian_meals (


mealID INT NOT NULL PRIMARY KEY,
FOREIGN KEY (mealID) REFERENCES Meal(mealID)
);

CREATE TABLE Oriental_meals (


mealID INT NOT NULL PRIMARY KEY,
FOREIGN KEY (mealID) REFERENCES Meal(mealID)
);

CREATE TABLE Customer_Meal (


customerID INT NOT NULL,
mealID INT NOT NULL,
PRIMARY KEY (customerID, mealID),
FOREIGN KEY (customerID) REFERENCES Customer(customerID),
FOREIGN KEY (mealID) REFERENCES Meal(mealID)
);

CREATE TABLE Reservation (


reservationID INT NOT NULL PRIMARY KEY,
customerID INT NOT NULL,
place VARCHAR(50) NOT NULL,
number INT NOT NULL,
time DATETIME NOT NULL,
FOREIGN KEY (customerID) REFERENCES Customer(customerID)
);
INSERT INTO Customer VALUES(02987415,'Hazem','jlassi',93852701,01589634);
INSERT INTO Customer values(15496320,'Amir','Dridi',99205876,04367814);
INSERT INTO Customer values(06987453,'Ahmed','Hammami',24302189,19873054);
INSERT INTO Customer VALUES(13546210, 'Amina', 'Ayari', 94540063,01257829);
INSERT INTO Customer VALUES(14633235,'Hanen','Massmoudi',96655413,19256410);
INSERT INTO Customer VALUES(09635821,'wassim','rajhi',99701250,15248787);

INSERT INTO Drinks VALUES(1,'coca_cola',5000,2.300,19873054);


INSERT INTO Drinks VALUES(2,'FANTA',2600,2.300,19256410);
INSERT INTO Drinks values(3,'PEPSI',6000,2.300,18502794);
INSERT INTO Drinks VALUES(4,'orange juice',7000,4.200,01257829);
INSERT INTO Drinks VALUES(5,'strawberry juice',4300,4.200,16523030);
INSERT INTO Drinks VALUES(6,'lemon juice',8800,4.200,01589634);

INSERT INTO Customer_drinks VALUES(02987415,1);


INSERT INTO Customer_drinks VALUES(15496320,1);
INSERT INTO Customer_drinks VALUES(06987453,5);
INSERT INTO Customer_drinks VALUES(13546210,2);
INSERT INTO Customer_drinks VALUES(14633235,4);
INSERT INTO Customer_drinks VALUES(09635821,3);

INSERT INTO Sodas VALUES(1);


INSERT INTO Sodas VALUES(2);
INSERT INTO Sodas VALUES(3);

INSERT INTO Juices VALUES(4);


INSERT INTO Juices VALUES(5);
INSERT INTO Juices VALUES(6);

INSERT INTO Employees VALUES(19873054,'Moncef','Tounsi',92554711,20);


INSERT INTO Employees VALUES(01589634,'Jamel','Salhi',93080210,30);
INSERT INTO Employees VALUES(15248787,'Nadia','Jemni',99410587,40);
INSERT INTO Employees VALUES(01257829,'Kamilia','Selmi',25060091,50);
INSERT INTO Employees VALUES(19256410,'Wafa','Soussi',26981034,60);
INSERT INTO Employees VALUES(04367814,'Majdi','aouini',91514553,70);
INSERT INTO Employees VALUES(18502794,'Samir','Arfaoui',99802003,80);
INSERT INTO Employees VALUES(16523030,'Mounir','Riahi',56643088,90);

INSERT INTO Delivery VALUES(20,02987415,'Manouba','2023-01-15 18:30:00',1);


INSERT INTO Delivery VALUES(30,06987453,'Tunis','2023-01-17 16:00:00',2);
INSERT INTO Delivery VALUES(40,09635821,'Mourouj','2023-01-22 14:35',3);
INSERT INTO Delivery VALUES(50,13546210,'Marsa','2023-01-02 20:20',4);
INSERT INTO Delivery VALUES(60,14633235,'Kram','2023-01-06 17:04',5);
INSERT INTO Delivery VALUES(70,15496320,'Mallasine','2023-01-09 19:33',6);
INSERT INTO Delivery VALUES(80,02987415,'Manouba','2023-01-29 20:00',1);
INSERT INTO Delivery VALUES(90,06987453,'Tunis','2023-01-10 15:40',2);

INSERT INTO Meal VALUES(1,'couscous à L agneau',10,22.0,15248787);


INSERT INTO Meal VALUES(2,'couscous au poisson',30,20.00,01589634);
INSERT INTO Meal VALUES(3,'spaghettis aux fruit de mer',40,18.00,19873054);
INSERT INTO Meal VALUES(4,'Riz au poulet',60,15.00,04367814);
INSERT INTO Meal VALUES(5,'Pizza neptune',80,12.00,16523030);

INSERT INTO European_meals VALUES(3);


INSERT into European_meals VALUES(5);

INSERT INTO Tunisian_meals VALUES(1);


INSERT INTO Tunisian_meals VALUES(2);

INSERT INTO Oriental_meals VALUES(4);

INSERT INTO Customer_Meal VALUES(02987415,1);


INSERT INTO Customer_Meal VALUES(06987453,2);
INSERT INTO Customer_Meal VALUES(15496320,5);
INSERT INTO Customer_Meal VALUES(13546210,4);

INSERT INTO Reservation VALUES(15,14633235,'Aouina',5,'2023-02-14 19:00');


INSERT INTO Reservation VALUES(16,9635821,'Carthage',6,'2023-02-14 20:00');

You might also like