0% found this document useful (0 votes)
6 views

Project Guide

Uploaded by

Vetrivel
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Project Guide

Uploaded by

Vetrivel
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 27

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

You might also like