Airline Reservation System

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 33
At a glance
Powered by AI
The key takeaways are that the project aims to design an airline reservation system using C# and .NET that allows customers to search and book flights and administrators to manage the application.

The purpose of the project is to design an airline reservation application that enables customers to search and book flights.

The main features of the application include customer registration and login, flight search and booking, and administrator functions like adding new flights and modifying customer and flight details.

AIRLINE RESERVATION

TRAINING PROJECT REPORT


SUBMITTED IN THE PARTIAL FULFILLMENT OF THE COURSE CURRICULUM
OF

BECHELOR OF TECHNOLOGY
(COMPUTER SCIENCE & ENGINEERING)

SUBMITTED BY
(2211208)
YEAR: 2012

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


SWAMI DEVI DYAL INSTITUTE OF ENGINEERING & TECHNOLOGY
BARWALA, PANCHKULA

ABSTRACT
The objective of the project is to design an Airline Reservation System application which
enables the customers to search and book flights.
The project has been designed in C#.NET technology and consists of a SQL server
which acts as the database for the project.
My motivation for the project came from my enthusiasm and strong urge to learn C# and
.NET which is one of the fastest growing technologies in todays world.
The Airline Reservation System project mainly consists of two types of users. The
customers who access the information provided by the website and the administrator who
modifies and updates the information.
All the data needed for the application is stored in the form of tables in the SQL server
2012.
The report contains the details of all the tasks carried out during the entire software
development life cycle of the Airline Reservation Project. This document depicts all the
details of the project .

CHAPTER 1 - VISION DOCUMENT


INTRODUCTION
1.1 PURPOSE AND MOTIVATION
The main purpose of this vision document is to list the requirements of the Airline
Reservation System project. This document also helps us to collect and analyze the ideas
gathered for the project. This vision document will be subject to change, if more
requirements are added to the project. This document is mainly prepared to set stage for
the design phase of the project. The document being prepared is the first version of vision
document for the Airline Reservation System project.
C#.NET is a new technology which is being used a lot in the IT field. My interest to learn
this new technology has prompted me to take up this project, which would set the stage
for the applications I would be developing in the future.
1.2 PROJECT OVERVIEW
The Airline Reservation System project is an implementation of a general Airline
Ticketing application, which helps the customers to search the availability of various
airline tickets. This project also covers various features like registration of the users,
modifying the details of the application by the management staff or administrator , by
adding, deleting or modifying the customer details, flights information.
2. OVERALL PRODUCT DESCRIPTION
2.1 PRODUCT PERSPECTIVE
The Airline Reservation System project uses the .NET framework 4.0 and is completely
independent. The project itself is a bigger product and does not need to be introduced into
a larger system. The application would be running on a Windows 8 Operating system
2.2 PRODUCT FEATURES
The Airline Reservation System has the following features:
This project is mainly intended for two types of audiences. One is the customer or the end
user and the other is the administrator of the application. Some of the major functions of
the product can be categorized under two different categories that are for the
administrator and the user.

2.2.1 Customer / End user activities


Figure 1 - Customer use case diagram
The above use case diagram depicts all the functions or activities that a user or a
customer can perform on the application. They can be discussed in detail as follows:
Home Page: Like all the other airline websites available online, the user can
access the user home page of the Airline Reservation System , after he logs into
the system. Here, he can look up information regarding flights.
Login and Register: The Airline Reservation System also comes with the
customer registration details page, where the customer can enter his details and
register.
Booking Flights: The customer can also search for the flights available and
reserve his place on the flight by purchasing a ticket..

Figure 1 - Customer use case diagram


Some of the functions of the Airline Reservation System, such as creating, maintaining
and updating the database are available only to the administrator. The functions of the
administrator, explained in detail are as follows:
2.2.2 Administrator Activities
Login: The administrator has to login first in order to be able to make changes to
the Airline Reservation System, by adding, deleting or modifying the data in the
Airline Reservation System database.
Add/Modify Customer Information: Daily the Airline Reservation System will
have many customers registering with the application and many of them

