Cafe Billing
Cafe Billing
It has the capability to process bills and gather information about its employees
and billing history. It is designed for the sole purpose of efficiency, speed and
accuracy. Waterfall Model is used to develop this software where different
requirements are identified at first, analyze the requirements then design the
software using various tools and techniques and using the development language
the software is developed. Different testing like unit testing and integration
testing are done during the development process.
BACKGROUND
A restaurant is a business which prepares and serves food and drinks to
customers in exchange for money, either paid before the meal, after the meal, or
with an open account. Meals are generally served and eaten on premises.
Restaurants vary greatly in appearance and offerings, including a wide variety of
cuisines and service models ranging from inexpensive fast food restaurants to
high-priced luxury establishments.
Restaurants are one of the growing business in recent times. In Nepal, many
restaurants are doing very well by providing quality service to its customers. It has
to deal with a lot of information about its client and employees, all of which are
kept and recorded manually and physically in a drawer or a room. Due to this
situation, finding any reliable data when required and in time is not possible.
Objective of Project
The main objective of this software is a computerized working environment. This
system is made on the assumption that the organization is fully requires manual
work for any task.
This project will serve the following objectives:
To add and maintain records of available menu.
To add and maintain employee details.
To add and maintain description of new menu.
To provide view of transaction to the owner.
To provide a convenient solution of billing pattern.
To make an easy to use environment for users.
Easy to use system.
Problem Definition
The billing process is done manually by manpower. It results in delayed time for
the consumer and to the organization while the bill is being processed. So, there
is a room for improvement here. A certain computer based billing system could
aid the organization to utilize its resources better. Computerized Billing System
provide capabilities for entering client, employee and payment information,
building a record and managing other related data needs in the organization.
The currently used system contains the following problems which are listed
below:
Inability of modification of data
Manual operator control
Lots of paperwork
Project Overview
Cafe Billing System is a computer based billing system with user friendly interface
which automatically manages the billing process of the customer very easily
taking only a short period of time. The system can large amount of data and also
generates bill for the customer. Billing history, reservation information and staff
information can also be obtained with the use of café billing. It is an automated
desktop based software which has a simple design and very easy to use also. This
project’s main focus is on proper management of information regarding the staffs,
billing and reservation records. It is also specialized in automatically processing
the customer bills and discounts. The proposed system either does not require
paper work or very few paper works are required. All the data is fetched into the
computer immediately and various bills can be generated through computers.
Since all the data is kept in a database, no data of the organization can be
destroyed. Moreover works become very easy because there is no need to keep
data on papers.
FUNCTIONAL REQUIREMENTS
Non-functional requirements
The following are the non-functional requirements of cafe:
Consistency- This system provides consistency user interface design to the user.
The designs of the screen are standardize and consistent that make the user feel
comfortable to use it.
Convenience –
The system gives convenience to the user to perform different activities like
making order, menu managing, staff management, etc.
Usability –
The software is ready to use system. The users will feel easy to use the system
without much technical expertise.
Security –
This system provides the password security access control to avoid unauthorized
user to login to the system. The system also authenticates the staff level to access
to some of the admin part.
Reliability –
The restaurant billing system provides effective method to maintain the back-end
of the system. All the orders are managed by this system effectively.
Scalability –
It has the capacity to handle a growing amount of work and its potential to be
enlarged in order to accommodate that growth.
Technical feasibility
Technical feasibility canters on the existing computer system (hardware,
software) and to what extent it can support the proposed system.
The technologies used in this project are:
Software:
Front End
Language used: .net
SQL Operating System:
Windows XP and higher.
Our system requires window operating system which is easily available.
Hardware:
Intel based processor run computer system, which have keyboard and mouse as
input devices.
This has been decided for the case of availability and up-gradation.
Economic feasibility
This feasibility study is to determine the benefits and savings that are
expected from a system and compare it with its costs. If a benefit
outweighs costs, then the decision is made to design and implement the
system. Otherwise further alterations are made in the proposed system.
Some of the costs to be considered are:
• Manpower cost
• Hardware and software cost
Operational feasibility
GENERAL ARCHITECTURE
Menu
Menu : List<item>
+ giveMenu()
+ display()
Order
- oId
+ addOrder()
Item ItemOrder
- ItemId - iItem
- ItemName - inumberOfPlates
- ItemPrice -memberName
+ getItemId() + getItem()
+ setItemId(ItemId) : void + setItem(item) : void
+ getItemName() + getNumberOfPlates()
+ setItemName(ItemName) : void + getNumberOfPlates(): void
+ getItemPrice()
+ setItemPrice(ItemPrice) : void
Bill
- Order
- BillId
+ calculateTotal()
This sequence diagram shows the different steps how admin can add
new user, after admin login to the application he /she clicks on the add
user option which opens add new user page. Then admin can add new
user by filling up the necessary details like (Name, Gender, Contact,
Address, Salary, username, password) and click add employee button.
Then the request is sent to the database ,here the entered parameters
are checked to make sure that the entered data are correct. If all the
entered data are correct then new user is created in the database
otherwise error message is displayed.
Figure 6: Add User
This sequence diagram shows the different steps how admin can edit or
update the user information, after admin login to the application he /she
clicks on the staff option in the dashboard which opens edit user page.
Then admin can make all the necessary changes to the staff information
and click edit employee button. Then the request is sent to the
database ,here the entered parameters are checked to make sure that
the entered data are correct. If all the entered data are correct then new
user is created in the database otherwise error message is displayed.
Figure 7: Edit user
This sequence diagram shows the different steps how admin can delete
the user account, after admin login to the application he /she clicks on
the staff option in the dashboard which opens delete user page. Then
admin can simply click on the employee to be deleted and click on
delete employee button. Then the request is sent to the database and
returns the success message.
Figure 8: Delete user
This sequence diagram explains the various steps that are needed for the
user to log in the application. First user enters his / her username and
password, for the very first login they must enter user name and
password assigned by the admin. Once the login details are entered and
clicked on login button, the request goes on to validate user which
checks in the database. If the entered details are found in the database,
the user can view dashboard otherwise the application will show an
error message.
This sequence diagram shows the step by step process how user can
change their password. First user log in with their old password once
they are logged in they can click change password option from menu and
enter their old password and new password they want to update and
click on Ok button.
1.10 Reservation
This sequence diagram show how the reservations are made. First the
booking request is made by the customer then employee checks if there
is any free table if there is one then booking is confirmed if not then the
customer waits in line. Figure 11 below shows this process.
1.11 Billing
This sequence diagram show step by step process of how billing is done
once the customer is done with the meal, he/she ask for the bill and staff
first click on the billing page and enters all the item's the customer had
then the application shows the total amount include service tax and VAT
and the user click on print bill option which prints the bill and all the
items ordered by the customer are stored in the database. Figure 11
shows the process in detail.
2 DATA MODELING
Data modelling is often the first step in database design and object-
oriented programming as the designers first create a conceptual model
of how data items relate to each other. Data modelling involves a
progression from conceptual model to logical model to physical schema.
2.1 Database
In this we design and configure the database for the applications. Since the
application is desktop application, we setup database in the local host server.
The MySQL database is used to design the database. The database name
is café it is in the local computer.
2.3 ER Diagram
Admin: This table is only for admin, admin username and password are in
this table.
Employee: This table consists of details of all the employees like name,
address, contact info, salary.
Category: This table consists of all the different type of food category available.
Billing history: This table consists of bill achieve, admin can view this table
to know how the business have been progressing so far.
There are various tools available for the development of a project. Our
Restaurant Billing System software has been developed using the front
end java and back end MySQL. Following tools are used for the RBS
project.
This part provides a detail description of the user interface for the application.
There are two user interfaces.
User's Interface
It may help collecting perfect management in details. In a very short time, the
collection will be obvious, simple and sensible. It will help a person to know
the management of passed year perfectly and vividly. It also helps in current
all works relative to Inventory. It will be also reduced the cost of collecting the
management & collection procedure will go on smoothly.
The present project has been developed to meet the aspirations indicated in
the modern age. An attempt has been made through this project to do all
work ease & fast. It provide current add, Update, Move Next, Move
Previous , Move Last, Find & Delete all facilities to accomplish the desired
objectives. The facility Include in this project and the suggested activities have
been organized to impart knowledge & develop skill & attitude in the Service
official works.
Beyond the usual functions and equipment. This is to ensure that no efforts
are being made to fit previous solutions into new situations.
iii)Design Objectives:
Practicality
The system must be stable and can be operated by people with average.
Efficiency
Cost
Flexibility
Security
This is very important aspect of the design and should cover areas of hardware
reliability, fall back procedures, physical security of data and provision for
detection of fraud and abuse.
System design involves first logical design and then physical construction of
the system. The logical design describes the structure and characteristics of
features, like the outputs, inputs, files, database and procedures. The physical
construction, which follows the logical design, produces actual program
software, files and a working system.
System Configuration
i) HARDWARE CONFIGURATION:
OPERATING SYSTEM
M.S.WORD
Microsoft word was first released in 1983 under the name multi-tool
word for system versions were later written for several other platforms. It
became part of the suite, in which it is referred to as Microsoft office word,
although it is still also sold as a standalone product or bundled with a full
featured word processing program for windows and the Macintosh from
Microsoft, it is sophisticated program with rudimentary desktop publishing
capabilities that has become the most widely used word processing applications
on the market the first various of word come out under dos and provided both
graphics-based and text-based interfaces for working with a document.
WINDOW 7
The difference being that the server Versions are designed to be dedicated
servers. The clients versions of windows may also share data over the network
and can be configured to grant access to all are specific files only. Windows
PC’s are used to access a verify of servers on the networks, including windows
servers, UNIX, Linux and network servers and mainframes. The most widely
used operating system for desktop and Laptop computer developed by the
Microsoft window primarily runs on the x 86-based CPU windows provide a
graphical user interface and desktop environment in application displayed in
resizable movable windows on screen. Window comes in both client and server
various, all of which support networking Windows 95 was the first 32-bit
windows operating system and a major upgrade from windows 3.1 it used an
entirely different user interface that incorporated the now common start menu
and taskbar. It was also the first time the computer booted directly into
windows, rather than being loaded after booting up in dos. Windows 98 was an
upgrade to Windows 95 that tightly integrated the internet explorer, web
browser with the O/S. In 1999 windows 98 second edition fixed numerous bugs
and upgraded its applications.
MS-DOS
Object-Oriented:-
Event-Driven:-
All previous versions of Visual Basic.net were event-driven, but this feature is
heavily enhanced under the vb.net framework. Events are no longer recognized
because they use certain naming convention (Object Name Event Name), but
now are declared with a Handles Object Name. Event Name clause. Event
handlers can also be declared at runtime using the Add Handler command.
System Analysis
I. Preliminary Investigation
II. Feasibility Study
III. Fact Finding Techniques
IV. Cost Benefit Analysis
V. Entity Relationship Model
VI. Data Flow Diagram
VII. Normalization
i) Preliminary Investigation
The technical feasibility issues usually raised during the feasibility stage
of investigation includes these
Behavioral Feasibility
This feasibility test asks if the system will work when it is developed and
installed Operational feasibility in this project:
The various document of the office was studied and after a short interview
the fact finding was finished and certain
1. No problem of retrieval.
A system is also expected to provide benefits. The first task is to identify and
then assign a monetary value to it for cost / benefit analysis.
The two major benefits are improving performance and minimizing the
cost of processing. The performance category emphasize in the accuracy of
the result or access to information and easier access to the system by
authorized users.
Our software has fulfilled all the benefits very well. Our software are
improving and minimizing the cost of processing. Our software has controlled
error and caused reduction of staff.
Data flow oriented techniques advocate that the major data items
handled by a system must be first identified and then the processing required
on these data items to produce the desired outputs should be determined.
The DFD (also called as bubble chart) is a simple graphical formalism that can
be used to represent a system in terms of input data to the system, various
processing carried out on these data, and the output generated by the system.
It was introduced by De Macro (1978) , Gane and Sarson (1979).The primitive
symbols used for constructing DFD’s are:
vi) Normalization
We can easily change the database without rewriting many or the entire
program that used those databases.
II. An entity is in 2NF if it is already in 1NF and if the value of all non primary
key attributes that are dependent on only part of primary key should be
moved to any entity where that partial key is actually the full key. That may
require creating a new entity and relationship of model.
III. An entity is in 3NF if it is already in 2NF and if the value of it non primary key
attributes that are not dependent on another non primary key attributes. Any
non primary key attributes that are dependent on other non primary key
attributes must be moved or deleted. Again new entities and relationship may
have to be added to the data model. For our convenience we have not taken
the concept of Normalization in consideration in our project.
Implementation
Implementation Review:
After the system is implemented and conversion is complete, user usually
conducts a review of the system. User usually conducts a review of the system.
In this system all Requirements are fulfills.
The user can easily insert, update and delete the
record in Efficient way.
This system is user-friendly and easily understands.
User can view the Purchase Report and Sales Report So,
user can speedily work in this system .
The performance level of users has improved.
Data record can be easily stored.
DATA DICTIONARY
DATABASE –DESIGN
The database design is a two level process. In the first step, user requirements
are gathered together and a database is designed which will meet these
requirements as clearly as possible. This step is called Information Level
Design and it is taken independent of any individual Database Management
System (DBMS).
The billing part was the most important and difficult part of this project.
Retrieving data from database for the billing purpose was quite a tough
task. Making changes on multiple data base using SQL queries was also a bit
time consuming and though provoking task. In conclusion, many
experiences have been gained specially in coding.