You are on page 1of 104

A

Project Report on
Find Places

Submitted in the partial fulfillment of the requirement for the award of


Degree of

Master of Computer Application


(Session: 2017-2020)

Under Supervision of: Submitted By:


Dr. Chander Kant SOMVIR
Assistant professor MCA-6th Sem
RollNo: 1256420

DEPARTEMENT OF COMPUTER SCIENCE & APPLICATION


KURUKSHETRA UNIVERSITY KURUKSHETRA
Department of Computer Science & Applications
Kurukshetra University, Kurukshetra

DECLARATION

I Somvir, a student of Master of Computer Applications (MCA),VIth semester in the


Department of Computer Science & Applications, Kurukshetra University, Kurukshetra,
under Roll No.1256420, session 2017-20, hereby declare that the project entitled “Find
Places” has been completed by me at “Appworx IT Solution Pvt Ltd” after the theory
examination of Vth semester.

The matter embodied in this project work has not been submitted earlier for award of any
degree or diploma to the best of my knowledge and belief.

Date: (Somvir)
Department of Computer Science & Applications
Kurukshetra University, Kurukshetra

Dr. Chander Kant


(Assistant Professor)

CERTIFICATE

It is certified that Mr. Somvir, a student of Master of Computer Applications (MCA), under Roll No.1256420 for
the session 2017-20, has completed the project entitled “Find Places” undertaken at “Appworx IT Solution Pvt Ltd”
under my supervision. He has attended the Department of Computer Science & Applications, Kurukshetra
University, Kurukshetra and “Appworx IT Solution Pvt Ltd” for required number of days after the theory
examination of Vth semester.

I wish him all success in his all endeavors.

(Dr. Chander Kant)


Department of Computer Science & Applications
Kurukshetra University, Kurukshetra

Dr. Rajender Nath


Professor & Chairman

CERTIFICATE

It is certified that Mr. Somvir is a bona fide student of Master of Computer Applications (MCA), under Roll
No.1256420. He has undertaken the project entitled Find Places at “Appworx IT Solution Pvt Ltd” under the
supervision of Dr. Chander Kant.

I wish him all success in his all endeavors.

(Dr. Rajender Nath)


CERTIFICATE OF TRAINING

This is to certify that Mr. Somvir a student of Department of Computer Science and
Application, Kurukshetra University is under training from 28th January, 2020 to 30th July,
2020. During this training, he is working under the guidance of Ms. Seema Chauhan. His
overall performance during the training period is Excellent. Other details related to his
training are as below:

i. Name of the Organization: Appworx IT Solutions Pvt. Ltd.

ii. Place of work: Chandigarh

iii. Address of the Employer: Plot No. 10, 4th Floor, Rajiv Gandhi IT Park,
Chandigarh, 160101

iv. Stipend (in Rs.): N/A

Name: Deepti

Designation: Centre Manager

Department: Skill Development

Appworx IT Solutions Pvt Ltd., Corporate and Reg. Office Address: Netsmartz House, Plot No 10, I.T. Park, Chandigarh-160101, India Phone
No: 91-172-5055200, Website: www.appworx.in, CIN: U72900CH2012PTC033966
Acknowledgement

I am highly grateful to the Dr. Rajender Nath, Chairperson, DCSA, KUK for providing me this opportunity to
carry out the six month industrial training at Appworx IT Solution Pvt Ltd. The Constant guidance and
encouragement received from Dr. Chander Kant (Astt. Professor, Dept. of Computer Science and Application)
and training in charge Ms. Seema Chauhan has been of great help in carrying out the work and is acknowledged
with reverential thanks. The help rendered by Ms. Seema Chauhan Supervisor for experimentation is greatly
acknowledged. I also express gratitude to other faculty members of the Department of Computer Science And
Application, Kurukshetra University, Kurukshetra for their intellectual support throughout the course of this work.
Finally, I am indebted to all whosoever have contributed in this report work.

(Somvir)
ABSTRACT

This report describes an overview and the outcome of work done during the industrial
training of the Master of Computer Applications. During training, I had made the project on
FIND PLACES. In this project, I have used HTML5, CSS, JavaScript, PHP and MYSQL
Server.

Find Places is a website which is used to search for the places we don’t know about and
provides the following services

 To provide best or satisfactory informative services to users.


 To provide a better way to get to know detailed information about a place.
 To provide a search platform where users get a deep knowledge about the place of
their own choice.
 To achieve our goal i.e. to make a website with the help of which an unknown can
also explore those searched places.
 To build a system that honestly and efficiently works on the search needs.
 Building an innovative system to enhance the tourism of our country.
 Providing a brief knowledge about the place for an unknown–to be familiar with it.
INDEX

Chapters Page No.

1. Introduction To Project

1.1 Introduction .......................................................................................... 1

1.2 Motivation of the project ...................................................................... 2

1.3 Objective of the project..........................................................................2

1.4 About the Company ............................................................................... 2

1.5 Software Development Life Cycle ........................................................ 4

1.6 Organization of the Project Report ......................................................... 4

2. Planning

2.1 Introduction to Planning ......................................................................... 5

2.2 Main tasks during Planning................................................................... 5

2.3 Project Resources ................................................................................ 6

2.4 Project Budget & Cost ......................................................................... 7

2.5 Project Quality ..................................................................................... 8

2.6 Project Risk ........................................................................................... 9

2.7 Project Communication ........................................................................ 10

2.8 Summary ............................................................................................... 11


2.1 System Analysis

3.1 Introduction ............................................................................................ 12

3.2 Phases of System Analysis.......................................................................12

3.3 Parts of System Analysis ......................................................................... 13

3.4 Tools for System Analysis ....................................................................... 16

3.5 Summary ................................................................................................. 21

4 System Design

4.1 Introduction ............................................................................................. 23

4.2 Types of System Design ............................................................................ 24

4.3 Design Strategies ........................................................................................26

4.4 Tools for System Design............................................................................ 28

4.5 Summary .................................................................................................... 26

5 System Development

5.1 Introduction ............................................................................................... 31

5.2 Languages Used ........................................................................................ 31

5.2.1 Front End.................................................................................................32

5.2.2 Back End ................................................................................................ 37

5.3 Coding ...................................................................................................... 38

5.4 Project Snapshots ...................................................................................... 53

5.5 Summary ..................................................................................................... 65

6 System Testing
6.1 Introduction ............................................................................................. 66

6.2 System testing Process............................................................................. 67

6.3 Types of System Testing........................................................................... 68

6.4 Summary .................................................................................................. 68

7 Deployment

7.1 Introduction ............................................................................................ 69

7.2 Deployment methodologies .................................................................... 69

7.2.1 Deployment Process ..................................................................... 70

7.2.2 Summary ...................................................................................... 71

8 User Acceptance Testing

8.1 Introduction ............................................................................................ 72

8.2 Prerequisites ........................................................................................... 72

8.3. UAT Process ......................................................................................... 72

8.4. Summary ............................................................................................... 74

9. Maintenance

9.1 Introduction ........................................................................................... 75

9.2 Categories ............................................................................................ 75

9.3 Cost of Maintenance ............................................................................76

9.4 Summary ............................................................................................... 76

10. Conclusion and Future Scope

10.1 Conclusion ............................................................................................ 77


10.2 Future Scope of the Project .................................................................... 77

11. Bibliography

11.1 URLs ..................................................................................................... 79

List of Figures
Fig No Figure Name Page No.
1.1 Software Development Life Cycle 3
2.1 Project Planning 6
3.1 Determining requirements 17
3.2 System Analysis 18
3.3 Flow Chart 22
3.4 Data Table 23
4.1 Top Down 24
4.2 Bottom Up 26
4.3 Strategic Design 29
4.4 Data Flow Diagram 28
5.1 Admin Data 63
5.2 Add category 63
5.3 View category 64
5.4 Add location 64
5.5 View location 65
5.6 Add place 65
5.7 View place 66
5.8 Add city 66
5.9 View city 67
5.10 Front page 68
5.11 Places 70
5.12 Gallery 71
5.13 Map 71
5.14 About us 73
6.1 System testing 77
6.2 System testing process 78
8.1 User acceptance testing 86
9.1 Maintenance cost 88
CHAPTER-1

INTRODUCTION

1.1 Introduction To project

“Find places” is an online information system which helps the user for place
automation which is usually for recreational leisure, family or business purposes, for a
limited duration. It helps when a people plans to visit a place about which they don’t
have a deep thought or knowledge. When people searches for a definite place , it will
help them to get everything to visit on that place with all regarding information like
weather, opening and closing timings details and all history about that place. This
system will help people to get to know each and every small place that they can visit to.
To provide a search platform where users get a deep knowledge about the place of their
own choice. To achieve our goal i.e. to make a website with the help of which an
unknown can also explore those searched places. However, simply we can say that Find
Places will redirect users to get into the virtual image of a specific place. It mainly
works on what to search and what we will get i.e., our plan for a specific tourist place
or historical place can only be successful if and only if we have the whole knowledge
about that particular place. So this project will fulfill these requirements of users.

1.2 Motivation Of the Project

a. Firstly, to learn the different phases of web based product development and gain
hand on experience while developing a complete website. Also to learn the major
tools and technologies of web designing like Bootstrap, Magento etc.
b. Secondly, project is very needy and helpful in context with the dependency of
people on mobile devices.
c. This type of website are on a very large scale that means doesn’t cover the small
places but here this project Find places covers all small tourist places.

1
1.3 Objectives Of the Project

The main objective of the Find Place web based application is to provide the best
services to users about the specific place. It mainly works on what to search and what
we will get i.e., our plan for a specific tourist place or historical place can only be
successful if and only if we have the whole knowledge about that particular place. So
this project will fulfill these requirements of users.

 To provide best or satisfactory informative services to users.


 To provide a better way to get to know detailed information about a place.
 To provide a search platform where users get a deep knowledge about the place of
