Design Airline System
The aim of the project is to design and implement a Web-based on-line Airline Reservation System. The project will be implemented using 3-tier architecture; JSP, JavaServlets, MySQL database and the Apache Tomcat server.
The primary goal of this project is to allow passengers to add, edit and delete flight bookings. When the passenger visits the site for the first time, the passenger can register their details as part of the flight booking process. In addition, the passenger will be given login details when they register in case they need to make changes to their existing bookings or make new bookings in the future. The airport staff will also have login details.
Passengers will be able to check-in via the self-service check-in; also airport staff can provide full-service check-in. In addition, a list can be created showing passengers with overweight luggage for business and economy class as well as a combined list of both classes.
- Existing Systems
Research has been made into existing automated system Airline System used by Malaysia Airlines, the system is known as Kommas.
KOMMAS is used by Malaysia Airlines for ticket reservation and is a DOS-based system. Based on my research the Kommas system has been used for more than 25 years and has been upgraded 4 times till date. The system is still been use for reservation and check-in for passengers. The same system is use international to do reservations; the Kommas system has a number of features including checking the departure time and day to specific place. The system has an advantage of showing flights that are offered by other carriers in Malaysia and overseas.
When making reservations, the user will enter key details required to make a booking and then if the customer is happy with the available flight, the user can make a booking. After making a booking, the system checks if the seat and flight has been confirmed. The system can also indicates how many seats are left if the customer will like to make more booking. If there are no seats left a pop-up screen is displayed saying flight or seat cannot be confirm.
After a receiving confirmation, the passenger can than pay for ticket and when payment is confirm can choose to print the ticket, delivered and don’t like to pay immediately the user can reserve the seat for the customer for a later date. The system will give the user reference number to key-in into the system later.
The customer has a deadline to collect the ticket two weeks before departure, and if the ticket is not collected and paid for before the two weeks the system will automatically cancel the reservation and make seat available for others to reserve. There is no deposit required for reservations. For customers who like to change their flight’s departure date or time, the system-user has to key in the customer’s reference number and then change the details; they can also cancel their flight if they wish. The passenger’s information will be stored in the system database for the next six months. After this time the system will automatically delete the passenger’s information.
This system also allows passengers to arrange special requirements such as vegetarian food. Passengers can also choose specific seats they prefer. Reservation department does the booking; however, the ticketing department also can also access it and make reservations for passengers. Reservation and Ticketing departments are linked together and can access the same database. KOMMAS have a specific code for system users. Users that make reservations and ticketing have the highest privileges to use the system. For managing level, they can only access the system and check the report of passenger’s and flights reservation information. At administration level users can amend departure time and flights.
System down had downtime in the past. In that case, all the ticketing reservations were done manually. The system also has a backup facility to back up the information of all flights and passenger information. This prevents the damage of database due to virus or physical damage. Hence the chances of data loss are impossible.
On the other hand, this system has some problems. It can’t produce reports according to the requirements. The interface is similar to DOS and hence is not very attractive with basic intelligent. This also makes the KOMMAS system not user-friendly. Users have to memorize various codes to make reservations, view reports, check on flights etc. Information about a passenger is not displayed in a easy to read way. In terms of security issues, the system lacks password protection to access the system – users access the system by using an access code given to them.
- Why Airline Reservation System is needed?
An Airline Reservation System is subjected to many benefits some of which are listed below:
• Increase in Sales of Tickets
With Airline Reservation System it allows airline operators to track passengers purchasing preferences and with this special flight packages to existing passengers can be promoted or even lastminute deals can be made available at cheaper price. Knowing the Passengers’ reservations patterns can be used to determine the marketable flights which means they can provide more flights and services to fulfill the high demand. Besides, ARS is also capable in increasing passenger satisfaction and loyalty by providing good services and fast reservation.
• Reduce in Cost and Time
Conventional paper reservation records have a lot of drawbacks: they could be incomplete, misplaced, torn, lost or worn. They also require several storage spaces as well as requiring extensive administrative time from user. With the implementation of Airline Reservation System, it can back-up which will prevent data lost and decrease in time and cost. It can increase the speed of processing, making reservation and searching. Hence, it provides passengers satisfaction. Daily or monthly sales report can be generated automatically from the data stored in the system. Time is not wasted trying to generate report manually.
• More Organized Information
Flight ticket reservation help organize information better on a centralized database where all information can be retrieve and managed. Users can view, add and edit data as they wish without any problem.
- Business and Technical Option
This table below set out the Business and Technical options that could be implemented to provide advance functionality for the system, this option will be assessed against the functional requirement specification that will be developed.
Business Option |
Technical Option |
|
|
Business Option
Survey at the end of the customer reservation to improve service
Discounted Flight ticket at the last 3 hrs to fill the rest of the space on the plane.
Multiple Booking, for more than I destination at once especially when checking in.
Option to pay by PayPal, all credit cards and debit cards.
Option to pick ticket at airport.
Email confirmation also accepted at check-in desk.
Hotel deals should be offered when making flight reservations.
24 hour helpline for booking queries and online help.
Reminder emails with flight detail and check in .
Option to upgrade seat and luggage.
Technical Option
Remote IT Management, for system upgrades and fixes any software problems
Biometric scanner to scan passport for identification.
WAP Page for customers who like to check-in on their mobile phone.
We have used session management to keep track of user profile, and when a user logs in/logs out.
Session Management Within a session, information is stored about user (if any) logged in.
- External Interface Requirements
- Hardware Interfaces
No special hardware is required for this product
- User Interfaces:
The primary user interface will consists of a series of JSP pages linked by means of hyperlinks.
- Software Interfaces:
Java servlets
[2]All user interaction will be by the means of Java Servlets. These will be a small java applications running on the server side of a web application. Any webpages produced by servlets will look the same as ordinary HTML webpages, because servlets use the same HTTP communications standard that ordinary static web pages use to communicate with the client’s web browser. Servlets are compiled to bytecode and can loaded dynamically.
To execute a servlet, it requires a servlet engine running on the Web server through requests and responses.
A client program accesses a Web server and makes a request. This request is processed by the servlet engine running on the Web serve. A response is generated and the servlet sends a response in HTTP format to the client.
The main advantages of servlets are that they are faster than CGI scripts because of the different process model. Because servlets are based on Java, developers have access to special API. Because of this, it has all the advantages of Java including the ease of development and platform independene. Fourthly, servlets can access any of the large set of APIs built for Java such as database access, e-mail, directory servers, CORBA etc.
JSP
[3] JSPs is a solution to problems that CGI programs and early Servlet applications had. Rendering the HTML via System.out.println() is too inflexible for a lot of web applications, because changes to the HTML would require recompilation. JSPs solve this problem by embedding Java in HTML instead of HTML in Java. Hence any HTML changes would not require a recompilation of the HTML file.
One of the problems with JSP is that the code can be difficult to debug. Most Web servers internally convert JSPs into servlets and then compile this auto-generated code. If a JSP contains syntactic or other errors, this will fail the compilation and a long list of useless compiler errors referring to the auto-generated code is created.
Because JSP are based on Java technology it is easy to integrate both technologies.
[4] ASP is a similar technology from Microsoft. However, JSPs are written in Java so it is more powerful and easier to use. Related to the reasons for choosing Java, it is portable to other operating systems and non-Microsoft Web servers.
[5] ASP is a proprietary product from Microsoft. Although ASP is really a framework into which various languages can plug, most people consider it implies using VB Script language (JavaScript can also be used out-of-the-box). One of the biggest advantages is that it is only supported on Microsoft’s IIS platform.
PHP started off as a simple scripting language for adding basic dynamic content to websites, it has grown to become one of the most used web programming languages into a major project. PHP works very well on all of the Unix-like, Linux and Windows platforms. Since PHP pages work well on all of those platforms, a particular strength is that it can be used to develop websites on a desktop system and then deployed on industrial-strength and secure servers such as those found commonly only running Unix or Linux.
The PHP drawbacks include the inability to insist that variables be declared before use; underdeveloped library mechanism and occasional linguistic quirks.
One of the problems if PHP is used in comparison to JSP is that it ties very well together with MySQL database. The problem is that to interact with the MySQL database specific PHP commands exist. Hence when a database change occurs, all database interaction code in PHP must be changed making it very inflexible.
CSS
[6] Cascading Style Sheets (CSS) is a stylesheet language. It is to control the formatting of elements of a document written in a markup language such as HTML and XHTML, but the language can be applied to any kind of XML document, including SVG and XUL.
It is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation (written in CSS). This separation improves content accessibility, provide more flexibility and control in the specification of presentation characteristics and reduce complexity and repetition in the structural content.
HTML
[7] HTML is a markup language for web pages. It allows web developers to describe the structure of text-based information in a document by denoting certain text as headings, paragraphs, lists and so on with forms, images, and other objects. HTML is written in the form of labels called elements. HTML can also be used to control the formatting of certain elements and can include embedded scripting languages.
JavaScript
[8] JavaScript can generate HTML dynamically on the client, but only handles situations where the dynamic information is based on the client’s environment. With the exception of cookies, HTTP and form submission data is not available to JavaScript. And because JavaScript is executed on the client side, it cannot access server-side resources such as databases.
Apache Tomcat server
[9] Apache Tomcat is an application server from the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, providing an environment for Java code to run in cooperation with a web server. In addition, it offers tools for configuration and management but can also be configured by
editing configuration files. It also has its own HTTP server to run web applications built using JSP and Java servlets.
MySQL
[10] MySQL is a multithreaded, multi-user SQL database management system with over 10 million installations according to MySQL AB. MySQL runs as a server providing multi-user access to a number of databases.
[11] In comparison to PostgreSQL, MySQL is much more widely used and therefore there is a greater community to help with any problems as well as more books and resources on MySQL. Furthermore, MySQL is a fast database, while PostgreSQL is aimed to be a fully-featured database. If you do not need all the features of PostgreSQL then it is better to use MySQL.
[12] Compared against Oracle, it is very expensive especially for small to medium sized companies who may not have the budget. Since this database is very complex, it also requires a very knowledgeable DBA to maintain the database. MySQL on the other hand is a lot easier and does not require this level of knowledge.
Proposed Methodology
There are several ways to implement this project but I have decided to go with the Waterfall model because it safe and fitted with the development of this project much better than an iterative approach e.g. Rapid Application Development (RAD) method. [22]Laynetwork 2007 says “project are candidates for the (RAD) it development methodology – different from the waterfall approach but a methodology nonetheless and on emphasizes reuse”
[18]Naval Postgraduate School (2002) suggested the RAD method is best use when working in groups because every member of the team can take different part of the project to work on.
For this reason I have decided to use this technique. The waterfall model is a software development model in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation).
The main steps in the technique are:
- Requirements specification – This aims at capturing those tasks for success of a development project
- Design – This aims at designing which technologies will be used and what components are needed
- Implementation – This is fleshing out the design in the above section
- Integration – This is plugging all the parts together
- Testing – This ensures all bugs are ironed out.
To implement the methodology, my project plan has been design in this structure of waterfall.
- Design Description
- Scheme of the system
The below diagram fig: 6.1.1 is a mock up of how the pages will connect using JSP after researching into existing system use Malaysia Airline and critical reviewing the available program in the market and decided which program to use it give me a better understanding how this system should look.
Note: this is subject to changes if any additional functionality is added.
Fig. 6.1.1
- USE CASE Model
This Concept and features of this Airline System is going to be very similar to the one researched which is use by Malaysia Airline called Kommas as seen in Fig: 6.2.1
Below are the lists of features:
- A passenger can add, edit, delete a flight which represents a booking
- A passenger can register his details such as name, contact number, e-mail. If the passenger is using the site for the first time then the passenger details will be stored as part of the flight booking process.
- A passenger and airport staff can login to the system.
- A passenger can do a self-service check-in.
- An airport staff can do a full-service check-in.
- An airport staff can produce a list of all passengers’ with overweight luggage.
- An airport staff can produce a list of economy or business class passengers with overweight luggage.
The system functionality is described in more detail using UML
.
An airline has many employees, but an employee only works for 1 airlines.
An airline has got 2 classes, but either class can belong to many airlines.
An airline can have many flights, but a flight only belongs to 1 airline.
A passenger can have many flights, but a flight can only belong to 1 passenger.
All of the above requirement are define all the in the USE Case model and Static Model but some of the not so obvious or important relationship could be added at a later stage of the development, that why we have a business and technical option. To make sure we meet the system requirement first.
iv. Functional Overview
1. Inputs:
● Information regarding schedule of all the flights that will be running in coming two months has to be given initially.
● Details of the passengers given by him at the time of booking/ registration information.
● Registration details for membership of club.
● all the querying inputs.
2. Reports and outputs:
● In case of booking, booking details will be displayed.
● Results of queries such as flight timings, ticket status, availability of seats, etc. will be displayed in appropriate format.
● Monthly reports will be generated for flights giving statistics on traffic between two cities. On this basis flights can be rescheduled appropriately.
3. Processing of various types of transactions:
User |
Transactions |
Passenger |
|
Airport Staff |
Etc Option: they could be more users with different permission to the system. But at this stage we have just names it Airport Staff with all the right. |
- Project Plan
- Gantt Chart
The Purpose of the project plan is to define the scope, approach and create a high-level plan for the project. This ensure the project stay on target and meets all of its deadlines, to review the progress on the project plan to date and revise it as needed based upon the information known at this stage of the implementation project life cycle.
The first part of the project is to produce the system prototype and interim report which has just been done, the plan has been divided-up the tasks into ten different stages from project interim and planning until presentation.
The first task is Project initiation and planning which started on 12 Oct. 2007.
Due to the deadline, shouldn’t spend no more than three weeks to finish the first task. After that will start reviewing literature for my research focusing on existing system to give me a better understanding how the Airline system works at this stage will also try to make contact with a Local Airline office.
The third part of this project will starts after the submitting of interim report and the prototype should start to prepare the development, at this stage decision to which software application is best for the system and a final decision would be made to complete this project.
The analysis and design is a very crucial part of the project. First will have to analyze the requirement for this project and then start to design Data Flow Diagram and ER Diagram. Those context diagrams may consume a lot of time. The Design and Analysis is anticipated to finish on Tue 25/12/07.
At this stage there should be a design a prototype of the Airline system and should be reviewed with my tutor and take on any feedback, and analyze any problem that comes up and take on suggestion. Expected to spend 21 days to complete this task.
After completing the review session the next task will be to update the plan and requirements, should have a final update for the plan and project requirement. This plan should meet all requirements in developing a successful database CASE tool. This is expected to take five days to complete.
And the next task is the System Design which is Database and Software Architecture. This should be the main design, at the stage should have collected all the information and resources needed so this should be the final draft to put up for testing. This is expected to last fourteen days.
The next task is Prototype & Review of major modules in this task is to make sure everything is inline with the agreed prototype and that the entire system requirement has been implemented. It is expected to be completed by Tue, 25/03/08
After the implementation phase, the next phase is testing by constructing a Test Data and Test Plan. Will create an acceptance test-data and if any problems occur should begin system debugging. This is expected to be completed by Thu, 17/04/08
The following task is Final Report and Testing Evaluation. Will write-up the system design system testing and system evaluation. It very important to stay focus on the Final Report as well as System Completion even towards the end of project development to prepare a well written and high quality final report.
8
The final task in my project plan is presentation at the time of writing this plan which may change believe we may not be having any more presentation after this initial one.
- Project Milestones
The milestones table below it’s mainly divided into ten major phases, which the first phase should be completed by 10 October 2007 while the second phases are expected to be completed by 05 Dec. 2007 including the review & presentation. And the other tasks and the completion date for each task is stated as the table below
No. |
Tasks |
Milestone/Date Completed |
1 |
Project Initiation and Planning |
Wed 24/10/07 |
|
2 |
Literature Review (Research) |
Wed 05/12/07 |
|
3 |
Analysis and Design |
Tue 25/12/07 |
|
4 |
Prototype and Report |
Wed 23/01/08 |
|
5. |
Review on Preview Project Work |
Mon 18/02/08 |
|
6. |
System Design ( Database & Software Architechit) |
Fri 07/03/08 |
|
7. |
Prototype & Review of major Modules |
Tue 25/03/08 |
|
8. |
Test Plan & Test Data |
Thu 17/04/08 |
|
9. |
Final Draft & Testing Evaluation |
Mon 05/05/08 |
|
10. |
Presentation |
Thu 15/05/08 |
Table 8.0: Project Milestones
- Reference
[1] Johnson, M.S.J., R. Rosebrugh and R.J. Wood, 1997. Entity relationship models and sketches, submitted to Mathematical Structures in Computer Science, July, 1997, 18pp.
[2] http://www.jcorporate.com/html/products/Architecture/java_tech.html
[3] http://www.adtmag.com/java/article.aspx?id=354
[4] http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Overview.html
[5]http://training.gbdirect.co.uk/courses/php/comparison_php_versus_perl_vs_asp_jsp_vs_vbscript_web_scripting.html
[6] http://en.wikipedia.org/wiki/Cascading_Style_Sheets
[7] http://en.wikipedia.org/wiki/HTML
[8] http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Overview.html
[9] http://en.wikipedia.org/wiki/Apache_Tomcat
[10] http://en.wikipedia.org/wiki/MySQL
[11] http://www.databasejournal.com/features/mysql/article.php/3288951
[12] http://www.suite101.com/article.cfm/oracle/115560
[13] Welcome to Malaysia Airlines”, Malaysia Airlines (2003), http://www.mas.com.my, Date Accessed: 26/11/2007
[14] Welcome to Air Asia”, AirAsia.com (2003), http://www.airasia.com/general.php?p=pmain&l=en Date Accessed: 5th January 2008
[15] Computerized Reservation System: Analysis and Impact Assessment”, NBTA Aviation Committee (2004), http://www.nbta.org/newsroom/documents/CRS_04_Summary.pdf
Date Accessed: 16th January 2004
[16]“Travel Time”, Travel Time, Inc. (1995 – 2004), http://www.traveltime.com/
Date Accessed: 14th January 2004
[17] “Introduction to Apollo Airline Reservation System”, Digital Education (1998)
http://www.digitaledu.com/courses/social/SLAR01.html, Date Accessed: 11th January 2004
[18] “Case Study: Airline Reservation System”, Naval Postgraduate School (2002)
http://www.cs.nps.navy.mil/people/faculty/mantak/AirlineReservationSystem/
Date Accessed: 10th January 2004
[19] “eBay Travel -Airline Tickets”, eBay Inc. (2004), http://pages.ebay.com/travel/index.html?ssPageName=MOPS5:HTR01
[20] A Sophisticated Airline Reservation System”, AxsRes (2003)
http://www.eds.ch/fileadmin/countries/eds_ch/portfolio/air_transportation/obaxsRes.pdf
Date Accessed: 12th January 2004
[21] Relational Database Management Systems – Airline Reservation System”, Lay Networks (2003)
[22] http://www.laynetworks.com/Relational%20Database%20Management%20Systems.htm, Date Accessed: 11th January 2004
Order Now