Shaurya python
Shaurya python
PREFACE
Today’s world is computer world because most of the work is doing with the help of
computer. Dependency on computer is behind the few reasons. We cannot easily
manage to store large number of data or information single handle. If we need some
information or data in urgency then we cannot manage in manually these works are very
difficult if we cannot use computers.
The project report provides all the detail view of the software RESTAURANT
MANAGEMENT. From my point of view there is no further system or subsystem explained
elsewhere this project report contains the introduction, objective, purpose scope, project
perspective, product feature, hardware and software requirement, front end and
backend tool process logic, logic diagram, data flow diagram, ER diagram, database detail
and database structure and bibliography.
I have exerted a conscious effort make website user oriented and user friendly. I hope the
users would find the website not only interested but also useful.
SHAURYA SINGH
BCA V SEM
2110720580015
ACKNOWLEDGEMENT
TABLE OF CONTENT
Title of the project…………………………………………………………………
Feasibility Study…………………………………………………………………….
Problem Definition…………………………………………………………….….
Project Scheduling………………………………………………………….….….
Data Flow Diagram………………………………………………………………..
Complete Structure……………………………………………………………….
Project Code…………………………………………………………………………..
Testing…………………………………………………………………………………….
Project Screenshot…………………………………………………………………
Implementation of Security……………………………………………………
Conclusion……………………………………………………………………………...
1. INTRODUCTION
1.1 Background
In the fast changing world, information technology and information management are
going to play an important role. We are living in the computer age during past some year.
The computer has gaining popularity. Computer revolution found its way into almost
every aspect of human life and living. A computer is admirably suited to handle any
information and hence is an information processor that is, it can receive data, perform
some basic operations on that data and produces results according to a predetermined
program.
This proposed application will manage all the needs from both ends from customer end
as well as from management end. By using this application any organization can manage
its all on going processes and also can generate reports that are very much important and
fruitful in the growth of organization.
1.2 OBJECTIVE
Today’s world is computer world because most of work is doing with the help of
computer. Dependency on computer is behind the few reasons. We cannot easily
manage to store large number of data or information single handle. If we will be need
some information or data in urgency then we cannot manage in manually these works
are very difficult if we cannot use computer.
As the generic software it can be used by a wide verity of outlets (Institutes, Companies)
to automate the process of manually maintaining records related to the subject of
maintain the Subjects of Questions and Students.
This software is basically updating the manual Testing Students Ability on a lot of Copies.
So that organization can manage their record in efficient and organize them.
1.3.1 Purpose
Today’s world is computer world because most of work is doing with the help of
computer. Dependency on computer is behind the few reasons. We cannot easily
manage to store large number of data or information single handle. If we will be need
some information or data in urgency then we cannot manage in manually these works
are very difficult if we cannot use computer.
This section clearly depicts the environment and boundaries of the Restaurant
Management System and the entities with which it interacts. It helps us see how the
system fits into the existing scheme of things. What the system will do by itself.
This Software must request Username and Password for access to data, only after
authentication will allow access to the system. The Software must allow input of products
data from administrator and secured access.
In this Software Input error will be returned in red with appropriate message box. System
should automatically update after every transaction.
1.3.2 Scope:-
This Desktop Software is good for any restaurant, In Future we can change this software
as web Application. The proposed system helps them in many ways. It helps them do
billing very easily. Maintenance also becomes easier. They can keep track of their
contacts,
information, bills and records. The software is provided with all the master entries to
enter any new customer, or data, to add or modify and delete.
1.Simple:-Java follows almost syntax of C and C++ that’s why it can learn by C and C++
Programmer easily.
For Example:- In C++ we can write program without class and object. But in java without
class and object we cannot use any statement.
Java Supports All Features of Object Oriented Programming.
3. Platform Independent:- A Java Application can run on any Operating System without
making any change. (.javac) java compiler covert a source code file into byte code (.java)
& (.class) file & this byte file can run on any operating system using java interpreter (java).
5. Robust:- A java software does not permits to acquire entire memory of computer
system.So a java application can not be cause of data crash. Another example of
robustness that java does not allow input from user without exception handling.
6. Secure:- Java does not support pointer, destructor and operator overloading due to
security reason. Another example of security that java. Contain class security manager
which is used to apply inbuilt security for java application.
7. Portable:- Java byte code are lightest weight that takes minimum memory that’s why it
can move from one machine to another machine by network. So it is called portable.
8. Compiled & Interpreted:- Java uses both the mechanism of compiler and interpreter.
Thats why it is called compiled and interpreted programming language.
9. Distributed:- A java software can run easily and effectively on a network. Thats why it
is called distributed programming language.
11.Dynamic:-As we know that in C/C++ by default Memory Allocation for variable will
proceed at the time of compilation but in java all variable allocates memory at the time of
execution.
i.e., dynamic memory allocation it is a reason that’s why java we can declare variable
anywhere in a program.
Java Software/Environment
A java environment can be classified into two types:-
2)JRE(Java Runtime Environment):-It is responsible for the execution of program and JRE
contains JVM(Java Virtual Machine) and JVM contains JIT(Just In Time) Compiler.
2. Applet:- An Applet is pure GUI(Graphical User Interface) program which is used for
dynamic animation using applet programming we develop gamming application.
Applet programming is common in J2SE & J2EE.
3. Servlet:- Servlet is a server site program that always run under the web server and it is
used to develop web page application.
Feasibility study:-
All projects are feasible given unlimited resources and infinite time! Unfortunately, the
development of computer based system is more likely to be plagued by a scarcity of
resources and difficult delivery dates. It is both necessary and prudent to evaluate the
feasibility of the project at the earliest possible time. Months or years of effort, Money
loss and untold professional embarrassment can be averted I few better understand the
project at its study time.
This type of study determines if an application can and should be developed. Once it has
been determining that, application is feasible. After that analyst can go ahead and
prepares the project specification, which finalizes project requirements. Feasibility
studies are undertaken within tight time constraints.
1. Technical Feasibility
2. Operational Feasibility
3. Economic Feasibility
4. Legal Feasibility
Technical Feasibility:-
As we know the technical feasibility is concerned with specifying equipment and software
that will successfully satisfy the user requirement. The technical needs of the system may
vary considerably, but might include:
The facility to produce outputs of advertisements, shopping and mailing in a given time
for ease of use.
Response time under certain condition is minimal.
Ability to process a certain volume of transaction at a particular speed.
Facility to communicate data to distinct location.
In examining the technical feasibility, configuration of the system is given more
importance than the actual make of hardware. The configuration should give the
complete picture about the system’s requirements- how many workstations are required,
how these units are interconnected so that they could operate and communicate
smoothly.
Operational Feasibility:-
Proposed projects are beneficial only if they can be turned into information system that
will meet the financial management requirements of the business/organization. This test
of feasibility asks if the system will work when it developed and installed. Are there major
barriers to implementation.
Some of the important questions that are useful to test the operational feasibility of a
project are given below:
Are current business methods acceptable to the user? If they are not, user may welcome
a change that will bring about a more operational and useful system.
Have the user been involved in the planning and development of the Project? If they are
involved at the earliest stage of project development, the chances of resistance can be
possibly reduced.
Will the proposed system cause harm? Will it produce poorer result in any case or area?
Will the performance of staff member fall down after implementation? Issue that
Appears to be quite minor at the early stage can grow into major problem after
Implementation.
Economical Feasibility:-
Economic analysis is the most frequently used technique for evaluating the effectiveness
of the proposed system. More commonly known as cost/benefits analysis, the procedure
is to determine the benefits and savings that are expected from the purposed system and
compared with costs.
If benefits outweigh cost, a decision is taken to design and implement the system.
Otherwise, further justification or alternative of the proposed system will have to be
made if it has a chance of being approved. This is an ongoing effort that improves in
accuracy at each phase of the system life cycle. The analysis part also clears the doubt of
economic problems which could be possible in developing the system. As already
mentioned that the company has to just pay the developed software cost and not other
investment is needed at the time of implementation of the new system as the
preliminary requirements already exist in the company.
Legal Feasibility:-
In the legal feasibility is necessary to check that the software we are going to develop is
legally correct which means that the ideas which we have taken for the proposed system
will be legally implemented or not so, it is also an important step in feasibility study.
PROBLEM SPECIFICATION
The definition of our problem lies in manual system and a fully automated system.
1.Manual System:-The system is very time consuming and lazy. This system is more
prone to error and sometimes the approach to various problems is unstructured.
4.The Proposed System:-The proposed system helps them in many ways. It helps
them to make billing very easily. Maintenance also becomes easier. They can keep track
of their Customer, Information and Bills. The software is provided with all the
management to enter again to modify the every detail.
The Entity Relation Model or Entity Relation Diagram (ERD) is a data model or diagram for
high-level description of conceptual data model, and it provides a graphical notation for
representing such data models in the form of entity relationship diagrams. Such models
are typically used in the first stage of Management information system design; they are
used for example, to describe information needs and/or the type of information that is to
be stored in the Database during the requirement analysis. The data modeling technique,
however, can be used to describe any ontology (i.e. an overview and classification of used
term and their relationships) for a certain universe of discourse (i.e area of interest).
In the case of design a Management Information System that is based on a database, the
conceptual data model is, a later stage( usually called logical design), mapped to a logical
data model such as, relational data model; this is turn in mapped to a physical model
during physical design. Note that sometimes, both of the phases are referred a “physical
design”. There are number of convention for entity-relation diagrams (ERDs). The
classical notation is describe in the remainder of this article, and mainly related to the
conceptual modeling. There is a range of notation more typically employed in physical
and logical database design.
ER Diagram
Manage uname
addr
uname pswd
Admin
Register
Login
Cancel uname
Customer
Booking
addr
See
Menu Manage
utype
Book `
Table
cont mail
See
Booking
In the DFD, four symbols are used and they are as follows.
3. A circle or a “bubble “(Some people use an oval bubble) represents a process that
transfers informing data flows into outgoing data flows.
Restaurant
Management
Customer System Administrator
MENU
Check food
availability
Manage Confirm
CUSTOMER
ADMIN
order
CCdffCCUST
OME
Order
Billing
Data Tables:-
Login :
Feedback:-
Booking :
Food_list :
Table :
1) Admin
2)Customer
Admin Features:
Can add Food items to menu.
Can see staff members.
See customers personal records.
Can see feedback.
Customer Features:-
Integration and Testing − All the units developed in the implementation phase are
integrated into a system after testing of each unit. Post integration the entire system is
tested for any faults and failures.
Deployment of system − Once the functional and non-functional testing is done; the
product is deployed in the customer environment or released into the market.
Maintenance − There are some issues which come up in the client environment. To fix
those issues, patches are released. Also to enhance the product some better
versions are released. Maintenance is done to deliver these changes in the customer
environment.
All these phases are cascaded to each other in which progress is seen as flowing steadily
downwards (like a waterfall) through the phases. The next phase is started only after the
defined set of goals are achieved for previous phase and it is signed off, so the name
"Waterfall Model". In this model, phases do not overlap.
WATERFALL MODEL
Requirement Analysis
System Design
Implementation
Testing
Deployment
Maintenance
The advantages of waterfall development are that it allows for departmentalization and
control. A schedule can be set with deadlines for each stage of development and a
product can proceed through the development process model phases one by one.
Development moves from concept, through design, implementation, testing, installation,
troubleshooting, and ends up at operation and maintenance. Each phase of development
proceeds in strict order.
Some of the major advantages of the Waterfall Model are as follows –
Simple and easy to understand and use
Easy to manage due to the rigidity of the model. Each phase has specific deliverables and
a review process.
Phases are processed and completed one at a time.
Works well for smaller projects where requirements are very well understood.
Clearly defined stages.
Easy to arrange tasks.
Process and results are well documented.
The disadvantage of waterfall development is that it does not allow much reflection or
revision. Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-documented or thought upon in the concept stage.
The major disadvantages of the Waterfall Model are as follows −
No working software is produced until late during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements are at a moderate to high risk of
changing. So, risk and uncertainty is high with this process model.
It is difficult to measure progress within stages.
Cannot accommodate changing requirements.
Adjusting scope during the life cycle can end a project.
Integration is done as a "big-bang. at the very end, which doesn't allow identifying any
technological or business bottleneck or challenges early.
Coding:-
LOGIN PAGE:-
try{ String utyp= (String) jComboBox1.getSelectedItem();
String user=jTextField1.getText();
String pswd=jPasswordField1.getText();
String mail=jTextField2.getText();
db.pstmt.setString(1,utyp);
db.pstmt.setString(2,user);
db.pstmt.setString(3,pswd);
db.pstmt.setString(4,mail);
String ut="Admin";
String mem="Member";
String usr="User";
db.rst=db.pstmt.executeQuery();
if(db.rst.next())
{ if(jComboBox1.getSelectedItem().equals(ut)) {
new MainWindowA().setVisible(true);
this.setVisible(false); }
else if(jComboBox1.getSelectedItem().equals(mem))
{ new MainWindowS().setVisible(true);
this.setVisible(false); }
else if(jComboBox1.getSelectedItem().equals(usr))
{ new MainWindowC().setVisible(true);
this.setVisible(false); }
else { JOptionPane.showMessageDialog(this,"Incorrect User Or Password");
} } } catch(Exception e)
{ e.printStackTrace(); }
SIGNUP PAGE:-
try{ String uname=jTextField1.getText();
String pswd=jPasswordField1.getText();
String cont=jTextField2.getText();
String addr=jTextField3.getText();
String mail=jTextField4.getText();
db.pstmt.setString(1, uname);
db.pstmt.setString(2, pswd);
db.pstmt.setString(3, cont);
db.pstmt.setString(4, addr);
db.pstmt.setString(5, mail);
db.pstmt.setString(6, utyp);
int i=db.pstmt.executeUpdate();
if(i>0)
{ javax.swing.JOptionPane.showMessageDialog(this,mail);
new Login().setVisible(true);
this.setVisible(false); } }
catch(Exception e) { e.printStackTrace(); }
FEEDBACK(Admin):-
try{ Vector<String> header=new Vector<String>();
header.add("Service");
header.add("Food Quality");
header.add("Dining");
header.add("Feedback");
db.rst=db.pstmt.executeQuery();
while(db.rst.next())
temp.add(db.rst.getString(1));
temp.add(db.rst.getString(2));
temp.add(db.rst.getString(3));
temp.add(db.rst.getString(4));
data.add(temp); }
jTable1.setModel(new DefaultTableModel(data,header)); }
catch(Exception e) { e.printStackTrace(); }
Menu:-Add Item(Admin):-
try{ String name=jTextField1.getText();
String price=jTextField2.getText();
int num=Math.abs(r.nextInt()%100);
String ran=Integer.toString(num);
db.pstmt.setString(2, name);
db.pstmt.setString(3, price);
db.pstmt.setString(1, ran);
int i=db.pstmt.executeUpdate();
if(i>0) {
jTextField1.setText("");
jTextField2.setText(""); } }
Menu:-Search Item(Admin):-
try{ Vector<String> header=new Vector<String>();
header.add("Food id");
header.add("Food name");
header.add("Price");
db.rst=db.pstmt.executeQuery();
while(db.rst.next())
temp.add(db.rst.getString(1));
temp.add(db.rst.getString(2));
temp.add(db.rst.getString(3));
data.add(temp); }
jTable1.setModel(new DefaultTableModel(data,header)); }
Menu:-Delete Item(Admin):-
try{ String foodid=jTextField1.getText();
String name=jTextField2.getText();
db.pstmt.setString(1, foodid);
db.pstmt.setString(2, name);
int i=db.pstmt.executeUpdate();
if(i>0) {
jTextField1.setText(""); } }
Staffs(Admin):-
try{Vector<String> header=new Vector<String>();
String utype=jComboBox1.getSelectedItem().toString();
header.add("User Id");
header.add("User Name");
header.add("Contact");
header.add("Address");
header.add("E-mail");
header.add("User Type");
db.pstmt.setString(1,utype);
db.rst=db.pstmt.executeQuery();
while(db.rst.next())
temp.add(db.rst.getString(1));
temp.add(db.rst.getString(2));
temp.add(db.rst.getString(4));
temp.add(db.rst.getString(5));
temp.add(db.rst.getString(6));
temp.add(db.rst.getString(7));
data.add(temp); }
jTable1.setModel(new DefaultTableModel(data,header)); }
catch(Exception e) { e.printStackTrace(); }
Customers(Admin):-
try{ Vector<String> header=new Vector<String>();
String utype=jComboBox1.getSelectedItem().toString();
header.add("User ID");
header.add("User Name");
header.add("Contact");
header.add("Address");
header.add("E-mail");
db.pstmt.setString(1,utype);
db.rst=db.pstmt.executeQuery();
while(db.rst.next())
temp.add(db.rst.getString(1));
temp.add(db.rst.getString(2));
temp.add(db.rst.getString(4));
temp.add(db.rst.getString(5));
temp.add(db.rst.getString(6));
data.add(temp); }
jTable1.setModel(new DefaultTableModel(data,header)); }
catch(Exception e) { e.printStackTrace(); }
Bookings(Admin):-
try{Vector<String> header=new Vector<String>();
header.add("Booking ID");
header.add("Name");
header.add("No. Of Persons");
header.add("Arriving Date");
db.rst=db.pstmt.executeQuery();
while(db.rst.next())
temp.add(db.rst.getString(1));
temp.add(db.rst.getString(2));
temp.add(db.rst.getString(3));
temp.add(db.rst.getString(4));
data.add(temp); }
jTable1.setModel(new DefaultTableModel(data,header)); }
catch(Exception e) { e.printStackTrace(); }
BookNow(Customers):-
try{ String nam=jTextField2.getText();
String per=jTextField3.getText();
String dat=jTextField4.getText();
int num=Math.abs(r.nextInt()%100);
String ran=Integer.toString(num);
db.pstmt.setString(1, ran);
db.pstmt.setString(2, nam);
db.pstmt.setString(3, per);
db.pstmt.setString(4, dat);
int i=db.pstmt.executeUpdate();
if(i>0)
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText(""); }
Feedback(Customers):-
try { String ser=(String) jComboBox1.getSelectedItem();
String txt=jTextField1.getText();
db.pstmt.setString(1, ser);
db.pstmt.setString(2, foq);
db.pstmt.setString(3, din);
db.pstmt.setString(4, txt);
int i=db.pstmt.executeUpdate();
if(i>0)
{ javax.swing.JOptionPane.showMessageDialog(this,"Feedback Sent
Successfully");
new Feedback().setVisible(true); } }
header.add("Food name");
header.add("Price");
db.rst=db.pstmt.executeQuery();
while(db.rst.next()) {
temp.add(db.rst.getString(1));
temp.add(db.rst.getString(2));
data.add(temp); }
jTable1.setModel(new DefaultTableModel(data,header)); }
catch(Exception e) { e.printStackTrace(); }
Bookings(Customers):-
try { Vector<String> header=new Vector<String>();
header.add("Booking ID");
header.add("name");
header.add("Persons");
header.add("Arriving Date");
header.add("Status");
db.rst=db.pstmt.executeQuery();
while(db.rst.next()) {
temp.add(db.rst.getString(1));
temp.add(db.rst.getString(2));
temp.add(db.rst.getString(3));
temp.add(db.rst.getString(4));
temp.add(db.rst.getString(5));
data.add(temp); }
jTable1.setModel(new DefaultTableModel(data,header)); }
catch(Exception e) { e.printStackTrace(); }
TESTING
System Testing: -
Black box testing method was used for system testing. The black box testing usually
demonstrates that software functions are operational; that the input is properly accepted
and the output is correctly produced; and that integrity of external information
(databases) is maintained.
Testing is the process of running a system with the intention of finding errors.
Testing enhances the integrity of a system by detecting deviations in design and errors
in the system.
Testing aims at detecting error-prone areas. This helps in the prevention of errors in a
system.
Testing also add value to the product by confirming to the user requirements.
Causes of Errors
Insufficient testing and quality control: Insufficient testing is also a major source of
breakdown of e-commerce systems during operations, as testing must be done during all
phases of development.
Inadequate requirements gathering: A short time to market results in developers
starting work on the Web site development without truly understanding the business and
technical requirements. Also, developers may create client-side scripts using language
that may not work on some client browsers.
Keeping pace with the fast changing Technology: New technologies are constantly
introduced. There may not be adequate time to develop expertise in the new
technologies. This is a problem for two reasons. First, the technology may not be properly
implemented. Second, the technology may not integrate well with the existing
environment.
Testing Principles
To discover as yet undiscovered errors.
All tests should be traceable to customer’s requirement.
Tests should be planned long before the testing actually begins.
Testing should begin “in the small” & progress towards “testing in the large”.
Exhaustive Testing is not possible.
To be most effective training should be conducted by an Independent Third Party.
Testing Objectives
Kinds of Testing:-
Black Box Testing- based on any knowledge of internal designs or code. Tests are based
on requirements and functionality.
White Box Testing- Based on the knowledge of the internal logic of an application’s code.
Tests are based on coverage of code statements, branches, paths and statements.
Unit Testing- The most ‘micro’ scale of testing; to test particular functions and code
modules. Typically done by the programmer and not by the testers, as it requires detailed
knowledge of the internal program design and code. Not always easily done unless the
application has a well-designed architecture with tight code; may require developing test
driver modules or test harnesses.
the end of the development cycle. Automated testing tools can be especially useful for
this type of testing.
Acceptance Testing- Final testing based on the specifications of the end user or customer
or based on use by end-users/ customers over some limited period of time.
PROJECT SCREENSHOT
HOME PAGE:-
CONTACT US:-
ABOUT US:-
LOGIN PAGE:-
SIGNUP PAGE:-
HOME PAGE(Admin):-
MENU PAGE(Admin):-
STAFF(Admin):-
CUSTOMERS PAGE(Admin):--
BOOKINGS PAGE(Admin):-
ALL BOOKINGS(Admin):-
STAFF(Admin):-
FEEDBACK(Admin):-
STAFF(Admin):-
Home(Customers):-
Home(Customers):-
MY BOOKINGS(Customers):-
FEEDBACK(Customers):-
CHANGE PASSWORD(Customers):-
Here we describe some features, which can be later introduced in the software for
enhancing it.
We can add some new module like online payment gateways modules.
We can add some extra utilities like notepad, online help etc, in my software.
References
Reference Books:-
1)Herbert Schildt, JAVA2 COMPLETE REFERENCE, 5TH edition, Pregti
publication, April 2004.
2)Pankaj Sharma, INTRODUCTION TO WEB TECHNOLOGY, 2nd edition S.K.
Kataria& Sons publication, April 2007.
3)Shrika Jain, INFORMATION SYSTEM, 3rd edition, Pregti publication, April
2004.
Reference websites:-
www.javaskyline.com
www.javaworld.com
CONCLUSION
The software will be developed by implementing the concept of modularity which in turn
reduces the complexity involved in maintaining it. The administrator should have a sound
technical knowledge about maintaining it. The administration should have a sound
technical knowledge about maintaining the software and further enhancements will be
undertaken by the developers.
The application is portable which ensure its adaptability for use on different computer
terminals with different operating system and standards.
The factors guarantee the software’s availability includes proper terminal and correct
input details. Also, the resource used for the project development are Microsoft certified
which speaks of its high-quality standards.
Hence, we may conclude that the application system being developed helps in modifying
the computerized Restaurant Management System.