Pizza Ordering System
Pizza Ordering System
Goal
Our goal is to deliver a database with a user interface (website) where
customers can select various ingredients for their own pizza and place their
order. The order will be sent to the “kitchen” where the pizza will be
made. The focus is to create an “easy to use” website, which will allow a
first time customer to complete their order with ease.
Existing solutions
There are many different web based ordering systems. Those systems do
not offer all the functionality that is needed for a pizzeria. Ordering
systems usually allow people to add products and separate them in
different categories and subcategories. Pizzeria sells pizzas, and most of
them also offer clients to customize their own pizzas by picking their
own ingredients. At the same time they offer other products that do not
need customization like the side orders. That does not fit into the general
category-subcategory differentiation.
Our solution
Our solution is to make an ordering system that separates ordering pizzas
from ordering the side dishes (non-pizza products) in an intuitive way.
The ordering system provides the user with three tabs: one for
customizing pizzas, one for side orders, and one for delivery details.
Customers can switch to any tab any time. Hence the system will
decrease workload of the employees and benefit the pizzeria due to the
database / information system. Information will be stored in the system
and can be viewed at any time. The system will be able to guide a user
through the website and make then complete their pizza order. When
they are done with filling in all information regarding their order they
can complete the order to send it to the pizzeria.
Technical constraints
The first use case is ordering. To order, a potential customer must first
know what he can choose from (“What’s on the menu?”). For ordering
custom pizzas a customer will have to know the ingredients he can
choose from and how choosing ingredients will influence the total price.
Customers pick ingredients for their pizza and sometimes they want a
double portion of specific ingredients. When a customer is done
choosing his pizza, he may want to order several pizzas of the same
configuration. A customer may also want to order non-pizza side orders,
such as drinks and salads. Also the customer will have to provide his
name, address and telephone number. A customer can also pick another
delivery date and time if they wish for the order to be delivered on a
later date and time. Customers can order up to two weeks in advance.
Order processing
Administration
Functionality specification
Technical specification
The system is made up of three layers. At the top there is the GUI
(Graphical User Interface) layer, the middle layer is the storage and query
manager, the bottom layer is the underlying database.
GUI layer
The GUI layer allows users to access the system. All the functionalities of
the system must be available through the GUI. There are two separate
GUI’s. One is for the customers to create orders and one is for employees
for processing orders and administration purposes. With scripts, user
input will be used to invoke queries from the storage and query manager
layer to provide the user with various pages. The GUI should prevent
input errors and in case of errors that could not be prevented, provide
clear error messages.
Nowadays people have usernames and passwords for a lot of websites
and services. It is not practical to have users to remember information
for a pizzeria. It is much easier for customers to type in their name and
address than to have to remember the username and password.
Therefore, customers do not have accounts to log on to. However
customer information will be stored into the system to allow employees
view previous orders by customers.
The GUI for employees is on a separate URL. Users need a username
and a password to gain access to the system. The administrator has
access to add users to the system to give them access.
Database layer
The database layer contains all the data of entities and their relationships.
1.4 Requirements
Users
Customers
Employees
3 Administrators
Non-functional requirements
Information Architecture
ERD
We chose for a separate Non-Pizza and Pizza table, because it is far more
clear to program. If we would combine both the tables, we would get
confusing situations, because Pizza records are being created by the
customers, and non-pizza records are being created by the administrators.
The attributes might be very similar but a pizza record is always connected
to a bunch of ingredient records, where this is not the case for the non-pizza
records. The price of a pizza is based on the individual ingredient prices.
Upon completing the pizza, the price is being inserted in the Pizza table.
A customer can place several orders; the customer entity holds attributes
describing properties concerning the customer. The order entity holds
attributes such as
OrderStatus to track the status of the order (new/prepared/delivered/failed to
deliver).
This tracks which non-Pizza products have been selected by the customer
during the shopping process. An Order can have 1, multiple or none Non-Pizza
products.
This relation tracks the pizza’s which belong to an order created by a customer.
TESTING TEMPLATES:
Ingredient Management
Steps Actions
1. Add ingredient
2. Logout
3. Login Different user
4. Change Ingredient
V Are the changes being processed correctly, and does the new
record show the different user as employee who changed it? YES
R The change here means the add or change of any ingredient
V = Validation Point;R = Remarks
Delete Ingredients
Steps Actions
1. Delete ingredient
2. Logout
3. Login Different user
4. Delete other Ingredient
V Are the changes being processed correctly, and does the new
record show the different user as employee who changed it? YES
R The change here means deletion of any ingredient.
Modify Ingredients
Steps Actions
1. Modify ingredient
2. Logout
3. Login Different user
4. Modify other Ingredient
V Are the changes being processed correctly, and does the new
record show the different user as employee who changed it? YES
R The change here means modification to the ingredient.
Non-pizza Management
Steps Actions
1. View Non-Pizza Product
2. Logout
3. Login Different user
4. View other Non-Pizza Product
V Are the changes being processed correctly, and does the new
record show non-pizza products? YES
R The non-pizza product which was viewed remains the same
Steps Actions
1. Add Non-Pizza Product
2. Logout
3. Login Different user
4. Add other Non-Pizza Product
V Are the changes being processed correctly, and does the new
record show the other or new non-pizza products? YES
R
Steps Actions
1. Modify Non-Pizza Product
2. Logout
3. Login Different user
4. modify other Non-Pizza Product
V Are the changes being processed correctly, and does the new
record show the different user as employee who changed it? YES
R The modification here can be the adjustment in the price
Order Management
View Order
Step Actions
s
1. View Order
2. Logout
3. Login Different user
4. View another Order
V Are the changes being processed correctly, and does the new
record show the order as employee who changed it? YES
R
V = Validation Point;R = Remarks
Removal Management
Delete Pizza
Steps Actions
1. Delete Pizza
2. Logout
3. Login Different user
4. Delete other Pizza
V Are the changes being processed correctly, and does the new
record show the updated pizza list? YES
R The deleted item should not be in the system anymore
Delete Non-Pizza
Steps Actions
1. Delete Non-Pizza
2. Logout
3. Login Different user
4. Delete another Non-Pizza
V Are the changes being processed correctly, and does the new
record show the updated non nonpizza list? YES
R The deleted item should not be in the system anymore
Information Management
Delivery Date
Steps Actions
1. Check Delivery Date
2. Logout
3. Login Different user
4. Check the Delivery Date of another Order
V Are the changes being processed correctly, and does the new
record show the different Delivery Date of the new order/another
order? YES
R
Steps Actions
1. Add Customer Info
2. Logout
3. Login Different user
4. Add other Customer info
V Are the changes being processed correctly, and does the new
record show the different user as the correct customer
information? YES
R A new user will have a clean form to fill in (always)
Clear Order
Steps Actions
1. Clear Order
2. Logout
3. Login Different user
4. Clear another Order
V Are the changes being processed correctly, and does the new
login show a clean order? YES
R
Ordering
Step Actions
s
1. Select Ingredient
2. Check if Photo is updated, check if Price changes correctly
3. Select another Ingredient
4. Type a name
5. Select another Ingredient
6. Remove one of the previously selected ingredients
7. Press Add to Order
8. Check if the ingredients are listed correctly in the order
9. Select another Ingredient
10. Press Add to Order
11. Check if the new pizza was added correctly
V Are the changes being processed correctly, and does the new
record show the? YES
R
Add Non-pizza
Steps Actions
1. Click on Side Order
2. Click on the shopping cart next to a non-pizza product
3. Click on the shopping cart next to another non-pizza product
4. Click on the shopping cart next to the in step 2 chosen non-pizza
product
5. Check if the first product has amount “2” and the other product
amount “1”
V Are the changes being processed correctly, and does the new
record show the different user as employee who changed it? YES
R
Steps Actions
1. Select Ingredient
2. Press Add to Order
3. Press on the – under the pizza to remove it from the order list
4. Select Ingredient
5. Press Add to Order
6. Press on the + under the pizza to increase the amount by 1
7. Press on the + under the pizza to increase the amount by 1
8. Check if Price and Total Price are updated correctly
9. Press on the - under the pizza to decrease the amount by 1
10. Click on the red X to remove the pizza from the order list
V Are the changes being processed correctly, and does the new
record show the different user as employee who changed it? YES
R
Delivery Information
Steps Actions
1. Click on Delivery Info
2. Type in Customer Information and pick a different delivery date
and time
3. Select another tab
4. Go back to Delivery Info
5. Check if data remains the same
V Are the changes being processed correctly, and does the new
record correct delivery date and other info? YES
Confirm Order
Steps Actions
1. Click on Confirm Order
2. Check the error message
3. Select an ingredient
4. Add to Order
5. Click on Confirm Order
6. Check if Delivery Info is shown
7. Fill in Delivery Info
8. Click on Confirm Order
9. See if confirmation page is shown
10. Click on Cancel
11. Click on Confirm Order
12. Click on OK
V Are the changes being processed correctly, and does the new
record show the order that is confirmed? YES
R
Chapter 2: Approach
To create the website we will first analyze the current processes of the
pizzeria. This will be recorded in the use cases. From the use cases we
derive the system specification which describes what the system should
be able to do. It will contain the needed functionalities and the technical
specification. Then we will analyze the different users and list their
functional requirements and non-functional requirements for the system
in detail.
With all the specification and requirements we will create an
information model using an E-R diagram to describe the entities and the
relations between the entities. From the E-R diagram we will derive a
relational schema which will be used for the final database design. The
E-R diagram will be made in Visio.
GUI prototypes will follow using screen mockups in the form of images.
These mockups will be created using Photoshop.
To support implementation, a list of functions will be created describing
what actions these functions need to perform. The list will also include the
SQL statements that are needed to perform these actions.
During implementation, test scripts will be created. After implementation is
complete, the test scripts will be run by a few people to detect implementation
errors. The project will end when the implementation errors are fixed.
3 Scope Of The Project
The present project has been developed to meet the aspirations indicated in
the modern age. An attempt has been made through this project to do all
work ease & fast. It provide current add, Update, Move Next, Move
Previous , Move Last, Find & Delete all facilities to accomplish the desired
objectives. The facility Include in this project and the suggested activities
have been organized to impart knowledge & develop skill & attitude in the
Service official works.
Beyond the usual functions and equipment. This is to ensure that no efforts
are being made to fit previous solutions into new situations.
Practicality
The system must be stable and can be operated by people with average.
Efficiency
Cost
Flexibility
Security
This is very important aspect of the design and should cover areas of
hardware reliability, fall back procedures, physical security of data and
provision for detection of fraud and abuse.
System design involves first logical design and then physical construction of
the system. The logical design describes the structure and characteristics of
features, like the outputs, inputs, files, database and procedures. The
physical construction, which follows the logical design, produces actual
program software, files and a working system.
4. System Configuration
i) HARDWARE CONFIGURATION:
OPERATING SYSTEM
M.S.WORD
Microsoft word was first released in 1983 under the name multi-tool
word for system versions were later written for several other platforms. It
became part of the suite, in which it is referred to as Microsoft office word,
although it is still also sold as a standalone product or bundled with a full
featured word processing program for windows and the Macintosh from
Microsoft, it is sophisticated program with rudimentary desktop publishing
capabilities that has become the most widely used word processing applications
on the market the first various of word come out under dos and provided both
graphics-based and text-based interfaces for working with a document.
WINDOW 7
The difference being that the server Versions are designed to be dedicated
servers. The clients versions of windows may also share data over the network
and can be configured to grant access to all are specific files only. Windows
PC’s are used to access a verify of servers on the networks, including windows
servers, UNIX, Linux and network servers and mainframes. The most widely
used operating system for desktop and Laptop computer developed by the
Microsoft window primarily runs on the x 86-based CPU windows provide a
graphical user interface and desktop environment in application displayed in
resizable movable windows on screen. Window comes in both client and server
various, all of which support networking Windows 95 was the first 32-bit
windows operating system and a major upgrade from windows 3.1 it used an
entirely different user interface that incorporated the now common start menu
and taskbar. It was also the first time the computer booted directly into
windows, rather than being loaded after booting up in dos. Windows 98 was an
upgrade to Windows 95 that tightly integrated the internet explorer, web
browser with the O/S. In 1999 windows 98 second edition fixed numerous bugs
and upgraded its applications.
MS-DOS
Object-Oriented:-
Event-Driven:-
All previous versions of Visual Basic.net were event-driven, but this feature is
heavily enhanced under the vb.net framework. Events are no longer recognized
because they use certain naming convention (Object Name Event Name), but
now are declared with a Handles Object Name. Event Name clause. Event
handlers can also be declared at runtime using the Add Handler command.
6. System Analysis
I. Preliminary Investigation
II. Feasibility Study
III. Fact Finding Techniques
IV. Cost Benefit Analysis
V. Entity Relationship Model
VI. Data Flow Diagram
VII. Normalization
i) Preliminary Investigation
Technical Feasibility
Behavioral Feasibility
This feasibility test asks if the system will work when it is developed and
installed Operational feasibility in this project:
Economical feasibility
The various document of the office was studied and after a short interview
the fact finding was finished and certain
questions were arising that:
1. No problem of retrieval.
2. There is no extra Guide is needed.
3. Yes they want the proposed system of Hardware Detailing.
4. Yes office member is benefited.
5. Yes they are ready to accept the changes.
vi) Normalization
I. Simply stated entity in 1NF if there are no attributes that can have more than
one value for single instance of the entity any attribute that can have multiple
values actually describe a separate entity possibly an entity and relationship.
II. An entity is in 2NF if it is already in 1NF and if the value of all non primary
key attributes that are dependent on only part of primary key should be moved
to any entity where that partial key is actually the full key. That may require
creating a new entity and relationship of model.
III. An entity is in 3NF if it is already in 2NF and if the value of it non primary
key attributes that are not dependent on another non primary key attributes.
Any non primary key attributes that are dependent on other non primary key
attributes must be moved or deleted. Again new entities and relationship may
have to be added to the data model. For our convenience we have not taken the
concept of Normalization in consideration in our project.
7. Implementation
8. DATA DICTIONARY
9.DATABASE –DESIGN
The aim of this project was to save the time, make the processing faster
and accurate and to automate the Hotel management system. Maintaining the
activities of managerial area, which would not only help the employees
related to the services but also the members.
Thus all the objectives that were determined in the beginning were mate.
This system makes the management activities of service faster and accurate.
It increases the efficiency of the management system and changes a
complicated system to a simpler system. Though it has some limitations still
then it works efficiently.