unsubscribing. Only the administrator will have the sole rights to modify the
database accordingly.
Add/Modify Flight Information: The Administrator also has the sole rights to
add, delete or modify the flight information. Sometimes any flight information
has to be modified or if any new flights need to be added to the database, these
operations are performed by the administrator.

Figure 2 - administrator use case diagram


2.3 USER CHARACTERISTICS
There are two kinds of users for the Airline Reservation System. One is the customer and
the other is the administrator. The customers do not need to have any prior training to use
the application. However, instructions for making flight reservations would be provided
to them through application. The administrators would however need to be trained in
order to use the application.
2.4 CONSTRAINTS
In case of changes made to the database, the application should be able to show the
updated information without much delay. The database for the project is designed to be of
moderate size. The Airline Reservation system will be designed in such a way that, it can
be run on a Windows 8 and its older versions. The .NET technology will be used to code
the project and SQL server 2012 will act as the database for the project.

3. SPECIFIC REQUIREMENTS
3.1 EXTERNAL INTERFACES
The different types of interfaces that we would come across while developing the Airline
Reservation System application are as follows:
User Interface
Hardware Interface
Software Interface
3.1.1 USER INTERFACE
There are two types of users for the Airline Reservation System project. One is the
customer and the other is the administrator. Both the customer and administrator user
interface would be a graphical user interface. The graphical user interface for the
customer home page would be as follows:

The Graphical User Interface would mainly consist of Hyperlinks push down buttons like
the Login button etc.
3.1.2 ADMINISTRATOR INTERFACE
The administrator of the website would also have a similar Graphical User Interface.
6

After an administrator logs onto the system, the home page for the administrator would
be as follows:

3.1.3 SOFTWARE INTERFACE


The application should run on a Windows 8 and its older versions Operating System.
Since the application needs a database to store all the customer details, airline SQL server
2012 would be used.
Visual Studio.NET 2012 would be used for creating the application. All the coding will
be done in C#.
4. FUNCTIONAL REQUIREMENTS
The functional requirements of the Airline Reservation System are divided among the
customer and the administrator of the application.
These functional requirements can be explained in detail as follows:
4.1 Use Case name: User Registration
Description: This use case describes the scenario where the user registers with the
application by providing all the necessary details, in order to make reservations or
7

bookings for flights.


Actor: User or the Customer
Input: The user or the customer will have to provide all the necessary details present in
the customer registration form of the application.
4.2 Use Case name: User Login
Description: This use case describes the scenario where the user logs into the
application, with the username and password
Actor: User or the Customer
Input: The user or the customer creates a username and password He then uses them to
logon to the system and make reservations or view any information.
4.3 Use Case name: Book Flights
Description: This use case describes the scenario where the user books airline tickets.
Actor: User or the Customer
Input: After logging into the application, the customer looks up the information related
to various airlines and checks the availability of seats on flights. If he finds that there are
any available tickets, he then purchases them.
4.4 Use Case name: Login/Logout
Description: This use case describes the scenario where the administrator of the
application, logs into the system and logs out after the work is done.
Actor: Administrator
Input: The administrator logs into the application with the username and password
provided to him.
Output: The application verifies the authenticity and displays the home page of the
administrator.

4.5 Use Case name: Add/Delete or Modify Customer information


Description: This use case describes the scenario where the administrator adds, deletes
or modifies customer information in the system database
Actor: Administrator
Input: The administrator of the applications logs onto the system with his username
and password.
Output: The application authenticates the administrator, and then displays the page
where the administrator can add new customers to the database, or delete existing
customers or modify details of customers in the database.

4.6 Use Case name: Add/Delete or Modify flight information


