0% found this document useful (0 votes)
25 views

Sunita Project File

Uploaded by

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

Sunita Project File

Uploaded by

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

Session 2021-2024

BCA 3rd YEAR

Project Report
On
Online Food
Ordering System

SUBMITTED BY: SUBMITTED TO:


Sunita Rana Vishal Kumar
CERTIFICATE

The under signed hereby declare the project report untilled “A project report on
The online food ordering System” Submitted by me to the University is the
Partial fulfilment for the award of degree of BCA (Bachelor of Computer
Application) under the guidance of “Mr. Vishal Kumar” is an independent work
carried out by me during my summer training.

Place: Sunita Rana


Date: BCA VI Semester
ACKNOWLEDGEMENT

My debts are many and I acknowledge them with much pride and delight. This
project report was undertaken for the fulfilment of BCA program pursing at
Roorkee Bishamber Sahai Group of Institutes and I would like to thanks my
institute which has provide me the opportunity for doing this project work.

I am extremely grateful to Mr. Vishal Kumar (HOD of Computer Science


Department) for his invaluable help and guidance throughout my work, he kindly
invented keen interest in my work furnished some useful comment which could
enrich the work substantially.

In fact, it is very difficult to acknowledge all the name and nature of help and
encouragement provide by them I would never forget the help and support
extended directly and indirectly to me by all.

Date:
CERTIFICATE

This is certified that Sunita Rana has satisfactory complete the project work
entitled “A project report on Online food ordering System” is based on the
declaration made by the candidate and me association as a guide for carrying out
this project work. I recommended for this project for evaluation as a part of the
BCA program Bishamber Sahai Group of Institutes.

Place:…………..
Date: Prof.:
Table of Contents

Chapter 1. Introduction 6

Chapter 2. Hardware and Software requirement 10

Chapter 3. System Analysis 12

Chapter 4. Implementation issues 14

Chapter 5. System Design 19

Chapter 6. Testing And Implementation 28

Chapter 7. Screenshot 33

Chapter 8. Coding 37

Chapter 9. Advantages & Limitations 39


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, labour 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 labour 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 SOFTWARE REQUIREMENTS

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
Chapter 3

SYSTEM ANALYSIS

Contents:

1 PC with 250 GB or more Hard disk.


2 PC with 2 GB RAM.
3 PC with Pentium 1 and above.
 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 business’s 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 behaviour 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 free Code Camp (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
spreadsheet.
• 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

custom Remove
Registration
Food
Select
Food
Add
login
order
item
item
item
item Admin
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 modelled.

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

Data Flow Diagram Notation

Process/Function

File/database

depending on the complexity that function.

Input

Flow
Level 0
Order for food Managementreport

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

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 modelling is a relational schema database
modelling 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.
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.

Benefits

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 information 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