You are on page 1of 55

RESTAURANT AUTOMATION SYSTEM

PROJECT REPORT

Submitted in partial fulfillment of the requirements for the


award of Degree of

“BACHELOR OF SCIENCE (INFORMATION


TECHNOLOGY)”
2018-19

By

Namita Samant 124


Priya Yadav 65

Under the guidance of:

Prof. SmitaDalvi

Prof. Vaishali Miss

Prof. Navina Miss

Shankar Narayan College

DEPARTMENT OF INFORMATION TECHNOLOGY


SHANKAR NARAYAN COLLEGE
(Affiliated to University of Mumbai)
THANE- 401105, MAHARASHTRA
2018-19
RESTAURANT AUTOMATION
SYSTEM
Chapter 1:

INTRODUCTION
Background:
"Online Restaurant Management System" is a web application. This system
is developed to automate day to day activity of a restaurant. Restaurant is a
kind of business that serves people all over world with ready made food.
This system is developed to provide service facility to restaurant and also
to the customer. This restaurant management system can be used by
employees in a restaurant to handle the clients, their orders and can help
them easily find free tables or place orders.
The services that are provided is food ordering and reservation table
management by the customer through the system online, customer
information management and waiter information management, menu
information management and report. The restaurant menu is organized by
categories (appetizers, soups, salads, entrees, sides and drinks) of menu
items. Main objective build the system this is to provide ordering and
reservation service by online to the customer.
Each menu item has a name, price and associated recipe. A recipe for a
menu item has a chef, preparation instruction sand associated ingredients.
With this system online, ordering and reservation management will become
easier and systematic to replace traditional system where are still using
paper. To resister a meal online, the customer has to become a member
first then he can access the later part of the site.

This project to facilitate customer for make online ordering and reservation.
The option of becoming member was only an attempt to avoid (to some
extent) placing the fake bookings.

Online Restaurant management system is the system for manage the


restaurant business. After successful login the customer can access the
menu page with the items listed according to the desired time.

The main point of developing this system is to help restaurant administrator


manage the restaurant business and help customer for online ordering and
reserve table.
In proposed system user can search for a menu according to his choice i.e.
according to price range and category of food and later he can order a
meal.

The project is developing because; many restaurants have a lot difficult to


manage the business such as customer ordering and reservation table. If
the customer book an order and later wants to cancel the order, he is
permitted to do this only within a specific time period. By using manual
customer ordering is difficult to waiter keep the correct customer
information and maybe loss the customer information.

The customer is also given with the facility to view the status of the order
and if the order is ready then he can go and get it.
So, online restaurant management system will develop to help the
restaurant administrator to manage restaurant management and for
customer make their online ordering and reservation table.
At Management side, initially the staff member has to login, and according
to his designation the privileges are set. Other than that, this project is to
upgrade the manual system and make the business easily to access and
systematic. If the staff member is a cook, then he is allowed to edit only the
order items status, indicating which menu items he has prepared.

Objective:
The machine will offer an enjoy of convenience to the restaurant
employees at the same time as they are on duty in addition to the client
who dine-in at the eating place.

This system allow the workforce to serve customers with the minimum
postpone compare to the paper primarily based order gadget, due to the
fact what the workforce need to do is just document down the food that the
purchaser wish to reserve then the staff location an order through the
computer, the food order might be send to the kitchen laptop concurrently.

After the order were effectively placed one replica of the meals order with it
information can be printed out for customer overview.
It significantly shorten the time needed to take an order, assume that
kitchen place is on ground however presently the staff is taking order at
second ground. If the restaurant is the usage of paper based totally system,
the team of workers has to deliver the food order to ground and stroll all of
the way lower back to second ground, it take plenty of time and time
consuming.

Therefore, via the use of this machine it is able to take away this minor
section of the order taking procedure. except, it can allow consumers to
enjoy their meals within a quick period of time and for this reason it is able
to growth the satisfaction and turnover rate of the consumers.

Purpose,Scope,Applicability:

Nowadays, many restaurants manage their business by manual especially


take customer ordering. . In traditional booking system, a customer has to
go to restaurant or make a phone call in order to get his meal reserved.
Today, restaurant waiter takes the customer ordering by manual system
with using paper. Customer does some formal conversation like hello, hi,
etc. Than he demands for today’s menu and do some discussion over
menu items then he orders. It takes 5 to 10 minutes to book the order and
waiter book the order on paper so there is probability of lost and duplicates
customer information. Restaurant management system puts the order in a
queue with specific priority according to time and quantity, and than a cook
is assigned for the specific order to complete it.