Description: This use case describes the scenario where the administrator adds, deletes
or modifies flight information in the application database
Actor: Administrator
Input: The administrator logs onto the system with the username and password
provided to him.
Output: The application authenticates the administrator, by verifying the username and
password. Then the application displays the page where the administrator can add new
flights to the database, delete the flights or modify information for the flights.
5. PERFORMANCE REQUIREMENTS
The Airline Reservation System application should be able to respond to the queries
submitted by the customer without much delay. When a user searches for a flight leaving
from a particular place to another place, the application should not take much time to
return the results. Considering that the application is of moderate size, it should be able to
display the results at a time on a page, when the customer looks up for any particular
data.

CHAPTER 2 - ARCHITECTURE DESIGN


1. INTRODUCTION
The main purpose of the Architecture Design document is to discuss the architectural
design for the Airline Reservation System project in a clear and concise form. This design
document will give a detailed description of the presentation tier, the middle tier which
consists of the class diagrams, sequence diagrams for the Airline Reservation System and
finally the data tier.
2. ARCHITECTURE OF THE AIRLINE RESERVATION SYSTEM
The architecture of the Airline Reservation System is based on the three-tier architecture.
This three-tier architecture mainly consists of three layers namely:
Presentation Tier
Business Tier
Data Access Tier
The Presentation Tier converts and displays information into a human legible form. This
tier displays information related to services such as browsing the Airline, purchasing
tickets etc. It communicates with the other tiers by outputting results to the client tier
and all the other tiers. The Business Logic tier is mainly responsible for information
exchange between the user interface and the database of the project. The final layer of the
three tiered architecture is the Data Access tier, which mainly consists of the Database
servers. The information related to the Airline Reservation System is stored and retrieved
from here.
A simple representation of the three-tier architecture would be as follows:

10

PRESENTATION TIER
The presentation tier is the top most layer of the Airline-Reservation system application.
The presentation tier is mainly responsible for the user interface of the application which
deals with the presentation of data to the user. The presentation tier of the Airline
Reservation System is mainly formed by the C#.NET forms. In the case of the Airline
Reservation system project, I have used the Visual Studio 2012.NET to create the forms.
Each form will have the extension .cs and there are several forms created for the user and
the administrator.
BUSINESS LOGIC TIER
The Business Logic Tier is the middle tier of the three-tier architecture. The business
logic for the Airline Reservation System would be present here. In the case of my project,
the C# classes would be performing the duty of the business logic. This is the layer which
is responsible for the information exchange between the user interface and the database.
The Airline Reservation system mainly consists of the Users, which can be further
classified into the customer and administrator of the Airline Reservation System.
The class diagram for the Airline Reservation System would be as follows:
4.1) CLASS DIAGRAM

11

4.2) SEQUENCE DIAGRAM


The sequence diagram for the Customer of the Airline Reservation System would be as
follows:

DATABASE TIER
The database tier is the final and last tier of the three-tier architecture. All the data related
to the Airline Reservation System project is stored and retrieved from here. For this
project I have used the Microsoft SQL server to create the database. To be specific,
Microsoft SQL server 2012 is being used. It is very easy to work with and makes creation
and maintaining of tables very easy.

12

CHAPTER 3 - COMPONENT DESIGN


1. INTRODUCTION AND PURPOSE
The main purpose of the Component Design document is to provide and explain the
component design for the Airline Reservation System project in detail.
2. CLASS DIAGRAM
The class diagram of the Airline Reservation System project would be as follows:

2.1 CLASS DESCRIPTIONS


2.1.1 CUSTOMERS

13

The attributes for the customers are Customerid which is unique,


Customer Name, Gender, Date of Birth, Address, State, Country, Contact number and
Email-id .
The functions that the customer would be able to perform are :
Register the customer would be able to register onto the system
Login- the customer can login with the email id and password
Search flights and book flights the customer would be able to search and book the
flights available

2.1.2 COMPANY

The attributes for the customers are Companyid which is unique,