their own choice.
 To achieve our goal i.e. to make a website with the help of which an unknown can
also explore those searched places.
 To build a system that honestly and efficiently works on the search needs.
 Building an innovative system to enhance the tourism of our country.
 Providing a brief knowledge about the place for an unknown to be familiar with it.
 Developing a system with enhanced capabilities to ensure the goal’s achievement.
 Beneficiary system development whether for inter- intra city or international
tourists for helping our economy.

1.4 Introduction of 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

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

1.5 Software Development Life Cycle

The software development process, as with all great projects, starts with an idea. It
takes planning, preparation, and management of phases and team members to reach a
goal. SDLC is a mapped-out, regulated framework that typically follows the following
universal phases to deliver high-quality software application.

1. Planning: In the planning phase, IT Project Manager plans the schedule and budget
of the project. All the plans are documented in Project Plan document.

2. Analysis: It’s about the detailing the requirements gathered from client. Each
requirement is provided with more specifications. The mock up diagrams, use cases,
context diagrams, activity diagrams are more commonly used to explain the client
requirements. This task is done by Business Analyst. The documents containing
requirements and its specifications are to be signed off from the client. The technical
team uses these documents to understand the requirements of clients, visualize them
and develop the software as per the client expectations.

Figure 1.1: Software Development Life Cycle

3
3. Design: The blueprint or programming logic of software is designed by a Technical
Architects team. In the programming logic, the programs, steps in the program,
interfaces between the programs, data flow, control flows are designed. The
database structure is designed by the database team.
4. Development: The developers or programmers refer to the design of the software
for programming or coding. The database development develops the database for the
software. There are several programming languages like Java, C#, PHP, etc.
5. Software Testing: The software is tested at different levels of the software
development to identify the defects and verify the requirements of the client by
developers, QA team and also vendors.
6. Deployment: The thoroughly tested software is released to the client. The
developers with assistance of system administrators get the software installed in the
production environment. The installation manual has the steps for installation and
configuration of the system for installation.
7. User Acceptance testing: The end users test the software to make sure the software
meets their requirements. The software testers and business analysts users for
testing. The user manual can be referred by users to get the functioning of software.
8. Maintenance: This post-release phase is tasked with keeping the software
completely operational, updating it to meet quality standards, and enhancing
it throughout its life to ensure it continues to attract and retain users.

1.6 Organization of the Project Report

The project report contains detail description of how this project is build. This report
discuss each and every step taken in development of project in detail.

Chapter-2: Planning

Project Plan is the most important document in the project, as it provides the Project
Manager with a roadmap ahead, and it tells them during the journey whether they are
on-track. Using this Project Plan template, you can create a comprehensive project man

4
Chapter-3: System analysis

It is really the first step in the design of the new system during this phase, the project
team investigates any current system, and develops a concept for the new system.

Chapter-4: System design

System design phase consists and elaborate the collection of deliverables like
architecture and interface design, database and file specifications, and program design.

Chapter-5: System development

System development is that module of a software development process in which main


task is handed over to the developers and the way to the software is further proceeded.

Chapter-6: System testing

System testing is testing conducted on a complete integrated system to evaluate the


system's compliance with its specified requirements.

Chapter-7: Deployment

Software deployment includes all of the steps, processes, and activities that are
required to make a software system or update available to its intended users.

Chapter-8: User acceptance testing

UAT is done in the final phase of testing after functional, integration and system testing
is done. The main purpose of UAT is to validate the end to end business flow. It
doesn’t focus on errors

Chapter-9: Maintenance

Software Maintenance is the process of modifying a software product after it has been
delivered to the customer.

5
Chapter-2

PROJECT PLANNING
2.1. Introduction To Project Planning

A Project Plan sets out the phases, activities and tasks needed to deliver a project. The
timeframes required for the delivery of the project, along with the resources and
milestones are also shown in the Project Plan. We can quickly and easily create a
comprehensive Project Management Plan for your project, as it already lists the
commonly used tasks needed to complete projects from start to finish. This is also
known as requirement analysis phase where all inputs are collected from domain
experts. Planning for the quality assurance requirements and recognization of the risks
involved is also a part of the planning or requirement analysis phase. This phase gives a
clearer picture of the scope of entire project and the anticipated issues, opportunities
and directives which triggers the project. The Project Plan is the most important
document in the project, as it provides the Project Manager with a roadmap ahead, and
it tells them during the journey whether they are on-track. Using this Project Plan
template, you can create a comprehensive project management plan for your project
today.

Figure 2.1: Project planning tasks

6
2.2. Main tasks of project Planning
Figure 2 above explains main tasks of planning phase for a software development.

 Sum up the effort needed to complete those tasks


 Document all of the project inter-dependencies
 List the planning assumptions and constraints
 Create a detailed project planning schedule
 Define the project scope & milestones
 Identify the Work Breakdown Structure
 Set and agree the target delivery dates
 Monitor and control the allocation of resource
 Report on the progress of the project.
 Identify all of the phases, activities and tasks

2.3. Project resources


A Resource Plan summarizes the level of resources needed to complete a project. A
properly documented Resource Plan will specify the exact quantities of labor,
equipment and materials needed to complete your project. This Resource Planning
template also helps you gain approval from your Sponsor, ensuring their buy-in. By
implementing proper Resource Planning practices, it also helps you with budgeting and
forecasting project expenditure. This Project Resource Management Plan helps you to
identify all of the resources required to complete your project successfully. Using
this Resource Plan, you will be able to identify the quantity of labor, equipment and
materials needed to deliver your project. You will then create a resource schedule,
which enables you to plan the consumption of each type of resource, so that you know
that you will have enough resources to complete the project.

 Types of labor required for the project


 Roles and key responsibilities for each labor type

7
 Number of people required to fill each role
 Items of equipment to be used and their purposes
 Types and quantities of equipment needed
 Total amount of materials needed
 Plan the dates for using or consuming these resources
 Identify the amount of resource required per project activity
 Create a detailed resource utilization schedule. 

A Resource Plan is created during the Resource Planning phase of the project. Anyone
responsible for Project Resource Management will need to create a comprehensive
Resource Plan, to ensure that all of the resources needed to complete the project are
identified. By implementing proper Resource Planning practices, it also helps you with
budgeting and forecasting project expenditure.

2.4. Project budget and cost

This Financial Planning process will help you to quickly and easily create a Financial
Plan for your project. A Financial Plan enables you to set a "budget", against which
you measure your expenditure. To deliver you project "within budget", you need to
produce the project deliverables at a total cost which does not exceed that stated in the
budget. Using this financial plan template, you can create a detailed budget against
which to measure the success of your project. A Financial Plan identifies the Project
Finance (i.e. money) needed to meet specific objectives. The Financial Plan defines all
of the various types of expenses that a project will incur (labor, equipment, materials
and administration costs) along with an estimation of the value of each expense. The
Financial Plan also summarizes the total expense to be incurred across the project and
this total expense becomes the project budget. As part of the Financial Planning
exercise, a schedule is provided which states the amount of money needed during each
stage of the project.

8
 Type of labour cost to be incurred during the project
 Items of equipment needed to deliver the project
 Various materials needed by the project
 Unit costs for labor, equipment and materials
 Other costs types such as administration
 Amount of contingency needed
 Calculating the total cost involved in completing the project
 Identifying the total cost of each project activity
 Creating a schedule of expenses

Creating a project budget is an extremely important part in any project, as it gives you
a goal post to aim for. This Financial Plan will help you meet that goal post, by giving
you a clear process and template for creating a budget for your project. Whenever you
need to ask for money, you need a sound Financial Plan showing how it will be
consumed. For a Project Manager, getting Project Finance is one of the most critical
tasks in the project. Therefore, sound Financial Planning principles must be followed to
ensure a positive outcome. Using this Financial Plan template, you can create a detailed
Financial Plan for your project. It will help you get the Project Finance needed to
successfully deliver your project on time.

2.5. Project quality

Create a Quality Assurance Plan and Quality Control Plan, using this quality
management plan template. It will help you to set quality targets for your project to
ensure that the deliverables produced, meet the needs of your customer. You can then
use it to schedule quality control and quality assurance activities, to assure your
customer that the quality targets will be met. A Quality Plan helps you schedule all of
the tasks needed to make sure that your project meets the needs of your customer. It
comprises two parts; the Quality Assurance Plan lists the independent reviews needed
and the Quality Control Plan lists the internal reviews needed to meet your quality

9
targets. By using Quality Assurance and Quality Control techniques, you can create a
comprehensive Quality Management Plan for your project.

You can use this Quality Plan to set quality targets by

 Identifying the customer requirements.


 Listing the project deliverables to be produced.
 Setting quality criteria for these deliverables. 
 Defining quality standards for the deliverables. 
 Gaining your customers agreement with the targets set.
 Identifying the quality control tasks needed to control quality. 
 Creating a Quality Control Plan, by scheduling the control activities. 
 Listing the quality assurance activities required to assure quality. 
 Building a Quality Assurance Plan, by creating an activity schedule.

Creating a Quality Plan is essential if you want to provide the customer with
confidence that you will produce a solution that meets their needs. The Quality Plan
states everything you're going to do, to ensure the quality of your solution. The first
section defines the Quality targets. The second section sets out a Quality Assurance
Plan. And the third section defines a Quality Control Plan. By using this template, you
can create a Quality Management Plan that gives your customer a high degree of
confidence that you will succeed. Quality Planning is a critical part of any project. It
enables you to agree a set of quality targets with your customer. It then helps you to
monitor and control the level of quality produced by the project, to ensure that you
meet the quality targets set. By using this quality plan template, you can set quality
targets and ensure that your project produces deliverables which meet your customers
needs, thereby ensuring your success.

2.6. Project risks

