0% found this document useful (0 votes)
62 views44 pages

297 Varun C

Uploaded by

bishalgogoi09735
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views44 pages

297 Varun C

Uploaded by

bishalgogoi09735
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

The Bhopal School Of Social Science

CLASS-BCA 3rd YEAR

SUBJECT– PROJECT APPLICATION DEVELOPMENT


USING PHP &MYSQL
TOPIC:-REPORT ON RESTAURANT WEBSITE

(Online food ordering)

SUBMITTEDTO: SUBMITTED BY:


ZEESHAN AHMED VARUN CHACHODIYA
SHIVANGI BIND
ABSTRACT

The main objective of “The Online Food Ordering System” is to manage the
details of Item Category, Order ,Cart . Online Food ordering system is a process in which
one can order various foods from restaurant through the use of internet , just by sitting at
home or any place. It manages all the information about Item Category, Customer, Cart . The
project is totally built at administrative end and thus only the administrator is guaranteed the
access. The purpose of the project is to build an application program to reduce the manual
work for managing the Item Category, Food, Customer .

The project connects different customers with restaurants . The project contains an
admin(manager) and the user side. All the management like editing site contents, updating
food items and checking order status can be managed from the admin side.

This system will allow hotels and restaurants to increase scope of business by reducing the
labor cost involved. The system also allows to quickly and easily manage an online menu
which customers can browse and use to place orders with just few clicks. Restaurant
employees then use these orders through an easy to navigate graphical interface for efficient
processing.
Table of Contents

Chapter 1 . Introduction

➢ Introduction to the System


➢ Aim
➢ Objective
➢ Goal
➢ Problem
➢ Need of System

Chapter 2. Hardware and Software requirement

➢ Introduction
➢ System environment
➢ Software requirement
➢ Hardware requirements

Chapter 3. System Analysis

➢ Purpose
➢ Project Scope
➢ Existing System
➢ Proposed System
➢ System Description
Chapter 4 . Implementation issues

➢ HTML
➢ Cascading style sheet(CSS)
➢ Bootstrap
➢ Javascript
➢ PHP
➢ MySql

Chapter 5. System Design

➢ Use case diagram


➢ ER Diagram
➢ Data flow diagram

Chapter 6 . Testing And Implementation

Chapter7 . Screenshot

Chapter 8 . Coding
CHAPTER # 9 , Advantages & Limitations

➢ advantages
➢ Limitation
➢ Future scope
➢ Bibliography
CHAPTER # 1

INTRODUCTION

Contents:
▪ Introduction
▪ Problem Definition
▪ Aim
▪ Objective
▪ Goal
▪ Need of System

Introduction to the System:

The project Online Food ordering system is a web based application that allows the
administrator to handle all the activities online quickly and safely.

As a restaurant owner or manager, you need to do whatever you can to strengthen the bottom
line. A higher volume of orders means you are making more money, so it stands to reason
you would want to do whatever is necessary to make that happen. An online ordering system
gives you a platform from which to boost sales

Online ordering system that I am proposing here, greatly simplifies the ordering process for
both the customer and the restaurant. System presents an interactive and up-to-date menu
with all available options in an easy to use manner. Customer can choose one or more items
to place an order. Customer can view all the order details in the cart . At the end, customer
gets order confirmation details. Once the order is placed it is entered in the database and
retrieved in pretty much real time. This allows Restaurant Employees to quickly go through
the orders as they are received and process all orders efficiently and effectively with minimal
delays and confusion
Aim:

"To Manage Online Food Ordering System".

Our proposed system is an online food ordering system that enables ease for the customers.
Our proposed system is a medium to order online food free from restaurants. This system
improves the method of taking the order from customer. The online food ordering system sets
up of food item online and customers can easily place the order as per their wish. This system
also provides a send message system in which user can send message for any inquiry or
suggestion and the hotel staff will be informed for the improvements along with the quality.
Objective:

The objectives of this project are:

▪ To order food rapidly


▪ To make it convenient for people who have limited time
▪ Cost reduction
▪ Reduced paper work
▪ Computerized Order and billing system

One of the main objectives of a restaurant to ensure customer satisfaction. Manual

