100% found this document useful (2 votes)
101 views

Saran Computer Science Project

This document describes a food booking system project created by K. Saran for their Computer Science class. It includes a certificate confirming completion of the project, acknowledgements recognizing those who provided guidance and support, and sections describing the objectives, proposed system, and system development life cycle of the food booking system. The project aims to digitize and streamline the food booking and order management process.

Uploaded by

Sanjivram S 10b
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
101 views

Saran Computer Science Project

This document describes a food booking system project created by K. Saran for their Computer Science class. It includes a certificate confirming completion of the project, acknowledgements recognizing those who provided guidance and support, and sections describing the objectives, proposed system, and system development life cycle of the food booking system. The project aims to digitize and streamline the food booking and order management process.

Uploaded by

Sanjivram S 10b
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 28

AMRITA VIDYALAYAM

SENIOR SECONDARY, NAGAPATTINAM


CBSE AFFILIATION NO: 1930359

DEPARTMENT OF COMPUTER SCIENCE


2023 – 2024

FOOD BOOKING SYSTEM

NAME : K.SARAN
REGISTER NO :
CLASS : XII – A
SUBJECT : COMPUTER SCIENCE
SUBJECT CODE : 083
PROJECT GUIDE : Mrs. K. PRIYATHARSHINI
AMRITA VIDYALAYAM
SENIOR SECONDARY, NAGAPATTINAM
CBSE AFFILIATION NO: 1930359

CERTIFICATE

This is to certified that K.SARAN of Class XII – A, Register No.

has successfully completed the project under the guidance of Mrs.

K. PRIYATHARSHINI, PGT (COMP.) during the year 2023 – 2024 as required

according to the Central Board of Secondary Education.

Internal Examiner External Examiner

Date : Principal
ACKNOWLEDGEMENT
Apart from my efforts, the success of any project depends largely on the
encouragement and guidance of many others. I take this opportunity to express
my gratitude to the people who have been instrumental in the successful
completion of this project.
I express my deep sense of gratitude to the almighty God for giving me the
strength for the successful completion of the project.
I express my heartful gratitude to my parents for constant encouragement
while carrying out this project.
I grateful acknowledge the contribution of the individual who contributed
in bringing this project up to this level, who continues to look after me despite
my flaws.
I express my deep sense of gratitude to the luminary Mrs. Chithra
Narayanan, Principal, Amrita Vidyalayam Senior Secondary, Nagapattinam who
has been continuously motivating and extending their helping hand to us.
I express my heartful gratitude to Mrs. K. PRIYATHARSHINI, Teacher,
Amrita Vidyalayam Senior Secondary, Nagapattinam In-charge, A Guide,
Mentor all the above a friend, who critically reviewed my project and helped in
solving each and every problem, occurred during implementation of the project.
The guidance and support received from all the members who contributed
and who are contributing to this, was vital for the success of the project. I am
grateful for their constant support and helps.
FOOD BOOKING SYSTEM

INTRODUCTION

The system shows us the work of the food booking system.And manage the details of
booking, menu payments, and order.The project is totally built at administrative end and
only administrator is guaranteed the access.The purpose of the project is to build an
application program to reduce the manual work for managing the booking, discounts, and
payments.It tracks all the details about menu, discount, and payments; it also prints various
reports as per input given by the user.For that it have to provide some information.The
existing system is work like that.It provide some information as a written data.
It collect employee,customer,food,ordering information.The informationis very useful for
the system to work on it.The employee information having such information like employee
name,salary,age and it also give one id as employee id.The customer information having
such information like customer name,phone number or the other contact number and it also
give one id as customer id.By that the data can enter.The other information is food
information in which we have the information of the food for order.By that we can know
how many food items we have?,have many given?,etc. The last information that we collect is
the ordering.In that we collect the information of the ordering statements that customer
name, when it order for food,etc.
OBJECTIVE OF THE PROJECT

It generates the report on sales, discounts and menu.

Provides filter report on payments and food booking.