10
This project Risk Management Plan helps you to identify risks and implement a plan to
reduce them. It helps you do this, by giving you a complete risk management plan,
showing you how to take action to reduce risk in your project. Using this risk plan, you
can monitor and control risks effectively, increasing you chances of achieving success.
A Risk Plan helps you to foresee risks, identify actions to prevent them from occurring
and reduce their impact should they eventuate. The Risk Management Plan is created as
part of the Risk Planning process. It lists of all foreseeable risks, their ranking and
priority, the preventative and contingent actions, along with a process for tracking
them. This Risk Plan template will help you perform these steps quickly and easily.

 Identify risks within your project.


 Categorize and prioritize each risk.
 Determine the likelihood of the risks occurring.
 Identify the impact on the project if risk does occur.
 Identify preventative actions to prevent the risk from occurring. 
 List contingent actions to reduce the impact, should the risk occur.
 Schedule these actions within an acceptable timeframe. 
 Monitor the status of each risk throughout the project.

Creating a Risk Management Plan is a critical step in any project, as it helps you to
reduce the likelihood of risk from occurring. Regardless of the type of risk, you will be
able to use this template to put in place processes and procedures for reducing the
likelihood of risk occurring, thereby helping you to deliver your project successfully. A
Risk Plan should be used anytime that risks need to be carefully managed. For instance,
during the start up of a project a Risk Plan is created to identify and manage the risk
involved with the project delivery. The Risk Plan is referred to frequently throughout
the project, to ensure that all risks are mitigated as quickly as possible. The Risk Plan
template helps you identify and manage your risks, boosting your chances of success.

11
2.7. Project communication

This Communication Plan template will help you to communicate the right
information, to the right people, at the right time. It will also help you create a schedule
of communications events to ensure that your stakeholders are always kept properly
informed, ensuring their continued buy-in and support. A Communication Plan
(or Communications Plan) describes how you intend to communicate the right
messages to the right people at the right time. Within a Communication Plan, the
communication goals, stakeholders and strategies, activities and timeframes are
described. A Communication Plan helps you keep everyone informed so that you can
communicate a consistent message to your target audience.

 Listing your communications stakeholders


 Defining each stakeholders communication needs
 Identifying the required communications events
 Determining the method and frequency of each event
 Allocating resource to communications events
 Building a communication event schedule
 Monitoring the communications events completed
 Gaining feedback on communications events
 Improving communications processes

Whenever you have a variety of staff, external suppliers, customers and stakeholders to
communicate with, then you should record your communications formally in a
Communication Plan. A clear Communications Plan is vital to the success of an
organization. It is also critical to the success of projects, as it ensures that all of the staff
and stakeholders are kept properly informed of the progress of a project. The best time
to perform Communication Planning is during the start up phase of a project. This will
ensure your Communication Plan includes the tasks needed to communicate effectively
throughout the entire project life cycle. Communication Planning is an important part
of any business. Using this template you can create a comprehensive Communications

12
Plan for your project or team, helping keep your stakeholders properly informed at all
times.

2.8. Summary

Project planning is a discipline for stating how to complete a project within a certain
timeframe, usually with defined stages, and with designated resources. Planning phase
of the project development is mainly for the requirement collection and analysis which
helps to gather all necessary information and tools for the project. After getting all the
information that you need, put them all together as a project plan using a project
management tool that works for you. In this phase cost analysis, resource analysis, risks
that may affect the development are all analysed under certain conditions. This phase
helps the whole project development under these analysis.

13
Chapter-3

SYSTEM ANALYSIS

3.1 Introduction To System Analysis


System analysis is intended to provide the project team with a more thorough
understanding of the problems and needs that triggered tile project. As such, the
business area (scope of the project- as defined during system Initiation) may be studied
and analyzed to gain a more
detailed,understanding of what works,what doesn't, and what"s needed. System analysi
s requires working with system users to clearly define business
requirements and expectations for any new system that IS to be
purchased or developed. Also, business priorities may need to be established In the
event that schedule and budget are insufficient to accomplish all that is desired. The
system proposal is the initial deliverable that describes what business requirements the
new system should meet. Because it is really the first step in the design of the
new system, some experts argue that it is inappropriate to use the term analysis for this
phase; some argue a better name would be analysis and initial design. Most
organizations continue use to the name analysis for this phase, however, so we use it in
this book as well. Just keep in mind that the deliverable from the analysis phase is both
an analysis and a high-level initial design for the new system. The analysis phase
answers the questions of who will use the system, what the system will do, and where
and when it will be used. During this phase, the project team investigates any current
system, identifies improvement opportunities, and develops a concept for the new
system.

3.2 Phases of System Analysis

There are three phases in a system analysis phase of every software as discussed below:

14
3.2.1 Analysis Strategy

An analysis strategy is developed to guide the project team’s efforts. Such a


strategy usually includes an analysis of the current system (called the as-is
system) and its problems, and then ways to design a new system (called
the to-be system).

3.2.2 Requirement Gathering

The next step is requirements gathering (e.g., through interviews or


questionnaires). The analysis of this information—in conjunction with input
from project sponsor and many other people—leads to the development of a
concept for a new system. The system concept is then used as a basis to
develop a set of business analysis models, which describe how the business
will operate if the new system is developed. The set of models typically
includes models that represent the data and processes necessary to support
the underlying business process.

3.2.3 System Proposal


The analyses, system concept, and models are combined into a document
called the system proposal, which is presented to the project sponsor and
other key decision makers (e.g., members of the approval committee) who
decide whether the project should continue to move forward. The system
proposal is the initial deliverable that describes what business requirements
the new system should meet. Because it is really the first step in the design of
the new system, some experts argue that it is inappropriate to use the term
analysis as the name,for,this phase; some argue a better name would be
analysis and initial design. Most organizations continue use to the
name analysis for this phase, however, so we use it in this book as well. Just

15
keep in mind that the deliverable from the analysis phase is both an
analysis,and,a high-level initial design for the new system.

3.3 Parts of System Analysis


There are two different and major parts in system analysis phase:

3.3.1 Determining requirements

When a project is initiated and planned and we begin determine what the new
system should do. During requirements determination, you and other analysts
gather information on what the system should do from as many sources as
possible. Such sources include users of the current system, reports, forms, and
procedures. All of the system requirements are carefully documented and made
ready for structuring. Structuring means taking the system requirements you find
during requirements determination and ordering them into tables, diagrams, and
other formats that make them easier to translate into technical system
specifications. In many ways, gathering system requirements is like conducting
any investigation. The characteristics you need to enjoy solving mysteries and
puzzles are the same ones you need to be a good systems analyst during
requirements determination. These characteristics include:

 Impertinence: You should question everything. Ask such questions as “Are all
transactions processed the same way?” “Could anyone be charged something
other than the standard price?” “Might we someday want to allow and
encourage employees to work for more than one department?”
 Impartiality: Your role is to find the best solution to a business problem or
opportunity. It is not, for example, to find a way to justify the purchase of new
hardware or to insist on incorporating what users think they want into the new
system requirements. You must consider issues raised by all parties and try to
find the best organizational solution.

16
 Relaxing of constraints: Assume anything is possible and eliminate the
infeasible. For example, do not accept this statement: “We’ve always done it
that way, so we have to continue the practice.” Traditions are different from
rules and policies. Traditions probably started for a good reason, but as the
organization and its environment change, they may turn into habits rather than
sensible procedures.
 Attention to details: Every fact must fit with every other fact. One element out
of place means that the ultimate system will fail at some time. For example, an
imprecise definition of who a customer is may mean that you purge customer
data when a customer has no active orders; yet these past customers may be
vital contacts for future sales.
 Reframing: Analysis is, in part, a creative process. You must challenge yourself
to look at the organization in new ways. Consider how each user views his or
her requirements. Be careful not to jump to this conclusion: “I worked on a
system like that once—this new system must work the same way as the one I
built before.”

Figure 3.1: Determining Requirements

The deliverables summarized in the Table contain the information you need for systems
analysis. In addition, in your information gathering, you need to understand the
following components,of,an,organization:

17
 The business objectives that drive what and how work is done
 The information people need to do their jobs
 The data handled within the organization to support the jobs
 When, how, and by whom or what the data are moved, transformed and stored
 The sequence and other dependencies among different data-handling activities
 The rules governing how data are handled and processed
 Policies and guidelines that describe the nature of the business, the market, and the
environment in which it operates
 Key events affecting data values and when these events occur

Such a large amount of information must be organized in order to be useful, which is


the purpose of the next part of systems analysis—requirements structuring.

Figure 3.2: System Analysis

3.3.2 Structuring requirements

18
The amount of information gathered during requirements determination could be huge,
especially if the scope of the system under development is broad. The time required to
collect and structure a great deal of information can be extensive and, because it
involves so much human effort, quite expensive. Too much analysis is not productive,
and the term analysis paralysis has been coined to describe a project that has become
bogged down in an abundance of analysis work. Because of the dangers of excessive
analysis, today’s systems analysts focus more on the system to be developed than
on the current system. Later , you learn about joint application design (JAD) and
prototyping, techniques developed to keep the analysis effort at a minimum yet still be
effective. Other processes have been developed to limit the analysis effort even more,
providing an alternative to the SDLC. Many of these are included under the name
of Agile Methodologies. Before you can fully appreciate alternative approaches, you
need to learn traditional fact-gathering techniques.

3.4 Tools for System analysis


3.4.1 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. Flowcharts are
used in designing and documenting simple processes or programs. Like other types
of diagrams, they help visualize what is going on and thereby help understand a
process, and perhaps also find less-obvious features within the process, like flaws
and bottlenecks.

19
Figure3.3: Flow Chart

3.4.2 Data Dictionary

These are the relations we have designed to manage the database. Here we have
followed a convention of having the table names with tb as a prefix, and the remaining
name of the table represent the description of the data inside that table.

A Complete Database and tables detail with Primary and Foreign Keys, and proper
Constraints in fields..

Database Design and RDBMS

The general theme behind database design is to handle information as on integrated


whole. There is none of the 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. The general objective is to