Besides, the restaurant waiter information also by manual system kept use
paper and this is difficult for restaurant administrator to find waiter
information, probability missing the paper and difficult to arrange the
schedule. Initial problem is that the customer has to get connected over the
phone, it would be harder if the restaurant is very popular and busy.
Sometimes, waiter information and customer information is important to
restaurant administrator for reference in the future. The chances of
committing mistakes at the restaurant side in providing a menu list for a
specific time would be more.

Furthermore, restaurant side needs management in the section menu. This


is the important to restaurant waiter to manage the menu. As customer
won’t have the menu list with him, it would be harder for him to remember
the entire list (with price as well...!) and come to a decision, i.e. customer is
provided with less time to make decision.
Besides this section is for customer viewer the menu that restaurant
prepared and make their ordering.

There might be some communication problems or sometimes language


might be a barrier. As a result, the current system (manual system) is not
effective and efficient to use anymore. As entire booking has to be done
manually at the restaurant end, the chances of occurrence of mistakes is
high as well. The current system cannot save, manage and monitor the
restaurant waiter information, menu information, customer ordering
information and generate report well. Even assigning orders (or some
menu from the order) to a specific cook can be cumbersome if it is done
parallel with the bookings of the order.

•Reduces lot of guy strength

•Much less time ingesting

•Waiting time decreases significantly

•Problem loose payment

•This could limit the wide variety of employees at the back of the counter.

•The gadget will assist to reduce hard work value concerned.

•The system might be less in all likelihood to make mistake, because it’s a
system.
•This can keep away from long queues on the counter because of the
velocity of execution and quantity of most reliable screens to house the
most Throughput

Scope , Cause:
The task aimed is to developing an Order gadget that may be used within
the small medium agency food & drinks (F&B) industries that could help the
restaurants to simplified their complete each day operational undertaking
as well as enhance the dining enjoy of customers.

For the cellular primarily based platform will advanced to permit consumer
to view the menu card statistics of the eating place and able to allow
consumer region an order through the gadget.

Scope:

Customer, administrator

 Customer

This user will register to be a member to use the online system of this
online restaurant management system. This online ordering divided into
two type of customer; it is customer dine-in ordering and takeaway
ordering. For dine in ordering, customer will view menu, make online
ordering and make a reservation table. This system allows customer to
place an order or allow him to cancel the book order. But takeaway
ordering, customer can view menu and online ordering without reservation
table. During login, the costumer has to enter the time of delivery, and the
menu items will appear accordingly. As availability of items differ from time
to time. After customer make online ordering, customer can take ordering
the date that customer was choose during make online ordering.
Customers can search menu according to price range and the category as
well, Event though, customer must confirm online ordering with restaurant
three days before customer take the ordering for dine-in customer and for
take-away customer will be confirm one hour before it whether by email or
phone.

Customer can create his new account or he can edit his personal
information from the existing account.

Administrator

Administrator or manager is the person who will manage the entire system.
He is allowed to reassign the cook according to his Priority, he can edit the
menu information such as its price, items available currently, etc. This type
of user will also do maintenance and control the application of this system.
A manager can reassign the cook for a specific order or an item.
Administrator takes a responsibility to register new customer, register new
waiter, register new menu into database. A manager can edit/create some
or whole part of the menu record on daily basis. That is by changing the
menu items, prices, description, etc.

Customer Registration Module

Customer registration module contains customer's information such as


customer personal information and other information related to that
customer. Then, all of this information recorded into database. Customers
are given with a facility to change his existing password.
Customer Online Ordering And Reservation Module

Customer online ordering and reservation module provides a form that


needs to be fulfilling in term of ordering food and reservation table via
online.

Table booking

In this module facility is provided to the user to pre-book the table at


specific restaurant and confirmation for the same will be sent to the user via
SMS and email.

Order Confirmation

After placing an Order,once it received by the admin a confirmation email


will be sent to the user’s registered email id

Payment facilities

Payment details like credit card/ debit card/ e-wallet details will be taken

From the user.

From e-wallet user can add money and pay money and its history will be
viewed to the user.
Transaction history

Like orders placed previously payment history will be shown to the user

Modify profile

In the module user is allowed to make changes to his or her profile given at
the time of registration.

User can Change address ,mobile no etc.

Waiter Module

Waiter module contains waiter information such as waiter personal