listing of orders by the waiters/waitresses may result to slow response in customer service.
Hence, if the restaurant uses the proposed system, manipulation of orders to the customers be
so easy and quick by just touching on the tablet and choosing the desired menu.

Goal:

The project is basically targeted at those people who would like online shopping and have an
Internet access . Finally buyers curious in comparing the prices for various products for
according our budget.

To make a database that is consistent, reliable and secure.

To provide correct, complete, ongoing information.

To develop a well-organized information storage system.

To make good documentation so as to facilitate possible future enhancements.


Problem

This Case study looks at the problem of setting up a food restaurant. In existing system there
are few

problems:

• For placing any orders customers have to visit hotels or restaurants to know about food
items and then place order and pay. In this method time and manual work is required.

• While placing an order over the phone, customer lacks the physical copy of the menu item,
lack of visual confirmation that the order was placed correctly.

• Every restaurant needs certain employees to take the order over phone or in-person . In
today’s market, labor rates are increasing day by day making it difficult to find employees
when needed.

Hence, to solve this issue, what I propose is an “Online Food Order System, originally
designed for small scale business.

Benefits are:

1. This will minimize the number of employees at the back of the counter.

2. The system will help to reduce labor cost involved.

3. The system will be less probable to make mistake, since it’s a machine.

4. This will avoid long queues at the counter due to the speed of execution and number of

optimum screens to accommodate the maximum throughput.

Need of the System:


There is always a need of a system that will perform to ordering of foods online.

This system will reduce the manual operation required to maintain all the records of booking,
information. And also generates the various reports for analysis. Main concept of the project
is to enter transaction reports and to maintain customer records. Hence this software can be
used in any restaurant to maintain their record easily

CHAPTER # 2
Hardware And Softwarerequirements

Contents:
▪ . Introduction
▪ System environment
▪ . Software requirement
▪ Hardware requirements

Introduction:

In this chapter we mentioned the software and hardware requirements, which are necessary
for successfully running this system. The major element in building systems is selecting
compatible hardware and software. The system analyst has to determine what software
package is best for the "Online Food ordering System" and, where software is not an issue,
the kind of hardware and peripherals needed for the final conversion.
System Environment:

After analysis, some resources are required to convert the abstract system into the real one.
All the resources, which accomplish a robust The hardware and software selection begins
with requirement analysis, followed by a request for proposal and vendor evaluation.

Software and real system, are identified. According to the provided functional specification
all the technologies and its capacities are identified. Basic functions and procedures and
methodologies are prepared to implement. Some of the Basic requirements such as hardware
and software are described as follows: -

Hardware and Software Specification

Project Name : Online Food Ordering System

Software Requirements:

Language Used : PHP

Database : MySQL

User Interface Design : HTML, CSS, BOOTSTRAP,JAVASCRIPT

Web Browser : Mozilla, Google Chrome, IE8, OPERA

Software : XAMPP / Wamp / Mamp/ Lamp (anyone)

Food Ordering System using PHP and MySQL


Operating System: Microsoft Windows/Linux

Hardware Requirements:

1 PC with 250 GB or more Hard disk.


2 PC with 2 GB RAM.
3 PC with Pentium 1 and Above.

Chapter 3
System Analysis

Contents:

▪ Purpose
▪ Project Scope
▪ Existing System
▪ Proposed System
▪ System Overview

Purpose:

To manage the online food ordering. It helps to customer to order foods from anywhere.

Project Scope:
The project has a wide scope, as it is not intended to a particular organization. This project is
going to develop generic software, which can be applied by any businesses organization.
Moreover it provides facility to its customer. Also the software is going to provide a huge
amount of summary data.

Proposed System:

The Online Food Ordering system is available in the market that can serve customers to order
foods online.

System Overview:

The key features required in the system are as follows:

Login: ADMIN or USER. The ADMIN has all the rights in the
software including updating the status of his site. The other fields
in login are username and password. If the username and password
are correct then it is directed to next page.
New user: This module is for the users who do not have their account. Here user is
allowed to registration an account to login. The filling the registration form with user
details such as name, phone, email etc.

Product/dish: This module has information regarding the food


such as its name, category, price, its features etc. The ADMIN has
the authority to Add, Delete, Update etc. The USER can only view
and order the Foods, add to cart only those in the stock etc.