20
make information access easy, quick, inexpensive and flexible for the user. In database
design of this project several objectives were considered.

• Controlled redundancy: Redundant data occupies space and therefore is wasteful.


If versions of the same data are in different phase of updating, the system gives
conflict information. A unique aspect of database design is strong a data only once,
which control redundancy and improves system performance.

• Ease of learning and use: A major feature of user-friendly database package is


how easy it to learn and use. Related to this point is that a database can be
modified without interfering with established way of using data.

• Data independence: An important database objective is changing hardware and


store procedures or adding new data without having to rewrite application
programs.

• Performance: This objective emphasizes response time to inquiries suitable to use


of the data. How satisfactory the response time is depends on the nature of the user
database dialogue.

3.4.3 Data Table

Figure3.4: Data Table

21
3.5 Summary

System analysis is the whole process of determining what is needed for the system to
be developed. All requirements are determined and what methods to be used for the
system prototype. All methods like data tables and flow charts are used to make design
for the software to be developed. Because it is really the first step in the design of the
new system, some experts argue that it is inappropriate to use the term analysis for this
phase; some argue a better name would be analysis and initial design. It examine the
information needs of end-user and enhances the system goal.

22
Chapter-4

SYSTEM DESIGN

4.1 Introduction To System Design


Design phase decides how the system will operate, in terms of the hardware, software,
and network infrastructure; the user interface, forms and reports; and the specific
programs, databases, and files that will be needed. Although most of the strategic
decisions about the system were made in the development of the system concept during
the analysis phase, the steps in the design phase determine exactly how the system will
operate.

The design phase has four steps:

I. The design strategy is first developed. It clarifies whether the system will be
developed by the company’s own programmers, whether the system will be
outsourced to another firm (usually a consulting firm), or whether the company
will buy an existing software package.
II. This leads to the development of the basic architecture design for the system,
which describes the hardware, software, and network infrastructure to be used.
In
most cases, the system will add or change the infrastructure that already exists
in the organization. The interface design specifies how the users will move
through
the system (e.g., navigation methods such as menus and on-screen buttons) and
the forms and reports that the system will use.
III. The database and file specifications are developed. These define exactly what
data
will be stored and where they will be stored.

23
IV. The analyst team develops the program design, which defines the programs that
need to be written and exactly what each program will do.

This collection of deliverables (architecture design, interface design, database and


file specifications, and program design) is the system specification that is handed to the
programming team for implementation. At the end of the design phase, the feasibility
analysis and project plan are reexamined and revised, and another decision is made by
the project sponsor and approval committee about whether to terminate the project or
continue. The system design phase develops the technical blueprints and specifications
required to Implement the final solution. These blueprints and specifications will he
used to implement required databases, programs, user interfaces, and networks
for the information system. In the case where we choose to purchase software Instead
of build it, the blueprints specify how the purchased software will be integrated Into
the business and with other Information systems. The design phase decides how the
system will operate. This collection of deliverables is the system specification that is
handed to the programming team for implementation. At the end of the design
phase, the feasibility analysis and project plan are reexamined and revised, and another
decision is made by the project sponsor and approval committee about whether to
terminate the project or continue.

4.2 Types of System Design


4.2.1 Logical Design

Logical design pertains to an abstract representation of the data flow, inputs, and
outputs of the system. It describes the inputs (sources), outputs (destinations), databases
(data stores), procedures (data flows) all in a format that meets the user
requirements.While preparing the logical design of a system, the system analyst
specifies the user needs at level of detail that virtually determines the information flow
into and out of the system and the required data sources. Data flow diagram, E-R
diagram modeling are used.

24
4.2.2 Physical Design

Physical design relates to the actual input and output processes of the system. It focuses
on how data is entered into a system, verified, processed, and displayed as output.It
produces the working system by defining the design specification that specifies exactly
what the candidate system does. It is concerned with user interface design, process
design, and data design.

It consists of the following steps −

 Specifying the input/output media, designing the database, and specifying backup
procedures.

 Planning system implementation. 

 Devising a test and implementation plan, and specifying any new hardware and
software.

 Updating costs, benefits, conversion dates, and system constraints.

4.3 Design Strategies


4.3.1 Top down Strategy

The top-down strategy uses the modular approach to develop the design of a system. It
is called so because it starts from the top or the highest-level module and moves
towards the lowest level modules. In this technique, the highest-level module or main
module for developing the software is identified. The main module is divided into
several smaller and simpler sub modules or segments based on the task performed by
each module. Then, each sub module is further subdivided into several sub modules of
next lower level. This process of dividing each module into several sub modules
continues until the lowest level modules, which cannot be further subdivided, are not
identified.

25
Figure 4.1: Top Down Design

4.3.2 Botton Up Strategy

Bottom-Up Strategy follows the modular approach to develop the design of the system.
It is called so because it starts from the bottom or the most basic level modules and
moves towards the highest level modules.

In this technique,

 The modules at the most basic or the lowest level are identified.

 These modules are then grouped together based on the function performed by each
module to form the next higher-level modules.

 Then, these modules are further combined to form the next higher-level modules.

 This process of grouping several simpler modules to form higher level modules
continues until the main module of system development process is achieved.

26
Figure 4.2: Bottom Up Strategy

4.3.3 Strategic Design

Structured design is a data-flow based methodology that helps in identifying the input
and output of the developing system. The main objective of structured design is to
minimize the complexity and increase the modularity of a program. Structured design
also helps in describing the functional aspects of the system. In structured designing,
the system specifications act as a basis for graphically representing the flow of data and
sequence of processes involved in a software development with the help of DFDs.
After developing the DFDs for the software system, the next step is to develop the
structure chart.

Figure4.3: Strategic Design

27
4.4 Tools Used for System Design
4.4.1 Data-Flow Diagrams (DFDs)

Data-flow diagrams allow you to model how data flow through an information
system, the relationships among the data flows, and how data come to be stored
at specific locations. Data-flow diagrams also show the processes that change or
transform data.
Because data-flow diagrams concentrate on the movement of data between
processes, these diagrams are called process models. As the name indicates, a data-
flow diagram is a graphical tool that allows analysts (and users) to show the flow
of data in an information system. The system can be physical or logical, manual or
computer based. In this lesson, you learn the mechanics of drawing and revising
data-flow diagrams, as well as the basic symbols and set of rules for drawing them.
We also alert you to pitfalls. You learn two important concepts related to data-flow
diagrams: balancing and decomposition. At the end of the lesson, you learn how
to use data-flow diagrams as part of the analysis of an information system and as a
tool for supporting business process reengineering. You also are briefly introduced
to a method for modeling the logic inside processes, decision tables.

 Process involves graphically representing the processes, or actions, that


capture, manipulate, store, and distribute data between a system and its
environment and among components within a system. A common form of
a process model is a data-flow diagram(DFD). A data-flow diagram is a
graphic that illustrates the movement of data between external entities and
the processes and data stores within a system. Although several different tools
have been developed for process modeling, we focus solely on data-flow
diagrams because they are useful tools for process modeling. Data-flow
diagramming is one of several structured analysis techniques used to increase
software development productivity. Although not all organizations use each
structured analysis technique, collectively, these techniques, like dataflow

28
diagrams, have had a significant impact on the quality of the systems
development process.

 External Entity: A source or destination of data which is extrenal to the


system. e.g. Public, Dealer etc.
 A data flow: It is packet of data. It may be in the form of document , letter etc.

Figure 4.4: Data Flow Diagram

4.4.2 Entity-Relationship Model

An Entity-Relationship Model (ERM) is an abstract and conceptual representation


of data. Entity-relationship modeling is a database modeling method, used to
produce a type of conceptual schema of a system, often a relational database, and
its requirements in a top- down fashion. The entity-relationship model is a way of
graphically representing the logical relationships of entities in order to create a
database. The ER model was first proposed by Peter Pin-Shan Chen of
Massachusetts Institute of Technology (MIT) in the 1970s.

In ER modeling, the structure for a database is portrayed as a diagram, called an


entity-relationship diagram, that resembles the graphical breakdown of a sentence
into its grammatical parts. Entities are rendered as points, polygons, circles, or
ovals. Relationships are portrayed as lines connecting the points, polygons, circles,
or ovals. Any ER diagram has an equivalent relational table, and any relational

29
table has an equivalent ER diagram. ER diagramming is an invaluable aid to
engineers in the design, optimization, and debugging of database programs.
Entities and Entity Sets:

• An entity is an object that exists and is distinguishable from other objects. An


entity may be concrete or abstract.

• An entity set is a set of entities of the same type.

• Entity sets need not be disjoint.

• An entity is represented by a set of attributes.

• Formally, an attribute is a function which maps an entity set into a domain.

Mapping Constraints: An E-R scheme may define constraints to which the


contents of a database must conform.

 One-to-one: An entity in A is associated with at most one entity in B, and


an entity in B is associated with at most one entity in A.
 One-to-many: An entity in A is associated with any number in B. An
entity in B is associated with at most one entity in A.
 Many-to-one: An entity in A is associated with at most one entity in B. An
entity in B is associated with any number in A.
 Many-to-many: Entities in A and B are associated with any number from
each other.

4.5 Summary

System design is the process where we decide what hardware, software and architecture
will be needed for our system. Actually, almost all the decision made out at the time of
analysis but in design phase specifically we talk about the architecture design, interface
design, database and file specifications, and program design needed for the system. Let
us assume the software like we used Xampp for our system development. This all
comes under system design and all technicals decide the best suited hardware and
softwares.

30
Chapter-5

System development

5.1 Introduction To System Development

System development is that module of a software development process in which main


task is handed over to the developers and the way to the software is further proceeded.
In this phase developers code the required design of our software which we made out in
our previous phase. Usually more than one technical approach is proposed and based
on the technical and financial feasibility the final decision is taken. System design is
broken down further into modules taking up different functionality. The data transfer
and communication between the internal modules and with other systems is clearly
understood and defined in this stage. With this information, integration tests can be
designed. A small team of developers, directly working with users, finalizes the design
and build the system.

