Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ACKNOWLEDGEMENT
We wish to express our sincere thanks to our Honorable Principal Dr. P.Ram Mohan Rao for
giving us permission for carrying out the project at COIGN Consultants Pvt Ltd, Hyderabad.
We express our deep gratitude towards our internal guide, Prof.Jayadev Gyani for his
guidance, comments and encouragement during the course of present work. We are grateful to the
Head, Department of Computer Science and Information Technology, Prof.Jayadev Gyani, for his
valuable suggestions and encouragement during course of the work.
We are greatly indebted to our college, Jayamukhi College of Engineering, which has
provided us the healthy environment to drive us to achive our ambitions and goals.
We owe our hearty regards to all other Proffesors and staff for their encouragement at each
step and their assistance in completion of the project work. Last but not the least; we would like
to thanks our friends for their co-operation and consistent support.
1
Modern Restaurant System
CONTENTS:
I COIGN Profile
1. INTRODUCTION
1.1 Purpose
1.4 Goal
1.5 Benefits
2. SYSTEM ANALYSIS
3. ARCHITECTURE
4. SYSTEM DESIGN
2
Modern Restaurant System
6. TESTING
7. TEST CASES
8. SCREEN SHOTS
9. CONCLUSIONS
10. REFERENCES
3
Modern Restaurant System
ABSTRACT
In this mechanical world, the most precious thing which no person can buy with money i
s “time”. So our effort is being laid out in an area where we can help people to save their valuable
time. When you have a restaurant spread on two floors, 30 tables each, 2 bar counter, 2 different
kitchens, 1 Dedicated beverages counter.
A single order can consist of Menu Items to be supplied from different kitchens and bar
counters, due to which there might be problems .Such as:
• Delay in serving
• Misconception of the order
• More requirement of manpower And many more...
4
Modern Restaurant System
Central Management System: This is the centralized location where the menu
is designed and relayed to all ordering terminals.
Ordering screen: You can place order here and can view the bill amount and
close the session.
Kitchen Production System: Customers order the items on the touch screen
and these items will be displayed on screen in the kitchen.
5
Modern Restaurant System
6
Modern Restaurant System
1. INTRODUCTION
0.1 Purpose
7
Modern Restaurant System
This SRS is mainly intended for developers, testers, users and marketing staff. The suggested
sequence for reading SRS is:
1. Overall Description
2. System Features
3. External Interface Requirements
4. Non Functional Requirements.
1.4 Goal
To overcome the following consequences:
a. Delay in serving
b. Misconception of order
c. More requirement of manpower……..
1.5 Benefits
• Increase your number of customers
• Fastest implementation (just a snap!)
• Increase the number of sales per customer
• Give customers what they want and improve your customer satisfaction
• Reduce manpower cost
• Reduce the erroneous data entry
• Fast billing counters & happy customers
8
Modern Restaurant System
2 SYSTEM ANALYSIS
In this system the customer is given a menu card from which he needs to select the items and
orders are noted down by the waiter manually. Then the waiter submits this order to the kitchen
head, who instructs the chefs. On the request of the customer for the bill, the waiter informs the
cashier to generate the bill and gets back the bill to the customer for payment. Due to this there
are many drawbacks such as :
a. Delay in serving
b. Misconception of order
c. More requirement of manpower……..
To avoid all these we will switch to Modern Restaurant System.
Our MRS is an innovative solution for restaurants which can create craze among the youngsters.
MRS is a windows based application developed in .Net. This application is concerned with 3
modules:
• Back Office
• KPS
• User Terminal
This software enables the customer to view the menu card on the touch screen and order the items
by himself with the touch of the finger on the screen. Also he can know the amount he
need to pay. When the customer feels to receive the bill he can just close the session so that the
bill will be generated at the server end and also it will be displayed on the table screen.
Orders entered by the customer at the client station automatically display at the
cooks station, increasing the speed with which orders can be prepared and decreasing the wasted
time of servers walking back and forth to the kitchen! When the customer closes the session, the
order information along with the bill details automatically send to the server where the bill is
generated avoiding misconceptions in the bill
9
Modern Restaurant System
3 ARCHITECTURE
BACK OFFICE
DB 7777777777
Configuration 6
update
Kitchen
production
4 system
1, 2, 3
USER TERMINALS 5
Table 1
Table N
10
Modern Restaurant System
The life cycle model which we use in our application is RAD (Rapid Application Development)
model.
RAD (rapid application development) is a concept that products can be developed faster and of
higher quality through:
CHARACTERISTICS OF RAD
• Teams should consist of about 6 people, including both developers and full-time
users of the system plus anyone else who has a stake in the requirements
• Developers chosen for RAD teams should be multi-talented "renaissance" people
who are analysts, designers and programmers all rolled into one
• "visual" development
• multiple languages
• team scheduling
11
Modern Restaurant System
12
Modern Restaurant System
• RAD methods are used to build operating systems (reliability target too high for
RAD), computer games (performance target too high for RAD).
• Technical risks are high due to use of "bleeding" edge technology.
EVALUATION OF RAD:
1. ADVANTAGES OF RAD
• Deliverables sometimes easier to port (because they make greater use of high-level
abstractions, scripts, intermediate code)
• Development conducted at a higher level of abstraction (because RAD tools operate at
that level)
• Early visibility (because of prototyping)
• Greatly reduced manual coding (because of wizards, code generators, code reuse)
• Increased user involvement (because they are represented on the team at all times)
13
Modern Restaurant System
• Possibly fewer defects (because CASE tools may generate much of the code)
• Shorter development cycles (because development tilts toward schedule and away from
economy and quality)
• Standardized look and feel (because APIs and other reusable components give a
consistent appearance)
2. DISADVANTAGES
• May accidentally empower a return to the uncontrolled practices of the early days of
software development
• More defects(because of the "code-like-hell" syndrome)
• Successful efforts difficult to repeat(no two projects evolve the same way)
14
Modern Restaurant System
15
Modern Restaurant System
4 SYSTEM DESIGN
Introduction:
Design is the first step in the development phase for any technique and principles for the purpose
of defining a device, a process or system in sufficient details to permit its physical realization.
Once the software requirement have been analyzed and specified the
software design involves three technical activities design, coding, generation and testing that are
required to build and verify the software.
The design activities are of main importance in this phase,
Because in the activity, decision ultimate affecting the success of the software implementation
and its ease of maintained are made. These decisions have the final bearing upon reliability and
maintainability of the system. Design is the only way to accurately translate the customer
requirements into finished software or a system.
Design is the place where quality is fostered in development software
design is a process through which requirements are translated into a representation of software.
Software design is conducted in two steps. Preliminary design is concerned with the
transformation of requirement into data.
1. Back Office
2. Kitchen Production System
3. User Terminal
16
Modern Restaurant System
System Overview:
This Module is used to get the System General Information. Not only Server System but also
to get the information about the Systems connected in the Network. The user has to give the
IP address or Domain name.
1. BACK OFFICE
• It designs the menu profiles for the table terminals at certain intervals.
o Browse Screen: This is the screen where the manager can be provided
with add, edit, delete and cancel options
17
Modern Restaurant System
o Detail Screen: This is the screen where the manager can view the whole
details about the selected row.
18
Modern Restaurant System
o Vacant: When the customer pays the bill, then that particular
table terminal no. should be placed in this list manually by the
manager.
• Whenever the server sees a table terminal no. appear in the vacant list, a
signal should be sent to the KPS so that the slot assigned for that particular
table, if containing any orders should be cleared.
Requirements:
• This module displays the items ordered by the respective table terminal.
19
Modern Restaurant System
• This is just like a screen where the waiters can look into their respective
table’s order details and later serve them when they get prepared.
• For distinguishing between the items that have been already served and
those which have been not, coloring concept should be provided like -
Requirements:
3. USER TERMINAL
20
Modern Restaurant System
• This module enables the customer to enter his details for further benefits
provided by the hotel.
• The customer can view the menu and place his order by selecting the
items displayed on the Touch screen with the finger.
• If the customer is regular, then he should enter his / her id and then only he /she
can view the menu.
21
Modern Restaurant System
• If not, then he should enter his / her name, for which an id will be generated and
then he /she can see them menu.
• While ordering, the customer can lessen the quantity of any item ordered or
increase or delete any item if it is selected.
Requirements:
1. Selecting the Language: English /Telugu
2. New User: Name
3. Old User: Id
4. Item Name
22
Modern Restaurant System
PROJECT DESIGN
Each UML diagram is designed to let developers and customers view a software
system from a different perspective and in varying degrees of abstraction. UML diagrams
commonly created in visual modeling tools include
Use Case Diagram displays the relationship among actors and use cases.
Class Diagram models class structure and contents using design elements such as classes,
packages and objects. It also displays relationships such as containment, inheritance,
associations and other
Interaction Diagrams:
• Sequence Diagram displays the time sequence of the objects participating in the
interaction. This consists of the vertical dimension (time) and horizontal dimension
(different objects).
• Collaboration Diagram displays an interaction organized around the objects and their
links to one another. Numbers are used to show the sequence of messages.
23
Modern Restaurant System
24
Modern Restaurant System
configuration
updation
MANAGER
bill generation
order
recieve items
CUSTOMER
eat
pay bill
KITCHEN CHEF
25
Modern Restaurant System
configuration
register
bill generation
26
Modern Restaurant System
TABLE
PROFIL TERM INAL
E
DATABA MA NAG
SE ER
1: configuration
27
Modern Restaurant System
order
prepare items
28
Modern Restaurant System
User menu
Terminal
1: order
3: item code for the items
4: prepare items
5: send the items
29
Modern Restaurant System
register
30
Modern Restaurant System
C O L L A B R A T IO N D IA G R A M F O R U T
1: regis ter
4: pay the bill
5: c los e the s es s ion
CUS TO DA TA B A
MER SE
DIS P LA ITE M
Y TY P E ID
31
Modern Restaurant System
To view an ER Diagram:
32
Modern Restaurant System
6. Once the diagram is generated, the ER Diagram Viewer will open and display the
new diagram.
7. To change the layout of the diagram, select an entry from the Layout dropdown
list
Supported layouts include:
• Box
• Circle
• Hierarchical
• Tree
• Radial Tree
• Moen
• Fruchterman-Reingold (FR)
• Annealing
• Inverted Self Organizing Map (ISOM)
8. The Entity View drop-down list determines the amount of detail displayed for
each entity in the diagram. Select Full to view all attributes or Header to view
only the entity name.
9. To save an image of the current diagram, click Save Image As.
10. To print a hard-copy of the current diagram, click Print.
Click on an entity to display more column & constraint detail in the lower left panel.
33
Modern Restaurant System
E-R DIAGRAM
34
Modern Restaurant System
35
Modern Restaurant System
The logical characteristics of current systems data stores, including name, description, aliases,
contents and organization. Identifies processes where the data are used and where immediate
access to information needed. Servers as the basis for identifying database requirements during
system design.
36
Modern Restaurant System
ITEM_TYPE TABLE:
ITEM TABLE:
LEVEL TABLE:
Level_Name Varchar 50 -
PROFILE:
37
Modern Restaurant System
TERMINAL:
LEVEL_ITEM_MAPPING:
38
Modern Restaurant System
Deployment Environment:
• SERVER
o HARDWARE REQUIREMENTS
o SOFTWARE REQUIREMENTS
• CLIENT
o HARDWARE REQUIREMENTS
o SOFTWARE REQUIREMENTS
39
Modern Restaurant System
Development Environment
• SERVER
o HARDWARE REQUIREMENTS
o SOFTWARE REQUIREMENTS
40
Modern Restaurant System
The .Net frame is a set of technologies for developing and using components to create:
• Web forms
• Web services
• Windows applications
• Development
• Debugging
• Deployment
• Maintenance
41
Modern Restaurant System
.Net languages are not compiled to machine code. They are compiled to an
Intermediate Language (IL). CLR accepts the IL code and recompiles it to machine code. All
languages compile to IL (managed code). IL always complied to native code before being
executed. The recompilation is just-in-time (JIT) meaning it is done as soon as a function or
subroutine is called. The JIT code stays in memory for subsequent calls. In cases where there
is not enough memory it is discarded thus making JIT process interpretive.
• Code management
42
Modern Restaurant System
ADO.NET ARCHITECTURE:
ADO.NET was designed to meet the needs of new programming model: disconnected data
architecture, tight integration with XML, common data representation with the ability to combine
data from multiple and varied data sources, and optimized facilities for interacting with a
database, all native to the .NET Framework.
Data Access in ADO.NET relies on two components: Dataset and Data Provider.
Dataset:
The dataset is a disconnected, in-memory representation of data. It can be considered as a local
copy of the relevant portions of the database. The Dataset is persisted in memory and the data in
it can be manipulated and updates independent of the database. When the use of this Dataset is
finished, changes can be made back to the central database for updating. The data is Dataset can
be loaded from any valid data source like Microsoft SQL Server database, an Oracle database or
from a Microsoft Access database.
Data Provider:
The Data Provider is responsible for providing and maintaining the connection to the database. A
Data Provider is a set of related components that work together to provide data in an efficient and
performance driven manner.
The .NET Framework currently comes with two Data Providers: the SQL Data Provider which
is designed only to work with Microsoft’s SQL Server 7.0 or alter and the Ole Db Data Provider
consists of the following component classes:
43
Modern Restaurant System
c. The Data Reader object which provides a forward-only, read only, connected record set.
d. The Data Adapter object which populates a disconnected Dataset with data and performs
update.
ARCHITECTURE OF ADO.NET:
The Connection Object creates the connection to the database. Microsoft Visual
Studio .NET provides two types of Connection classes: the Sql Connection object, which is
designed specifically to connect to Microsoft SQL Server 7.0 or later, and the OleDb Connection
object, which can provide connections to a wide range of database types like Microsoft Access
and Oracle. The Connection object contains all of the information required to open a connection
to the database.
The Command Object is represented by two corresponding classes: Sql Command and
OleDb command. Command objects are used to execute commands to a database across a data
connection. The Command Objects are used to execute stored procedures on the database, SQL
44
Modern Restaurant System
Commands, or return complete tables directly. Command objects provide three methods that are
used to execute commands on the database:
Execute Non Query: Executes commands that have no return values such as INSERT,
UPDATE or DELETE.
The Data Reader Object provides a forward-only, read-only, connected stream record set
from a database. Unlike other components of the Data Provider, Data Reader objects cannot be
directly instantiated. Rather, the Data Reader is returned as the results of the Command object’s
Execute Reader method. The SqlCommand. Execute Reader method returns a SqlDataReader
object, and the OleDbCommand.ExecuteReader method returns on OleDb Data Reader object.
The DataReader can provide rows of data directly to application logic when you do not need to
keep the data cached in memory. Because only one row is in memory at a time, the DataReader
provides the lowest overhead in terms of system performance but requires the exclusive use of an
open Connection object for the lifetime of the DataReader.
The DataAdapter is the class at the core of ADO.Net's disconnected data access. It is
essentially the middleman facilitating all communication between the database and Dataset. The
data adapter is used either to fill a Data Table or Dataset with data from database with its Fill
method. After the memory-resident data has been manipulated, the DataAdapter can commit the
changes to the database by calling the Update method. The DataAdapter provides four properties
that represent database commands:
SERIALIZATION
45
Modern Restaurant System
Serialization is the process of converting the state of an object into a form that can be persisted or
transported. The complement of serialization is deserialization, which converts a stream into an
object. Together, these processes allow data to be easily stored and transferred.
• Binary serialization preserves type fidelity, which is useful for preserving the
state of an object between different invocations of an application. For example, you can
share an object between different applications by serializing it to the Clipboard. You can
serialize an object to a stream, to a disk, to memory, over the network, and so forth.
Remoting uses serialization to pass objects "by value" from one computer or application
domain to another.
XML serialization serializes only public properties and fields and does not preserve type fidelity.
This is useful when you want to provide or consume data without restricting the application that
uses the data. Because XML is an open standard, it is an attractive choice for sharing data across
the Web. SOAP is likewise an open standard, which makes it an attractive choice
The XmlSerializer class gives you complete and flexible control when you serialize an object as
XML. If you are creating an XML Web service, you can apply attributes that control serialization
to classes and members to ensure that the XML output conforms to a specific schema.
Another advantage of XML serialization is that you have no constraints on the applications you
develop, as long as the XML stream that is generated conforms
to a given schema. Imagine a schema that is used to describe books. It features a title, author,
publisher, and ISBN number element. You can develop an application that processes the XML
data in any way you want, for example, as a book order, or as an inventory of books. In either
case, the only requirement is that the XML stream conforms to the specified XML Schema
definition language (XSD) schema.
46
Modern Restaurant System
• The Sgen.exe tool is expressly designed to generate serialization assemblies for optimum
performance.
• The serialized data contains only the data itself and the structure of your classes. Type
identity and assembly information are not included.
• Only public properties and fields can be serialized. Properties must have public accessors
(get and set methods). If you need to serialize non-public data, use the BinaryFormatter
class rather than XML serialization.
• A class must have a default constructor to be serialized by XmlSerializer.
• Methods cannot be serialized.
• XmlSerializer can process classes that implement IEnumerable or ICollection
differently if they meet certain requirements, as follows.
A class that implements IEnumerable must implement a public Add method that takes a
single parameter. The Add method's parameter must be consistent (polymorphic) with
the type returned from the IEnumerator.Current property returned from the
GetEnumerator method.
47
Modern Restaurant System
48
Modern Restaurant System
- <items>
<iid>11</iid>
<iname>puri</iname>
<iprice>30</iprice>
<ipath>D:\veg\puri.jpg</ipath>
<isveg>True</isveg>
</items>
- - <level>
<iid>0</iid>
<iname>soups</iname>
<item22>1</item22>
<item23>2</item23>
<item24>3</item24>
<item25>4</item25>
<item26>5</item26>
</level>
- <level>
<iid>1</iid>
<iname>tiffins</iname>
<item22>7</item22>
<item23>8</item23>
<item24>11</item24>
<item25>12</item25>
<item26>14</item26>
<item27>16</item27>
</level>
</root>
49
Modern Restaurant System
SCREENSHOTS
50
Modern Restaurant System
51
Modern Restaurant System
52
Modern Restaurant System
53
Modern Restaurant System
54
Modern Restaurant System
55
Modern Restaurant System
56
Modern Restaurant System
57
Modern Restaurant System
58
Modern Restaurant System
10. KPS Terminal – screen showing the items received from table 1.
59
Modern Restaurant System
60
Modern Restaurant System
6. TESTING
To deliver a bug free high quality application with almost zero bugs for complete usage
experience to the end users.
In order to uncover the errors present in different phases we have the concept of levels of testing.
The basic levels of testing are:
White box testing strategy deals with the internal logic and structure of the code. White box
testing is also called as glass, structural, open box or clear box testing. The tests written based on
the white box testing strategy incorporate coverage of the code written, branches, paths,
statements and internal logic of the code etc.
In order to implement white box testing, the tester has to deal with the code and hence is needed
to possess knowledge of coding and logic i.e. internal working of the code. White box test also
needs the tester to look into the code and find out which unit/statement/chunk of the code is
malfunctioning.
61
Modern Restaurant System
Black Box Testing is not a type of testing; it instead is a testing strategy, which does not need any
knowledge of internal design or code etc. As the name "black box" suggests, no knowledge of
internal logic or code structure is required. The types of testing under this strategy are totally
based/focused on the testing for requirements and functionality of the work product/software
application. Black box testing is sometimes also called as "Opaque Testing",
"Functional/Behavioral Testing" and "Closed Box Testing".
This method of test design is applicable to all levels of software testing: unit, integration,
functional testing, system and acceptance. The higher the level, and hence the bigger and more
complex the box, the more one is forced to use black box testing to simplify. While this method
can uncover unimplemented parts of the specification, one cannot be sure that all existent paths
are tested.
In computer programming, unit testing is a procedure used to validate that individual units of
source code are working properly. A unit is the smallest testable part of an application. In
procedural programming a unit may be an individual program, function, procedure, etc., while in
object-oriented programming, the smallest unit is a method, which may belong to a base/super
class, abstract class or derived/child class.
Ideally, each test case is independent from the others; mock or fake objects[1] as well as test
harnesses can be used to assist testing a module in isolation. Unit testing is typically done by
developers and not by software testers or end-users.
The goal of unit testing is to isolate each part of the program and show that the individual parts
are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a
result, it affords several benefits.
Unit testing allows the programmer to refractor code at a later date, and make sure the module
still works correctly (i.e. regression testing). The procedure is to write test cases for all functions
and methods so that whenever a change causes a fault, it can be quickly identified and fixed.
62
Modern Restaurant System
Readily-available unit tests make it easy for the programmer to check whether a piece of code is
still working properly. Good unit test design produces test cases that cover all paths through the
unit with attention paid to loop conditions.
In continuous unit testing environments, through the inherent practice of sustained maintenance,
unit tests will continue to accurately reflect the intended use of the executable and code in the
face of any change. Depending upon established development practices and unit test coverage,
up-to-the-second accuracy can be maintained.
Integration testing (sometimes called Integration and Testing, abbreviated I&T) is the phase of
software testing in which individual software modules are combined and tested as a group. It
follows unit testing and precedes system testing.
Integration testing takes as its input modules that have been unit tested, groups them in larger
aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its
output the integrated system ready for system testing.
63
Modern Restaurant System
7. TEST CASE
Terminal Registration:
TEST CASE: 1
64
Modern Restaurant System
Menu Screen:
TEST CASE 2:
--------------------- Yes
-
Delete all Delete all the Delete all the
items order by us items
Which is --------------------- Yes
displayed on tree
view
Send We send all the We send all the
items to the kps items to the kps
-------------------- Yes
bill After the order Bill is generated
we request for bill
to the manager --------------------- Yes
65
Modern Restaurant System
KPS Screen:
TEST CASE 3:
66
Modern Restaurant System
8 CONCLUSIONS
The project entitled” Modern Restaurant System” is developed using Microsoft .Net 2.0 for front
end & business logic and SQL Sever 2000 for database. We have developed the project with
utmost care at each level of software development life cycle to achieve a high quality product.
The final product provides good user friendly interfaces for ease of usage to suit the market.
67
Modern Restaurant System
9 REFERENCES
• www.msdn.com – Microsoft Developer Network
68