SREE GOKULAM PUBLIC SCHOOL - CHENGALPATTU
ACADEMIC YEAR : 2024-25
PROJECT REPORT ON
CAFE MANAGEMENT SYSTEM
ROLL NO : _______________
NAME : _______________
CLASS : XII
SUBJECT : COMPUTER SCIENCE
SUB CODE : 083
PROJECT GUIDE: Mrs.S.THAMIZHINI
PGT (CS)
Sree Gokulam Public School, Chengalpattu.
1
SREE GOKULAM PUBLIC SCHOOL - CHENGALPATTU
CERTIFICATE
This is to certify that Cadet _ CBSE
Roll No: has successfully completed the
project Work entitled "CAFE MANAGEMENT SYSTEM."in the subject
Computer Science
(083) laid down in the regulations of CBSE for the purpose of Practical [
Examination in Class XII to be held in Sree Gokulam Public School,
Chengalpattu on .
INTERNAL EXAMINER
EXTERNAL EXAMINER:
Name: _
Signature:
Date:
2
TABLE OF CONTENTS [ T O C
]
SER DESCRIPTION PAGE NO
01 ACKNOWLEDGEMENT 04
02 INTRODUCTION 05
03 OBJECTIVES OF THE PROJECT 05
04 PROPOSED SYSTEM 06
05 FLOW CHART 15
06 SOURCE CODE 16
07 OUTPUT 19
08 HARDWARE AND SOFTWARE REQUIREMENTS 20
09 INSTALLATION PROCEDURE 21
10
BIBILOGRAPHY 22
3
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends
largely on the encouragement and guidelines 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 deep sense of gratitude to almighty God for giving me
strength for the successful completion of the project.
I express my heartfelt gratitude to my parents for constant
encouragement while carrying out this project.
I gratefully acknowledge the contribution of the individuals who
contributed in bringing this project up tothis level, who continues to look
after me despite my flaws,
I express my deep sense of gratitude to the luminary The Principal,
Sree GOkulam Public School, Chengalpattu who has been continuously
motivating andextending their helping hand to us.
My sincere thanks to Mrs.S.THAMIZHINI PGT Computer Science, 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 project, was vital for the
success of the project. I am grateful for their constant support and help.
4
INTRODUCTION
A ”Cafe Management System” is a software application designed to
handle all the operations of a cafe or restaurant, such as taking orders,
managing inventory, calculating bills, and generating reports. The system
can streamline the management process, enhance customer service, and
provide a centralized platform for employees and managers to access
information. This project aims to build a simple and efficient Cafe
Management System using Python, which handles ordering, billing, and
inventory management. It can also provide reports and track sales data.
.OBJECTIVES OF THE PROJECT
The objective of this Cafe Management System is to:
1. Provide a user-friendly interface for customers and staff to place orders.
2. Manage the cafe's inventory by tracking ingredients
and supplies.
3. Calculate bills and generate invoices automatically.
4. Generate daily, weekly, or monthly sales reports.
5. Help improve the overall efficiency of cafe operations
and customer service.
5
PROPOSED SYSTEM
The proposed system will have the following key features:
1. Menu Management: The system will store the menu items (drinks,
food, etc.) and their prices.
2. Order Management: The system will allow users to take orders,
modify orders, and calculate the bill.
3. Inventory Management: The system will track the available stock
of ingredients and notify when they are running low.
4. Billing System: The system will generate bills based on the order
and apply any discounts or taxes.
5. Reports: The system will generate daily, weekly, or monthly sales
reports.
6. User Roles: The system will have different user roles (e.g., Admin,
Staff).
6
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
The systems development life cycle is a project management
technique that divides complex projects 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
organization 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.
7
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
The Initiation Phase begins when a business sponsor identifies a need or
an opportunity.
The purpose of the Initiation Phase is to:
Identify and validate an opportunity to improve business
accomplishments of the organization 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
methods 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. The
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 a Project Management Charter which outlines
the authority of the project manager to begin
the project.
Careful oversight is required to ensure projects support strategic
business objectives and resources are effectively implemented into an
organization's enterprise architecture. The initiation phase begins when
an opportunity to add, improve, 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,
8
identify expected benefits, and explain how the proposed system
supports one of the organization’s business strategies. The business
case should also identify alternative solutions and detail as many
informational, functional, and network requirements as possible.
9
SYSTEM CONCEPT DEVELOPMENT PHASE
The System Concept Development Phase begins after a business need
or opportunity is validated by the Agency/Organization Program
Leadership and 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 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 risk mitigation actions, 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, onetime 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.
10
PICTORIAL REPRESENTATION OF SDLC:
PLANNING PHASE
The planning phase is the most critical step in completing
development, acquisition, and maintenance projects. Careful planning,
particularly in the early stages of a project, is necessary to coordinate
activities and manage project risks effectively. The depth and formality of
project plans should be commensurate with the characteristics and risks
of a given project. Project plans refine the information gathered during the
initiation phase by further identifying the specific activities and resources
required to complete a project.
A critical part of a project manager’s job is to coordinate discussions
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
documents the approach to be used and includes a discussion of methods,
tools, tasks, resources, project schedules, and user input. Personnel
assignments, costs, project schedule, and target dates are established.
11
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 defines the detailed functional user
requirements using high-level requirements identified in the Initiation,
System Concept, and Planning phases. It also delineates the
requirements in terms of data, system performance, security, and
maintainability 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 Masterplan.
The purposes of this phase are to:
Further define and refine the functional and data requirements and
document them in the Requirements Document,
Complete business process reengineering 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 models (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,
12
functional, and network requirements identified during the initiation and
planning phases into unified design specifications that developers use to
script programs during the development
13
phase. Program designs are constructed in various ways. Using a top-
down approach, designers first identify and link major program components
and interfaces, then expand design layouts as they identify and link
smaller subsystems and connections. Using a bottom-up approach,
designers first identify and link minor program components and
interfaces, then expand design layouts as they identify and link larger
systems and connections. Contemporary design techniques often use
prototyping tools that build mock-up designs of items such as
application screens, database layouts, and system architectures. 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 are
considered in the design to mitigate risk. These include:
Identifying 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 a draft System Design Document which captures 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 receives a rigorous review by Agency technical and
14
functional representatives to ensure that it satisfies the business
requirements. Concurrent with the development of the system
design, the Agency Project
15
Manager begins development of the Implementation Plan,
Operations and Maintenance Manual, and the Training Plan.
DEVELOPMENT PHASE
The development phase involves converting design
specifications into executable programs. Effective development
standards include requirements that programmers and other project
participants discuss design specifications before programming
begins. The procedures help ensure programmers clearly understand
program designs and functional requirements. 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 a program.
Effective completion of the previous stages is a key factor in the
success of the Development phase. The Development phase consists
of:
Translating the detailed requirements and design into system
components. Testing individual elements (units) for usability.
Preparing for integration and testing of the IT system.
INTEGRATION AND TEST 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 document, are satisfied by the developed or
modified system. OIT Security staff assess the system security and
issue a security certification and accreditation prior to
installation/implementation.
16
Multiple levels of testing are performed, including:
Testing at the development facility by the contractor and possibly
supported by end users
17
Testing as a deployed system with end users working together with
contract personnel
Operational testing by the end user alone performing all functions.
Requirements are traced throughout testing, a final Independent
Verification & Validation evaluation 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 intended business functions. System performance is compared to
performance objectives established during the planning phase.
Implementation includes user notification, user training, installation of
hardware, installation of software onto production computers, and
integration of the system into daily work processes. This phase
continues until the system is operating in production in accordance with
the defined user equirements.
OPERATIONS AND MAINTENANCE PHASE
The system operation is ongoing. The system is monitored for
continued performance in accordance with user requirements and
needed system modifications are incorporated. Operations continue as
long as the system can be effectively adapted to respond to the
organization’s needs. When modifications or changes are identified, the
system may reenter the planning phase.
The purpose of this phase is to:
Operate, maintain, and enhance the system.
18
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.
19
FLOW CHART
+----------------------+
| Start Application |
+----------------------+
|
v
+----------------------+
| User Login (Admin/Staff) |
+----------------------+
|
v
+----------------------+
| View Menu |
+----------------------+
|
v
+----------------------+
| Take Order |
+----------------------+
|
v
+----------------------+
| Calculate Bill |
+----------------------+
|
v
+----------------------+
| Update Inventory |
+----------------------+
|
v
+----------------------+
| Generate Report (Optional)|
+----------------------+
|
v
+----------------------+
| Exit System |
+----------------------+
15
Source code
import os
# Function to display the main menu
def display_menu():
print("\nCafe Management System")
print("1. View Menu")
print("2. Add New Item")
print("3. Update Item Price")
print("4. Remove Item")
print("5. Exit")
# Function to load menu from file
def load_menu(filename):
menu = {}
if os.path.exists(filename):
with open(filename, "r") as file:
for line in file:
item, price = line.strip().split(",")
menu[item] = float(price)
return menu
# Function to save menu to file
def save_menu(filename, menu):
with open(filename, "w") as file:
for item, price in menu.items():
file.write(f"{item},{price}\n")
21
# Function to view current menu
def view_menu(menu):
if not menu:
print("The menu is empty.")
else:
print("\n--- Current Menu ---")
for item, price in menu.items():
print(f"{item}: ${price:.2f}")
print("--------------------")
# Function to add a new item to the menu
def add_item(menu):
item_name = input("Enter the name of the new
item: ")
if item_name in menu:
print("This item already exists.")
return
price = float(input(f"Enter the price for
{item_name}: "))
menu[item_name] = price
print(f"{item_name} added successfully!")
# Function to update the price of an existing item
def update_item_price(menu):
item_name = input("Enter the name of the item
to update: ")
if item_name not in menu:
print(f"{item_name} does not exist in the
menu.")
return
new_price = float(input(f"Enter the new price
for {item_name}: "))
menu[item_name] = new_price
print(f"Price of {item_name} updated to $
{new_price:.2f}”
22
# Function to remove an item from the menu
def remove_item(menu):
item_name = input("Enter the name of the item to remove:
")
if item_name not in menu:
print(f"{item_name} does not exist in the menu.")
return
del menu[item_name]
print(f"{item_name} removed successfully!")
# Main function to run the program
def main():
filename = "menu.txt"
menu = load_menu(filename)
while True:
display_menu()
choice = input("Choose an option (1-5): ")
if choice == "1":
view_menu(menu)
elif choice == "2":
add_item(menu)
elif choice == "3":
update_item_price(menu)
elif choice == "4":
remove_item(menu)
elif choice == "5":
save_menu(filename, menu)
print("Changes saved successfully. Exiting...")
break
else:
print("Invalid choice. Please select a valid
option.")
if __name__ == "__main__":
main()
23
OUTPUT
Cafe Management System
1. View Menu
2. Add New Item
3. Update Item Price
4. Remove Item
5. Exit
Choose an option (1-5): 1
--- Current Menu ---
Coffee: $3.50
Tea: $2.00
Sandwich: $5.00
If you choose option 2 (Add New Item):
Enter the name of the new item: Cake
Enter the price for Cake: 2.50
Cake added successfully!
When you exit (option 5), the changes are saved to the
file menu.txt, and the file will look like this
Coffee,3.50
Tea,2.00
Sandwich,5.00
Cake,2.50
24
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 0R 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
25
INSTALLATION PROCEDURE
1. Install Python
2. Install a Text Editor or IDE
3. Prepare Your Working Directory
Create a directory (folder) on your computer to store your Python script and menu file.
1. Create a folder (e.g., CafeManagementSystem).
2. Inside the folder, create a Python file (e.g., cafe_management.py).
3. In the same folder, you can optionally create a text file menu.txt
(initially empty). The program will automatically create this file if it
doesn't exist.
4. Running the Program
5.Interact with the Program
Once the program is running, you'll be able to interact with it through the terminal or
command prompt. The program will display a menu with options to:
View the menu
Add new items
Update item prices
Remove items
Exit (and save changes)
6 . Saving the Menu
26
BIBLIOGRAPHY
1. Computer science With Python - Class XII By : SumitaArora
2. chatGPT
3. python IDLE
***
27