The users have the opportunity to fine-tune the requirements and review the resulting
software implementation. Construction stage deliverables include documentations and
instructions necessary to operate the new application and routines and procedures
needed to put the system into operation

5.2 Languages Used


5.2.1 Front End
5.2.1.1 HTML

HTML is the main markup language for displaying web pages and other information
that can be displayed in a web browser. It was developed by Tim Berners Lee at CERN
laboratory. HTML or Hyper-text Mark-up Language is a globally accepted
programming language for formatting web pages. In today’s world, it is commonly
used along with JavaScript and Cascading Style Sheets (CSS) to give web pages the
look and feel we desire. Through HTML, the look and appearance of images, links,

31
headings, text, page layout and just about every element of a web page can be
formatted. HTML is a language for describing web pages.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.

• HTML stands for Hyper Text Markup Language

• HTML is a markup language

• A markup language is a set of markup tags

• The tags describes document content

• HTML documents contain HTML tags and plain text

• HTML documents are also called web pages

• Hypertext: It refers to the text which acts as a link.

• Markup: It refers to the symbols or sequence of characters to define the structure


of the text.

5.2.1.2 CSS
Cascading Style Sheets 3 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. CSS is designed primarily to enable
the separation of document content (written in HTML or a similar markup language)
from document presentation, including elements such as the layout, c olors, and f onts.
This separation can improve content accessibility, provide more flexibility and control
in the specification of presentation characteristics, enable multiple pages to share