CHAPTER #4
Implementation Issues

Brief overview of the technology:

Front end: HTML, CSS, JavaScript

1 HTML:

Hypertext Markup Language (HTML) is the standard markup language for documents
designed to be displayed in a web browser. It can be assisted by technologies such as
Cascading Style Sheets (CSS) and scripting languages such as JavaScript. Web browsers
receive HTML documents from a web server or from local storage and render the documents
into multimedia web pages. HTML describes the structure of a web page semantically and
originally included cues for the appearance of the document.

HTML elements are the building blocks of HTML pages. With HTML constructs, images
and other objects such as interactive forms may be embedded into the rendered page. HTML
provides a means to create structured documents by denoting structural semantics for text
such as headings, paragraphs, lists, links, quotes and other items. HTML elements are
delineated by tags, written using angle brackets. Tags such as <img /> and <input /> directly
introduce content into the page. Other tags such as <p> surround and provide information
about document text and may include other tags as sub-elements. Browsers do not display the
HTML tags, but use them to interpret the content of the page.

HTML can embed programs written in a scripting language such as JavaScript, which affects
the behavior and content of web pages. Inclusion of CSS defines the look and layout of
content. The World Wide Web Consortium (W3C), former maintainer of the HTML and
current maintainer of the CSS standards, has encouraged the use of CSS over explicit
presentational HTML since 1997.

2- CSS : (Cascading Style Sheets) Create attractive Layout

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of
a document written in a markup language like HTML.CSS is a cornerstone technology of the
World Wide Web, alongside HTML and JavaScript.CSS is designed to enable the separation
of presentation and content, including layout, colors, and fonts.This separation can improve
content accessibility, provide more flexibility and control in the specification of presentation
characteristics, enable multiple web pages to share formatting by specifying the relevant CSS
in a separate .css file, and reduce complexity and repetition in the structural content.

CSS information can be provided from various sources. These sources can be the web
browser, the user and the author. The information from the author can be further classified
into inline, media type, importance, selector specificity, rule order, inheritance and property
definition. CSS style information can be in a separate document or it can be embedded into
an HTML document. Multiple style sheets can be imported. Different styles can be applied
depending on the output device being used; for example, the screen version can be quite
different from the printed version, so that authors can tailor the presentation appropriately for
each medium.The style sheet with the highest priority controls the content display.
Declarations not set in the highest priority source are passed on to a source of lower priority,
such as the user agent style. The process is called cascading.

One of the goals of CSS is to allow users greater control over presentation. Someone who
finds red italic headings difficult to read may apply a different style sheet. Depending on the
browser and the web site, a user may choose from various style sheets provided by the
designers, or may remove all added styles and view the site using the browser's default
styling, or may override just the red italic heading style without altering other attributes.

3 Bootstrap :

Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-
end web development. It contains CSS- and (optionally) JavaScript-based design templates
for typography, forms, buttons, navigation, and other interface components.

Bootstrap is among the most starred projects on GitHub, with more than 142,000 stars,
behind freeCodeCamp (almost 312,000 stars) and marginally behind Vue.js framework.

Bootstrap is a HTML, CSS & JS Library that focuses on simplifying the development of
informative web pages (as opposed to web apps). The primary purpose of adding it to a web
project is to apply Bootstrap's choices of color, size, font and layout to that project. As such,
the primary factor is whether the developers in charge find those choices to their liking. Once
added to a project, Bootstrap provides basic style definitions for all HTML elements. The
result is a uniform appearance for prose, tables and form elements across web browsers. In
addition, developers can take advantage of CSS classes defined in Bootstrap to further
customize the appearance of their contents. For example, Bootstrap has provisioned for light-
and dark-colored tables, page headings, more prominent pull quotes, and text with a
highlight.

4 JavaScript: it is a programming language, commonly use with


web browsers.

JavaScript s a high-level, interpreted scripting language that conforms to the ECMAScript


