Airline Reservation Sysytem
Airline Reservation Sysytem
Airline Reservation Sysytem
ACKNOWLEDGEMENT
No project reaches its destination with individual effort, similarly in my case
I have been able to complete my project because of the support I have received
from different avenues.
This project would not have seen the light of day without the guidance of
my external guide
I extend my heartfelt thanks to him for offering his valued guidance in completing
the project and also thankful for his valuable suggestion and efficient supervision in
spite of having arduous schedule. The project would have ended in a prenatal stage
if not for this perseverance and firm belief in my potential. This project is certainly
a success because of his all around help and concern; any word of thanks would be
insufficient for the assistance imparted to me.
I am also immensely thankful to our internal guide Mr. Kartik Rana faculty
of MCA Department of “ TRIDENT ACADEMY OF CREATIVE TECHNOLOGY ”.
I would also like to extend our thanks to Mr.P.K Dixit for his help and also
whole Interface family whose support has made our project a memorable success.
I would like to express my gratitude to Archana Panda and Niranjan Nayak,
for their valuable technical assistance, and Mr. Ashish Das , Mr Raghunath Rana
for their help.
Truly every day has been a learning experience for me due to the presence of all the
people who have helped me to frame a better life.
The first and foremost objective of the project is to give a better service to the
customer at the time of reserving the ticket of airline and eradicate the problems
faced by the customer to some extent .
The Airline Reservation System (ARS) was one of the earliest changes to improve
efficiency. ARS eventually evolved into the Computer Reservation System (CRS)
A Computer Reservation System is used for the reservation of a particular airline
and interfaces with a Global Distribution System (GDS) which supports travel
agencies and other distribution channels in making reservations for the most major
airlines in a single system .Airline Reservation System contain airline schedule, fare
traffics, passenger reservations and ticket records. An airline’s direct distribution
works within their own reservation system, as well as pushing out information to
the GDS. A second type of direct distribution channel is consumers who use the
internet or mobile application to make their own reservations.
1. Admin Module:
Admin plays the key role throughout the whole project.Admin having own
username and password keeps track of the flight details and also about the customer
He can approve and can also reject the booking application of the customer.
2. User/Customer Modules:
User also having his/her own username and password for log on.
After log on he/she can view all the flights and their details and can book tickets as
per the requirement. User can also view and edit his own profile.
TABLE OF CONTENTS
Index
1. INTRODUCTION
2. REQUIRED SPECIFICATIONS
2.1 System Study
2.2 System specification
2.3 System Requirement study
2.4 Software specification
a. Java Server Pages
b. Java Script
c. Struts Framework and Servlet.
d. HTML
e. introduction to SQL Server.
3. SYSTEM DESIGN
3.1 Date base Design
3.2 Table Structures.
3.3 Data Flow Diagram.
3.4 ER Diagram.
4. IMPLEMENTATION
5. TESTING
6. CODING
7. CONCLUSION
8. APPENDIX
9. BIBLIOGRAPHY
LIST OF TABLES
BOOKING_DETAILS
CUSTOMERDETAILS
FEEDBACK_DETAILS
FLIGHTDETAILS
LOGIN
NOTICE
PAYMENTDETAILS
REGISTRATION
LIST OF FIGURES
CHAPTER-1
INTRODUCTION
Introduction
Online Air Ticket Booking system is to provide an option to customers to book
the tickets online and to check the confirmation online. This system will help the
company to sell the flight tickets online. Unless like in the previous stage people as
to walk into travel agency or this company ticket counter to buy the tickets and also
to check the flight timings. This problem is over come introducing this system.
Existing System
Presently the company has ticket counters in the airport. Where people as to come
to book the tickets or to check the flight timings. Also there are many travel agents
take the advance booking. In turn these agents will check out with the main ticket
counter officials for the ticket confirmation. This is very lengthy and tedious
process.
Proposed System
The proposed system will available online. So anybody who is interested in the
flight timings and ticket booking they check online only.
1. Online air ticketing saves time by reducing the time involved in the
physical transportation of the customer to the reservation counter; online air
ticketing process saves time in absolute terms.
2. It enables the customer to purchase tickets from the remote areas, thereby
increasing the customer-centricity of the services provided.
3. With a segment of customers opting for the online facilities, the pressure at
the reservation counter is substantially reduced.
5. With faster, easier and hassle-free services to the customer, the company is
poised for a better competitive advantage in face of the oligopolistic structure.
7. The portal can also be used to inform the prospective customers about the
future economy option and other function benefits that the company could have
planned; thereby, enabling the customer to plan in advance.
8. With the induction of the cash on delivery system, the customer can easily
deliver his air-tickets while being at home.
CHAPTER-2
REQUIRED SPECIFICATIONS
History of java:
Java language was developed by James Gosling and his team at sun micro
systems and released formally in 1995. Its former name is oak. Java Development
Kit 1.0 was released in 1996. To popularize java and is freely available on Internet.
Overview of java:
Java is loosely based on C++ syntax, and is meant to be Object-Oriented
Structure of java is midway between an interpreted and a compiled language. Java
programs are compiled by the java compiler into Byte Codes which are secure and
portable across different platforms. These byte codes are essentially instructions
encapsulated in single type, to what is known as a java virtual machine (JVM)
which resides in standard browser.
Jvm verifies these byte codes when downloaded by the browser for integrity.
Jvm available for almost all OS. JVM converts these byte codes into machine
specific instructions at runtime.
Features of java:
AIRLINE RESERVATION SYSTEM 11
INTERFACE SOFTWARE BPUT UNIVERSITY
• Java is object-oriented language and supports encapsulation,
inheritance, polymorphism and dynamic binding, but does not support
multiple inheritance. Every thing in java is an object except some
primitive data types.
• Java is portable architecture neutral that is java programs once
compiled can be executed on any machine that is enabled.
• JAVA is distributed in its approach and used for internet programming.
• Java is robust, secured, high performing and dynamic in nature.
• Java supports multithreading. There for different parts of the program
can be executed at the same time
Java Architecture:
Java architecture provides a portable, robust, high performing environment
for development. Java provides portability by compiling the byte codes for the java
virtual machine which are then interpreted on each platform by the runtime
environment. Java also provides stringent compile and runtime checking and
automatic memory management in order to ensure solid code.
If you are new to J2EE applications development, this chapter is a good place
to start. Here you will learn the J2EE architecture, become acquainted with
important terms and concepts, and find out how to approach J2EE applications
programming, assembly, and deployment.
INTRODUCTION
Servlets extend the request-response-oriented servers, such as Java-
enabled Web servers. For example, a Servlet can retrieve data from an HTML
form and applying the business logic used to update Product database.
Client System
Servlet Product
Database
HTTP
Server
The two packages contains the code to build the Servlets: javax.servlet
and javax.servlet.http
GenericServlets
ServletConfig
Servlet
HttpServlet
HttpServletRequest Object:
An HttpServletRequest Object provides to access the data from the
client:
• The getParameter method returns the value of a named
parameter and similarly the getParameterValues method
returns an array of values for the named parameter.
• The getReader method returns the BufferedReader to use
to read the data.
• The getInputStream method returns the
ServletInputStream to use to read the data.
HttpServletResponse Objects:
An HttpServletResponse object provides the HTTP method. To access
the data from the user:
• The getWriter method returns a Writer.
• The getOutputStream method returns the ServletOutputStream.
Servlets Features:
Servlets are efficient when compared to any other server-side
programs. They allow persistence of data to be maintained. More important is the
fact they are portable, robust security features.
(Some servers do this step only when they shutdown Destroy ())
Client
Handle
Servlet code Client
Request
Server Client
Servlet code
Server
Destroying Servlets:
Communication of Servlets:
To communicate Servlets sometimes need to access network resources.
HTML pages, objects shared among Servlets at the same server and other
Servlets:
• The Request Dispatcher Object with other Server Resources
(JSDK 2.1) such as other Servlets with HTML pages and so on.
• The resource is an object in the JAVA programming language
such as Sharing Resources among Servlets (JSDK2.1).
• The other servlet’s Servlet object and calling its public such as
Calling Servlet from Servlets (JSDK2.0).
Properties of Servlets:
The Servlet requires initialization parameters, if you set this data before
starting the JSDK process that runs your Servlet.
Controller(Servlet)
Request
Processing Data
Validation
Model
Business Logic
Data
Manipulation
. In the MVC architecture, a central servlet, known as the Controller, receives all
requests for the application. The Controller then processes the request and works
with the Model to prepare any data needed by the View (which is usually a JSP)
and forwards the data to a JSP. The JSP then uses the data prepared by the
controller to generate a response to the browser. In this architecture, the business
and presentation logic are separated from each other. Having the separation of
business and presentation code accommodates multiple interfaces to the application,
be they web, wireless, or GUI (Swing). Additionally, this separation provides
excellent reuse of code.
of the some forces behind MVC for GUI development apply nicely to Web
development.
Model Components
View Components
View components are used in the MVC architecture to generate the response to the
browser. Thus, a view component provides what the user sees. Often times the
view components are simple JSPs or HTML pages. However, you can just as
easily use WML design advantages of MVC. You can use any view technology
that you’d like without impacting the Model layer of your application.
Controller Components
At the core of the MVC architecture are the controller components. The
controller is typically a servlet that receives requests for the application and
manages the flow of data between the Model layer and the View layer. Thus, it
controls the way that the Model and View layers interact. The Controller often uses
helper classes for delegating control over specific requests or processes.
The Struts framework is a rich collection of Java libraries and can be broken
down into the following major pieces:
Base framework
JSP tag libraries
Tiles plugin
Validator plugin
Base Framework
The base frame work provides the core MVC functionality and is comprised
of the building blocks for your application. At the foundation of the base
framework is the controller servlet ActionServlet. The rest of the base framework
is comprised of base classes. Most prominent among the base class are the Action
and ActionForm classes. These two classes are used extensively in all Struts
applications. Action classes are used by Action servlet to process specific requests.
Action Form classes are used to capture data from HTML forms and to be a conduit
of data back to the View layer for page generation.
HTML Used to generate HTML forms that interact with the Struts APIs.
Bean Used to work with Java bean objects in JSPs, such as accessing bean values.
Nested Used to allow arbitrary levels of nesting of the HTML, Bean, and logic tags
that otherwise do not work.
Tiles Plug-in
Struts come packaged with the Tiles sub framework. Tiles is a rich JSP
templating framework that facilitates the reuse of presentation (JTML) code. With
Tiles, JSP pages can be broken up into individual tiles or pieces and then glued
together to create one cohesive page. Similar to the design principles that the core
Struts framework is built on, Tiles provides excellent reuse of View code
Validator Plug-in
Struts come packaged as of version 1.1, with the Validator sub framework for
performing data validation. Validate provides a rich framework for performing data
validation on both the server side and client side. Each validation is configured in
an outside XML file so that validations can easily be added to and removed from an
application declaratively versus being hard-coded into the application. Similar to
Tiles, prior to Struts 1.1, validator was a third party ass-on, but has since been
included in the project and is more tightly integrated.
Struts provide a rich set of functionality and features for developing the View
layer of MVC applications. There are several forms that the View layer of a Struts
application can take. It can be HTML/JSP (the most common case) or it can be
XML/XSLT, Velocity, Swing, or whatever your application requires. This is the
power of Struts and MVC. Because HTML/JSP is the typical view technology used
for Java-based Web applications Struts provides the most functionality and features
for developing your application this way. The remainder of this chapter focuses on
Struts support for creating the view layer using HTML/JSP.
Struts HTML/JSP view layer support can be broken down into the following
major components:
JSP pages
Form Beans
JSP tag libraries
Resource bundles
JSP PAGES
JSPs are the centerpiece of the Struts view layer. They contain the static
HTML and JSP library tags that generate dynamic HTML. Together the static and
dynamically generated HTML gets sent to the user’s browser for rendering. That is,
the JSPs contain the code for the user interface with which a user interacts. JSPs are
the centerpiece of the Struts View layer. They contain the static HTML and JSP
library tags that generate dynamic HTML. Together the static and dynamically
any code for performing business logic or code for directly accessing data sources.
Struts provide a set of tag libraries that supports displaying data and creating HTML
forms that capture data. Additionally, the tags support displaying content stored in
resource bundles. The JSP tag libraries glue those two together and the resource
bundles provide a means of content management.
FORM BEANS
Form Beans provide the conduit for transferring data between the view and
controller layers of Struts applications. When HTML forms are submitted to a
Struts application, Struts takes the incoming form data and uses it to populate the
form’s corresponding form Bean. The Struts Controller layer then uses the Form
Beans to access data that must be sent to the Model layer. On the flip side, the
Controller layer populates form Beans with Model layer data so that it can be
displayed with the View layer. Essentially, Form Beans are simple data containers.
They either contain data from an HTML form that is headed to the Model via the
controller or contain data from the Model headed to the View via the controller.
what’s best and or necessary really depends on the size and complexity of your
application. The following are the three sublayers:
External interface Composed of code that provides and interface that external
code uses to interact with the Model.
Business logic encompasses the bulk of the Model code and provides the
business functionality for an application.
Data access Composed of code for communicating with an application’s data
sources such as a database.
The struts framework does not provide any specific features or constraints for
developing the Model layer of your application. At first glance this may seem odd,
or even a shortcoming, given that Struts is designed for building MVC applications.
However, it’s a actually a key design feature of struts and is a great benefit. By not
dictating how the Model layer should be bui9lt, struts gives your application the
flexibility to use any approach or technology for building the Model layer code.
Whether it be Enterprise java Beans, Java Data Objects (JDO), or the Data Access
Objects (DAO) pattern, struts will accommodate.
Because the model defines the business logic, the model is where struts ends
and your application code begins. Your Model code will be accessed from
subclasses of Struts Action object that are part of the Controller layer of the Struts
You should not place any business logic or data access code in Action objects.
Doing so would bypass the separation of the Model and the Controller. Similarly,
your Model code should not have any ref4erences to Struts code or objects.
Violating this rule unnecessarily couples your core application code to Struts.
1.HTTP request
Controller View
7.Produce HTTP
Response
2.Create Form Bean 5.Create Result Beans 4.Call DAO Method
Model
It is necessary to describe the way that execution takes place. Struts uses the
Model-View-Controller design pattern,. The MVC architecture defines a specific
flow of execution. An understanding of this flow of execution is crucial to and
overall unders6snding of struts. For Mine HR, execution proceeds in the following
way:
The flow of execution for any Struts application as shown here.
1. The browser makes a request to the Struts application that is processed
by Action Servlet (controller).
2. Action Servlet (Controller) populates the Action form (View) object
with HTML form data and invokes it’s validate () method.
3. Action Servlet (controller) executes the Action object (Controller)
4. Action (Controller) interfaces with model components and prepares
data for view.
5. Action (Controller) forwards control, to the JSP (VIEW).
6. JSP (View) uses model data to generate a response to the browser.
Architecture of JDBC:
JDBC Architecture contains three layers:
JDBC Application
JDBC Drivers
JDBC Drivers
The design of a system produces the details that state how a system
meet the requirements identified during system analysis. System specialists often
refer to this stage as logical design, in contrast to the process of developing program
software, which is referred to as physical design.
Data Flow Diagrams have been used in the design of the system. Data
Flow Diagram is a graphical tool used to describe and analyze the movement of
data. The transformation of data from input to output, through processes may be
described logically using these Data Flow Diagrams.
The DFD shown to the user must represent only the major functions
being performed by the system. This is called Top Level DFD. If this process is
complex enough, it can be broken further into different levels. This process can be
continued till the process is simple. This is called the leveling of DFD’s.
Data Integration:
In a database information from several files is co-ordinate, accessed and
operated upon a as through it is single file.
Data Integrity:
Data Integrity means storing all the data in a singly place and allow each
application to access it. This approach results in more consistent, on update being
sufficient to achieve a new record status for all the applications, which use it.
Data Independence:
Data Independence is the insulation of application programs from changing
aspects of physical data organization. This objective seeks to allow changes in the
content and organization of physical data with out reprogramming of applications
and to allow modifications to application programs with out reorganizing the
physical data.
3.2.1. Normalization:
Data structuring is refined through a process called normalization, is a formal
process of developing data structures in a manner that eliminates redundancy and
promotes integrity. It is a step-by –step decomposition of complex records into
simple records to reduce redundancy, inconsistency and removes anomalies.
There are several normal forms to be followed in the normalization
process .The most important and widely used are:
• First Normal Form
• Second Normal Form
• Third Normal Form
3.2.1.1 First Normal Form (1 NF):
A table is said to be in the first normal form, if the intersection of any column
and row contains only value.
Identify a suitable identifier from the pool of UN normalized data. Remove
any item that repeat with in a single value of this key to another relation bringing
with them .The identifier key to form part of a new composite key in the relation.
Pid Number 22
Bid number 22
Date_of_payments date 7
Accountno number 22
Definition:
A data flow diagram is a graphical technique that depicts information flow and the
transforms that applied as data move from input to output. The Data flow diagram
used to represent a system or software at any level of abstraction. In fact DFDs may
be portioned into levels.
A level of DFD, also called a context model, represents the entire software elements
as a single bubble with input and output by arrow. A level of DFD is portioned into
several bubbles with inter connecting arrows. Each of the process represented at
level one is sub function of the over all depicted in the context model.
The DFD Notations:
Store
Stored Information that is used by the s/w
Level 0:
LOGIN
AIRLINE
ADMIN RESRVATION
USER
SYSTEM
DATABAS
E
Level-0
INPUT
(0.0)
PROCESS OUTPUT
DATASTORE
LEVEL - 1
User Name
Password (1.0)
Login
Type LOGIN Successfully
LOGIN
LOGIN
REGISTRATION
View Customer(2.0.2)
VALID ADMIN (2.0)
View Booking(2.0.3)
PROCESS View Feedback(2.0.4)
Give announcement(2.0.5)
PROCESS
FLIGHT NAME
FLIGHT NO
FROM
TO (2.0.1.0)
ARRIVAL TIME
DEPARATURE TIME
SUCESSFULLY
CLASS ADD FLIGHT ADDED
SEAT AVAILABLE
PRICE
FLIGHTDETAILS
FLIGHTDETAILS
(2.0.2)
SELECT CUSTOMER VIEWED
VIEW VIEWED
CUSTOMER SUCESSFULLY
CUSTOMERDETAILS
BOKING_DETAILS
NOTICE
NOTICE
MY PROFILE (3.0.1)
CHANGE PASSWORD(3.0.2)
PROCESS CANCELLATION(3.0.5)
GIVE FEEDBACK(3.0.6)
VIEW ANNOUNCEMENT(3.0.7)
CUSTOMERDETAILS
CUSTOMERDETAILS
ADD NOTICE(4.0.1)
PROCESS
DELETE NOTICE(4.0.3)
NOTICE
3.4 ER-DIAGRAM
NA AD
ME DR
ES
US
RID S
ER
ME
NA
NO O
E
SL ST
M
CU
LOGIN HAS
A
CUSTOMERDETAILS
S A
EM
T
P
W S
AIL
Y
P
E
O
CID
RD
GE PH
ND ON
ER O EN
HAS
A
DATE_OF_JOURN
DATE_OF_BOOKIN
Y
CLASS NO_O
F_SEA
BID S T
MODE_OF_PA
CID Y
BOOKING_DETAILS
FLIGHTNAME
FID
O
TT
GH
FULL_NAM FLI
E
ADDRESS
O
MOB_NO DD TFR
GH
FLI
M
HAS
A
USERNAM
PAYMENTDETAILS CONTEN
T NOTICE E
DATE_OF_PAYMEN DATE_OF_NOTICE
PAYMENTMODE
T
FLT_FRO
FNAME
M
FID
FLIGHTDETAILS FLT_TO
CLASS
ARRIVALTIME
AVAILLABL
PRICE E
FEEDBACK_NO COMMENTS
SUGGESTION FEEDBACK_DETAILS
NAME
DATE_OF_FEEDBACK
Unit Procedure:
4.1.5 Debugging:
Debugging is not testing not occurs as a consequence of testing, that is
when a test case uncovers an error, debugging is the process that results in the
removal of the error.
Normally three categories for debugging approaches are proposed:
Brute force
Back-tracking
Cause-elimination
4.1.5.2 Back-tracking:
This is fairly common debugging approach that can be used
successfully in small programs. Beginning at the site where a symptom has been
uncovered, the source code is traced backwards (manually) until the site of the
cost is found.
Cause-Elimination:
This approach is manifested by induction/deduction and introduces the
concept of ‘binary partition’. A ‘cause hypothesis’ is devised and the error
related data are used to prove or disprove the hypothesis. Alternatively, a list of
all possible causes is developed, and tests are conducted to eliminate each. If
initial tests indicate that a particular cause hypothesis shows promise, that data
are refined in an attempt to isolate the path.
Each of the debugging approaches can be supplemented with
debugging tools. A wide variety of debugging compilers, dynamic debugging
aids (tracers), automatic test case generators, memory dumps and cross-reference
maps can be applied. However, tools are not a substitute for careful evaluation,
based on a complete software design document and clear source code.
Existing documents such as employee loan details should be entered into the new
system. Since these files are very large, conversion of these may continue long after
the system based on current files has been implemented. Hence we need to assign
responsibility for each activity.
The system may come into full operation via number of possible
routes. Complete change over at one point time is conceptually the most tidy.
But this approach requires careful planning and coordination, particularly during
the changeover. A phased approach, possible implementing the system of the
section relating to one operation or procedure first and processing to more novel
or complex subsystems in the fullness of time. These likely to be less traumatic.
A phased approach gives the staff time to adjust to the new system. But depends
on being able to split the system, without reliance on it. Thus approach is
sensible when the consequences of failure are disastrous, but will require extra
staff time. The fourth angle, is pilot operation permits any problems to be
tackled on a smaller scale operation. Pilot operation generally means the
implementation of the complete system, but at one location or branch only.
Screen shot:
Login.jsp
Description : This page comes first when you run this projects. This page is by
defult call index.jsp page.
AdminHome.jsp
Description :This page comes after inputing correct username, password and type
then clicking the Login button on Login page.
Fields :
Registration.jsp
Description: This page comes after clicking NewUser hyperlink at the Login page.
This page is for the registration of new user by filling required
fields available and all the data giving by the users through this page will store in
database.
UserHome.jsp
Description: This page comes after inputting correct username, password and type
then clicking the Login button on Login page.
Fields:
ViewFlight.jsp
Description: This page comes after clicking the Attributes of user . It gives all the
information of the flight.
GiveFeedback.jsp
Description: This page is for storing the feedback given by the customer.
Fields:
ViewCustomer.jsp
Description: This page comes after clicking the Attributes of Admin i.e View
Customer. It gives the details of Customers.
Fields:
Annoucement.jsp
Description: This page comes after clicking the Attributes of Admin i.e. Give
Announcement. It gives the details about the Announcement.
ViewBooking.jsp
Description: This page comes after clicking the Attributes of Admin i.e View
Booking. It gives details of the booking of ticket.
ChangePassword.jsp
Description: This page comes after clicking the attribute of user i.e. Change
Password. This page changes the old password of a User.
DEVELOPMENT PROCESS
.
By applying this simple set of definite steps and deliverables at the outset and
relating this to a transparent time and cost structure, we provide clients with an
effective framework against which to measure expectation, quality, progress and
cost for their project.
Waterfall Model
Requiremen
t analysis-
Design- v&v
Implementation-
v&v
Testing- v&v
Maintenance-
v&v
FEASEBILITY STUDY
FEASIBILITY ANALYSIS:
SEQURITY FEASIBILITY:
OPERATIONAL FEASIBILITY:
ECONOMICALLY FEASIBILITY:
Keeping in view the no. of clients who would be using this software that
is the different places and locations, this project was developed keeping in view the
lowest hardware capacity computer available during that time. As can be seen in
our synopsis that we use p2 7 p3 computers the lowest available with the client
having the following configuration.
486 DX
60 MHz
1 GB HDD
12/16 MB RAM
The software was developed in JSP & Oracle8.0 because we opted for a front-end
that will be very user friendly, web friendly and easier for the end user. This also
helped the end user to a very large extent because usually the end user is just a data
entry operator who knows the distinction between letter and number. Keeping this
IQ level of the user into view this type of front-end was used for smooth operation.
TECHNICAL FEASIBILITY:
Here the cost incurred by searching an appropriate s/w which may handle
by some few people and hidden to others, but it reduces the searching time, so it
technically fit.
The module reduce the work load of different end user , and gives a clear
picture about the s/w required so the user use this module , hence this system is
operationally feasible .
As this page is technically, economically sequritically and operationally
feasible, so this system is judged feasible.
Hardware Feasibility
FOR SERVER
Monitor: S.V.G.A
Keyboard: Standard
Printer: Laser
UPS: 5KVA
For client
Monitor: S.V.G.A
Keyboard: Standard
Printer: Laser
UPS: 2KVA
Software Feasibility
Economical Feasibility
As soon as the specific requirements and solutions have been identified then
the cost of and benefits of each alternative would be evaluated.
The cost of the major hardware, software and accessories required for this
project are 20 lakhs.
Requirements specification
What exactly are the data inputs to the system and what exactly are the
data outputs required of the system?
What are the likely complexities that might arise while solving the
problem?
After the analyst has collected all the required information regarding the
software to be developed, and has removed all incompleteness, inconsistencies, and
anomalies from the specification, he starts to systematically organize the
requirements n the form of an SRS document. The SRS document usually contains
all the user requirements in an informal form.
Nonfunctional requirements
Goals of implementation
The functional requirements part should discuss the functionalities required from
the system. It is useful to consider a system as performing a set of functions {f1}.
This functional view of a system is shown schematically in figure.
y
System
Input Output
The nonfunctional requirements deal with the characteristics of the system that
cannot be expressed as functions. Example of nonfunctional requirements includes
The ‘goals of implementation’ part of the SRS document gives some general
suggestions regarding development. These suggestion guide trade-off among design
decisions.
DESIGN
Software design deals with transforming the customer requirements, as described in
the SRS document, into a form that is implement able using a programming
language, for a design to be easily implement able using a programming language,
the following items must be designed during the design phase:
System design
System design consists of the flow of control among different modules and the
approach i.e. function-oriented approach of object-oriented approach is used.
In our project we have used function-oriented approach. The commonly used data
flow control (DFD).
6.Coding
Web.xml
Struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software
Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="pp.form.LoginForm"
/>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
name="loginForm"
parameter="submit"
path="/login"
scope="request"
type="pp.action.LoginAction">
<forward name="submit" path="/Registration.jsp"/>
<forward name="notapp" path="/Login.jsp"/>
<forward name="admin" path="/AdminHome.jsp"/>
<forward name="customer" path="/UserHome.jsp"/>
<forward name="view" path="/FlightManagment.jsp"/>
<forward name="flight"
path="/FlightManagment.jsp"/>
<forward name="add" path="/AddFlight.jsp"/>
<forward name="fedit" path="/EditFlight.jsp"/>
<forward name="vcust" path="/ViewCustomer.jsp"/>
<forward name="vcust1" path="/ViewBooking.jsp"/>
<forward name="feed" path="/ViewFeedback.jsp"/>
<forward name="notice" path="/Announcement.jsp"/>
<forward name="vprof" path="/MyProfile.jsp"/>
<forward name="eprof" path="/EditProfile.jsp"/>
<forward name="dprof" path="/DeleteProfile.jsp"/>
</action>
</action-mappings>
<message-resources parameter="pp.ApplicationResources"
/>
</struts-config>
Home.jsp
Name : Professional
Description: A two-column, fixed-width design with dark
color scheme background.
Version : 1.0
Released : 20081230
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Professional by FreeCSSTemplates.org</title>
<link rel="stylesheet" type="text/css" href="style.css"
media="screen" />
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="logo">
<h1>Air Ticket Reservation</h1>
<p>Fly In
Cooooooooollllllllllllll......................</p>
</div>
<!-- end #logo -->
<div id="menu">
<ul>
<li class="active"><a
href="Home.jsp">Home</a></li>
<li><a href="AboutUs.jsp">About Us</a></li>
<li><a href="ContactUs.jsp">Contact
Us</a></li>
</ul>
</div>
<!-- end #menu -->
</div>
AIRLINE RESERVATION SYSTEM 91
INTERFACE SOFTWARE BPUT UNIVERSITY
<!-- end #header -->
<div id="page">
<div id="header-pic"></div>
<div id="content">
<div class="post">
<h1 class="title"><h2>Welcome To Home
Page......</h2> </h1>
<p class="byline">
<div class="entry">
</div>
<div class="meta">
<p class="links">
Welcome aboard RK Airlines, where you are
made to feel like an honoured guest and not just a
passenger. At RK, a flight is not a journey between two
airports but an experience of a lifetime.RK is built for
people with things to do, places to be, people to see -
who don't want to waste time, money or energy in the
process. By minimizing the cost/time/tension of air
travel, RK opens up a country full of opportunities.
With RK, you've got a billion reasons to fly</div>
</div>
<div class="post">
<p class="byline">
<div class="entry">
</div>
<div class="meta">
</div>
</div>
</div>
<!-- end #content -->
<div id="sidebar">
<div id="sidebar-bgtop"></div>
<div id="sidebar-content">
<div id="sidebar-bgbtm">
<ul>
<li>
AIRLINE RESERVATION SYSTEM 92
INTERFACE SOFTWARE BPUT UNIVERSITY
<h2>Sign Here<br /></h2>
<ul>
<li><a
href="Login.jsp">Login<br /></a></li>
<li><a
href="Registration.jsp">New User<br /></a></li>
</ul>
</li>
<li>
<ul>
</li>
</ul>
</div>
</div>
</div>
<!-- end #sidebar -->
<div style="clear:both; margin:0;"></div>
</div>
<!-- end #page -->
</div>
<div id="footer">
</div>
<!-- end #footer -->
</body>
</html>
Login.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%>
Name : Professional
Description: A two-column, fixed-width design with dark
color scheme background.
Version : 1.0
Released : 20081230
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Professional by FreeCSSTemplates.org</title>
<link rel="stylesheet" type="text/css" href="style.css"
media="screen" />
<script>
function validateForm(frm)
{
var uname=frm.uname.value;
AIRLINE RESERVATION SYSTEM 94
INTERFACE SOFTWARE BPUT UNIVERSITY
var pwd=frm.pwd.value;
if(uname.length==0)
{
alert("Enter ur UserName");
frm.uname.focus();
return false;
}
if(pwd.length==0)
{
alert("Enter ur Password");
frm.pwd.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="logo">
<h1>Air Ticket Reservation</h1>
<p>Fly In
Cooooooooollllllllllllll......................</p>
</div>
<!-- end #logo -->
<div id="menu">
<ul>
<li class="active"><a
href="Home.jsp">Home</a></li>
<li><a href="AboutUs.jsp">About Us</a></li>
<li><a href="ContactUs.jsp">Contact
Us</a></li>
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<div id="page">
AIRLINE RESERVATION SYSTEM 95
INTERFACE SOFTWARE BPUT UNIVERSITY
<div id="header-pic"></div>
<div id="content">
<div class="post">
<h1 class="title"><h2>Welcome Login
Page......</h2> </h1>
<p class="byline">
<div class="entry">
</div>
<div class="meta">
<p class="links">
<p class="byline">
<div class="entry">
</div>
<div class="meta">
</div>
AIRLINE RESERVATION SYSTEM 96
INTERFACE SOFTWARE BPUT UNIVERSITY
</div>
</div>
<!-- end #content -->
<div id="sidebar">
<div id="sidebar-bgtop">
</div>
<div id="sidebar-content"><div id="sidebar-
bgbtm"><ul><li><h2>Sign Here<br /></h2><ul>
<li><a
href="Login.jsp">Login<br /></a></li>
<li><a
href="Registration.jsp">New User<br /></a></li>
</ul>
</li>
<li>
<ul>
</li>
</ul>
</div>
</div>
</div>
<!-- end #sidebar -->
<div style="clear:both; margin:0;"></div>
</div>
<!-- end #page -->
</div>
<div id="footer">
</div>
<!-- end #footer -->
<></body>
</html>
UserHome.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%>
Name : Professional
Description: A two-column, fixed-width design with dark
color scheme background.
Version : 1.0
Released : 20081230
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Professional by FreeCSSTemplates.org</title>
<link rel="stylesheet" type="text/css" href="style.css"
media="screen" />
</head>
<body>
<div id="header">
<div id="logo">
<h1>Air Ticket Reservation</h1>
<p>Fly In
Cooooooooollllllllllllll......................</p>
</div>
<!-- end #logo -->
<div id="menu">
<ul>
<li class="active"><a
href="Home.jsp">Home</a></li>
<li><a href="AboutUs.jsp">About Us</a></li>
<li><a href="ContactUs.jsp">Contact
Us</a></li>
<li><a href="login.do?
submit=LogOut">Logout</a></li>
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<div id="page">
<div id="header-pic"></div>
<div id="content">
<div class="post">
<h1 class="title"><h2>Welcome To User Home
Page......</h2> </h1>
<p class="byline">
<div class="entry">
</div>
<div class="meta">
<p class="links">
<br /></div></div>
<div class="post">
<p class="byline">
<div class="entry">
</div>
AIRLINE RESERVATION SYSTEM 99
INTERFACE SOFTWARE BPUT UNIVERSITY
<div class="meta">
</div>
</div>
</div>
<!-- end #content -->
<div id="sidebar">
<div id="sidebar-bgtop">
</div>
<div id="sidebar-content"><div id="sidebar-
bgbtm"><ul><li><h2><br /></h2><ul>
<li><a href="login.do?
submit=viewProfile">My Profile<br /></a></li>
<li><a
href="ChangePassword.jsp">Change Password</a></li>
<li><a href="login.do?
submit=viewFlight">View Flight</a></li>
<li><a href="login.do?
submit=myBooking">My Booking</a></li>
<li><a href="login.do?
submit=cancelFlight">Cancellation<br /></a></li>
<li><a href="login.do?
submit=viewAnnouncement">View Announcement<br
/></a></li>
</ul>
</li>
<li>
<ul>
</li>
</ul>
</div>
</div>
</div>
<!-- end #sidebar -->
<div style="clear:both; margin:0;"></div>
</div>
<!-- end #page -->
AIRLINE RESERVATION SYSTEM 100
INTERFACE SOFTWARE BPUT UNIVERSITY
</div>
<div id="footer">
</div>
<!-- end #footer -->
<></body>
</html>
MyProfile.jsp
<jsp:directive.page import="java.util.*"/>
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<title>MyProfile.jsp</title>
</head>
<body>
<!--
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution
2.5 License
Name : Professional
Description: A two-column, fixed-width design with dark
color scheme background.
Version : 1.0
Released : 20081230
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Professional by FreeCSSTemplates.org</title>
<link rel="stylesheet" type="text/css" href="style.css"
media="screen" />
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="logo">
<h1>Air Ticket Reservation</h1>
<p>Fly In
Cooooooooollllllllllllll......................</p>
</div>
<!-- end #logo -->
<div id="menu">
<ul>
<li class="active"><a
href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Contact Us</a></li>
AIRLINE RESERVATION SYSTEM 102
INTERFACE SOFTWARE BPUT UNIVERSITY
</ul>
</div>
<!-- end #menu -->
</div>
<!-- end #header -->
<div id="page">
<div id="header-pic"></div>
<div id="content">
<div class="post">
<h1 class="title"><h2>Welcome To My Profile
page......</h2> </h1>
<p class="byline">
<div class="entry">
<html:form action="login.do?
submit=viewProfile1">
<%
ArrayList<String>
name=( ArrayList<String>)request.getAttribute("CUST");
%>
<table>
<tr><td>Customer
Name</td><td><html:select property="cname" size="1">
<%
for(int i=0;i <
name.size();i++)
{
%>
<html:option
value="<%=name.get(i)%>"><%=name.get(i)%></html:option>
<%
}
%>
</html:select></td></tr>
<tr><td>Address</td><td><html:textarea
property="address"/></td></tr>
AIRLINE RESERVATION SYSTEM 103
INTERFACE SOFTWARE BPUT UNIVERSITY
<tr><td>Gender</td><td><html:text
property="gender"></html:text><br /></td></tr>
<tr><td>Mob.
No</td><td><html:text property="mob"/></td></tr>
<tr><td>Email</td><td><html:text
property="email"/></td></tr>
<br\><tr><td colspan="2"
align="center"><html:submit property="view"
value="View"></html:submit></td></tr> </table>
</html:form>
</div>
<div class="meta">
<p class="links">
</div>
</div>
<div class="post">
<p class="byline">
<div class="entry">
</div>
<div class="meta">
</div>
</div>
</div>
<!-- end #content -->
<div id="sidebar">
<div id="sidebar-bgtop"></div>
<div id="sidebar-content">
<div id="sidebar-bgbtm">
<ul>
<li>
<h2> </h2>
<ul>
</ul>
</li>
<li>
<ul>
</ul>
</li>
</ul>
</div>
</div>
</div>
<!-- end #sidebar -->
<div style="clear:both; margin:0;"></div>
</div>
<!-- end #page -->
</div>
<div id="footer">
<p>© 2008. All Rights Reserved. Design by <a
href="http://www.freecsstemplates.org/">Free CSS
Templates</a>.</p>
</div>
<!-- end #footer -->
</body>
</html>
</html:html>
LoginAction.java
package pp.action;
System.out.println(fname+uname+pwd+gender+email+address+
mob);
int i=0;
i=dblogic.Submit(fname,uname,pwd,gender,email,address,mo
b);
loginForm.reset(mapping, request);
return mapping.findForward("submit");
}
public ActionForward Login(ActionMapping
mapping,ActionForm form,HttpServletRequest
request,HttpServletResponse response)throws SQLException
{
LoginForm loginForm=(LoginForm)form;
DBLogic dblogic=new DBLogic();
String uname=loginForm.getUname();
String pwd=loginForm.getPwd();
String type=loginForm.getType();
String msg="You Are Not Approved";
System.out.println(msg);
System.out.println(uname+" "+pwd+" "+type);
ResultSet rs=dblogic.Login(uname,pwd,type);
while(rs.next())
{ if(type.equals("admin"))
AIRLINE RESERVATION SYSTEM 107
INTERFACE SOFTWARE BPUT UNIVERSITY
{
return mapping.findForward("admin");
}
if(type.equals("customer"))
{
ResultSet rs1=dblogic.retCId(uname);
Long id=null;
while(rs1.next())
{
id=rs1.getLong("CUSTOMERID");
System.out.println(id);
}
HttpSession
session=request.getSession();
session.setAttribute("CID", id);
return mapping.findForward("customer");
}}
loginForm.setMsg(msg);
loginForm.reset(mapping, request);
return mapping.findForward("notapp");
}
Public ActionForward viewProfile(ActionMapping
mapping,ActionForm form,HttpServletRequest
request,HttpServletResponse response)throws SQLException
{
LoginForm loginForm=(LoginForm) form;
DBLogic dblogic=new DBLogic();
HttpSession session=request.getSession(true);
AIRLINE RESERVATION SYSTEM 108
INTERFACE SOFTWARE BPUT UNIVERSITY
Long id=(Long)session.getAttribute("CID");
ResultSet rs=dblogic.viewProfile(id);
ArrayList<String>
cname= new ArrayList<String>();
while(rs.next())
{
cname.add(rs.getString("NAME"));
System.out.println(cname);
}
request.setAttribute("CUST",cname);
return mapping.findForward("vprof");
}
public ActionForward viewProfile1(ActionMapping
mapping,ActionForm form,HttpServletRequest
request,HttpServletResponse response)throws SQLException
{
LoginForm loginForm=(LoginForm) form;
DBLogic dblogic=new DBLogic();
HttpSession session=request.getSession(true);
Long id=(Long)session.getAttribute("CID");
ResultSet rs=dblogic.view9(id);
while(rs.next())
{
loginForm.setGender(rs.getString("GENDER"));
loginForm.setAddress(rs.getString("ADDRESS"));
loginForm.setMob(rs.getLong("PHONO"));
loginForm.setEmail(rs.getString("EMAIL"));
}
return viewProfile(mapping,form,request,response);
AIRLINE RESERVATION SYSTEM 109
INTERFACE SOFTWARE BPUT UNIVERSITY
}
LoginForm.java
package pp.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class LoginForm extends ActionForm
{ private String ruser;
private String nsub;
private String ncon;
private String suggestion;
private String comments;
private String ffname;
private String type;
private String email;
private String address;
private Long mob;
private String flight;
private String fno;
private String from;
private String to;
private Long atime;
private Long dtime;
private String clas;
private Long available;
private Long price;
private String cname;
private String doj;
AIRLINE RESERVATION SYSTEM 110
INTERFACE SOFTWARE BPUT UNIVERSITY
private String dob;
private String funame;
private Long nos;
private String mop;
private String dcs;
private String name;
private String feedback;
private String data;
private String announ;
private String opwd;
private String npwd;
private String vnnoun;
private String subject;
private String content;
private String ruse;
private String rpwd;
private String don;
private String snm;
private String epwd;
private String sugg;
private String euse;
private String gender;
private String cpwd;
private String lname;
private String fname;
private String pwd;
private String uname;
private String msg;
private String cnd;
AIRLINE RESERVATION SYSTEM 111
INTERFACE SOFTWARE BPUT UNIVERSITY
private String Suggestion;
public String getUname() {
return uname;}
public void setUname(String uname) {
this.uname = uname; }
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
return null;}
public void reset(ActionMapping mapping,
HttpServletRequest request)
{ this.address=null;
this.ruser=null;
this.nsub=null;
this.ncon=null;
this.suggestion=null;
this.comments=null;
this.ffname=null;
this.type=null;
this.email=null;
this.address=null;
this.mob=null;
this.flight=null;
this.fno=null;
this.from=null;
this.to=null;
this.atime=null;
this.dtime=null;
this.clas=null;
this.available=null;
AIRLINE RESERVATION SYSTEM 112
INTERFACE SOFTWARE BPUT UNIVERSITY
this.price=null;
this.cname=null;
this.doj=null;
this.dob=null;
this.funame=null;
this.nos=null;
this.mop=null;
this.dcs=null;
this.name=null;
this.feedback=null;
this.data=null;
this.announ=null;
this.opwd=null;
this.npwd=null;
this.vnnoun=null;
this.subject=null;
this.content=null;
this.ruse=null;
this.rpwd=null;
this.don=null;
this.snm=null;
this.epwd=null;
this.sugg=null;
this.euse=null;
this.gender=null;
this.cpwd=null;
this.lname=null;
this.fname=null;
this.pwd=null;
AIRLINE RESERVATION SYSTEM 113
INTERFACE SOFTWARE BPUT UNIVERSITY
this.uname=null;
this.msg=null;
this.cnd=null; }
public String getPwd() {
return pwd; }
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getEmail() {
return email;}
public void setEmail(String email) {
this.email = email; }
public String getAddress() {return address;}
DBLogic.java
package pp;
import java.util.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.struts.action.ActionMapping;
import pp.form.LoginForm;
public class DBLogic {
AIRLINE RESERVATION SYSTEM 118
INTERFACE SOFTWARE BPUT UNIVERSITY
public int Submit(String fname,String uname,String
pwd,String gender,String email,String address,Long
mob)throws SQLException{
int i=0;
Statement st=DBConnect.getStatement();
st.executeUpdate("insert into LOGIN
values(LID_SEQ.nextval,'"+uname+"','"+pwd+"','customer')
");
i=st.executeUpdate("insert into CUSTOMERDETAILS
values(RID_SEQ.nextval,'"+fname+"','"+address+"','"+emai
l+"','"+gender+"',"+mob+",lid_seq.currval)");
return i;
}
public ResultSet Login(String uname,String pwd,String
type) throws SQLException{
ResultSet
rs=DBConnect.getStatement().executeQuery("select * from
Login where username='"+uname+"' and password='"+pwd+"'
and type='"+type+"'");
return rs;
}
public ResultSet viewProfile(Long id)throws SQLException
{
ResultSet
rs=DBConnect.getStatement().executeQuery("select * from
CUSTOMERDETAILS where CUSTOMERID="+id+"");
return rs;
}
AIRLINE RESERVATION SYSTEM 119
INTERFACE SOFTWARE BPUT UNIVERSITY
public ResultSet view9(Long id)throws SQLException
{
ResultSet
rs=DBConnect.getStatement().executeQuery("select * from
CUSTOMERDETAILS where CUSTOMERID="+id+"");
Return
rs;
}
DBConnect.java
package pp;
import java.sql.DriverManager;
import java.sql.*;
public class DBConnect {
public static Statement getStatement()
{
Connection con=null;
Statement st=null;
ResultSet rs=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@local
host:1521:XE","bubu","bubu");
st=con.createStatement();
}
catch(Exception err){
It has been observed that the report generation is easier and now
compared with the manual operation. These are found to be more accurate
because of availability of information from various levels. Design procedure and
output reports are presented in this project report. This design is so flexible that
any new modules can be incorporated easily.
8. APPENDICES
9. BIBILIOGRAPHY