We can easily export PDF on sales, products and stocks

Applications can also provide excel export for bookings and discounts

It deals with monitoring the information and transaction of food bookings.

It increases the efficiency of food booking and discount.

It has higher efficiency of editing, adding and updating of records.

Provides the searching facilities on various factors.

PROPOSED SYSTEM
In this system a customer can choose the food at home itself which can delivered by delivery
boy.The process consists of a customer choosing the restaurant of their choice, scanning the
menu items, choosing an item, and finally choosing for pick-up or delivery.Payment is then
administered by paying with a credit card or debit card through the app or website or in cash
at the restaurant when going to pickup.The website and app inform the customer of the food
quality, duration of food preparation, and when the food is ready for pick-up or the amount
of time it will take for delivery.So, the actually work, when a customer order for a food, first
check for his validations and prepare bills and handle those bills to particular delivery man
for delivery.For done all the work properly, this system maintains customer all type of
records, that do not require more time and we do not have search for such find of
documents.It provide employee informations which can be accessed by Admin.The all
documents and the all difference reports are prepare perfect.The calculation of the balance
sheet is do not require more time and it is also very perfect in it no such kind of mistake can
take place.There are security and some password facility for opening the system's work.
SYTEM DEVELOPMENT LIFE CYCLE (SDLC)

The system development life cycle is a project management technique that divides complex
project into smaller, more easily managed segments or phases. Segmenting projects allows
managers to verify the successful completion of project phases before allocating resources to
subsequent phases.

Software development projects typically include initiation, planning, design,


development, testing, implementation and maintenance phases. However, the phases may be
divided differently depending on the organisation involved.

For example, initial project activities might be designated as request, requirements-


definition, and planning phases, or initiation, concept –development, and planning phases.
End users of the system under development should be involved in reviewing the output of
each phase to ensure the system is being built to deliver the needed functionality.
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
The initiation face begins when a business sponsor identify a need or an opportunity.

The purpose of the initiation phase is to:

Identify and validate an opportunity to improve business accomplishments of


the organisation or a deficiency related to a business need.
Identify significant assumptions and constraints on solutions to that need.
Recommend the exploration of alternative concepts and a method to satisfy the
need including questioning the need for technology,
i.e., will a change in the business process offer a solution?
Assure executive business and executive technical sponsorship. A sponsor
designates a project manager and the business need is documented in a
concept proposal. The concept proposal includes information about the business
process and the relationship to the agency/organization.
Infrastructure and the strategic plan. A successful concept proposal results in
your project management chapter which outlines authority of the project
manager to begin the project.

Careful oversight is required to ensure project support strategic business objectives and
resources are effectively implemented into an organization’s enterprise architecture. The
initiation phase begins when an opportunity to add, modify, or correct a system is identified
and formally requested through the presentation of a business case. The business case
should, at a minimum, describe a proposal’s purpose, identify expected benefits, and explain
how the proposed system supports one of the organizations business strategies. The business
case should also identify alternative solutions and detail as many informational, functional
and network requirements as possible.
SYSTEM CONCEPT DEVELOPMENT PHASE
The system concept developing phase begins after a business need or opportunity is validated
by the Agency/organization CIO.

The purpose of the system concept development phase is to:

Determine the feasibility and appropriateness of the alternatives.


Identify system interfaces.
Identify the basic functional and data requirements to satisfy the business need.
Establish system boundaries; identify goals, objectives, critical success factors
and performance measures.
Evaluate costs and benefits of alternative approaches to satisfy the basic
functional requirements.
Assess project risks.
Identify and initiate a risk mitigation action and develop high level technical
architecture, process models, data models, and a concept of operations. This
phase explores potential technical solutions within the context of the business
need.
It may include several trade-off decisions such as the decision to use COTS
software products as opposed to developing custom software or reusing
software components, or the decision to use an incremental delivery versus a
complete, one time deployment.
Construction of executable prototypes is encouraged to evaluate technology to
support the business process. The system boundary document serves as an
important reference document to support the Information Technology Project
Request (ITPR) process.
The ITPR must be approved by the state CIO before the project can move
forward.
PICTORIAL REPRESENTATION OF SDLC:

