Introduction
1.1 Overview
Food ordering system means it an application which will help restaurants to optimized and
control over their restaurants. and my project “ Food ordering system” {The Foodie} is also
based on the same point .
Through this website user can do a lot of things from anywhere from home, from office ,
from train and many more places .
User can order his/her favourite food from desired restaurant and enjoy them with his/her
loved ones. and through this website only the admin who has the contraption power of this
website can look up to every activities of user and can guide or help them whenever a user is
needed for help.
---
As you open the website The Foodie a animated page will load and it will have two options
one i.e log-in and other i.e sign-up.
If a user is new to the website then he has to sign-up first then he will get a user id and
password , through which he can then
Login into the website easily, and if he has that user id and password from previously so he
can direct switch on to login area.
After login the user will be redirected to home page where he will get to see a navbar
containing options like about section, menu section , cart section, contact section, logout
section .
Scrolling down there he will get option to explore our website. Then if he want to book order
for food then he will get option of verities of foods options user have to go down the website
where the option will be available.
User can book his favourite foods and can cancel it also , after booking the page will redirect
to add to cart he will get a message that his order has been placed after that it will lead to
the payment option , where user has to pay the required amount through Cash on Delivery
or Wallet.
And all these activities can be controlled by admin he will get notification whenever any user
will login into the website and place any order. Admin can add ,delete and update foods and
drinks option and can handle the database options also.
All over the world wide ,the food delivery account for the 93 milion, the one percent is form
total food market and including the 4 percent restaurant and fast food chains in many
countries this no growth rate will continually to increase at 3.5 percent in the next five yrs .
1.2 Objective
It is required to keep the computerized data, as it is difficult to do manually
and is also fast as it takes less time. Purpose to computerize its data is to
overcome from hazard of manual system. This web portal is developed as
to deliver food to everyone in more efficient and effective way.
Requirement and Analysis
2.1 Software Requirement Specification
A software requirements specification (SRS) is a detailed description of a software system to
be developed with its functional and non-functional requirements. The SRS is developed
based the agreement between customer and contractors. It may include the use cases of how
user is going to interact with software system.
The software requirement specification document consistent of all necessary
requirements required for project development. To develop the software system we should
have clear understanding of Software system. To achieve this we need to continuous
communication with customers to gather all requirements.
2.1.1 Data Gathering
Data Gathering is the process of gathering and measuring information on variables of interest,
in an established systematic fashion that enables one to answer stated research questions, test
hypotheses, and evaluate outcomes. The data collection component of research is common to
all fields of study including physical and social sciences, humanities, business, etc.
Data gathering techniques used in the (Software Development Lifecycle) SDLC.
2.1.2 Feasibility Study
The measure of how beneficial or practical the development of informant system will be to an
organization. along this topic feasibility is measured. So far taking the feasibility study and
feasibility analysis during the development of the project food Ordering system we have
studied on the following four major categories of feasibility study .
Operational feasibility : Operational feasibility is the measure of how well a
proposed system solves the problems, and takes advantage of the opportunities
identified during scope definition and how it satisfies the requirements identified in
the requirements analysis phase of system development.
Technical feasibility : A technical feasibility study assesses the details of how you
intend to deliver a product or service to customers. Think materials, labour,
transportation, where your business will be located, and the technology that will be
necessary to bring all this together.
Schedule Feasibility : Schedule Feasibility is defined as the probability of a project
to be completed within its scheduled time limits, by a planned due date. If a project
has a high probability to be completed on-time, then its schedule feasibility is
appraised as high.
Economic feasibility : the degree to which the economic advantages of something to
be made, done, or achieved are greater than the economic costs: The state
commissioned a report on the economic feasibility of a single-payer health system.
During the development of food Ordering system . we have tried to address all these
feasibility analysis phases seriously . That’s why we think , our project will succeed properly.
Software Process Model
A waterfall model under the software development life cycle (SDLC) is the methodology
used to produce the food ordering system and the customer self ordering system. It is used by
system developers to produce or alter information systems or software.
It divides the development process into several stages or processes. After the
completion of one stage, it will logically move to another stage. Sometimes moving back to
the previous stage is necessary due to failure that occurs in current stage.
Fig. 2.1.3
2.2 Hardware Requirement
Processor : 1.6GHz or Faster
Disk space: 4GB of Available Hard Disk
RAM: 2GB
Graphics – Directx 9- capable Video Card
Display – 1024 x 768 or Higher Resolution
2.3 Software Requirement
Operating System : Windows (Vista/7 or above)
Web Browser: IE 10 or above, Mozilla FF 31 and above or Google Chrome
Xampp
2.4 Justification of Selection of Technology
2.4.1 XAMPP
XAMPP is a free and open-source cross-platform web server solution stack package
developed by Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB
database, and interpreters for scripts written in the PHP and Perl programming languages.
2.4.2 Language
HTML : Hypertext Markup Language is the standard markup language for
documents designed to be displayed in a web browser. It can be assisted
technologies such as Cascading Style Sheets and scripting languages such as
JavaScript.
CSS : 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.
Bootstrap : Bootstrap is a free and open-source CSS framework directed at
responsive, mobile-first front-end web development. It contains CSS and
JavaScript-based design templates for typography, forms, buttons, modals
navigation, and other interface components.
JavaScript : JavaScript is a programming language that conforms to the
ECMAScript specification. JavaScript is high-level, often just-in-time compiled,
and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-
based object-orientation, and first-class functions.
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.
JQuery : jQuery is a JavaScript library designed to simplify HTML DOM tree
traversal and manipulation, as well as event handling, CSS animation, and Ajax.
2.4.3 MySQL
MySQL is an open-source relational database management system. Its name is a combination
of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the abbreviation
for Structured Query Language.
This application is widely used for purposes, including data warehousing , e-commerce
and logging applications. The data in MySQL databases are stored in the form of tables. It
help the admins to collect the data in an easy way. One of the reasons MySQL is the world's
most popular open source database is that it provides comprehensive support for every
application development need. ... MySQL also provides connectors and drivers (ODBC,
JDBC, etc.)that allow all forms of applications to make use of MySQL as a preferred data
management server.
2.5 Data Flow Diagram (DFD)
DFD is an important tool used by system analysis. A data flow diagram model, a system
using external entities from which data flows to a process which transforms the data and
create output data transforms which go to other processes or external entities such as files.
The main merit of DFD is that it can provide an overview of what data a system would
process.
SYMBOLS
A Circle represents a process that transforms incoming data flow into outgoing data
flows
A Square defines a source or destination of system data
An Arrow identifies data flow direction. It is the pipeline through which the
information flows.
An Open Rectangle is a data store, data at rest or a temporary repository of data.
Data flow diagram symbol
Data Flow – Data flow are pipelines through the packets of information
flow.
Process : A Process or task performed by the system.
Entity : Entity are object of the system. A source or destination data of a
system.
Data Store : A place where data to be stored.
2.5.1 Context level DFD – 0 level
The context level data flow diagram (dfd) is describe the whole system. The (o) level dfd
describe the all user module who operate the system. Below data flow diagram of online
shopping site shows the two user can operate the system Admin and Member user.
Fig. 2.5.1
2.5.2 DFD 1 level
Fig. 2.5.2
Fig. 2.5.2
2.5.3 DFD 2 level
Fig. 2.5.3.0
Fig. 2.5.3.1
Fig. 3.1.3.2
Fig. 2.5.3.3
2.6 ER Diagram
Fig. 2.6
2.6 Flow Chart
A flowchart is a type of diagram that represents a workflow or process. A flowchart can also
be defined as a diagrammatic representation of an algorithm, a step-by-step approach to
solving a task. The flowchart shows the steps as boxes of various kinds, and their order by
connecting the boxes with arrows.
Fig. 2.6
System Design
3.1 Data Dictionary
A data dictionary, or metadata repository, as defined in the IBM Dictionary of
Computing, is a "centralized repository of information about data such as meaning,
relationships to other data, origin, usage, and format". Oracle defines it as a collection of
tables with metadata.
3.2 Gantt Chart
A Gantt chart, commonly used in project management, is one of the most popular and useful
ways of showing activities (tasks or events) displayed against time. On the left of the chart is
a list of the activities and along the top is a suitable time scale. Each activity is represented by
a bar; the position and length of the bar reflects the start date, duration and end date of the
activity.
Fig. 3.2
4.2 Testing Approach
To build up our project we use software testing process for executing a program with the intent
of finding errors that is uncovering errors in a program makes it a feasible task and also trying
to find the error in a program as it is destructive process.
4.2.1 Type of Testing
Type of testing we Use in Our Project Here we just mentioned that how the testing is
related to this software and in which way we have test the software? In our project we
have used 4 types of testing these are listed below –
Unit testing: Unit testing where individual program unit or object classes are
tested here by using this testing we have focused on testing the functionality of
methods.
Module Testing : Where this is the combination of unit is called module. Here
we tested the unit program is where the module program have dependency
Sub- system Testing : The we combined some module for the preliminary
system testing in our project
System Testing : where it is the combination of two or more sub – system and
then it is tested. Here we tested and entire system as per the requirements.
4.2.2 Use Case
A use case is a methodology used in system analysis to identify, clarify and organize
system requirements. The use case is made up of a set of possible sequences of
interactions between systems and users in a particular environment and related to a
particular goal.
Every use case contains three essential elements:
The actor. The system user -- this can be a single person or a group of people
interacting with the process.
The goal. The final successful outcome that completes the process.
The system. The process and steps taken to reach the end goal, including the
necessary functional requirements and their anticipated behaviours.
The writing process includes:
Identifying all system users and creating a profile for each one. This includes
every role played by a user who interacts with the system.
Selecting one user and defining their goal -- or what the user hopes to
accomplish by interacting with the system. Each of these goals becomes a use
case.
Describing the course taken for each use case through the system to reach that
goal.
Considering every alternate course of events and extending use cases -- or the
different courses that can be taken to reach the goal.
Identifying commonalities in journeys to create common course use cases and
write descriptions of each.
Repeating steps two through five for all other system users.
Benefits of use case :
A single use case can benefit developers by revealing how a system should behave
while also helping identify any errors that could arise in the process.
Other benefits of use case development include:
The list of goals created in the use case writing process can be used to
establish the complexity and cost of the system.
By focusing both on the user and the system, real system needs can be
identified earlier in the design process.
Since use cases are written primarily in a narrative language they are easily
understood by stakeholders, including customers, users and executives -- not
just by developers and testers.
The creation of extending use cases and the identification of exceptions to
successful use case scenarios saves developers time by making it easier to
define subtle system requirements.
By identifying system boundaries in the design scope of the use case,
developers can avoid scope creep.
Premature design can be avoided by focusing on what the system should do
rather than how it should do it.
5.1 Output Screen
Fig. 5.1.11 (Reports)