specification. JavaScript has curly-bracket syntax, dynamic typing, prototype-based object-
orientation, and first-class functions.Alongside HTML and CSS, JavaScript is one of the core
technologies of the World Wide Web.JavaScript enables interactive web pages and is an
essential part of web applications. The vast majority of websites use it,and major web
browsers have a dedicated JavaScript engine to execute it.As a multi-paradigm language,
JavaScript supports event-driven, functional, and imperative (including object-oriented and
prototype-based) programming styles. It has APIs for working with text, arrays, dates, regular
expressions, and the DOM, but the language itself does not include any I/O, such as
networking, storage, or graphics facilities. It relies upon the host environment in which it is
embedded to provide these features.

Initially only implemented client-side in web browsers, JavaScript engines are now
embedded in many other types of host software, including server-side in web servers and
databases, and in non-web programs such as word processors and PDF software, and in
runtime environments that make JavaScript available for writing mobile and desktop
applications, including desktop widgets.

The terms Vanilla JavaScript and Vanilla JS refer to JavaScript not extended by any
frameworks or additional libraries. Scripts written in Vanilla JS are plain JavaScript
code.Google's Chrome extensions, Opera's extensions, Apple's Safari 5 extensions, Apple's
Dashboard Widgets, Microsoft's Gadgets, Yahoo! Widgets, Google Desktop Gadgets, and
Serence Klipfolio are implemented using JavaScript.
Back end: PHP, MySQL

1- PHP: Hypertext Preprocessor (PHP)

PHP is a server side scripting language that is used to develop Static websites or Dynamic
websites or Web applications. PHP stands for Hypertext Pre-processor, that earlier stood for
Personal Home Pages. PHP scripts can only be interpreted on a server that has PHP installed.
The client computers accessing the PHP scripts require a web browser only. A PHP file
contains PHP tags and ends with the extension ".php".

The term PHP is an acronym for PHP: Hypertext Preprocessor. PHP is a server-side scripting
language designed specifically for web development. PHP can be easily embedded in HTML
files and HTML codes can also be written in a PHP file. The thing that differentiates PHP
with client-side language like HTML is, PHP codes are executed on the server whereas
HTML codes are directly rendered on the browser.
PHP: Hypertext Preprocessor (or simply PHP) is a general-purpose programming language
originally designed for web development. It was originally created by Rasmus Lerdorf in
1994.PHP code may be executed with a command line interface (CLI), embedded into
HTML code, or used in combination with various web template systems, web content
management systems, and web frameworks. PHP code is usually processed by a PHP
interpreter implemented as a module in a web server or as a Common Gateway Interface
(CGI) executable. The web server outputs the results of the interpreted and executed PHP
code, which may be any type of data, such as generated HTML code or binary image data.
PHP can be used for many programming tasks outside of the web context, such as standalone
graphical applications and robotic drone control.

2-MySQL:
MySQL is an open source relational database management system (RDBMS) based on
Structured Query Language (SQL). It is one part of the very popular LAMP platform
consisting of Linux, Apache, My SQL, and PHP. Currently My SQL is owned by Oracle. My
SQL database is available on most important OS platforms. It runs on BSD Unix, Linux,
Windows, or Mac OS. Wikipedia and YouTube use My SQL. These sites manage millions of
queries each day. My SQL comes in two versions: My SQL server system and My SQL
embedded system.

RDBMS TERMINOLOGY

Before we proceed to explain MySQL database system, let's revise few definitions related to
database.

• Database: A database is a collection of tables, with related data.


• Table: A table is a matrix with data. A table in a database looks like a simple
spadsheet.
• Column: One column (data element) contains data of one and the same kind, for
example the column postcode.
• Row: A row (= tuple, entry or record) is a group of related data, for example the data
of one subscription.
• Redundancy: Storing data twice, redundantly to make the system faster.
• Primary Key: A primary key is unique. A key value cannot occur twice in one table.
With a key, you can find at most one row.
• Foreign Key: A foreign key is the linking pin between two tables.
• Compound Key: A compound key (composite key) is a key that consists of multiple
columns, because one column is not sufficiently unique.
• Index: An index in a database resembles an index at the back of a book.
• Referential Integrity: Referential Integrity makes sure that a foreign key value
always points to an existing row.

CHAPTER # 5
System Design

Contents:

▪ Use case diagram


▪ ER Diagram
▪ Data flow diagram

Use Case Diagram:


• Use case diagram consists of use cases and actors and shows the interaction between them.
The key points are:

The main purpose is to show the interaction between the use cases and the actor.

To represent the system requirement from user's perspective.

The use cases are the functions that are to be performed in the module

USE CASE DIAGRAM

Registratio
n

login

Food item

Select item

Add item

Remove item

custom Admin
er
Food order
Data Flow Diagram

A Data Flow Diagram (DFD) is a graphical representation of the flow of data through an
Information System. A data flow diagram can also be used for the visualization of Data
Processing. It is common practice for a designer to draw a context-level DFD first which
shows the interaction between the system and outside entities. This context-level DFD is then
"exploded" to show more detail of the system being modeled.

A picture is worth a thousand words. A Data Flow Diagram (DFD) is a traditional way to
visualize the information flows within a system. A neat and clear DFD can depict a good
amount of the system requirements graphically. It can be manual, automated, or a
combination of both.

It shows how information enters and leaves the system, what changes the information and
where information is stored. The purpose of a DFD is to show the scope and boundaries of
a system as a whole. It may be used as a communications tool between a systems analyst
and any person who plays a part in the system that acts as the starting point for redesigning
a system.

It is usually beginning with a context diagram as level 0 of the DFD diagram, a simple
representation of the whole system. To elaborate further from that, we drill down to a level
1 diagram with lower-level functions decomposed from the major functions of the system.
This could continue to evolve to become a level 2 diagram when further analysis is
required. Progression to levels 3, 4 and so on is possible but anything beyond level 3 is not
very common. Please bear in mind that the level of detail for decomposing a particular
function depending on the complexity that function.

Data Flow Diagram Notation

Process/Function

File/database
Input

flow

Level 0

Order for food Management report

0.0

Customer/user Online food Admin/manager


order system

Bill
Receipt
Level 1

1.0
Order for food
Customer/user Processing of
Receipt order

Check
Verified
Selected item

Login / reg.
Formatted of cart item
2.0

Add item to
cart Db of cart item

Info. About item and price


2.0

Generate
management Management
report report

Admin

Level 2

1.0

Order for food Processing of Available food for order


Customer order

Check 1.0
Verified
Selected item Category &
Dish
Login / reg.

2.0

Add item to
Formatted of cart item cart

Db of cart item Management


1.0
Add & Remove
Contact us

Info. About item and price

Communication
With user
2.0

Generate
management Management 2.0
report report
Dashboard
Admin

management
Verified

Login / reg. Admin


Check

Entity Relationship Diagrams (ER-Diagrams):

An entity-relationship (ER) diagram is a specialized graphic that illustrates the


interrelationships between entities in a database. ER diagrams often use symbols to represent
three different types of information Boxes are commonly used to represent entities.
Diamonds are normally used to represent relationships and ovals are used to represent
attributes

An entity-relationship model (ERM) in software engineering is an abstract and conceptual


representation of data. Entity-relationship modeling is a relational schema database modeling
method, used to produce a type of conceptual schema or semantic data model of a system,
often a relational database, and its requirements in a top-down fashion.
Dish_id
mobile passwo id
rd
Email price

Name
USER Place order orderid

Id
Belog to

Email category

Admin manages Dashboard


Name
Dish

Id
Contact us User
passwor
usernam d
e
Chapter #6
TESTING AND IMPLEMENTATION

UNIT TESTING

Introduction

In computer programming, unit testing is a software testing method by which individual units
of source code, sets of one or more computer program modules together with associated
control data, usage procedures, and operating procedures, are tested to determine whether
they are fit for use. Intuitively, one can view a unit as the smallest testable part of an
application. In procedural programming, a unit could be an entire module, but it is more
commonly an individual function or procedure. In object-oriented programming, a unit is
often an entire interface, such as a class, but could be an individual method. Unit tests are
short code fragments created by programmers or occasionally by white box testers during the
development process. It forms the basis for component testing. Ideally, each test case is
independent from the others. Substitutes such as method stubs, mock objects, fakes, and test
harnesses can be used to assist testing a module in isolation. Unit tests are typically written
and run by software developers to ensure that code meets its design and behaves as intended.

Benifits
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.