PLANNING PHASE
The planning phase is the most critical strip in completing development, acquisition,
and maintenance projects. Careful planning, particularly in the early stages of aproject, is
necessary to coordinate activities and manage project risk effectively. The depth and
formality of project plans should be commensurate with the characteristics and risk of a
given project. Project plans refinethe information gathered during the initiation phase by
further identifying the specific activities and resources to complete a project.

A critical part of your project manager’s job is to coordinate discussion between user,
audit, security, design, development, and network personnel to identify and document as
many functional, security and network requirements as possible. During this phase, a plan is
developed that the documents the approach to be used and these includes a discussion of
methods, tools, tasks, resources, project schedules, and user input. Personnel assignments,
costs, project schedule, and target dates are established.

A project management plan is created with components related to acquisition


planning, configuration management planning, quality assurance planning, concept of
operations, system security, verification and validation, and systems engineering
management planning.
REQUIREMENTS ANALYSIS PHASE
This phase formally define the detailed functional user requirements using high level
requirements identified in the initiation, system concept and the planning phases. It also
delineates the requirements for the system. The requirements are defined in this phase to a
level of detail sufficient for systems design to proceed. They need to be measurable, testable
and relate to the business need or opportunity identified in the initiation phase. The
requirements that will be used to determine acceptance of the system are captured in the Test
and Evaluation Master Plan.

The purposes of this phase are to:

Further define and refined the functional and data requirements


documents.
Complete business process re-engineering of the functions to be supported

(i.e., verify what information drives the business process, what


information is generated, who generates it, where does the information
go, and who processes it).
Develop detailed data and process model. (System inputs, outputs and the
process)
Develop the test and evaluation requirements that will be used to
determine acceptable system performance.
DESIGN PHASE
The design phase involves converting the informational, functional and network
requirements identified during the initiation and a planning phases into unified design
specifications that a developers used to script programs during the development phase.
Program designs are constructed in various ways. Using a top down approach, designer first
identify and link major program components and interfaces, then expand design layouts as
they identify and link smaller subsistence and connections.
Using a bottom up approach, designer first identify and link minor program components and
the interfaces, then expand design layouts as they identify and the link larger systems and
connections.

Contemporary design techniques often use proto typing tools that build mock-up designs of
items such as application screens, database layouts, and system architecture. End users,
designers, developers, database managers, and network administrators should review and
refine the prototyped designs in an iterative process until they agree on an acceptable design.
Audit, security and quality assurance personnel should be involved in the review and
approval process. During this phase, the system is designed to satisfy the functional
requirements identified in the previous phase. Since problems in the design phase could be
very expensive to solve in the later stage of the software development, a variety of elements
or considered in the design to mitigate risk.

These include:

I did saying potential risks and defining mitigating design features.


Performing a security risk assessment.
Developing a conversion plan to migrate current data to the new system.
Determining the operating environment.
Defining major subsystems and their inputs and outputs.
Allocating processes to resources.

Preparing detailed logic specifications for each software module. The result is
the draft system design document, which capture the preliminary design for the
system.
Everything requiring user input or approval is documented and reviewed by the
user. Once these documents have been approved by the agency CIO and
business sponsor, the final system design document is created to serve as the
critical/detailed design for the system.
This document received a rigorous review by agency technical and functional
representatives to ensure that it is satisfy the business requirements. Concurrent
with the development of the system design, the agency project manager begins
development of the implementation plan, operations and maintenance manual
under the training plan.

DEVELOPMENT PHASE
The development phase involves converting designs specifications into executable
programs. Effective development standards included requirements that programmers and the
other project participants discuss designs specifications before programming begins. The
procedures help ensure programmers clearly understand program designs and functional
recruitments. Programmers use various techniques to develop computer programs. The large
transaction oriented programs associated with financial institutions have traditionally been
developed using procedural programming techniques. Procedural programming involves the
line by line scripting of logical instructions that are combined to form your program.
Effective completion of the previous stages he see key factor in the success of the
development phase. The development phase consists of:

