Professional Documents
Culture Documents
Rohit Kumar Project Report
Rohit Kumar Project Report
Project Report on
Page 1
Department of Computer Science & Applications
Kurukshetra University, Kurukshetra
DECLARATION
Page 2
Page 3
Acknowledgement
personalities. I consider myself fortunate to get the opportunity of doing a project, yet
the opportunity could not have been utilized without the guidance and support of
many individuals.
First of all, I wish to express my gratitude to my guide Dr. Ramesh kait, Assistant
Professor, Department of computer science & application, K.U. Kurukshetra for his
cooperation and tell me the right direction in preparing this project. I was fortunate to
have him as my project guide. He was ever willing to give me all kind of support and
encouragement.
I also register my gratitude to project guide Ms. Seema Chauhan for allowing me to
Finally, I would be failing to my duty if i did not put on record my deep sense of
hard work.
(Rohit Kumar)
Page 4
INDEX
1. INTRODUCTION 6-9
5. TESTING 26-29
9. BIBLIOGRAPHY 44
Page 5
1.1 Overview of the project
The following steps are used to design and development of this website
Problem Statement
Requirements
Page 6
Specifications System
Design Implementation
Testing
Maintenance and Reviews
1.4 About the company
Appworx is a joint venture of Sebiz and WeExcel. The company was formed with the
mission to bridge the gap between antiquated college syllabi and the demands of a fast
changing IT environment. To make the workforce industry-ready, Appworx initiated
programs like Skill India Mission, Skill Malls and Technology Excellence Centers and
TISS. Appworx came in to existence as a social entrepreneurial initiative in skill
training, working largely in the underdeveloped regions of the country. The company is
committed towards providing young people with high quality vocational education &
skill training with relevant & recognized certifications that result in meaningful
employment and successful careers in the organized sector. Appworx is a skills training
provider who works with the Indian government as an NSDC training partner and to
date has trained thousands of graduates in different vocational courses, thereby
providing gainful employment to many youngsters. Our tie-ups with prominent global
educational institutions help our students further their professional growth and explore
career prospects across geographic boundaries.
OUR VALUES
We at Appworx have been able to establish our credibility by providing highest level of
service ensuring strict quality compliance at every milestone and providing continuous
and timely support in implementation and integration of system processes at client sites
by capitalizing on the support of an efficient network of professional experts.
MANAGING DIRECTOR
Mr.Nitin Monga is a man of immense perseverance and acute vision. He has worked
with unwavering dedication towards making a difference in the lives of people by
transforming and simplifying current practices especially in the Education and Food
sector [govt].
In 2014, Nitin co-founded Appworx IT Solutions with a vision to contribute to the
Education Industry through the use of technology and to be a part of the Prime
Minister’s Skill India Mission. The organization has multiple training centers across the
country and works at the grass root level focusing on the youth among the lower
income group. Its mission is to train these young minds and enhance employability.
Goal:
Page 7
The goal of Appworx is to be responsive to its users and provide them with software
solution to assist them in being more efficient and productive in their work. The
company plans on continually improving software to help its clients take advantage
new technology.
The Company:
Founded in 2014, Appworx, headquarter in Panchkula, India. The activity is focused on
the following major activity axes:
Software Development
Networking consultancy
Project Management
Software Export
The Company is
Producing, developing and internationally distributing high quality software products.
Providing integrated solutions for data security and reliable services in files like
software distribution, consultancy and technical support.
Providing solutions in banking, healthcare, insurance and publishing industry.
The People:
They are a team of young professionals, enthusiastic and talented people. Software
programmers, product managers or technical support people, the company is committed
to provide their clients with high quality products and flawless technical support. The
people working in sales, marketing and administration divisions are all client driven,
closely co-operating with the software developers, therefore making them as an
unbeatable team.
The Capabilities:
The reliability of the products, the flexible licensing program and the low prices show
their commitment towards their clients. Appworx software strategic partnership with
reputable companies all over the world has created a global network with excellent
results and outstanding performance in the distribution of software products.
1.5 Organization of Project Report
Chapter 3 System Design: Design is the first step into the development phase for
any engineered product or system. Design is a creative process. A good design is the
key to effective system. The term “design” is defined as “the process of applying
various techniques and principles for the purpose of defining a process or a system in
sufficient detail to permit its physical realization”. System design covers the input
design ,output design and database design of the Food order system.
Chapter 4 Implementation & TECHNOLOGY USED: Implementation is the
stage of the project when the theoretical design is turned out into a working system.
Thus it can be considered to be the most critical stage in achieving a successful new
system and in giving the user, confidence that the new system will work and be
effective. Implementation covers the code details of the Food Order System. And these
are overview of all technology which are used for develop a website.
Chapter 5 Testing: This chapter covers the type of testing performed during
development of this website, some of test cases.
Chapter 6 Deployment, Maintenance and Reviews : This chapter covers
deployment of the website, Maintenance and Reviews about the Food order System.
Chapter 7 Project screenshot & code: This chapter covers the Conclusion of
the project and future scope i.e. further improvements that can be done.
Chapter 8 Conclusion and Future Scope: This chapter covers the Conclusion
of the project and future scope i.e. further improvements that can be done.
Chapter 9 Bibliography: This chapter covers all the books , references from
where I took help during development of the project
Page 9
CHAPTER 2
Requirements Elicitation
2.1 Introduction
Elicitation method can help in producing a consistent and complete set of security
requirements. However, brainstorming and elicitation methods used for ordinary
functional (end-user) requirements usually are not oriented toward security
requirements and do not result in a consistent and complete set of security
requirements. The resulting system is likely to have fewer security exposures when
security requirements are elicited in a systematic way. Requirements elicitation is an
active research area, and we expect to see advances in this area in the future. We expect
that eventually there will be studies measuring which methods are most effective for
eliciting security requirements. At present, however, there is little if any data comparing
the effectiveness of different methods for eliciting security requirements.
The importance of elicitation cannot be overstated, for it is the linchpin to any
requirements project. As one scholarly article notes: “Mistakes made in elicitation have
been shown many times to be major causes of systems failure or abandonment and this
has a very large cost either in the complete loss or the expense of fixing mistakes.”
Adequate study and preparation for elicitation can go a long way to preventing these
types of errors. The purpose of requirements elicitation, therefore, is to thoroughly
identify the business needs, risks, and assumptions associated with any given project.
The first step in requirements elicitation is gleaning a comprehensive and accurate
understanding of the project’s business need. During the elicitation process, an
analyst’s strong understanding of the business need will help her guard against scope
creep and gold plating, as well as select the proper stakeholders and elicitation
techniques.
An analyst’s next step in eliciting requirements is ensuring that an adequate amount and
mix of stakeholders are secured for the project’s duration. For, as BABOK 2.0
(Business Analysis Body of Knowledge, the definitive guide to all things related to
business analysis) notes, a good analyst must “actively engage stakeholders in defining
requirements.” According to BABOK, a project’s stakeholders may include
customers/end users, suppliers, the project manager, quality analysis, regulators, project
sponsors, operational support, domain subject matter experts, and implementation
subject matter experts. An analyst must recruit the participation of appropriate
stakeholders based on the unique business needs of her project. After an analyst has
identified and recruited her stakeholders, and chosen the method(s) by which she will
Page 10
elicit requirements (outlined below), it is advisable for her to schedule the time for
conducting those methods with stakeholders as far in advance as possible to ensure
adequate participation on their parts.
2.2 Finding Functional Requirements
Requirements, which are related to functional aspect of application fall into this
category. They define functions and functionality within and from the application
system. Functional requirements specify which outputs should be produced from given
inputs. Then describe the relationship between the input and output of the system. For
each functional requirement, a detailed description of all the data inputs and their
source, the units of measure, and the range of valid inputs must be specified.
All the operations to be performed on the input data to obtain the output should be
specified. This includes specifying the validity checks on the input and output data. An
important part of the specification is the system behavior in abnormal situations, like
invalid inputs or error during computations. The functional requirement must clearly
state what the system should do if such situations occur. Specifically, it should specify
the behavior of the system for invalid inputs and invalid outputs. Furthermore, behavior
for situations where input is valid but the normal operations can’t be performed.
Each User will have its account registered Email Id and Password. Login page will
require both of these attributes to access their account.
A search engine on the website to allow customers to find specific types of
merchandise
A secure online transaction system that will allow shoppers to purchase goods safely
using their credit cards.
2.3 Finding Non-Functional Requirements
Requirements, which are not related to functional aspect of application, fall into this
category. They are implicit or expected characteristics of web application, which users
make assumption of. Non-functional requirements include:
a. Performance Constraints:
It should use less memory and will be easily accessible by the user. Memory
management should be done wisely so that none of the memory part goes wasted. It
saves the time and space.
b. Hardware Limitations:
It should be designed in such a way that cheap hardware must be installed to access and
use it effectively. It should be platform independent. There should be no hardware
Page 11
limitations. It should be designed to work with the low specification hardware so that it
could easily work with the high specification hardware.
c. Maintainable:
Each of the modules should be designed in such a way that a new module can easily be
integrated with it.
d. Testable:
Is should be designed in such a way that each module should be tested easily one by
one and in integrated manners.
2.4 Hardware and Software Requirements
Software Requirements:
Hardware Requirements:
RAM : 2GB
Processor : Dual core 3.0 GHz or higher
Hard disk :250GB or higher
2.5 System Requirements Specification
A System Requirements Specification (SRS) (also known as a Software
Requirements Specification) is a document or set of documentation that describes the
features and behavior of a system or software application. It includes a variety of
elements (see below) that attempts to define the intended functionality required by the
customer to satisfy their different users. In addition to specifying how the system
should behave, the specification also defines at a high-level the main business processes
that will be supported, what simplifying assumptions have been made and what key
performance parameters will need to be met by system.
Main Elements
Depending on the methodology employed (agile vs. waterfall) the level of formality
and detail in the SRS will vary, but in general an SRS should include a description of
the functional requirements, system requirements, technical requirements, constraints,
assumptions and acceptance criteria. Each of these is described in more detail below:
Page 12
Business Drivers - This section describes the reasons why the customer is looking
to build the system. The rationale for the new system is important as it will guide the
decisions made by the business analysts, system architects and developers. Another
compelling reason for documenting the business rationale behind the system is that the
customer may change personnel during the project. Documentation which clearly
identifies the business reasons for the system will help sustain support for a project if
the original sponsor moves on. The drivers may include both problems (reasons why
the current systems/processes are not sufficient) and opportunities (new business
models that the system will make available). Usually a combination of problems and
opportunities are needed to provide motivation for a new system.
Business Model - This section describes the underlying business model of the
customer that the system will need to support. This includes such items as the
organizational context, current-state and future-state diagrams, business context, key
business functions and process flow diagrams. This section is usually created during the
functional analysis phase.
Functional and System Requirements - This section usually consists of a
hierarchical organization of requirements, with the business/functional requirements at
the highest-level and the detailed system requirements listed as their child items.
Generally the requirements are written as statements such as "System needs the ability
to do x" with supporting detail and information included as necessary.
Business and System Use Cases - This section usually consists of a UML use
case diagram that illustrates the main external entities that will be interacting with the
system together with the different use cases (objectives) that they will need to carry out.
For each use-case there will be formal definition of the steps that need to be carried out
to perform the business objective, together with any necessary pre-conditions and post-
conditions. The business use cases are usually derived from the functional requirements
and the system use cases are usually derived from the system requirements.
Technical Requirements - This section is used to list any of the "non-functional"
requirements that essentially embody the technical environment that the product needs
to operate in, and include the technical constraints that it needs to operate under. These
technical requirements are critical in determining how the higher-level functional
requirements will get decomposed into the more specific system requirements.
System Qualities - This section is used to describe the "non-functional"
requirements that define the "quality" of the system. These items are often known as
the "-ileitis" because most of them end in "ility". They included such items as:
reliability, availability,
Page 13
serviceability, security, scalability, maintainability. Unlike the functional requirements
(which are usually narrative in form), the system qualities usually consist of tables of
specific metrics that the system must meet to be accepted.
Constraints and Assumptions - This section will outline any design constraints
that have been imposed on the design of the system by the customer, thereby removing
certain options from being considered by the developers. Also this section will contain
any assumptions that have been made by the requirements engineering team when
gathering and analyzing the requirements. If any of the assumptions are found to be
false, the system requirements specification would need to be re-evaluated to make sure
that the documented requirements are still valid.
Acceptance Criteria - This section will describe the criteria by which the customer
will "sign-off" on the final system. Depending on the methodology, this may happen at
the end of the testing and quality assurance phase, or in an agile methodology, at the
end of each iteration. The criteria will usually refer to the need to complete all user
acceptance tests and the rectification of all defects/bugs that meet a pre-determined
priority or severity threshold.
Alternatives
In agile methodologies such as extreme programming or scrum formal, static
documentation such as a software requirements specification (SRS) are usually
eschewed in favor of a more lightweight documentation of the requirements, namely by
means of user stories and acceptance tests. This approach requires that the customer is
easily accessible to provide clarification on the requirements during development and
also assumes that the team members responsible for writing the user stories with the
customer will be the developers building the system. A more formal approach may be
needed if the customer is inaccessible and/or a separate team of business analysts will
be developing the requirements. In Rapid Application Development (RAD)
methodologies such as DSDM or Unified Process (RUP, AUP) the requirements
specification is often kept at a higher-level with much of the detailed requirements
embodied in prototypes and mock-ups of the planned system.
Page 14
Chapter 3
System Design
3.1 Introduction
System design provides the understandings and procedural details necessary for
implementing the system recommended in the system study. Emphasis is on the
translating the performance requirements into design specifications. The design phase is
a transition from a user-oriented document (System proposal) to a document oriented to
the programmers or database personnel.
Page 15
After login, dashboard screen is shown where user can see a list of products. After
search the expert user can request to the user for conversation. For create a call request
you have sufficient balance in your account, if you haven’t sufficient balance then user
can’t request for a call. When user request for a call then amount is deducted from the
user’s account. If expert deny to accept the call request then money is refunded to the
user.
When user is registered some chat credits are added to user account. If user want to chat
with someone, then user can request for chat. For this you should have chat credits. If
you have chat credits then your message send to the expert.
In forum part you can post your own forum. Or you can comment on the other’s forum.
It is a public wall. You can’t use offensive words there. Every word you typed checked
at backend with the blacklist table.
Low Level DFD:
Client
Login
into
account
Maintain whole
website
Admin
NutriCure
Enduser
Input Performa was designed, after a careful discussion with users. It was attempted to
cover all user requirements. Designed Performa were given to user for any suggestion
and final approval. Various data items were identified and wherever necessary were
recorded.
Input designs are aimed at reducing the chances of mistakes of errors. As the human
beings are prone to errors there is always a possibility of occurrence of chance of
errors. Adequate validation checks are incorporated to ensure error free data storage.
Some of the data validation checks applied is as following:
Redundancy of data is checked. It means the records of primary key do not occur twice
Primary key field of any table must not be left blank.
Wherever items are coded, input code is checked for it‟s validly with respect to several
checks
Page 17
Utmost care has been taken to incorporate the validation at each stage of the system.
E.g. when entering records into employee information table for employee, it is checked
that whether the corresponding employee exists in the employee information table etc.,
Enough messages and dialogue boxes are provided while design screen, which does
guide user at the time of any errors, or at time of entry. This feature provides a user-
friendly interface to native users.
3.3 Output Design:
Output design is one of the most important features of the information system. When
the outputs are not of good quality the users will be averse to use the newly designed
system and may not use the system. There are many types of output, all of which can be
either highly useful or can be critical to the users, depending on the manner and degree
to which they are used.
Outputs from computer system are required primarily to communicate the results of
processing to users; they are also used to provide a permanent hard copy of these results
for later consultation. Various types of outputs required can be listed as below:
External Outputs, whose destination is outside the organization.
Internal outputs, whose destination is with the organization
Operational outputs, whose use is purely with in the computer department e.g.,
program-listing etc.
Interactive outputs, which involve the user is communicating directly with the computer, it
is particularly important to consider human factor when designing computer outputs. End
user must find outputs easy to use and useful to their jobs, without quality output, user may
find the entire system unnecessary and avoid using it.
The term “Output” in any information system may apply to either printer or displayed
information. During the designing the output for this system, it was taken into
consideration, whether the information to be presented in the form of query of report or
to create documents etc.
Other important factors that were taken into consideration are:
The End user, who will use the output.
The actual usage of the planned information
The information that is necessary for presentation
When and how often output and their format is needed. While designing output for
project based Attendance Compilation System, the following aspects of outputs
designing were taken into consideration.
The outputs (i.e., well formatted table outputs in the screen itself) designed are simple
to read and interpret
Page 18
Format of each output was another important point taken into consideration. Output
media, for each output appropriate media is decided whether it will be displayed on
screen or will be taken to printer or both.
Other output design related specifications, i.e., how frequently the outputs will be
generated, how many pages or sheets approximately it will keep up, what is its planned
use and output distribution to users are also taken into account.
These were a few major designing issues, which were taken into consideration, while
deciding the output specifications for the system. As direct beneficiary of reports is the
user community, they were consulted constantly at every level. Formats and screen
design for various reports were identified, taking into account the user requirements.
Before finalizing these were given to users for any improvement and suggestions. End
users issues taken into consideration were Readability, Relevance and Acceptability.
Once all the output reports to be generated by ACS system were identified, they were
given to users for their acceptance. For prototyping various outputs, final outputs
models were created with dummy data, before they were finalized
3.4 Database Design
Database Design is an integrated approach as to how the data should be organized user
requirements. Regardless of the type of data structure used, the objectives of database
are accuracy, integrity, security of the data and good overall performance.
In Today's world Database is recognized as the standard of management systems.
DBMS is used for data sharing. Instead of each program managing its own data, the
data across applications are shared by authorized users with the database software
managing the data as an entity.
Objectives of Database: The general theme behind a database is to handle information
as an integrated whole. There is none of artificiality that is normally embedded in
separate files or applications. A database is a collection of interrelated data stored with
minimum redundancy to serve many users quickly and efficiently. A database should
act as a kind of medium to collect and store the incoming data in an organized way. For
example, in case of a relational database such as Oracle, the main purpose of this
database is to store the input data and organize them in terms of attributes (columns)
and tuples (rows) grouped into relations (tables).
The general objective is to make information access easy, quick, and inexpensive and
flexibility for the user. Data integrity means the reliability and accuracy of data.
Integrity rules are designed to keep the data consistent and correct. These rules act like
a check on the incoming data. It is very important that a data base maintains the quality
Page 19
of the data stored in it. DBMS provides several methods to enforce integrity of the data
in a database. In data base design, several specific objectives are considered:
Controlled redundancy
Accuracy and Integrity
Data Integrity
Data Independence
Two administration used in project that one used for authentication and for
autherization other is main administration used in model.
Result :-
A crucial phase in the systems life cycle is the successful implementation of the new
system design. Implementation simply means converting a new system design into
operation.
In system implementation, user training is crucial for minimizing resistance to change
and giving the new system a chance to prove its worth. Training aids, such as user-
friendly manuals, a data dictionary, job performance aids that communicate information
about the new system, and “help” screens, provide the user with a good start on the new
system.
3.5 Entity Relationship Diagram
Entity-Relationship (ER) diagram, a graphical representation of entities and their
relationships to each other, typically used in computing in regard to the organization of
data within databases or information systems. An entity is a piece of data-an object or
concept about which data is stored.
Three type are:-
1. Entity
2. Attributes
3. Relationship
Explain one by one below:_
1. Entity
Entities are represented by means of rectangles. Rectangles are named with the entity
set they represent.
2. Attributes
Attributes are properties of entities. Attributes are represented by means of eclipses.
Every eclipse represents one attribute and is directly connected to its entity (rectangle).
If the attributes are composite, they are further divided in a tree like structure. Every
node is then connected to its attribute.
3. Relationship
Page 20
Relationships are represented by diamond shaped box. Name of the relationship is
written in the diamond-box. All entities (rectangles), participating in relationship, are
connected to it by a line.
With respect to my project there are various types of entities which are related to
other entity, also they have various types of relations. As in figure 4.6 ER diagram
Registration entity having various types of attributes which are related to Login entity
in which user have to enter correct username and corresponding password to have
successful login
Page 21
Page 22
Chapter 4
TOOLS AND TECHNOLOGY USED
Front End
1. SUBLIME TEXT 3: It is used for coding.
2. HTML5: Hyper Text Markup Language is very effective language to develop the site.
Our project is prepared in HTML. It also includes the important codes that are used
while we coding a site. It supports the d-html and script languages like VB-Script and
Java Script; here in this project we have used the later one.HTML is a very simple
language, easy to learn and user friendly. It is as popular as it can use any text editor for
coding purposes, and developing web pages is an easy task here. HTML is the language
interpreted by browsers. Web pages are also called HTML documents. HTML is a set
of special Codes that can be emended in text to add formatting and linking Information.
HTML is specified as tags in an HTML documents i.e the Web page.
3. CSS3: CSS stands for Cascading Style Sheet. It is used to give designer look to HTML
using the external file. Cascading Style Sheets (CSS) is a style sheet language used for
describing the presentation semantics (the look and formatting) of a document written
in a markup language. It’s most common application is to style web pages written in
HTML and XHTML, but the language can also be applied to any kind of XML
document, including plain XML.
4. PHP: PHP is an acronym for “Hypertext Preprocessor”. It is widely used open source
scripting language. PHP is a server scripting language, and a powerful tool for making
dynamic and interactive Web pages.PHP is a widely-used, free, and efficient alternative
to competitors such as Microsoft's ASP.
5. JQUERY: JQuery is a fast, small, and feature-rich JavaScript library. It makes things
like HTML document traversal and manipulation, event handling, animation, and Ajax
much simpler with an easy-to-use API that works across a multitude of browsers. With
a combination of versatility and extensibility, jQuery has changed the way that millions
of people write
6. JavaScript:- It is powerful client side scripting language which is mainly used for
Validations. It is a Dynamic programming language. It is most commonly used as part
of web browsers, whose implementations allow client-side to interact with the user,
control the browser, communicate asynchronously, and alter the document content that
is displayed. Today’s world need much more than simple HTML.
Page 23
7. AJAX:- AJAX is a technique for creating fast and dynamic web pages. AJAX allows
web pages to be updated asynchronously by exchanging small amounts of data with the
server behind the scenes. This means that it is possible to update parts of a web page,
without reloading the whole page.
WHAT IS PHP?
PHP is an intuitive server side scripting language. Like any other scripting language it
allows developers to build logic into the creation of web page content and handle data
returned from a web browser. PHP also contains a number of extensions that make it
easy to interact with databases, extracting data to be displayed on a web page and
storing information entered by a web site visitor back into the database. web forms and
create content.
HOW DOES PHP WORK?
To develop an understanding of how PHP works it is helpful to first explore what
happens when a web page is served to a user's browser. When a user visits a web site or
clicks on a link on a page the browser sends a request to the web server hosting the site
asking for a copy of the web page. The web server receives the request, finds the
corresponding web page file on the file system and sends it back over the internet to the
user's browser.
CHARACTERISTICS OF PHP
PHP is about providing the programmer with the necessary tools to get the job done in
a quick and efficient fashion. Five important characteristics make PHP’s practical
nature possible:
Familiarity
Simplicity
Efficiency
Security
Flexibility
One final characteristic makes PHP particularly interesting: it’s free!
1. FAMILIARITY: Programmers from many backgrounds will find themselves already
accustomed to the PHP language. Many of the language’s constructs are borrowed from
C and Perl, and in many cases PHP code is almost indistinguishable from that found in
the typical C or Pascal program. This minimizes the learning curve considerably.
2. SIMPLICITY: A PHP script can consist of 10,000 lines or one line: whatever you
need to get the job done. There is no need to include libraries, special compilation
directives, or anything of the sort. The PHP engine simply begins executing the code
after the first escape sequence (<?) and continues until it passes the closing escape
Page 24
sequence (?>). If the code is syntactically correct, it will be executed exactly.
4. SECURITY: PHP provides developers and administrators with a flexible and efficient
set of security safeguards. These safeguards can be divided into two frames of
reference: system level and application level.
FLEXIBILITY: PHP can be run on many platforms, including Windows, Linux and
Mac, it’s easy for users to find hosting service provides. It is developed and maintained
by a large group of PHP developers, this will helps in creating a support community,
abundant extension libraryBack End
Page 25
Chapter 5
Testing
5.1 Introduction
They are
Testing is a process of executing a program with the intend of finding an error.
A good test case is one that has high possibility of finding an undiscovered error.
A successful test is one that uncovers an undiscovered error.
Page 26
Test for correctness are supposed to verify that a program does exactly what it was
designed to do. This is much more difficult than it may at first appear, especially for
large programs.
5.2 Testing Strategy:
To uncover the errors of the modules of my project I used the testing strategies such as
Unit Testing, Integration Testing, Validation Testing, System Testing, Alpha Testing
and Beta Testing. A strategy for software testing is Verification and Validation (V&V)
Model.
5.2.1 Unit Testing:
Unit testing focuses verification efforts on the smallest unit of software design- the
software component or module. Using the component-level design description as a
guide, important control paths are tested to uncover errors within the boundary of the
module. The unit testing is White Box oriented and the step can be conducted in
parallel for multiple components.
With respect to our project we have performed unit testing to our each and every
module and we test every unit is giving required results. On our level each module is
being is tested by persons providing the same required positive results.
5.2.2 Integration Testing:
After unit testing, integration testing was performed. The goal here is to see if modules
can be integrated properly, the emphasis being on testing interfaces between modules.
This testing activity can be considered as testing the design and hence the emphasis on
testing module interactions.
In this project the main system is formed by integrating all the modules. When
integrating all the modules. I have checked whether the integration effects working of
any of the services by giving different combinations of inputs with which the two
services run perfectly before Integration.
I have checked whether the integration effects working of any of the services by giving
different combinations of inputs with which the two services run perfectly before
Integration.
With respect to our project, this phase is being performed after unit testing. Here every
module is being integrated and tested by us in order to testing for the required results.
5.2.3 System Testing:
Here the entire software system is tested. The reference document for this process is the
requirements document, and the goal was to see if software meets its requirements.
Page 27
Here entire „Food Order Online‟ has been tested against requirements of project and it
is checked whether all requirements of project have been satisfied or not.
The lessons learnt after developing this project are as follows:
1. Before developing any project the requirement should be made well clear so that after
developing it the programmer does not have to change it.
2. Software & hardware constraints should he kept in mind.
3. Project should be error free and made in such a way so that modification can be done in
future.
4. User should be given a proper training about how to use project.
Alpha Testing:
The alpha test is conducted at the developer site (i.e. me) in the presence of the
customer. The software is used in a natural setting by all errors and me and usage
problems are recorded for maintenance. This test is conducted in a controlled
environment to uncover errors.
With respect to our project, after completion of project when our client tested the
website keeping each and every requirement in consideration our 80% project is
fulfilling his requirements. All the addons required by the client during the developing
period of our project is also being completed with in required time period
5.3 Testing Techniques Used
Software testing methods are traditionally divided into white-box and black-box testing.
These two approaches are used to describe the point of view that a test engineer takes
when designing test cases.
5.3.1 White Box Testing:
White box testing is when the tester has access to the internal data structures and
algorithms including the code that implement these. Types of white box testing:
API testing (application programming interface) - testing of the application using
public and private APIs.
Code coverage - creating tests to satisfy some criteria of code coverage (e.g., the test
designer can create tests to cause all statements in the program to be executed at least
once).
Fault injection methods - improving the coverage of a test by introducing faults to test
code paths.
Page 28
This testing focuses on the functional requirements of the software. Black-Box testing
enables me to drive sets of input conditions that will fully exercise all functional
requirements for software. The reasons that force me to
Do this test are given bellow:
In this software there are lots of functions. I had checked incorrect or missing
functions.
The software contains four modules and each interface with each other. The main
thinng to test the time of call requests.Time zone of the user may be not same.SO check
the time according to the timezone of the user.
The software is depend on the rating system or payment. When call is not completed
then an autogenerated query is run to refund the balance of the user
The software totally based on the payment gateway, so check the payment is successful
or not, different routes are created.
Page 29
Chapter 6
Deployment and Maintenance
Implementation phase of the software development is concerned with translating the
design specifications into the source code. After the system has been designed, arrives
the stage of putting it into actual usage known as the implementation of the system.
This involves putting up of actual practical usage of the theoretically designed system.
The primary goal of implementation is to write the source code and the internal
documentation so that conformance of the code to its specifications can easily be
verified and so the debugging, modifications and testing are eased. This goal can be
achieved by making the source code as clear and as straightforward as possible.
Simplicity, Elegance and Clarity are the hallmarks of good programs whereas
complexity are indications of inadequate design and misdirected thinking. The system
implementation is a fairly complex and expensive task requiring numerous inter-
dependent activities. It involves the effort of a number of groups of people: user and the
programmers and the computer operating staff etc. This needs a proper planning to
carry out the task successfully. Thus it involves the following activities:
Source code clarity is enhance buy using structured coding techniques, by efficient
coding style, by appropriate supporting documents, by efficient internal comments and
by features provided in the modern programming language.
The following are the structured coding techniques:
2) Data Encapsulation
6.1 Maintenance
Maintenance is the last part of the System Development Life Cycle that is actually the
implementation of the post-implementation review plan.
When this system is installed it is used for long period. The average life of a system is 4
to 6 years and maximum used for 10 years. However, this period of use brings with it
Page 30
the need to continually maintain the system, but this system can be modified and new
technologies can be used which are prevalent in market at that period of time.
6.2 Security
Software security has become increasingly important in the age of hackers and viruses.
This attribute measures a system‟s ability to withstand attack on its security. Attacks
can be made on all three components of the software: programs, data and documents.
Creating of User Profiles and Access Rights:
This system administrator can create and delete the user. The admin can change the
setting the user based the requirement of the system. An unauthorized user cannot log
in on to the system. This checked during login of every user.
Page 31
Chapter 7
Project Screenshot
Homepage
Page 32
Menu category Page
Page 33
Add to cart
Page 34
Add to cart code
<?php
global $post;
use mp_restaurant_menu\classes\models\Cart as Cart;
$table_column_class = apply_filters('mprm_table_column_class', Cart::get_instance()-
>item_quantities_enabled() ? 'mprm-table-column-4' : 'mprm-table-column-3');
?>
<table id="mprm_checkout_cart" <?php echo !$is_ajax_disabled ? 'class="ajaxed ' .
$table_column_class . '"' : '' ?>>
<thead>
<tr class="mprm_cart_header_row">
<?php do_action('mprm_checkout_table_header_first'); ?>
<th class="mprm_cart_item_name"><?php _e('Product', 'mp-restaurant-
menu'); ?></th>
<th class="mprm_cart_item_price"><?php _e('Price', 'mp-restaurant-menu');
?></th>
<?php if (Cart::get_instance()->item_quantities_enabled()) : ?>
<th class="mprm_cart_quantities"><?php _e('Quantity', 'mp-
restaurant-menu'); ?></th>
<?php endif; ?>
<th class="mprm_cart_actions"><?php _e('Actions', 'mp-restaurant-menu');
?></th>
<?php do_action('mprm_checkout_table_header_last'); ?>
</tr>
</thead>
<tbody>
<?php do_action('mprm_cart_items_before'); ?>
<?php if ($cart_items && !empty($cart_items)) : ?>
<?php foreach ($cart_items as $index => $item) : ?>
Page 35
<tr class="mprm_cart_item" id="mprm_cart_item_<?php echo
esc_attr($index) . '_' . esc_attr($item['id']); ?>" data-cart-key="<?php echo esc_attr($index)
?>" data-menu-item-id="<?php echo esc_attr($item['id']); ?>">
<?php do_action('mprm_checkout_table_body_first', $item);
?>
<td class="mprm_cart_item_name">
<div class="mprm_cart_item_name_wrapper">
<?php if (current_theme_supports('post-
thumbnails') && has_post_thumbnail($item['id'])) { ?>
<div class="mprm_cart_item_image">
<?php echo
get_the_post_thumbnail($item['id'], apply_filters('mprm_checkout_image_size',
'thumbnail')); ?>
</div>
<?php }
$item_title = Cart::get_instance()-
>get_cart_item_name($item); ?>
<td class="mprm_cart_actions">
<?php do_action('mprm_cart_actions', $item, $index);
?>
Page 36
<a class="mprm_cart_remove_item_btn"
href="<?php echo esc_url(Cart::get_instance()->remove_item_url($index)); ?>"><?php
_e('Remove', 'mp-restaurant-menu'); ?></a>
</td>
$payment_mode = models\Gateways::get_instance()->get_chosen_gateway();
/**
* Hooks in at the top of the purchase form
Page 37
*
* @since 1.4
*/
do_action('mprm_purchase_form_top');
if (models\Checkout::get_instance()->can_checkout()) {
do_action('mprm_purchase_form_before_register_login');
$show_register_form = mprm_get_option('show_register_form', 'none');
if (($show_register_form === 'registration' || ($show_register_form === 'both' &&
!isset($_GET['login']))) && !is_user_logged_in()) : ?>
<div id="mprm_checkout_login_register">
<?php do_action('mprm_purchase_form_register_fields'); ?>
</div>
<?php elseif (($show_register_form === 'login' || ($show_register_form === 'both'
&& isset($_GET['login']))) && !is_user_logged_in()) : ?>
<div id="mprm_checkout_login_register">
<?php do_action('mprm_purchase_form_login_fields'); ?>
</div>
<?php endif; ?>
<?php if ((!isset($_GET['login']) && is_user_logged_in()) ||
!isset($show_register_form) || 'none' === $show_register_form || 'login' ===
$show_register_form) {
do_action('mprm_purchase_form_after_user_info');
}
/**
* Hooks in before Credit Card Form
*
* @since 1.4
*/
do_action('mprm_purchase_form_before_cc_form');
if (mprm_get_cart_total() > 0) {
if (has_action('mprm_' . $payment_mode . '_cc_form')) {
do_action('mprm_' . $payment_mode . '_cc_form');
} else {
do_action('mprm_cc_form');
}
}
/**
* Hooks in after Credit Card Form
*
* @since 1.4
*/
do_action('mprm_purchase_form_after_cc_form');
} else {
do_action('mprm_purchase_form_no_access');
}
do_action('mprm_purchase_form_bottom');
Page 38
Purchase and address of user
Blog Page
Page 39
Admin view screenshots
Page 40
Page 41
Chapter 8
Conclusion and Future Scope
7.1 Conclusion
FoodOrder online is a platform which lists all users within some category i.e. works on
the basicconcept of sharing the knowledge. It is the easiest, cheapest and effective
platform to shareyour business, educational problems and find the solution of that
problem.
FoodOrder online is a service that allows you to directly contact with the expert who is
the best in their field. FoodOrder online allows its users to search the products and
Order them. User can select the products from list shown on Dashboard. On the other
hand Provider can earn money by selling their product online. The charges for the
products depends on the MRP of such item.
This platform gives an opportunity to add your skills and knowledge and solve your
difficulties. On the other hand if you have a bundle of knowledge in a particular field
then you can earn from this platform. If you are a seller in your field then according to
your products you earn money after selling their products.
For payment to the seller in this system we integrate a payment gateway. With the help
of payment gateway user can recharge their wallet from net banking or from
debit/credit card. When recharge is successful then that money add to the FoodOrder
online account and the same value coupon send to the user account.
When user request for product from Dashboard, the amount of the product deducted
from users account. After the Buying that money send to the seller account. If seller
want to transfer that money from FoodOrder online account to bank account, send
withdraw request to FoodOrder online admin. Admin respond to that request and
transfer money to seller bank account.
7.2 Future Scope
The main motive to develop this project is to help the people to find their needed item
online without going outside from their home. I think us successful to achieve our
motive.
Another motive is to provide earning resources to the seller of any products. For
transferring money we have used pay money payment gateway, which fulfill the
security issues of secure payment. Like when user recharge their wallet with FoodOrder
online then don‟t share their credit/debit card details with other resources.
Some points are there on which work on future. These tasks not completed due to the
shortage of time.
Page 42
In future we can add the functionality of FoodOrder online Discount Coupons to the
buyer and Shipping record.
Page 43
Chapter 9
Bibliography
References
https://www.tutorialspoint.com/
https://www.w3schools.com/
https://stackoverflow.com/
https://www.zomato.com/ncr/order-food-online
Page 44