Company Name, Address and Company URL .
The functions that the Administrator would be able to perform are :
Login- the Administrator can login with the email id and password
Register the Administrator would be able to register new company.

2.1.3 FLIGHTS

The attributes for the flights are Flightid which is unique,


Company Name, Companyid (referring tblcompany table) and status id.
The functions that the Administrator would be able to perform are :
14

Login- the Administrator can login with the email id and password
Register the Administrator would be able to register new flights depending upon the
respective company.
Flight status id- It depicts whether the flight is of domestic or international type.

2.1.4 FLIGHT FARE

The attributes for the flight fare are Flight fare id which is unique,
Flight class status id (referring table tblflightclass status),customer status id (referring
tblcustomerstatus table) ,fare id (referring table tblfare) and flight id(referring table
tblfllights).
The functions that the Administrator would be able to perform are :
Login- the Administrator can login with the email id and password
Add the Administrator would be able to add flight fare depending upon the respective
company and its class i.e. business or economy and customer status i.e. whether the
customer is infant, child, adult or senior citizen.
2.1.5 FLIGHT SEATS

The attributes for the flight seats are Flight seat id which is unique,
Flight class status id (referring table tblflightclass status),flight route id (referring table
tblroutes) ,seat no.
The functions that the Administrator would be able to perform are :
15

Login- the Administrator can login with the email id and password
Add the Administrator would be able to add flight seats depending upon the respective
company and its class i.e. business or economy accordingly to Source and Destination.
2.1.6 FLIGHT ROUTES

The attributes for the flight route are Flight route id which is unique, Departure time,
Arrival time, Flight Days, route id (referring table tblroutes) and Flight id (referring
table tblflights).
The functions that the Administrator would be able to perform are :
Login- the Administrator can login with the email id and password
Add the Administrator would be able to add flight routes depending upon the
respective company flights and accordingly to Source and Destination along with their
departure and arrival time.
2.1.7

FLIGHT BOOKING

The attributes for the flight route are PNR status id which is unique, customer id
(referring table tblcustomers), flight seats id (referring table tblflightseats) , flight fare id

16

(referring table tblflightfare), flight route id (referring table tblflightroutes) and Date of
Booking of flight.
The functions that the Customer would be able to perform are :
Login- the Customer can login with the email id and password
Book the Customer would be able to book flight depending upon the respective
company flights available and accordingly to Source and Destination along with their
departure and arrival time and accordingly to class type i.e. business or economy and
availability of flight on that booking date.

17

CHAPTER 4 - TEST PLAN


1. TEST PLAN IDENTIFIER
Airline Reservation System
2. INTRODUCTION
The main purpose of the test plan for the Airline Reservation System is to discuss the
testing details of the use cases of the Airline Reservation System. The software project
test plan also describes the objective, scope and approach of the software testing effort for
the Airline Reservation System project. The test plan for the Airline Reservation System
also indicates the personnel responsible for each task and also specifies the risks
associated with the test plan.
2.1 OBJECTIVES
The main objectives of the test plan for the Airline Reservation System are as follows:
To identify the features of the system that will be tested.
To identify and define all the activities necessary to prepare for and conduct the testing
process on the Airline Reservation System
To discuss the testing techniques being used to test the Airline Reservation System.
2.2 DEFINITIONS
The following are some of the terms and definitions that are related to the test plan of the
Airline Reservation System:
Pass/Fail criteria: Decision rules that are used to determine whether a software item
passes or fails a test.
Test: A collection of one or more test cases
Test Item: A software item that is an objective of testing.
Test Plan: A document describing the scope, approach, resources and schedule of the
intended testing activities.
Test Summary Report: A document summarizing the testing activities and results.
Testing: The process of analyzing a software item to detect the differences between the
existing and required conditions.
3. TEST ITEMS
This section of the test plan lists all the items of the Airline Reservation System project
that will be tested:
Login
Search and book flights
Register

18