Translating the detailed recruitment Sunday design in two system components.


Testing individual elements for usability.
Preparing for integration and testing of the IT systems.

INTEGRATION AND TESTING PHASE


Subsystem integration, system, security and user acceptance testing is conducted
during the integration and test phase. The user, with those responsible for quality assurance,
validates that the functional requirements, as defined in the functional requirements
documents, are satisfied by the developed or modified system. OIT security staffs assess the
system security and issue a security certification and accreditation prior to installation/
implementation.
Multiple levels of testing are performed, including:
Testing at the development facility by the contractor and possibly supported by
end users.
Testing as the developed system with end users working together with the
contract personnel.
Operational testing by the end user alone performing all functions.
Requirements are traced throughout testing, a final independent verification &
validation is performed and all documentation is reviewed and accepted prior to
acceptance of the system.

IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by the user. In
this phase, the system is installed to support the indented business functions. System
performance is compared to performance objectives established during the planning phase.
Implementation includes used in notification, user training, installation of hardware,
installation of software on to protection computers and integration of the system into daily
work processes. This phase continues until the system is operating in protection in
accordance with the defined user requirements.

OPERATION AND MAINTENANCE PHASE


The system operation is ongoing. The system is monitored for continued performance
in accordance with user requirements and needed system notifications are incorporated.
Operations continue as long as the system can be effectively adapted to respond to the
organization’s needs. When modifications or change are identified, the system may re enter
the planning phase.

The purpose of this phase is to:

Operate, maintain and enhance the system.


Certify that the system can process sensitive information.
Conduct periodic assessments of the system to ensure the functional
requirements continue to be satisfied.
Determine when the system needs to be modernized, replaced or retired.
PROGRAM