32
formatting, and reduce complexity and repetition in the structural content (such as by
allowing for table less web design.

5.2.1.3 JavaScript

JavaScript (JS) is an interpreted computer programming language. It was originally


implemented as part of web browser so that client-side scripts could interact with the
user, control the browser, communicate asynconously and alter the document content
that was displayed. JavaScript is a prototype –based scripting language that is dynamic,
weakly typed, and has first-class functions. Its syntax was influenced by the language
C. JavaScript copies many names and naming conventions from Java, but the two
languages are otherwise unrelated and have very different semantics. The key design
principles within JavaScript are taken from the Self and Scheme programming
languages. It is a multi-paradigm language, supporting object-oriented, imperative, and
functional programming styles. JavaScript's use in applications outside of web pages—
for example, in PDF documents, site-specific browsers, and desktop widgets —is also
significant. It is a Dynamic programming language

• JavaScript is a lightweight, interpreted programming language.

• Designed for creating network-centric applications.

• Complementary to and integrated with Java.

• Complementary to and integrated with HTML.

• Open and cross-platform

• Client-side JavaScript

5.2.1.4 jQuery
jQuery is a cross-platform JavaScript library designed to simplify the client-side
scripting of HTML.It is free, open-source software using the permissive MIT

33
license. Web analysis indicates that it is the most widely deployed JavaScript library by
a large margin 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 jQuery's syntax is designed to make it easier to
navigate a document, select DOM elements, create animations, handle events, and
develop Ajax applications. jQuery also provides capabilities for developers to
create plug-ins on top of the JavaScript library. This enables developers to
create abstractions for low-level interaction and animation, advanced effects and high-
level, themeable widgets. The modular approach to the jQuery library allows the
creation of powerful dynamic web pages and Web applications.
The set of jQuery core features—DOM element selections, traversal and
manipulation—enabled by its selector engine (named "Sizzle" from v1.3), created a
new "programming style", fusing algorithms and DOM data structures. This style
influenced the architecture of other JavaScript frameworks like YUI v3 and Dojo, later
stimulating the creation of the standard Selectors API. Microsoft and Nokia bundle
jQuery on their platforms.Microsoft includes it with Visual Studio for use within
Microsoft's ASP.NET AJAX and ASP.NET MVC frameworks while Nokia has
integrated it into the Web Run-Time widget development platform.

5.2.1.5 Bootstrap
Bootstrap is a front-end framework for HTML, CSS and JavaScript that is notable for
developing mobile-first and responsive websites. With some basic knowledge of
HTML and CSS, you can create Bootstrap forms, tables, buttons, typography,
navigation, modals, image carousels and optional JavaScript plugins, by using the
premade templates Bootstrap provides you.

1. Responsive: Bootstrap's features are responsive, which means they are optimized to
fit the size of the screen you're seeing the page on, such as desktops, tablets or cell

34
phones. For example, a Bootstrap form on a desktop site will proportionally change in
size when viewed from a mobile phone.

2. Mobile-first: As we mentioned above, part of the core structure of Bootstrap is


mobile-first styles as opposed to desktop-first. This means that instead of using max-
width in the media queries- like you would for a site designed for desktop- you
use min-width. Generally, coding for mobile-first is simpler than coding for desktop.
Also, where global styles (outside the media queries) are usually designed to make
websites look nice on a large screen, a mobile-first approach focuses on sites looking
attractive on a small screen.

3. Browser-friendly: Bootstrap doesn't discriminate, which is why it is compatible


with all current browsers, like Chrome, Safari, Internet Explorer, Firefox, and Opera.

4. Easy-to-use—The best reason of them all! You only need very barebones
knowledge of HTML and CSS to begin using Bootstrap.

5.2.1.6 AJAX
Ajax is a web development technique used for creating interactive web applications.
The intent is to make web pages feel more responsive by exchanging small amounts of
data with the server behind the scenes, so that the entire web page does not have to be
reloaded each time the user requests a change. This is intended to increase the web
page’s interactivity, speed, functionality, and usability. Ajax is a cross-platform
technique usable on many different operating systems, computer architectures, and
Web browsers as it is based on open standards such as JavaScript and XML, together
with open source implementations of other required technologies. Or 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. Ajax allows content on Web pages to update immediately
when a user performs an action, unlike an HTTP request, during which users must wait
for a whole new page to load. For example, a weather forecasting site could display
local conditions on one side of the page without delay after a user types in a zip code.

35
Google Maps is one well-known application that uses Ajax. The interface allows the
user to change views and manipulate the map in real time. Ajax applications do not
require installation of a plug-in, but work directly with a Web browser. Because of the
technique's reliance on XMLHttpRequest, early applications worked only with
Microsoft's Internet Explorer browser, but most other browsers now support Ajax.
Applications created with Ajax use an engine that acts as an intermediary between a
user's browser and the server from which it is requesting information. Instead of
loading a traditional Web page, the user's browser loads the Ajax engine, which
displays the page the user sees. The engine continues to run in the background, using
JavaScript to communicate with the Web browser. User input or clicking on the page
sends a JavaScript call to the Ajax engine, which can respond instantly in many cases.
If the engine needs additional data, it requests it from the server, usually using XML,
while it is simultaneously updating the page.
Ajax is not a proprietary technology or a packaged product. Web developers have been
using JavaScript and XML in combination for several years. Jesse James Garrett of the
consultancy firm Adaptive Path is credited with coining the name "Ajax" as a
shorthand way to refer to the specific technologies involved in a current approach.

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

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. that allows web developers to create dynamic

36
content that interacts with databases. PHP is basically used for developing web based
software applications.

• PHP started out as a small open source project that evolved as more and more people
found out how useful it was.

• PHP is a recursive acronym for "PHP: Hypertext Preprocessor".

• PHP is a server side scripting language that is embedded in HTML. It is used to


manage dynamic content, databases, session tracking, even build entire e-commerce
sites.

• It is integrated with a number of popular databases, including MySQL, PostgreSQL,


Oracle, Sybase, Informix, and Microsoft SQL Server.

• PHP is pleasingly zippy in its execution, especially when compiled as an Apache


module on the Unix side. The MySQL server, once started, executes even very
complex queries with huge result sets in record-setting time.

5.2.2 Back End languages


5.2.2.1 MYSQL

MySQL is a relational database. MySQL is a powerful database. It's very good and free
of charge. Many developers in the world selected Mysql and php for developing their
website. So nowadays, we use relational database management systems (RDBMS) to
store and manage huge volume of data. This is called relational database because all the
data is stored into different tables and relations are established using primary keys or
other keys known as foreign keys.

 MySQL is developed, marketed, and supported by MySQL AB, which is a


Swedish company.
 MySQL is released under an open-source license. So you have nothing to pay to
use it.

37
 MySQL is a very powerful program in its own right. It handles a large subset of
the functionality of the most expensive and powerful database packages.
 MySQL uses a standard form of the well-known SQL data language.
 MySQL works on many operating systems and with many languages including
PHP, PERL, C, C++, JAVA etc.
 MySQL works very quickly and works well even with large data sets.
 MySQL supports large databases, up to 50 million rows or more in a table. The
default file size limit for a table is 4GB, but you can increase this (if your operating
system can handle it) to a theoretical limit of 8 million terabytes (TB).
 MySQL is customizable. The open source GPL license allows programmers to
modify the MySQL software to fit their own specific environments.

5.2.2.2 XAMPP
XAMPP is an open source free software developed by Apache . XAMPP software
package contains Apache distributions for Apache server, MariaDB, PHP, and
Perl. And it is basically a local host or a local server. This local server works on your
own desktop or laptop computer. You can just install this software on your laptop or
desktop and test the clients or your website before uploading it to the remote web
server or computer. This XAMPP server software gives you suitable environment for
testing MYSQL, PHP, Apache and Perl projects on the local computer.
The full form of XAMPP is X stands for Cross-platform, (A)Apache server,
(M)MariaDB, (P)PHP and (P)Perl. The Cross-platform usually means that it can run on
any computer with any operating system.
Next MariaDB is the most famous database server and it is developed by MYSQL
team. PHP usually provides a space for web development. PHP is a server-side
scripting language. And the last Perl is a programming language and is used to develop
a web application.

5.3 Coding

38
In system development phase, actual code work has taken place with different
languages used in project:

 The actual coding of the system modules designed in the design phase is taken up
in the Coding phase.
 The best suitable programming language is decided based on the system and
architectural requirements.
 The coding is performed based on the coding guidelines and standards.
 The code goes through numerous code reviews and is optimized for best
performance before the final build is checked into the repository.

5.3.1 Index.php

<!DOCTYPE html>

<head>

<title>Find Places</title>

<script>

addEventListener("load", function () {

setTimeout(hideURLbar, 5);

}, false);

function hideURLbar() {

window.scrollTo(0, 1);

</script>

<link rel="stylesheet" href="css/bootstrap.css">

<link rel="stylesheet" href="css/style.css" type="text/css"


media="all" />

39
<link href="css/font-awesome.css" rel="stylesheet">

<!-- Font-Awesome-Icons-CSS -->

<link
href="http://fonts.googleapis.com/css?family=Pacifico&amp;subset=cyril
lic,latin-ext,vietnamese" rel="stylesheet">

<link
href="http://fonts.googleapis.com/css?family=Amaranth:400,400i,700,700
i" rel="stylesheet">

<link
href="http://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,40
0i,600,600i,700,700i,800,800i" rel="stylesheet">

<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"
></script>

<script type="text/javascript">

$(document).ready(function(){

$('#state').on('change',function(){

var stateID = $(this).val();

//alert(stateID);

if(stateID){

$.ajax({

type:'POST',

url:'state_city.php',

data:'loc_id='+stateID,

success:function(html){

$('#city').html(html);

40
});

}else{

$('#city').html('<option value="">Select state first</option>');

});

});

</script>

<style>

center a {

padding:8px 16px;

border:1px solid #ccc;

color:#333;

font-weight:bold;

</style>

</head>

<body>

<div class="header-w3l">

<div class="nav-agile">

<nav class="navbar navbar-default">

<div class="navbar-header logo-w3layouts">

<button type="button" class="navbar-toggle collapsed" data-


toggle="collapse" data-target="#bs-example-navbar-collapse-1">

<span class="sr-only">Toggle navigation</span>

41
<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

<h1>

<a href="index.php">Find Places</a>

</h1>

</div>

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-


1">

<div class="w3l-navtop">

<ul class="nav navbar-nav navbar-right">

<li>

<a href="index.php">Home</a>

</li>

<li>

<a href="about.php">About</a>

</li>

<li>

<a href="gallery.php" class="active">Gallery</a>

</li>

<li>

<a href="Feedback.php">Feedback</a>

</li>

42
</ul>

</div>

<div class="clearfix"> </div>

</div>

</nav>

<div class="clearfix"> </div>

</div>

</div>

<div class="w3l_banner_info">

<div class="slider">

<div class="callbacks_container">

<ul class="rslides" id="slider3">

<li>

<div class="slider-img-3">

<div class="slider_banner_info">

<h4>

<span>Explore</span> the Distant Corners of the

<span>World</span>

</h4>

<p>Go, fly, roam, travel, voyage, explore, journey, discover,


adventure.</p>

<div class="readmore-w3-agileits">

<div class="row">

<form action="searchplaces.php" method="post" class="contact-block-


left">

43
<div class="col-sm-6">

<select name="location" class="form-control" id="state" required>

<option value="">Choose Location</option>

<?php

error_reporting('E_ALL ^ E_NOTICE');

include('config.php');

$select_loc=mysqli_query($con,"select * from location ");

$i=1;

while($fetchLoc=mysqli_fetch_object($select_loc))

?>

<option value="<?php echo $fetchLoc->loc_id; ?>"><?php echo


ucwords($fetchLoc->loc_name);?></option>

<?php

$i++;

?>

<br />

</select>

</div>

<div class="col-sm-6">

<div class="clearfix"> </div>

<select name="city" class="form-control " id="city" required>

<option value="">Choose City</option>

44
</select>

</div>

<br />

<input type="submit" name="search" value="Search" />

</form>

</div>

</div>

</div>

</div>

</li>

</ul>

</div>

</div>

</div>

<div class="trips-section">

<div class="container">

<h3 class="title">Welcome to Our Find Places Portal</h3>

<div class="col-xs-3 exce-grid1-mmstyle">

<?php

if(isset($_POST['search']))

$location=$_POST['location'];

$city=$_POST['city'];

45
$select=mysqli_query($con,"select cat_name from places left join
category on places.category=category.cat_id where city='$city'");

$count=mysqli_num_rows($select);

if($count>0)

?>

<div class="grid-ec1" style="height:400px;border:solid red 2px;">

<h3>Categories</h3>

<?php

while($fetchcat=mysqli_fetch_object($select)){

?>

<h4>

<i class="fa fa-map-marker"></i><sub><a


href="places.php?cat_name=<?php echo $fetchcat->category;?>&city=<?php
echo $city; ?>">

<?php echo $fetchcat->category;?></a></sub></h4>

<?php

}else{

}?>

</div>

</div>

<?php

$catname=$_GET['cat_name'];

46
$city=$_GET['city'];

if(!$_GET['cat_name']){

$record_per_page = 9;

$page = '';

if(isset($_GET["page"]))

$page = $_GET["page"];

else

$page = 1;

$start_from = ($page-1)*$record_per_page;

$select_places=mysqli_query($con,"select * from places LIMIT


$start_from, $record_per_page ");

$count=mysqli_num_rows($select_places);

while($fetch=mysqli_fetch_object($select_places))

$places=explode(',',$fetch->image);

?>

<div class="col-xs-4 exce-grid1-mmstyle"


style="height:630px;width:430px;margin-top:20px;">

<img src="admin/image/<?php echo $places[0];?>" alt="" height="200px"


width="150px">

<div class="grid-ec1">

47
<h3><?php echo ucwords($fetch->title); ?></h3>

<h4>

<i class="fa fa-map-marker"></i><?php echo $fetch->address; ?></h4>

<br >

<br>

<?php

$select_rating=mysqli_query($con,"select * from rating where


place_id='$fetch->place_id' ");

$count=mysqli_num_rows($select_rating);

$fetch_rating=mysqli_fetch_object($select_rating);

$rating_count=$fetch_rating->rating;

//print_r($rating_count);

$total_php_rating=$rating_count/$count;

echo "<h5 style='color:red;''>Average Rating: ";

for($i=1;$i<=$total_php_rating;$i++){

?>

<img src="images/yellow-star.png" style="height:30px;width:30px;"


alt="rating" >

<?php

echo "</h5>";

?>

<div class="readmore-w3-agileits about-read">

<a href="single.php?id=<?php echo $fetch->place_id;?>" >Read More</a>

</div>

48
</div>

</div>

<?php

else

?>

<div class="clearfix"> </div>

</div>

</div>

<?php

$select_places=mysqli_query($con,"select * from places where


category='$catname' AND city_id='$city' limit 12 ");

$count=mysqli_num_rows($select_places);

while($fetch=mysqli_fetch_object($select_places))

$places=explode(',',$fetch->image);

?>

<div class="col-xs-4 exce-grid1-mmstyle" style="margin-top:20px;">

<img src="admin/image/<?php echo $places[0];?>" alt="" height="200px"


width="150px">

<div class="grid-ec1">

<h3><?php echo ucwords($fetch->title); ?></h3>

<h4>

49
<i class="fa fa-map-marker"></i><?php echo $fetch->address; ?></h4>

<br>

<div class="readmore-w3-agileits about-read">

<a href="single.php?id=<?php echo $fetch->places_id;?>" >Read More</a>

</div>

</div>

</div>

<?php

?>

<div class="clearfix"> </div>

</div>

</div><center>

<?php

$page_query = "SELECT * FROM places ORDER BY place_id DESC";

$page_result = mysqli_query($con, $page_query);

$total_records = mysqli_num_rows($page_result);

$total_pages = ceil($total_records/$record_per_page);

$start_loop = $page;

$difference = $total_pages - $page;

if($difference < 1)

$start_loop = $total_pages - 1;

50
}

$end_loop = $start_loop+2;

if($page > 1)

echo "<a href='index.php?page=1'>First</a>";

echo "<a href='index.php?page=".($page - 1)."'><<</a>";

for($i=$start_loop; $i<$end_loop; $i++)

echo "<a href='index.php?page=".$i."'>".$i."</a>";

if($page <= $end_loop)

echo "<a href='index.php?page=".($page + 1)."'>>></a>";

echo "<a href='index.php?page=".$total_pages."'>Last</a>";

?>

</center>

<div class="testimonials">

<div class="container">

<h3 class="title">What Out Clients Says</h3>

<div class="w3_testimonials_grids">

<section class="slider">

<div class="flexslider">

51
<ul class="slides">

<?php

$select_feedback=mysqli_query($con,"select *from feedback");

$count=mysqli_num_rows($select_feedback);

while($fetch=mysqli_fetch_object($select_feedback)){

?>

<li>

<div class="w3_testimonials_grid">

<h4>

<i>

<?php echo $fetch->suggestion;?>

</i>

</h4>

<h5><?php echo ucwords($fetch->name); ?></h5>

</div>

</li>

<?php

?>

</ul>

</div>

</section>

</div>

</div>

52
</div>

<?php

include('config.php');

if(isset($_POST['subscribe']))

$email=$_POST['email'];

$insert=mysqli_query($con,"insert into newsletter(email)


values('$email')");

if($insert)

header("location:newsletter.php");

else

echo "Record Not Inserted".mysqli_error($con);

?>

<?php

include('footer.php');

?>

5.3.2 Rating.php

<?php

53
$postid = $_POST['postid'];

$rating = $_POST['rating'];

$query = "SELECT COUNT(*) AS cntpost FROM rating WHERE


place_id=".$postid;

$result = mysqli_query($con,$query);

$fetchdata = mysqli_fetch_array($result);

$count = $fetchdata['cntpost'];

if($count == 0){

$insertquery = "INSERT INTO rating(place_id,rating)


values(".$postid.",".$rating.")";

mysqli_query($con,$insertquery);

}else {

$updatequery = "UPDATE rating SET rating=" . $rating . " where


place_id=" . $postid;

mysqli_query($con,$updatequery);

?>

5.3.3 Feedback.php

<?php

error_reporting('E_ALL ^ E_NOTICE');

include('config.php');

if(isset($_POST['submit']))

$name=$_POST['name'];

54
$email=$_POST['email'];

$suggestion=$_POST['suggestion'];

$insert=mysqli_query($con,"insert into feedback(name,email,suggestion)


values('$name','$email','$suggestion')");

if($insert)

header("location:feedback.php");

else

echo "Record Not Inserted".mysqli_error($con);

?>

<?php

include('header.php');

?>

<div class="inner_banner_agile">

</div>

<div class="services-breadcrumb">

<div class="inner_breadcrumb">

<ul class="short_ls">

<li>

<a href="index.php">Home</a>

55
<span>/ /</span>

</li>

<li>Contact</li>

</ul>

</div>

</div>

<div class="contact">

<div class="container">

<h3 class="title"> Your Feedback Is Valuable For Us </h3>

<div class="contact-block-left">

<form action="#" method="post">

<input type="text" placeholder="Name" required="" name="name">

<input type="email" class="email" placeholder="Email" name="email"


required="">

<textarea placeholder="Suggestion" name="suggestion"


required=""></textarea>

<input type="submit" value="Submit" name="submit">

</form>

</div>

<div class="contact-seco">

<div class="col-md-5 col-xs-5 contact-left-w3ls">

<h3>Get In Touch</h3>

<div class="visit">

<div class="col-md-2 col-sm-2 col-xs-2 contact-icon-wthree">

<i class="" aria-hidden="true"></i></div>

56
<div class="clearfix"></div>

</div>

<div class="mail-w3">

<div class="col-md-2 col-sm-2 col-xs-2 contact-icon-wthree">

<i class="fa fa-envelope-o" aria-hidden="true"></i>

</div>

<div class="col-md-10 col-sm-10 col-xs-10 contact-text-agileinf0">

<h4>Mail us</h4>

<p>

<a href="mailto:hardeepsus@gmail.com">findplaces@gmail.com</a>

</p>

</div>

<div class="clearfix"></div>

</div>

<div class="call">

<div class="col-md-2 col-sm-2 col-xs-2 contact-icon-wthree">

<i class="fa fa-phone" aria-hidden="true"></i>

</div>

<div class="col-md-10 col-sm-10 col-xs-10 contact-text-agileinf0">

<h4>Call us</h4>

<p>+91 9878093799</p>

</div>

<div class="clearfix"></div>

</div>

57
</div>

<div class="col-md-6 col-xs-6 social-w3">

<div class="main">

<ul>

<li class="f1">

<a href="#" class="social-contact-w3">

<i class="fa fa-facebook f1" aria-hidden="true"></i>

<p>Facebook</p>

</a>

</li>

<li class="f3">

<a href="#" class="social-contact-w3">

<i class="fa fa-twitter f3" aria-hidden="true"></i>

<p>Twitter</p>

</a>

</li>

<li class="f4">

<a href="#" class="social-contact-w3">

<i class="fa fa-linkedin f5" aria-hidden="true"></i>

<p>Linkedin</p>

</a>

</li>

</ul>

</div>

58
</div>

<div class="clearfix"> </div>

</div>

</div>

</div>

<div class="footer">

<div class="container">

<div class="footer-row w3layouts-agile">

<div class="col-md-4 col-xs-4 footer-grids">

<h2>More Information</h2>

<p class="footer-one-w3ls">The objective of the “Find Places' is to


provide a system which handles the information of the various places
and updating information according to the requirements.It takes care
of people’s needs. It makes easy to find places for visitors and visit
anywhere. </p>

</div>

<div class="col-md-5 col-xs-5 footer-grids w3l-agileits">

<h3>Newsletter</h3>

<p>Recieve our latest news straight to your inbox</p>

<form action="#" method="post">

<input type="email" placeholder="Email" name="email" required="">

<input type="submit" value="Subscribe" />

</form>

</div>

<div class="col-md-3 col-xs-3 footer-grids social-agileits">

<h3>Connect With Us</h3>

59
<div class="social-w3l">

<ul>

<li>

<a href="#" class="wthree_facebook">

<i class="fa fa-facebook" aria-hidden="true"></i>

</a>

</li>

<li>

<a href="#" class="wthree_twitter">

<i class="fa fa-twitter" aria-hidden="true"></i>

</a>

</li>

</ul>

</div>

<div class="social-w3r">

<ul>

<li>

<a href="#">Facebook</a>

</li>

<li>

<a href="https://twitter.com/Hardeep68924146">Twitter</a>

</li>

</ul>

</div>

60
</div>

<div class="clearfix"> </div>

</div>

</div>

</div>

<script src="js/jquery-2.2.3.min.js"></script>

<script src="js/bootstrap.js"></script>

<script src="js/SmoothScroll.min.js"></script>

<script src="js/move-top.js"></script>

<script src="js/easing.js"></script>

<script>

jQuery(document).ready(function ($) {

$(".scroll").click(function (event) {

event.preventDefault();

$('html,body').animate({

scrollTop: $(this.hash).offset().top

}, 1000);

});

});

</script>

<script>

$(document).ready(function () {

$().UItoTop({

easingType: 'easeOutQuart'

61
});

});

</script>

<a href="#" id="toTop" style="display: block;">

<span id="toTopHover" style="opacity: 1;"> </span>

</a>

</body>

</html>

62
5.4 Project Snapshots
5.4.1 Backend

Admin Data:

Figure 5.14: Admin Data

Add Category:

Figure 5.2: Add Category

63
View Category:

Figure 5.3: View Category

Add Location:

Figure 5.4: Add Location

64
View Location:

Figure 5.5: View Location

Add Place:

Figure 5.6: Add Place

65
View Place:

Figure 5.7: View Place

66
Add City:

Figure 5.8: Add City

View City:

Figure 5.9: View City

67
5.4.2 Frontend

Home

Figure 5.10: Front Page

68
Choose Location
When we click on the Choose Location fiels's dropdown list, A list is displayed which
contains various locations that the users can visit.

Choose City
When we click on the Choose Location fiels's dropdown list, A list is displayed which
contains various cities that the users can visit. These cities are displayed according to
selected location.

Search Button
There is a search button below the dropdown fields. When user selects the location and
then selects the city according the selected location, he/she the click on the search
button. After this he/she is able to find the things that they can visit in the selected
location and city.
E.g. If user selected Amritsar in the Punjab, they are provided with the information of
the places that they can visit in Amritsar like Temples, Museums etc.

Searchplaces

69
Now, suppose user has selected Museum, then name and address of various Museums
that are in Amritsar are displayed with read more button.

Figure 5.11: Places

The user can select a particular Museum and can get the full information about it like
address, description,entry fee, timing by clicking on Read More button.

Moreover, users are able to see the gallery of that place and can see the map also and
can also rate the places.

70
Figure 5.12: Gallery

Figure 5.13: Map

71
Gallery

After clicking on the gallery button, we can see full gallery of the find places project.
We can see various images of the various places that are added to the project.

72
About us

When we click on the about button, the information about the project developers is
displayed and the page contains the welcome part, slider and footer.

Figure 5.14: About Us

73
Feedback

After clicking on the feedback button, a feedback form is displayed. This form is
basically for the people who visit the site and after visiting the site they can give
feedback.

74
5.5 Summary

System development phase performs the actual functioning of the software. Developers
perform all the required logical and physical tasks needed. System developers get into
a team and perform the operations like one slot is allotted for the interface designing
part and other for the logical functioning to be performed by the software. This is all to
be done under system development. Usually more than one technical approach is
proposed and based on the technical and financial feasibility the final decision is taken.

75
System design is broken down further into modules taking up different functionality.
The data transfer and communication between the internal modules and with other
systems is clearly understood and defined in this stage. With this information,
integration tests can be designed. A small team of developers, directly working with
users, finalizes the design and build the system.

76
Chapter-6

SYSTEM TESTING

6.1 Introduction To System Testing

System testing is testing conducted on a complete integrated system to evaluate the


system's compliance with its specified requirements. System testing takes, as its input,
all of the integrated components that have passed integration testing. The purpose of
integration testing is to detect any inconsistencies between the units that are integrated
together (called assemblages). System testing seeks to detect defects both within the
"inter-assemblages" and also within the system as a whole. The actual result is the
behavior produced or observed when a component or system is tested.

System testing is performed on the entire system in the context of either functional
requirement specifications (FRS) or system requirement specification (SRS), or both.
System testing tests not only the design, but also the behaviour and even the believed
expectations of the customer. It is also intended to test up to and beyond the bounds
defined in the software or hardware requirements specification

Figure 6.1: System Testing

77
6.2 System Testing Process
6.2.1 Test Environment Setup

Create testing environment for the better quality testing.

6.2.2 Create Test Case

Generate test case for the testing process.

Figure 6.2: System Testing Process

6.2.3 Create Test Data

Generate the data that is to be tested.

6.2.4 Execute Test Case

After the generation of the test case and the test data, test cases are executed.

6.2.5 Defect Reporting

Defects in the system are detected.

6.2.6 Regression Testing

It is carried out to test the side effects of the testing process.

6.2.7 Log Defects

Defects are fixed in this step.

6.2.8 Retest

78
If the test is not successful then again test is performed.

6.3 Types Of System Testing


6.3.1 Performance Testing

Performance Testing is a type of software testing that is carried out to test the speed,
scalability, stability and reliability of the software product or application.

6.3.2 Load Testing

Load Testing is a type of software Testing which is carried out to determine the
behavior of a system or software product under extreme load.

6.3.3 Stress Testing

Stress Testing is a type of software testing performed to check the robustness of the
system under the varying loads.

6.3.4 Scalability Testing

Scalability Testing is a type of software testing which is carried out to check the
performance of a software application or system in terms of its capability to scale up
or scale down the number of user request load.

6.4 Summary

System testing is performed to check whether the system is performing the tasks it has
to do or not. Whether the system is performing the functioning for what it is developed
or not. The system testing conducted on a complete integrated system to evaluate the
system's compliance with its specified requirements. System testing takes, as its input,
all of the integrated components that have passed integration testing. The purpose of
integration testing is to detect any inconsistencies between the units that are integrated
together. Hence the purpose of system testing is to handover a full working system to
the users with less bugs as much as possible.

79
Chapter-7

DEPLOYMENT

7.1 Introduction To Deployment

Software deployment includes all of the steps, processes, and activities that are required
to make a software system or update available to its intended users. Today, most IT
organizations and software developers deploy software updates, patches and new
applications with a combination of manual and automated processes. Some of the most
common activities of software deployment include software release, installation,
testing, deployment, and performance monitoring. Software development teams have
innovated heavily over the past two decades, creating new paradigms and working
methods for software delivery that are designed to meet the changing demands of
consumers in an increasingly connected world. In particular, software developers have
created workflows that enable faster and more frequent deployment of software updates
to the production environment where they can be accessed by users. While many
development teams still choose to host applications using on-premises IT infrastructure,
cloud service providers like Amazon Web Services (AWS), Google Cloud Platform
and Microsoft Azure now offer IT Infrastructure-as-a-Service (IaaS) and Platform-as-a-
Service (PaaS) products that help developers deploy applications into live
environments without the additional financial and administrative burden of managing
their own storage and virtualization servers.

7.2 Deployment Methodologies


7.2.1 DevOps

DevOps is a methodology and a set of best practices for software development whose
primary goals are to shorten delivery times for new software updates while maintaining

80
high quality. In the DevOps framework, there are seven steps in the software
development process:

1. Coding
2. Building
3. Testing
4. Packaging
5. Releasing
6. Configuring
7. Monitoring

DevOps usually incorporates a framework known as Continuous Integration


(CI) where new code is integrated into a shared repository by working teams on a
regular basis, sometimes even several times per day. Newly integrated code can be
tested through an automated build process to support early bug detection and removal,
helping to ensure that releases contain only quality code with few or no errors.
Continuous Deployment (CD) describes a software release strategy where new code
passes through a battery of automated tests before being automatically released into the
production environment where users can interact with it. Continuous deployment works
best for software development teams that have invested heavily in automated testing
that helps ensure new code is production-ready as it is developed.

7.3 Deployment Process

Every organization must develop its own process for software deployment, either
basing it on an existing framework of best practices or customizing a process that meets
relevant business objectives. Software deployment can be summarized in three general
phases: preparation, testing and the deployment itself.

7.3.1 Preparation

In the preparation stage, developers must gather all of the code that will be
deployed along with any other libraries, configuration files, or resources needed
for the application to function. Together, these items can be packaged as a

81
single software release. Developers should also verify that the host server is
correctly configured and running smoothly.

7.3.2 Testing

Before an update can be pushed to the live environment, it should be deployed


to a test server where it can be subjected to a pre-configured set of automated
tests. Developers should review the results and correct any bugs or errors before
deploying the update to the live environment.

7.3.3 Deployment

Once an update has been fully tested, it can be deployed to the live
environment. Developers may run a set of scripts to update relevant databases
before changes can go live. The final step is to check for bugs or errors that
occur on the live server to ensure the best possible customer experience for
users interacting with the new update.

7.4 Summary

System deployment goes under the distribution of software system to the users. All
software update comes under the deployment face .

82
Chapter-8

USER ACCEPTANCE TESTING

8.1 Introduction To User Acceptance Testing

User Acceptance Testing (UAT) is a type of testing performed by the end user or the
client to verify/accept the software system before moving the software application to
the production environment. UAT is done in the final phase of testing after functional,
integration and system testing is done. The main purpose of UAT is to validate the end
to end business flow. It does NOT focus on Cosmetic errors, Spelling mistakes or
System testing. User Acceptance Testing is carried out in a separate testing
environment with production-like data setup. It is a kind of black box testing where two
or more end-users will be involved. The Full Form of UAT is User Acceptance Testing.

8.2 Prerequisites of User Acceptance Testing


Following are the entry criteria for User Acceptance Testing

 Business Requirements must be available.


 Application Code should be fully developed
 Unit Testing, Integration Testing & System Testing should be completed
 No Showstoppers, High, Medium defects in System Integration Test Phase -
 Only Cosmetic error is acceptable before UAT 
 Regression Testing should be completed with no major defects
 All the reported defects should be fixed and tested before UAT
 Traceability matrix for all testing should be completed
 UAT Environment must be ready
 Sign off mail or communication from System Testing Team that the system is
ready for UAT execution

83
8.3 UAT Process
UAT is done by the intended users of the system or software. This type of Software
Testing usually happens at the client location which is known as Beta Testing. Once
Entry criteria for UAT are satisfied, following are the tasks need to be performed by the
testers

1. Analysis of business requirements

One of the most important activities in the UAT is to identify and develop test
scenarios. These test scenarios are derived from the following documents:

 Project Charter
 Business Use Cases
 Process Flow Diagrams
 Business Requirements Document(BRD)
 System Requirements Specification(SRS)

2. Creation of UAT test plan

The UAT test plan outlines the strategy that will be used to verify and ensure an
application meets its business requirements. It documents entry and exit criteria for
UAT, Test scenarios and test cases approach and timelines of testing.

84
Figure 8.1: User Acceptance Testing

3. Identify Test Scenarios

Identify the test scenarios with respect to high-level business process and create test
cases with clear test steps. Test Cases should sufficiently cover most of the UAT
scenarios. Business Use cases are input for creating the test cases.

4. Create UAT Test Cases

It is best advised to use live data for UAT. Data should be scrambled for privacy
and security reasons. Tester should be familiar with the database flow.

5. Preparation of Test Data(Production like Data)

Execute test cases and report bugs if any. Re-test bugs once fixed. Test management
can be used for execution.

85
6. Run the Test cases

Business Analysts or UAT Testers needs to send a sign off mail after the UAT testing.
After sign-off, the product is good to go for production. Deliverables for UAT testing
are Test Plan, UAT Scenarios and Test Cases, Test Results and Defect Log

8.4 Summary

User acceptance testing means getting the users review over the deployed system .
There are a number of ways to get the users preview like via social media, official
websites. This is performed just to improve the quality of the system software and
provide a better system to users.

86
Chapter-9

Maintenance

9.1 Introduction To Maintenance

Software Maintenance is the process of modifying a software product after it has been
delivered to the customer. The main purpose of software maintenance is to modify and
update software application after delivery to correct faults and to improve performance.
Software maintenance is a very broad activity that includes error correction,
enhancements of capabilities, deletion of obsolete capabilities, and optimization.
Because change is inevitable, mechanisms must be developed for evaluation,
controlling and making modifications.

9.2 Categories of Software Maintenance


Maintenance can be divided into the following:

9.2.1 Corrective maintenance

Corrective maintenance of a software product may be essential either to rectify some


bugs observed while the system is in use, or to enhance the performance of the system.

9.2.2 Adaptive maintenance

This includes modifications and updations when the customers need the product to run
on new platforms, on new operating systems, or when they need the product to
interface with new hardware and software.

9.2.3 Perfective maintenance

A software product needs maintenance to support the new features that the users want
or to change different types of functionalities of the system according to the customer
demands.

87
9.2.4 Preventive maintenance

This type of maintenan c e includes modifications and updations to prevent future


problems of the software. It goals to attend problems, which are not significant at this
moment but may cause serious issues in future.

9.3 Cost of Maintenance

Reports suggest that the cost of maintenance is high. A study on estimating software
maintenance found that t he cost of maintenance is as high as 67% of the cost of entire
software process cycle.

Figure 9.1: Maintenance cost

9.4 Summary

88
Maintenance is the most important phase of the system life cycle. As we say it it easy
to make rather tough to maintain though. Maintenance is the phase which cost more
than the whole system phases like designing and development alone. Because it is more
difficult to maintain than to develop.

89
Chapter-10

CONCLUSION & FUTURE SCOPE

10.1 Conclusion

This is to conclude that the project that I undertook was worked upon with a sincere
effort. Most of the requirements have been fulfilled up to the mark and the
requirements which have been remaining, can be completed with a short extension.

The relational database approach of developing the system has helped in:

 Reducing data redundancy.


 Improving data consistency.
 Establishing data integrating in the system.

10.2 Future Scope Of The Project

The system has been developed with much care that it is free of errors and at the same
time it is efficient and less time consuming. The important thing is that the system is
robust. Avoid malfunction from outsiders .It goes through all phases of software
development cycle. So product is accurate. Also provision is provided for future
developments in the system.

Completion of the development process resulted in a software package that provide


user friendly environment which is very easy to work with, even for people with very

90
little knowledge of computer. Management of various tasks is incorporated in the
package and will deliver the required information in a very easy to use and easy to
access manner. This package will provide accuracy, efficiency, speed and easiness to
the end user. Paper work will be subjugated and come to an appropriate level.

This website is basically for people who want to visit the famous places in the
interested cities that they never have seen before. The users of the website will be all
those people who want to find out places for wandering, save the time and money of
the visitors as they can search for the interested places before they actually go. Parks,
temples etc. in the interested cities before they actually go there. So, the objective of
this website to save the time and money of the visitors as they can search for the
interested places before they actually go.

The idea of this project is very good so the future scope is that it can be applied to find
the places all over the world rather than a single country.

91
Chapter-11

11. BIBLIOGRAPHY

https://getbootstrap.com

https://www.w3schools.com

https://www.tutorialspoint.com/php

https://www.tripadvisor.com

https://www.lonelyplanet.com

https://roadtrippers.com/

https://fontawesome.com/

92

You might also like