information, task schedule and other information related to that waiter.
Then, all of this information recorded into database.

Feedback Module

Based on food or everything about the restaurant, customer can send any
suggestion or comment to the restaurant with feedback form. From this
form, side of restaurant will know their weaknesses and strengths.

Menu Module

Menu module is food that restaurant prepared for customer. This module,
customer can view the menu and make decision for order.
Applicability

The task can be used in the small medium corporation food & drinks (F&B)
industries that may help the eating places to simplified their whole daily
operational task in addition to improve the dining experience of customers.

Achievements

The subsequent effects were performed after completing the system and
relate lower back to the gadget’s goal.

• Need to permit pc technology students to browse through the code and


alertness: this can be accomplished while students are able to run and
installation the software. once they run the software, they could browse
through the implementation of various objects.

• Ought to permit users to browse via different product classes: that is


achieved thru an clean to use graphical interface menu alternatives.

• Must allow users to shop gadgets to the cart and consider special records
approximately the order: The users can add any range of gadgets to the
cart from any of The to be had food categories by using actually clicking the
add to Cart button for each item. As soon as object is delivered to the cart,
user is offered with exact order to review or continue buying.
Organization 0f Report

•Additionally similarly you'll Come To realize in the element about Our


tasks how the device is designed.

•Algorithms problems may be Clarified.

•Sequential paintings will be Represented .

•Logics ,facts Integrity And Constraints can be explained In an in


depth manner .

•Gantt charts Is Imposed in in addition Chapter in order to show You


a short precise of Our tasks build up.

•Graphs And time limits Are Plotted in order to finish our work in a
particular given time.

•Exceptional forms of Analysis has been achieved in order to


generate each and each reviews and prices .

•Prototypes are Displayed which will get purchaser comments or


even lead them to experience of involvement into the challenge which
in the end ends in the interplay .
Chapter2:
Survey of Technologies
Currently many software are available like ASP.Net, Oracle, SQL SERVER
etc. so I have selected ASP as Frontend and SQL Server for Backend and
crystal reports for developing different types of reports . Asp.Net, provide
us graphical tools to create interface. Query Analyst is a graphical tool that
allows creating quires and other SQL scripts and executing them against
SQL server database. Quickly create commonly used database objects.
Execute stored procedures. Debug query performance problems. Locate
database or view and work with objects. Quickly insert update and delete
rows in table

Visual studio 2010

Microsoft Visual Studio is an integrated development environment (IDE)


from Microsoft. It is used to develop computer programs, as well
as websites, web apps, web services and mobile apps. Visual Studio uses
Microsoft software development platforms such as Windows API, Windows
Forms, Windows Presentation Foundation, Windows Store and Microsoft
Silverlight. It can produce both native code and managed code.

Visual Studio includes a code


editor supporting IntelliSense (the code completion component) as
well as code refactoring. The integrated debugger works both as a
source-level debugger and a machine-level debugger. Other built-in
tools include a code profiler, forms designer for
building GUI applications, web designer, class designer,
and database schema designer.

It accepts plug-ins that enhance the functionality at almost every


level—including adding support for source control systems
(like Subversion and Git) and adding new toolsets like editors and
visual designers for domain-specific languages or toolsets for other
aspects of the software development lifecycle (like the Team
Foundation Server client: Team Explorer).

Visual Studio supports 36 different programming languages and


allows the code editor and debugger to support (to varying degrees)
nearly any programming language, provided a language-specific
service exists. Built-in languages

include C, C++, C++/CLI, VisualBasic.NET, C#, F#,JavaScript, Type


Script, XML, XSLT, HTML, and CSS, Support for other languages
such as Python, Ruby, Node.js, and Mamong others is available
via plug-ins. Java (and J#) were supported in the past.
The most basic edition of Visual Studio, the Community edition, is
available free of charge.
The currently supported Visual Studio version is 2017. Microsoft
announced 2019 on June 6, 2018, with its release timing to be
shared "in the coming months," promising "to deliver ... quickly and
iteratively."

Visual Studio does not support any programming language,


solution or tool intrinsically; instead, it allows the plugging of
functionality coded as a VSPackage. When installed, the
functionality is available as a Service.

The IDE provides three services: SVsSolution, which provides the


ability to enumerate projects and solutions; SVsUIShell, which
provides windowing and UI functionality (including tabs, toolbars,
and tool windows); and SVsShell, which deals with registration of
VSPackages. In addition, the IDE is also responsible for
coordinating and enabling communication between services.

All editors, designers, project types and other tools are implemented
as VSPackages. Visual Studio uses COM to access the VSPackages.
The Visual Studio SDK also includes the Managed Package

Framework (MPF), which is a set of managed wrappers around the


COM-interfaces that allow the Packages to be written in any CLI
compliant language. However, MPF does not provide all the
functionality exposed by the Visual Studio COM interfaces.

The services can then be consumed for creation of other packages,


which add functionality to the Visual Studio IDE.

Support for programming languages is added by using a specific


VSPackage called a Language Service. A language service defines
various interfaces which the VSPackage implementation can
implement to add support for various functionalities.]