import os
import platform
import mysql.connector
import pandas as pd
mydb=mysql.connector.connect(host="localhost",user="root",passwd="root",
database="food")
mycursor=mydb.cursor()
def Customer():
L=[]
c_id=int(input("Enter the customer ID number : "))
L.append(c_id)
name=input("Enter the Customer Name: ")
L.append(name)
cphone=int(input("Enter customer phone number : "))
L.append(cphone)
payment=int(input("Enter payment method ((1) credit card/(2) Debit Card:) "))
L.append(payment)
pstatus=input("Enter the payment status: ")
L.append(pstatus)
email=input("Enter the email id")
L.append(email)
orderid=input("enter orderid")
L.append(orderid)
date=input("Enter the Date : ")
L.append(date)
cust=(L)
sql="insert into customer values(c_id, name, cphone, payment, pstatus, email, orderid,
date)
values (%s, %s, %s, %s, %s, %s, %s, %s)"
mycursor.execute(sql, cust)
mydb.commit()
# Customer Table - C_id (PK C_name C_phonenum
Payment method (Cash/Credit Card) Payment_status
(Paid/Unpaid) Email Emp_id (FK) OrderF_id (FK) date
def Employee():
L= []
Emp_id=int(input("Enter the Employee id: "))
L.append(Emp_id)
ename=input("Enter the Employee Name: ")
L.append(ename)
emp_g=input("Enter Employee Genderr : ")
L.append(emp_g)
eage=int(input("Enter Employee age"))
L.append(eage)
emp_phone=int(input("enter employee phone number"))
L.append(emp_phone)
pwd=input("Enter the password: ")
L.append(pwd)
EMP=(L)
sql="insert into Employee
(Emp_id,ename, emp_g, eage, emp_phone, pwd) values (%s,%s, %s, %s, %s,%s)"
mycursor.execute(sql, EMP)
mydb.commit()
def Food():
L=[]
Food_id=int(input("Enter the Food id: "))
L.append(Food_id)
Foodname=input("Enter the Food Name:
") L.append(Foodname)
Food_size=input("Enter Food size: ")
L.append(Food_size)
prize=int(input("Enter Prize of Food"))
L.append(prize)
Food=(L)
sql="insert into Food
(Food_id, Foodname, Food_size, prize) values (%s, %s,%,%s)" mycursor.execute(sql,
Food)
mydb.commit()
#Food_id (PK Foodname Food_size price
def OrderFood():
L=[]
OrderF_id=int(input("Enter the Food Order id: "))
L.append(OrderF_id)
C_id=input("Enter the Customer id: ")
L.append(C_id)
Emp_id=input("Enter Employee id: ")
L.append(Emp_id)
Food_id=int(input("Enter Food id"))
L.append(Food_id)
Food_qty=input("Enter Qty: ")
L.append(Food_qty)
Total_price=input("Enter Total_price")
L.append(Total_price)
OrderFood (L)
sql="insert into OrderFood
(OrderF_id,C_id, Emp_id, Food_id, Food_qty, Total_price) values (%s,%s, %s,
%s,%s,%s)"
mycursor.execute(sql, OrderFood)
mydb.commit()
#OrderF_id (PK) Cid (FK) Employee_id (FK) Food_id (FK)
Food_qtyTotal_price
def View():
print("Select the search criteria: ")
print("1. Employee")
print("2. Customer")
print("3. Food")
print("4. Order Food")
ch=int(input("Enter the choice 1 to 4: "))
if ch=-1:
s=int(input("enter Employee ID: "))
rl=(s,)
sql="select from Employee where Emp_id=%s"
mycursor.execute(sql, r1)
res-mycursor.fetchall()
for x in res:
print(x)
elif ch=-2:
s=input("Enter Customer Name: ")
rl=(s,)
sql="select from Customer where cname=%s" mycursor.execute(sql, r1)
res-mycursor.fetchall()
for x in res:
print(x)
elif ch==3:
sql="select from Food"
mycursor.execute(sql)
res-mycursor.fetchall()
for x in res:
print(x)
elif ch=-4:
s=int(input("Enter Food id ID : "))
rl=(s,)
sql="select from Foodorder where food_id=%s" mycursor.execute(sql,rl)
res-mycursor.fetchall()
for x in res:
print(x)
#print("The Food details are as follows: ")
#print("(Custoemer ID, Food Name, quatity, Cost )")
#for x in res:
print(x)
def feeDeposit():
L=[]
roll=int(input("Enter the roll number : "))
L.append(roll)
feedeposit=int(input("Enter the Fee to be deposited:
L.append(feedeposit)
month=input("Enter month of fee: ")
L.append(month)
fee=(L)
sql="insert into fee (roll, feedeposit, month) values %s, %s, %s)"
mycursor.execute(sql, fee) mydb.commit()
def MenuSet():
print("Enter 1: To Add Employee")
print("Enter 2: To Add Cutomer details")
print("Enter 3: To Add Food Details ")
print("Enter 4: For Food Order")
print("Enter 5: For feeDeposit")
print("Enter 6: To view Food booking")
try:
(userInput int(input("Please Select An Above Option: "))
except ValueError:
exit("\nHy! That's Not A Number")
else:
print("\n")
if (userInput==1):
Employee()
elif (userInput==2):
Customer()
elif (userInput==3):
Food()
elif (userInput=-4):
Order Food()
elif (userInput==5):
feeDeposit()
elif (userInput==6):
View()
else:
print("Enter correct choice. .)
def runAgain():
runAgn=input("\nwant to run Again Y/N")
while runAgn.lower()=='y':
if(platform.system()=="Windows"): print (os.system('cls'))
else:
print (os.system('clear'))
MenuSet()
runAgn=input("\nwant to run Againy/n") print("Good Bye... HAVE A NICE DAY")
MenuSet()
runAagain()
OUTPUT
TESTING
Software Testing is an empirical investigation conducted to provide stakeholders with
information about the quality of the product or service under test[1], with respect to the context
in which it is intended to operate. Software Testing also provides an objective, independent
view of the software to allow the business to appreciate and understand the risks at
implementation of the software. Test techniques include, but are not limited to, the process of
executing a program or application with the intent of finding software bugs.

It can also be stated as the process of validating and verifying that a software
program/application/product meets the business and technical requirements that guided its
design and development, so that it works as expected and can be implemented with the same
characteristics. Software Testing, depending on the testing method employed, can be
implemented at any time in the development process, however the most test effort is employed
after the requirements have been defined and coding process has been completed.

TESTING METHODS
Team to examine parts of a system that are rarely tested and ensures that the most important
function points have been tested.
Two common forms of code coverage are:

Function Coverage: Which reports on functions executed and


Statement Coverage: Which reports on the number of lines executed to
complete the test.
Software testing methods are traditionally divided into black box testing and white box testing.
These two approaches are used to describe the point of view that a test engineer takes when
designing test cases.
BLACK BOX TESTING
Black box testing treats the software as a “black box,” without any knowledge of internal
implementation. Black box testing methods include: equivalence partitioning, boundary value
analysis, all-pairs testing, fuzz testing, model-based testing, traceability matrix, exploratory
testing and specification-based testing.

SPECIFICATION-BASED TESTING

Specification-based testing aims to test the functionality of software according to the applicable
requirements.[16] Thus, the tester inputs data into, and only sees the output from, the test
object. This level of testing usually requires thorough test cases to be provided to the tester,
who then can simply verify that for a given input,
The output value (or behaviour), either “is” or “is not” the same as the expected value specified
in the test case. Specification-based testing is necessary, but it is insufficient to guard against
certain risks

ADVANTAGES AND DISADVANTAGES

The black box tester has no “bonds” with the code, and a tester’s perception is very simple. A
code must have bugs. Using the principle, “Ask and you shall receive,” black box testers find
bugs where programmers don’t. But, on the other hand, black box testing has been said to be
“like a walk in a dark labyrinth without a flashlight,” because the tester doesn’t know how the
software being tested was actually constructed.
That’s why there are situations when (1) a black box tester writes many test cases to check
something that can be tested by only one test case, and/or (2) some parts of the back end are not
tested at all. Therefore, black box testing has the advantage of “an unaffiliated opinion,” on the
one hand, and the disadvantage of “blind exploring,” on the other.
WHITE BOX TESTING

White box testing, by contrast to black box testing, is when the tester has access to the internal
data structures and algorithms (and the code that implement these)
Types of white box testing:-
The following types of white box testing exist.
Api testing – Testing of the application using Public and Private APIs.
Code coverage – creating tests to satisfy some criteria of code coverage.
For example, the test designer can create tests to cause all statements in the program to be
executed at least once.
Fault injection methods.
Mutation testing methods.
Static testing – White box testing includes all static testing.

CODE COMPLETENESS EVALUATION

White box testing methods can also be used to evaluate the completeness of a test suite that was
created with black box testing methods. This allows the software
HARDWARE AND SOFTWARE REQUIREMENTS

I. OPERATING SYSTEM : WINDOWS 7 AND ABOVE

II. PROCESSOR : PENTIUM(ANY) OR AMD ATHALON(3800+ 4200+ DUALCORE)

III. MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM OR MSI K9MM-V


VIAK8M800+8237R PLUS CHIPSET FOR AMD ATHALON

IV. RAM : 512MB+

V. Hard disk : SATA 40 GB OR ABOVE

VI. CD/DVD r/w multi drive combo : If back up required)

VII. FLOPPY DRIVE 1.44 MB: (If Backup required)

VIII. MONITOR 14.1 or 15-17 inch

IX. Key board and mouse

X. Printer : (if print is required – [Hard copy))

SOFTWARE REQUIREMENTS

I .WINDOWS OS
II.PYTHON
III.MySql
BIBLIOGRAPHY

www.google.com

www.wikipedia.com

www.SumithaArora.com

www.python.com

www.MYSQL.com

You might also like