1) Find problems early : Unit testing finds problems early in the development cycle. In test-
driven development (TDD), which is frequently used in both extreme
programming and scrum, unit tests are created before the code itself is written. When the tests
pass, that code is considered complete. The same unit tests are run against that function
frequently as the larger code base is developed either as the code is changed or via an
automated process with the build. If the unit tests fail, it is considered to be a bug either in the
changed code or the tests themselves. The unit tests then allow the location of the fault or
failure to be easily traced. Since the unit tests alert the development team of the problem
before handing the code off to testers or clients, it is still early in the development process.

2 ) Facilitates Change : Unit testing allows the programmer to refactor code or upgrade
system libraries at a later date, and make sure the module still works correctly (e.g.,
in 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. Unit tests detect changes
which may break a design contract.

3 ) Simplifies Integration : Unit testing may reduce uncertainty in the units themselves and
can be used in a bottom-up testing style approach. By testing the parts of a program first and
then testing the sum of its parts, integration testing becomes much easier.

4 ) Documentation : Unit testing provides a sort of living documentation of the system.


Developers looking to learn what functionality is provided by a unit, and how to use it, can
look at the unit tests to gain a basic understanding of the unit's interface (API).Unit test
cases embody characteristics that are critical to the success of the unit. These characteristics
can indicate appropriate/inappropriate use of a unit as well as negative behaviors that are to
be trapped by the unit. A unit test case, in and of itself, documents these critical
characteristics, although many software development environments do not rely solely upon
code to document the product in development.
INTEGRATION TESTING

Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase
in software testing in which individual software modules are combined and tested as a group.
It occurs after unit testing and before validation 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.

Purpose

The purpose of integration testing is to verify functional, performance, and


reliability requirements placed on major design items. These "design items", i.e., assemblages
(or groups of units), are exercised through their interfaces using black-box testing, success
and error cases being simulated via appropriate parameter and data inputs. Simulated usage of
shared data areas and inter-process communication is tested and individual subsystems are
exercised through their input interface. Test cases are constructed to test whether all the
components within assemblages interact correctly, for example across procedure calls or
process activations, and this is done after testing individual modules, i.e., unit testing. The
overall idea is a "building block" approach, in which verified assemblages are added to a
verified base which is then used to support the integration testing of further
assemblages.Software integration testing is performed according to the software development
life cycle (SDLC) after module and functional tests. The cross-dependencies for software
integration testing are: schedule for integration testing, strategy and selection of the tools
used for integration, define the cyclomatical complexity of the software and software
architecture, reusability of modules and life-cycle and versioning management.Some
different types of integration testing are big-bang, top-down, and bottom-up, mixed
(sandwich) and risky-hardest. Other Integration Patterns[2] are: collaboration integration,
backbone integration, layer integration, client-server integration, distributed services
integration and high-frequency integration.

Big Bang

In the big-bang approach, most of the developed modules are coupled together to form a
complete software system or major part of the system and then used for integration testing.
This method is very effective for saving time in the integration testing process. However, if
the test cases and their results are not recorded properly, the entire integration process will be
more complicated and may prevent the testing team from achieving the goal of integration
testing.A type of big-bang integration testing is called "usage model testing" which can be
used in both software and hardware integration testing. The basis behind this type of
integration testing is to run user-like workloads in integrated user-like environments. In doing
the testing in this manner, the environment is proofed, while the individual components are
proofed indirectly through their use. Usage Model testing takes an optimistic approach to
testing, because it expects to have few problems with the individual components. The
strategy relies heavily on the component developers to do the isolated unit testing for their
product. The goal of the strategy is to avoid redoing the testing done by the developers, and
instead flesh-out problems caused by the interaction of the components in the environment.
For integration testing, Usage Model testing can be more efficient and provides better test
coverage than traditional focused functional integration testing. To be more efficient and
accurate, care must be used in defining the user-like workloads for creating realistic scenarios
in exercising the environment. This gives confidence that the integrated environment will
work as expected for the target customers.

Top-down And Bottom-up