Functionalities that can be added this way include syntax coloring,


statement completion, brace matching, parameter information
tooltips, member lists, and error markers for background
compilation.
If the interface is implemented, the functionality will be available for
the language. Language services are implemented on a per-
language basis.

The implementations can reuse code from the parser or the


compiler for the language. Language services can be implemented
either in native code or managed code. For native code, either the
native COM interfaces or the Babel Framework (part of Visual
Studio SDK) can be used. For managed code, the MPF includes
wrappers for writing managed language services.

Visual Studio does not include any source control support built in
but it defines two alternative ways for source control systems to
integrate with the IDE.[ A Source Control VSPackage can provide its
own customised user interface.

In contrast, a source control plug in using the MSSCCI (Microsoft


Source Code Control Interface) provides a set of functions that are
used to implement various source control functionality, with a
standard Visual Studio user interface.

MSSCCI was first used to integrate Visual SourceSafewith Visual


Studio 6.0 but was later opened up via the Visual Studio SDK.
Visual Studio .NET 2002 used MSSCCI 1.1, and Visual Studio .NET
2003 used MSSCCI 1.2. Visual Studio 2005, 2008, and 2010 use
MSSCCI Version 1.3, which adds support for rename and delete
propagation, as well as asynchronous opening.

Visual Studio supports running multiple instances of the


environment (each with its own set of VSPackages). The instances
use different registry hives (see MSDN's definition of the term
"registry hive" in the sense used here) to store their configuration
state and are differentiated by their AppId (Application ID).

The instances are launched by an AppId-specific .exe that selects


the AppId, sets the root hive, and launches the IDE. VSPackages
registered for one AppId are integrated with other VSPackages for
that AppId. The various product editions of Visual Studio are
created using the different Aphids.
The Visual Studio Express edition products are installed with their
own Aphids, but the Standard, Professional, and Team
Suite products share the same AppId. Consequently, one can install
the Express editions side-by-side with other editions, unlike the
other editions which update the same installation. The professional
edition includes a superset of the VSPackages in the standard
edition,andvisual studio 2008.

Features

ASP.NET
ASP.NET, the next version of ASP, is a programming framework used to create
enterprise-class Web Applications. These applications are accessible on a global
basis leading to efficient information management. The advantage ASP.NET offers
is more than just the next version of ASP.

ASP.NET is a web application framework developed and marketed by Microsoft to


allow programmers to build dynamic web sites, web applications and web services.

ASP.NET is built on the Common Language Runtime (CLR), allowing


programmers to write ASP.NET code using any supported .NET language.
Advantages Using ASP.NET

 ASP.NET drastically reduces the amount of code required to build


large applications.

 ASP.NET makes development simpler and easier to maintain with


an event-driven, server-side programming model.

 ASP.NET pages are easy to write and maintain because the source
code and HTML are together.

 The source code is executed on the server. The pages have lots of
power and flexibility by this approach.

 The source code is compiled the first time the page is requested.
Execution is fast as the Web Server compiles the page the first time
it is requested. The server saves the compiled version of the page
for use next time the page is requested.

 The HTML produced by the ASP.NET page is sent back to the


browser. The application source code you write is not sent and is
not easily stolen.

 ASP.NET makes for easy deployment. There is no need to register


components because the configuration information is built-in.
 The Web server continuously monitors the pages, components and
applications running on it. If it notices memory leaks, infinite loops,
other illegal software or activities, it seamlessly kills those activities
and restarts itself.

ASP.NET validates information (validation controls) entered by the user without


writing a single line of code.

MY SQL SERVER

MySQL provides a implementation of a SQL database very well suited for small to
medium web pages. The database is free and open source with a commercial
license available (MySQL is now owned by Oracle after they bought Sun).
Common applications for MySQL include php and java based web applications
that require a DB storage backend, e.g. Dokuwiki, Joomla, xwiki etc. Very many
applications that use MySQL are geared towards the LAMP stack (Linux, Apache,
MySQL, php).
MySQL is usually used with 2 different storage engines, one is called MyISAM
doesn't support transactions and stores each table in a set of 3 files. The second is
called InnoDB which supports transactions, this storage engine stores all data in a
single set of bytes or uses one set of bytes per database directory.

MySQL has one major advantage, since it is free, it is usually available on shared
hosting packages and can be easily set up in a Linux, Unix or Windows
environment. If a web application requires more than database, requires load
balancing or shading, it is easy to set up maybe instances of the database requiring
only the hardware costs, as opposed to commercial databases that would require a
single license for each instance.

MySQL has some issues with stability and clustering, it is very difficult to install a
consistent database cluster with MySQL with the regular version.

Depending on the database storage, MySQL will support transactions or not, so the
requirements of the application have to be taken into account when creating the
database tables.
For large, heavy loaded databases, it is a major operations problem that changing
the database structure is only possible when locking the complete tables. This will
mean that the database cannot be accessed during that operation so that this can
only be done during low traffic times.

In our online world, competition is always a mouse click (or screen touch) away,
and rapid responses to customer inquiries and activities are therefore paramount.
The database serving web-based applications needs to provide extreme
performance for both read (simple and complex queries) and write operations.

there factor of performance is that this same type of extreme performance must be
exhibited no matter the workload (e.g. thousands of current connections) or data
volume (GB to multi-TB).

Successful web properties need to be able to quickly adapt to a growing and


expanding customer workload, without experiencing any interruption in customer
service. One of MySQL’s hallmarks is exceptional performance & scalability,
which is why so many Web-based businesses use MySQL. The world’s most
popular open-source database utilizes a number of key strengths to deliver fast
performance.

 A fast, reliable, easy-to-use, multi-user multi-threaded relational database


system.

 It is freely available and released under GPL (GNU General Public


License).

 MySQL server can handle very large databases.

 Offers rich and very useful set of functions.

 Connectivity, speed and security make MySQL very suited for accessing
database on a network.

 A lot of contributed software available.

 A privilege and password system that is very flexible and secure and
allows host-based verification.

 Multi-threaded request-handling using kernel thread.

 Replication features.
 Very actively developed.

 Memory leak proof.


Chapter 3 :
Requirement and analysis
3.1 Problem Definition:

 Takes lot of time

 In current system is time consuming.

 There are calculation errors.

 In today’s world most of the people don’t have time to go to restaurant and
wait for their food .

 Personal management

 Health and safety

 profitability
3.2Requirement specification

Existing system:

• Keeping track of empty tables requires either keeping a


“dry erase” diagram of tables or the host constantly keeps
track of the status of the tables if it is a small restaurant
• The waiter jots the order on paper and has to transfer
redundant information to the terminal system. This takes
some time and reduces efficiency in peak hours of patron
service, also there may not be enough terminals available in
the restaurant as there are number of tables which would
require particular waiters to wait until the others are done
entering their orders into the systems
• The cooks could not notify the waiter that the food was
ready
• Keeping billing and other statistical information was an
issue of concern
Stakeholders

The following are the stakeholders in the application. They have a vested
interest of some sort in the way that the application works. It is important to
them that the application is easy to use.

• Owner of the restaurant

• Employees (Manager, Host, Waiters, Busboy, and Cook)

• Programmers

Advantages of Proposed System:

 This is useful for customer to order food from anywhere and


anytime.
 Easy to get information as per requirement.
 More user friendly since .net is a easy language.
 Maintain history of past as well as present transactions and orders.
 Reduces paperwork.
 Very easy to maintain data and information about data.
3.3 Planning and Scheduling:

What is Gann Chart?

The first Gantt chart was devised in the mid 1890s by Karol Adamiecki, a
Polish engineer who ran a steelworks in southern Poland and had become
interested in management ideas and techniques.

Some 15 years after Adamiecki, Henry Gantt, an American engineer and


project management consultant, devised his own version of the chart and it
was this that became widely known and popular in western countries.
Consequently, it was Henry Gantt whose name was to become associated
with charts of this type.

Originally Gantt charts were prepared laboriously by hand; each time a


project changed it was necessary to amend or redraw the chart and this
limited their usefulness, continual change being a feature of most projects.
Nowadays, however, with the advent of computers and project
management software, Gantt charts can be created, updated and printed
easily.

Today, Gantt charts are most commonly used for tracking project
schedules. For this it is useful to be able to show additional information
about the various tasks or phases of the project, for example how the tasks
relate to each other, how far each task has progressed, what resources are
being used for each task and so on.

Gann chart for week


3.4 Preliminary Product Description
3.4.1 Feasibility Study:
Feasibility look at is to test the viability of the assignment underneath
attention. The feasibility have a look at is undertaken to determine the
possibility of either enhancing the present manually running system or
growing a completely new gadget. It helps to acquire an outline of the
problem and get an idea whether an feasibility answer exist.
This project has been tested in the following areas of feasibility:
Monetary Feasibility
Technical Feasibility
Operational Feasibility

ECONOMIC FEASIBILITY:

With the manual gadget the running value of the system is about 60 Lakhs
p.a. This fee incorporates profits of 25 human beings, stationary,
building hire, electricity, water, smartphone and many others. but with
the brand new system this reoccurring fee comes out to be about 20 Lakhs
p.a. hence the brand new device is economically possible.
The economic feasibility of the machine is especially concerned with
economic aspects.
It determines whether the funding that is going into the implementation of
the mission is recoverable or not. The cast gain analysis is normally used
technique in comparing the effectiveness of the system.
The price of growing this system currently includes the minimal software
fee to broaden and run system.
The maximum of the software program used in machine development is freely
to be had at the web.

TECHNICAL FEASIBILITY:

Normally, new gadget brings new technology into an organization. The


proposed device requires technology and system, which can be received. The
working system has the technical capability to keep the information
required to use the proposed gadget. Furthermore the maintenance system
has lot of scope of being accelerated and evolved to generate even greater
valuable and better reviews. The prevailing gadget generation assures
technical warranty of accuracy, reliability and ease of get right of entry
to.
A software used to construct the gadget is straightforward sufficient in
their utilization and capability.
The gadget is platform impartial.
The device may be elevated if so determined.This system is technically
extra comfortable.

OPERATIONAL FEASIBILITY:

The modern system is manual thus processing big amount of data turn out to
be a bulky hobby. Reports which can be generated are hard to prepare
manually and are also errors susceptible. Because the person find issue
running a manual gadget, they have got personally come forward and given
their ideas regarding what form of pc machine are anticipated. employer
has evaluated organizational and cultural problems to become aware of
capability chance for the new system. And has come to end that the new
automated gadget offers no risk they may save you powerful use of the new
device.
The system is designed in one of these manner that it is easy to operate.
The device does no longer involve any complex operations. It handles
handiest easy facts orientated functions.
It is aimed toward giving an clean manner to meals ordering.

 Schedule Feasibility:

It is a measure of how reasonable project timetable is given by our


technical expertise, are the project deadline reasonable? Some projects are
initiated with specific deadlines. You need to determine whether the
deadlines are mandatory or desirable.
A project will fall if it takes too long to be completed before it is useful.
Typically this means estimating how long the system will take to develop
and if it can be completed in a given time period using some methods like
payback period.

 Legal Feasibility:
Determine whether the proposed system conflicts with legal
requirements.
3.5 Software and Hardware Requirement

Hardware Requirement Software Requirement


 i3 Processor Based Computer or  Windows 7 or higher
higher

 Memory: 1 GB RAM  Visual studio 2010.

 Hard Drive: 50 GB  SQL Server 2008.

 Monitor

 Internet Connection
3.5 Conceptual Module

Use Case Diagram:

In software and systems engineering, a use case is a list of actions or


event steps typically defining the interactions between a role (known in
the Unified Modeling Language as an actor) and a system to achieve a
goal. The actor can be a human or other external system. In systems
engineering use cases are used at a higher level than within software
engineering often representing missions or stakeholder goals. The detailed
requirements may then be captured in the Systems Modeling
Language (SysML) or as contractual statements.
Use case analysis is an important and valuable requirement
analysis technique that has been widely used in modern software
engineering since its formal introduction by Ivar Jacobson in 1992. Use
case driven development is a key characteristic of many process models
and frameworks such as ICONIX, the Unified Process (UP),
the IBM Rational Unified Process (RUP), and the Oracle Unified
Method(OUM). With its inherent iterative, incremental and evolutionary
nature, use case also fits well for agile development.

Use cases are not only texts, but also diagrams, if needed. In the Unified
Modeling Language, the relationships between use cases and actors are
represented in use case diagrams originally based upon Ivar
Jacobson's Objectory notation. SysML uses the same notation at a system
block level.
In addition, other behavioral UML diagrams such as activity
diagrams, sequence diagrams, communication diagrams and state
machine diagrams can also be used to visualize use cases accordingly.
Specifically, a System Sequence Diagram (SSD) is a sequence diagram
often used to show the interactions between the external actors and the
system under design (SuD), usually for visualizing a particular scenario of a
use case.

CREATE ACOOUNT
Order
Entity-Relationship Diagram:

An entity–relationship model (ER model for short) describes interrelated


things of interest in a specific domain of knowledge. A basic ER model is
composed of entity types (which classify the things of interest) and specifies
relationships that can exist between instances of those entity types.

In software engineering, an ER model is commonly formed to represent


things that a business needs to remember in order to perform business
processes. Consequently, the ER model becomes an abstract data model,
that defines a data or information structure which can be implemented in
a database, typically a relational database.

Entity–relationship modeling was developed for database design by Peter


Chen and published in a 1976 paper. However, variants of the idea existed
previously. Some ER models show super and subtype entities connected by
generalization-specialization relationships,and an ER model can be used
also in the specification of domain-specific ontology.

A relationship captures how entities are related to one another. Relationships


can be thought of as verbs, linking two or more nouns. Examples:
an owns relationship between a company and a computer,
a supervises relationship between an employee and a department,
a performs relationship between an artist and a song, a proves relationship
between a mathematician and a conjecture, etc.
Context Diagram:

A system context diagram (SCD) in engineering is a diagram that defines


the boundary between the system, or part of a system, and its environment,
showing the entities that interact with it.[2] This diagram is a high level view
of a system. It is similar to a block diagram.

System Context Diagrams... represent all external entities that may interact
with a system... Such a diagram pictures the system at the center, with no
details of its interior structure, surrounded by all its interacting systems,
environments and activities. The objective of the system context diagram is
to focus attention on external factors and events that should be considered
in developing a complete set of systems requirements and constraints.

DFD Diagram:
Chapter 4 : SYSTEM DESIGN

4.1 Basic Module:

A module is a software component or part of a program that contains one


or more routines. One or more independently developed modules make up
a program. An enterprise-level software application may contain several
different modules, and each module serves unique and separate business
operations.

Modules make a programmer's job easy by allowing the programmer to


focus on only one area of the functionality of the software application.
Modules are typically incorporated into the program (software) through
interfaces.
Software applications include many different tasks and processes that
cohesively serve all paradigms within a complete business solution. Early
software versions were gradually built from an original and basic level, and
development teams did not yet have the ability to use prewritten code.

The introduction of modularity allowed programmers to reuse prewritten


code with new applications. Modules were created and bundled with
compilers, in which each module performed a business or routine operation
within the program.

For example, Systems, Applications and Products in Data Processing


(SAP) - an enterprise resource planning (ERP) software - is comprised of
several large modules (for example, finance, supply chain and payroll,
etc.), which may be implemented with little or no customization. A classic
example of a module-based application is Microsoft Word, which contains
modules incorporated from Microsoft Paint that help users create drawings
or figures.

Class Diagram:

In software engineering, a class diagram in the Unified Modeling


Language (UML) is a type of static structure diagram that describes the
structure of a system by showing the system's classes, their attributes,
operations (or methods), and the relationships among objects.
Data Integrity & Constraints:

Data integrity is the maintenance of, and the assurance of the accuracy
and consistency of, data over its entire life-cycle,[1] and is a critical aspect
to the design, implementation and usage of any system which stores,
processes, or retrieves data. The term is broad in scope and may have
widely different meanings depending on the specific context – even under
the same general umbrella of computing. It is at times used as a proxy term
for data quality,[2] while data validation is a pre-requisite for data
integrity.[3] Data integrity is the opposite of data corruption.[4] The overall
intent of any data integrity technique is the same: ensure data is recorded
exactly as intended (such as a database correctly rejecting mutually
exclusive possibilities,) and upon later retrieval, ensure the data is the
same as it was when it was originally recorded. In short, data integrity aims
to prevent unintentional changes to information. Data integrity is not to be
confused with data security, the discipline of protecting data from
unauthorized parties.

The unique constraint enforces uniqueness in a column or combination of


columns. You'd typically use it for a candidate, or surrogate, key—a column
or columns that you could have chosen as a primary key, but didn't. One
example is a table that includes employee ID as the primary key but also
enforces uniqueness on Social Security number (SSN). Another example is
a delivery service storing drivers' license numbers, but because two states
might have issued the same number, the company enforces the unique
combination of state plus driver's license number.

Procedural Diagram(Activity diagram):


Activity diagrams are graphical representations of workflows of
stepwise activities and actions[1] with support for choice, iteration and
concurrency. In the Unified Modeling Language, activity diagrams are
intended to model both computational and organizational processes
(i.e., workflows), as well as the data flows intersecting with the related
activities.[2][3] Although activity diagrams primarily show the overall flow
of control, they can also include elements showing the flow of data
between activities through one or more data stores.

Algorithms Design :
Sequence Diagram:
A sequence diagram shows object interactions arranged in time
sequence. It depicts the objects and classes involved in the scenario
and the sequence of messages exchanged between the objects
needed to carry out the functionality of the scenario. Sequence
diagrams are typically associated with use case realizations in the
Logical View of the system under development. Sequence diagrams
are sometimes called event diagra

ms or event scenarios.
Component diagram:
A component in the Unified Modeling Language "represents a modular part
of a system, that encapsulates its content and whose manifestation is
replaceable within its environment. A component defines its behavior in
terms of provided and required interfaces".
A component may be replaced by another if and only if their provided and
required interfaces are identical. This idea is the underpinning for the plug-
and-play capability of component-based systems and promotes software
reuse.

Deployment diagram:
A deployment diagram in the Unified Modeling Language models
the physical deployment of artifacts on nodes.[1] To describe a web site, for
example, a deployment diagram would show what hardware components
("nodes") exist (e.g., a web server, an application server, and a database
server), what software components ("artifacts") run on each node
(e.g., web application, database), and how the different pieces are
connected (e.g. JDBC, REST, RMI).

User Interface Design:

All the users will see the same page when they enter in this website. This

page asks the users a username and a password.


After being authenticated by correct username and password, user will be

redirect to their corresponding profile where they can do various activities.

The user interface will be simple and consistence, using terminology

Commonly understood by intended users of the system. The system will have
simple interface, consistence with standard interface, to eliminate need for user
training of infrequent users.

Hardware Interfaces:

No extra hardware interfaces are needed.

The system will use the standard hardware and data communication

resources. This includes, but not limited to, general network connection at

the server/hosting site, network server and network management tools.

Application Interfaces:

OS: Windows 7, Linux

Web Browser: The system is a web based application; clients need a

modern web browser such as Mozilla Firebox, Internet Explorer, Opera, and
Chrome. The computer must have an Internet connection in order to be able to
access the system.

Communications Interfaces:
This system use communication resources which includes but not limited

to, HTTP protocol for communication with the web browser and web server and

TCP/IP network protocol with HTTP protocol.

This application will communicate with the database that holds all the

Booking information.

Users can contact with server side through HTTP protocol by

means of a function that is called HTTP Service. This function allows the

application to use the data retrieved by server to fulfill the request fired by

the user.
Security Issue
SQL Injection:
Today the important and easy way of hacking the database is SQL Injection
which everybody knows and even they perform it on every website . This Leads To
the Database Leak . Therefore in order to prevent it I have used prepared
statement instead of other statement because it comes precompiled so it will not
execute the logic of SQL injection. Also I have Provided Only 3 Login Attempts.

There are various reasons to use push notifications in your app and they have
numerous benefits in terms of engaging with customers and driving traffic,
however it is essential to use them in a way that keeps customers connected,
rather than annoyed. We investigate five benefits of push notifications, how best
to use them and what they can do for your app.

Push notifications inform users on new information related to an app, providing


valuable and relevant updates to customers, even when the app is closed.
Examples include a message or post on Face book, a news article update, or a new
feature in a game.

Idea well describes the different forms Push Notifications can take; a banner,
alert, badge and sounds. In mobile settings, users are able to control if and how
they receive push notifications. Banners appear on the screen for a few seconds
and then disappear; alerts appear on the screen and require the user to accept or
dismiss it; and badges are the small red circles with numbers that appear on the
upper-right hand corner of an app’s icon, displaying the number of pending
notifications. Sounds include custom or system-provided sounds that accompany
the notification styles.
Test case:
Reference:

 https://www.scribd.com

 www.100projects.com

 www.tizag.com/htmlT/links.php

 https://en.wikipedia.org.

 https://www.google.com

You might also like