4. APPROACH
This section of the test plan describes the overall approach for testing the Airline
Reservation System project. The approach followed for testing the Airline Reservation
System ensures that the major features of the project are adequately tested. The testing
would be carried out on the Airline Reservation System while logging into the system as
a customer or a normal user of the system.
4.1 UNIT TESTING
The Unit Testing is a test that tests each single module of the software to check for errors.
This is mainly done to discover errors in the code of the Airline Reservation System. The
main
goal of the unit testing would be to isolate each part of the program and to check the
correctness of the code. In the case of the Airline Reservation System, all the forms and
the C# classes will be tested. There are many benefits for this unit testing:
The unit testing facilitates change in the code.
It allows testing to be done in a bottom up fashion.
At the same time, unit testing has some disadvantages such as, it might not identify each
and every error in the system.
4.2 INTEGRATION TESTING
In Integration Testing, the individual software modules are combined and tested as a
whole unit. The integration testing generally follows unit testing where each module is
tested as a separate unit. The main purpose of the integration testing is to test the
functional and performance requirements on the major items of the project.
All the modules of the project developed individually would be combined together and
tested as a whole system in the integration testing.
4.3 REGRESSION TESTING
The Regression Testing is generally done whenever modifications are made to the source
code of a project. The Regression Testing can also be defined as the process of testing
changes made to the computer program and also makes sure that the older programming
still works with the new changes.
So, before any new version of a software product is released, the old test cases for the
project will be run against the software with the changes made, to make sure that the old
functionalities of the project still work.
4.4 ACCEPTANCE TESTING
This testing is generally performed when the project is nearing its end. This test mainly
qualifies the project and decides if it will be accepted by the users of the system. The
users or the
customers of the project are responsible for the test.

19

4.5 SYSTEM TESTING


The system testing is mainly done on the whole integrated system to make sure that the
project that has been developed meets all the requirements. The test cases for the system
testing will be the combination of unit and integration tests.
5. TEST CASES
The following are the test cases for the Airline Reservation System:
5.1 TEST CASE 1 USER LOGIN
Incorrect Input: Incorrect username, which is the email-id in the case of the Airline
Reservation System.
Pass Criteria: An appropriate message should be generated to indicate that an invalid
username has been typed.
Correct Input: The correct input would be a valid e-mail id of the user and a correct
password associated with the email-id which he uses to log in.
5.2 TEST CASE 2 USER REGISTRATION
Incorrect Input: Wrong format entered in the input fields for the registration page.
Pass Criteria: An appropriate message should be generated to the user saying that he
has entered the wrong format in the specific input field.
Correct Input: The correct input would a correct format entered by the customer into
the input fields of the registration page.
Pass Criteria: The pass criteria for this test case would be a successful registration of
the customer into the Airline Reservation System.
5.3 TEST CASE 3 USER REGISTRATION
Incorrect Input: The data fields left out empty in the registration page.
Pass Criteria: An error message should be generated to the user saying that he has to
fill out those fields in order to be registered into the system.
Correct Input: The correct input in this case, would be that the customer would enter
the data in all the fields in the registration form.
Pass Criteria: The pass criteria for the system would be that it accepts all the customer
details and then registers the customer and helps him log into the system.
5.4 TEST CASE 4 SEARCH AND BOOK FLIGHTS
Incorrect Input: Incorrect input in this case, would be incorrect search criteria entered
or incorrect format of data entered into the data entry fields of the flight search and
booking page.
Pass criteria: A message has to be generated to the user indicating the wrong entry that
he has made in the fields.

20