Bottom-up testing is an approach to integrated testing where the lowest level components are
tested first, then used to facilitate the testing of higher level components. The process is
repeated until the component at the top of the hierarchy is tested.All the bottom or low-level
modules, procedures or functions are integrated and then tested. After the integration testing
of lower level integrated modules, the next level of modules will be formed and can be used
for integration testing. This approach is helpful only when all or most of the modules of the
same development level are ready. This method also helps to determine the levels of software
developed and makes it easier to report testing progress in the form of a percentage.Top-
down testing is an approach to integrated testing where the top integrated modules are tested
and the branch of the module is tested step by step until the end of the related
module.Sandwich testing is an approach to combine top down testing with bottom up testing.

SYSTEM TESTING

System testing of software or hardware is testing conducted on a complete,


integrated system to evaluate the system's compliance with its
specified requirements. System testing falls within the scope of black-box
testing, and as such, should require no knowledge of the inner design of
the code or logic. As a rule, system testing takes, as its input, all of the
"integrated" software components that have passed integration testing and
also the software system itself integrated with any applicable hardware
system(s). The purpose of integration testing is to detect any
inconsistencies between the software units that are integrated together
(called assemblages) or between any of the assemblages and the hardware.
System testing is a more limited type of testing; it seeks to detect defects
both within the "inter-assemblages" and also within the system as a whole.

System testing is performed on the entire system in the context of


a Functional Requirement Specification(s) (FRS) and/or a System
Requirement Specification (SRS). System testing tests not only the design,
but also the behavior and even the believed expectations of the customer.
It is also intended to test up to and beyond the bounds defined in the
software/hardware requirements specification(s).
CHAPTER # 7 Screenshots
CHAPTER # 8 code

Web Ordering System Module

This module provides the functionality for customers to place their order and
supply necessary details. Users of the system, namely restaurant customers,
must be provided the following functionality:

• Create an account.

• Manage their account.

• Log in to the system.

• Navigate the restaurant’s menu.

• Select an item from the menu.

• Add an item to their current order.

• Review their current order.

• Remove an item/remove all items from their current order.

• Provide payment details.

• Place an order.
• Receive confirmation in the form of an order number.

• View order placed.

Menu Management System Module

This module provides functionality for the power Administrator only. It will not
be available to any other users of the system like Restaurant Employees or
Customers.

Using a graphical interface, it will allow an Admin to manage the menu that is
displayed to users of the web ordering system:

• Add/update/delete dish category to/from the menu.

• Add /update/delete dish item to/from the menu.

• Update price for a given dish item.

• Update additional information for a given food item

Menu Management System Module


Similar to Web ordering system, this module presents Admin with below
additional options

• Add Category: Allows to add a food Category name in a simple form.

• Add dish: Allows to add dish Name, dish details, Price and choose Category

• Modify dish: Allows updating or deleting dish details.

CHAPTER # 9 , Advantages & Limitations

Advantages of "Online Food order System":


"Online Food order System" provides various features, which complement the information
system and increase the productivity of the system. These features make the system easily
usable and convenient Some of the important features included are listed as follows:

1) Intelligent User Forms Design


2) Data access and manipulation through same forms
3) Access to most required information
4) Data Security
5) Restrictive data access, as per login assigned only.
6) No decay of old Records.

Limitations of "Online Food order System":

Besides the above achievements and the successful completion of the project, we still feel the
project has some limitations, listed as below

1) It is not a large scale system.


2) Only limited infomation provided by this system.
3) Since it is an online project, customers need internet connection to buy
products
4) People who are not familiar with computers can't use this software.
Future scope :
The following section describes the work that will be implemented with future releases of the
software.

• Customize orders: Allow customers to customize food orders

• Enhance User Interface by adding more user interactive features. Provide Deals and
promotional

Offer details to home page. Provide Recipes of the Week/Day to Home Page

• Payment Options: Add different payment options such as PayPal, Cash, Gift Cards etc.
Allow to

save payment details for future use.

• Allow to process an order as a Guest

• Delivery Options: Add delivery option

• Order Process Estimate: Provide customer a visual graphical order status bar

• Order Status: Show only Active orders to Restaurant Employees.


• Order Ready notification: Send an Order Ready notification to the customer

• Restaurant Locator: Allow to find and choose a nearby restaurant

• Integrate with In store touch screen devices like iPad

Bibliography:
• https://getbootstrap.com/
• https://www.w3schools.com/php/default.asp
• https://www.w3schools.com/html/default.asp
• https://www.youtube.com/

You might also like