Correct Input: A correct input would be entering the data into the data entry fields in a
correct format.
Pass Criteria: The pass criteria for this test case would be that the search would return
valid results and then when the customer made the booking, the system has to generate a
confirmation to the customer by displaying the message.
6. PASS OR FAIL CRITERIA
The test cases executed on the Airline Reservation System will pass if they meet the
specific requirements mentioned in the Vision document of the project. A test case is said
to fail, if the desired functionality is not satisfied by the system.
7. SUSPENSION CRITERIA AND RESUMPTION REQUIREMENTS
7.1 SUSPENSION CRITERIA
Testing for all the dependant features will be suspended if a test case fails. The failed test
case will be logged onto the test log which contains the description for the error.
7.2 RESUMPTION REQUIREMENT
The test cases which are not dependant on the case where the bug is reported will be
executed in parallel with the bug fixing. Once the failed test case has been taken note of
and has been identified and fixed then the testing for the failed test case will resume.
8. TEST DELIVERABLES
The following documents will be produced after the testing phase for the Airline
Reservation System has been completed.
Test Plan
Test Cases
Test Log

21

CHAPTER 5 - ASSESSMENT EVALUATION


1. INTRODUCTION
The Assessment Evaluation document presents the results obtained by testing the Airline
Reservation System. The test cases are in reference to the test cases defined in the Test
Plan document from the Phase II.
2. TEST CASE RESULT SUMMARY
The summary of the test case result has been depicted in the table shown below:
These are the test cases for the User/Customer pages. The major part of testing has been
concentrated on the customer pages, as they would be the main clients of the Airline
Reservation System.

The below table represents the summary of results of testing on the Administrator pages.
The results have been explained in detail later in the document.

22

3. DETAILED TEST RESULTS


3.1 MANUAL TESTING
To start with, I have performed manual testing on the Airline Reservation System
Manual Testing is one of the oldest and rigorous methods of software testing. This
testing strategy gives the best opportunity to check every page thoroughly and make sure
it works in the expected manner. Due to the complexity of the various automation tools
and the time available for testing the entire application, I preferred to use manual testing
based on the fact that it is one of the best methods of testing suggested for a beginner.
All the test cases mentioned in the Test Plan document of Phase II were tested here. The
results of the manual testing are represented in the following tables:
3.1.1 TC # 1 USER LOGIN

3.1.2 TC # 2 - USER REGISTRATION

23

3.1.3 TC # 3 SEARCH AND BOOK FLIGHTS

3.1.4 TC # 6 - ADMINISTRATOR SIGN IN

24

3.1.5 TC # 7 NEW FLIGHT ADDITION

3.1.6 TC # 8 UPDATING FLIGHT DETAILS

Thus, the Administrator forms have also passed the manual testing phase and thus
the above results have been produced

25

CHAPTER 6 - USER MANUAL


1. INTRODUCTION
The User Manual explains us the step by step procedure to use the Airline Reservation
System application.
2 REQUIRED SOFTWARE
The required software for the Airline Reservation System project would be as follows:
Operating System: Microsoft Windows 8 or lower .
.NET Framework 4.0 SDK: It can be downloaded from Microsoft website
(http://www.microsoft.com/en-in/download/details.aspx?id=3324).
Microsoft Visual Studio .NET 2012: It can be downloaded from Microsoft
website(http://www.microsoft.com/en-us/download/details.aspx?id=30678).
Microsoft SQL server 2012: It can be downloaded from Microsoft
website(http://www.microsoft.com/en-in/download/details.aspx?id=35575).
3 AIRLINE RESERVATION SYSTEM DETAILED VIEW

26

The administrator can perform the following functions like


Addition of new companies
Add new flights
Can modify the customers
Add flight seats
Add flight routes
Add flight fare

27

28

29

30

The customer can perform the following functions like


Can register itself .
Add flight according to its needs.

31

32

REFERENCES
The following references have been used by me, during all the phases of the MSE
project:
1. http://www.tutorialspoint.com/csharp/index.htm
2. http://msdn.microsoft.com/en-us/library/kx37x362(v=vs.80).aspx
3. SQL Server 2012 download - http://www.microsoft.com/en-in/download/details.aspx?
id=35575
4. http://www.c-sharpcorner.com/
5. http://en.wikibooks.org/wiki/C_Sharp_Programming

33

You might also like