Aircom System®: Airline Ticketing and Reservation System
Aircom System®: Airline Ticketing and Reservation System
Aircom System®: Airline Ticketing and Reservation System
AIRCOM SYSTEM
Under the supervision of Mr. Mubarack Ahmed Mr. Alfred Adutwum Amponsah
SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY AIRLINE TICKETING AND RESERVATION SYSTEM AIRCOM SYSTEM
THIS PROJECT WORK IS SUBMITTED IN PARTIAL FULFILLMENT FOR THE AWWARD OF BSC. (COMPUTER SCIENCE) HONOURS DEGREE
JUNE, 2012
DECLARATION
We hereby declare that this thesis is an original investigation and achievement which has not been submitted in whole or part before for any degree elsewhere, is therefore submitted for the bachelors degree at Garden City University College.
AUTHORS
SUPERVISORS
ACKNOWLEDGEMENT
All thanks and glory be to Jehovah God almighty who is able to do exceedingly great things more than what we ask or imagine according to his power that is at work within us. To our supervisors, Mr. Mubarack Ahmed and Mr. Alfred Amponsah, we say thank you very much for investing all those times in us in correcting all errors in our thesis. We grateful to God for you. We wish to thank our parents Mr. & Mrs. Addy, Rev. & Mrs. Kumi for the diverse supports they always give us and so to you, we dedicate this study. Also to our siblings, friends and mates. Finally, to the department of computer science.
ABSTRACT AirCom systems are an online air ticketing and reservation system aimed at hassle free and secured online transaction for the travel agent(s), passengers and the airline operators. This online reservation system has its database centrally located which is accessed through an Application Programming Interface (API). This makes it easier for the traveler and the airline to book a seat anywhere at any time at their convenience. The traveler can book a ticket at a click of a mouse button thereby saving time. AirCom systems contain airline schedules, fare tariffs, passenger reservations and ticket records. The systems inventory contains all flights with their service classes for which different prices and booking conditions apply with their available seats. Inventory data is imported and maintained through a Schedule Distribution System over standardized interfaces. One of the core functions of the inventory management is the inventory control. Inventory control steers how many seats are available in the different booking classes, by opening and closing individual booking classes for sale. In combination with the fares and booking conditions stored in the Fare Quote System. The unique feature about AirCom systems is its expanded tourist attractions portal. This online reservation system involves three main actors namely the database, online operator and a database scheduler. The database scheduler updates the database, the online operator accepts and confirms the booking and updates the database.
The project can be used on all windows platform with PHP v5.3.10 as Front End and Mysql v5.5.20 as Back End.
TABLE OF CONTENTS
CHAPTER TWO 2.0 Literature Review ........................... 2.1 Methodologies & Tools 9 2.1.1 Waterfall Model ........ 2.1.2 V- Process Model ............ 2.2 Scope & Benefits10 2.3 Development Paradigms ............................10 2.4 Platforms .... 2.4.1 PHP ............ 2.4.2 My SQL ........ 2.4.3 Apache................................. 2.5 Architecture ..................
CHAPTER THREE 3.0 Requirement Specifications .......12 3.1 Function Requirements 13 3.1.1 Hardware requirements14 3.1.2 Software requirements ............................... 3.1.3 Non-Functional Requirements .. 3.2 Analysis .................................................... 3.2.1 Use Case model .................. 3.2.2 Class diagram ...................
CHAPTER FOUR 4.0 Design Specifications ...........15 4.1 Data Modeling ............... 16 4.1.1 Entities 17 4.1.2 Entity Relationship Diagram . 18 4.1.3 Normalizations ............................... 4.2 User Interface Designs ............................ CHAPTER FIVE 5.1. Testing & Evaluations .. 19 5.2. CHAPTER SIX 6.1 Recommendation 22 6.2 Conclusion . 23 6.3 References . 24 .. 20
CHAPTER ONE
INTRODUCTION
1.3 AIMS AND OBJECTIVES The air transportation industry today is entirely dependent on the right airline and ticketing management in its every stage. For it to function properly, it is very important that its records be properly maintained and updated. Then, there is the airline and ticketing management software is to ease the difficulty in processing and operating airline system. Airline and Ticketing management is an existing system.
1.4 APPROACHES TO PROJECT Since this project is basically, on Server/Client base technology, it will base on web technology where most of the web tools will be implemented. 1.5 GENERAL TECHNIQUES AND TOOLS Dreamweaver and XAMPP will be used as the tools in this project. With these two tools basically, the database aspect will be captured by XAMPP because of the technology involve. We also saw that it will be appropriate when we use XAMPP as the database apart from any other database software. The database can take huge data as time goes so we cannot use any other database approach than to use this approach. Also the nature of the system is web technology so we also implemented the dynamic nature of the web using PHP. We did not want it to be static in nature as in HTML but the PHP will give us the dynamic view.
1.6
Structure of Report
Chapter one: The gives an introduction to the project Chapter two: This reviews available literature about the project Chapter three: Here, discussion of methodologies, languages and tools take place Chapter four: The proposed software product is developed Chapter five: This is where the system is tested and project evaluated Chapter six: Project assessment ,recommendation, conclusion and references
CHAPTER TWO
LITERATURE REVIEW This chapter explains the available methodologies for implementing this kind of management application. Development paradigms, platforms architecture used for the execution of this project are expounded.
2.1 Methodologies & Tools Software process models often represent networked sequence of activities, objects, transformations, events that embody strategies for accomplishing software evolution. To ensure the successful development of airline systems, an appropriate and suitable model must be adopted. Some of the various methods with their pros and cons available
2.1.1The Waterfall Model This is sequential development process in which the development is seen as flowing downwards like waterfall through the phases of requirements analysis, design, implementation, testing and maintenance and was published by Royce in 1970. The principal stages of the model map are
Requirements analysis and definition: All possible requirements for the system to be developed are captured in this phase. Requirements are set of functions and constraints that the end user expects from the system. These requirements gathered through consultation with the end user are analyzed for their validity and possible incorporation into the system to be developed. Requirements specification document is created at the end.
System and software design: Getting to know what is to created and how it look like stems from the studying the requirements so the system the system design is prepared before the actual coding is the aim of this phase. This helps in determining hardware and overall system architecture and it serves as input phase of the model. Implementation and unit testing: On receiving system design documents, the work is divided into modules and actual coding is started. The system is first developed in small programs called units. Unit testing refers to where each unit is developed and tested for functionality. This testing verifies if the modules or units meet their specifications. Integrations and system testing: The tested units are integrated into a complete system and tested to check if all units coordinate between each other and the system as a whole behaves as per the specifications after this phase, it is delivered to the end user. Operation and maintenance: Here, the problems that may evolve after installation and usage are determined and managed in this phase.
The result of each phase is one or more documents which are approved or signed off. A phase should not start until the previous phase has finished stages overlap and feed information to each other. The problem with waterfall model is its inflexible partitioning of the project into distinct stages. Commitments must be made at an early stage in the process and this means that it is difficult to respond to changing customer requirement 2.1.2 The V- Process Model The V-process life cycle model is used for projects involving application development, re-engineering or major enhancements. The V-process model can be seen as expanding the testing activity in the waterfall model. Each step has a matching validation process that can detect defects, cause a loop back to the corresponding development stages and a reworking of the succeeding steps. Ideally, this feeding back should only occur where a discrepancy has been founded between what was specified and what was actually implemented.
This model answers the questions what has to be done, how is it done and what is used to do it about the project. This approach in flexible in the sense that it allows for project tailoring thus addition and removal of obsolete methods and tools and because of this, it is publicly used and maintained. on the hand, it is project oriented that is it can be used only once during a project. It does not point out weaknesses and or limitations in the approach. Testing can be carried out in many forms; component, interface, system, acceptance and release testing.
2.2 SCOPE OF THE PROJECT Every system has its target area and this Airline and Ticketing Management software is of no exception in this regard. The system primarily will work on: Ticket Reservation.
Booking and Services.
Seat Availability. Billing and receipts Clients Information Database Maintenance. Management Reports
2.2.1 BENEFITS
2.3 DEVELOPMENT PARADIGMS Many development paradigms do exist for software/web development projects. Among which are the classic Life Cycle, Prototyping, Fourth Generation Technique, Formal Systems Development and Reuse-Based Development. In order to come out with an efficient system, the pros and cons of these paradigms were reviewed. Our choice settled on the Classic Life Cycle. The classic life cycle also known as the Waterfall Design Process, demands a systematic, sequential approach to software development that starts at the system level and traverses through analysis, design, coding, testing and maintenance. The output of one stage is the input of another. Each is completed before moving back to the next stage.
2.4 PLATFORMS 2.4.1PHP PHP is a popular open source HTML-embedded scripting language that is supported by many web servers including Apache HTTP Server and Microsoft's Internet Information Server, and is the preferred Linux Web Scripting
language. The development of PHP has been influenced by a number of other languages such as Perl, C, Java. It supports untyped variables to makes development easier. The goal of the language is to allow Web Developers to write dynamically-generated pages quickly. One of the advantages of PHP is its extensibility and a number of extensibility and a number of extension modules have been provided to support such things as database connectivity, mail and XML. 2.4.2 MYSQL The MySQL database has become the world's most popular open source database because of its consistent fast performance, high reliability and ease of use. It is used by individual Web developers as well as many of the world's largest and fastest-growing organizations to save time and money powering their high-volume Websites, business-critical systems and packaged software including leaders such as yahoo, Alcatel-Lucent, Google, Nokia, YouTube and Zappos.com. Not only is MySQL the world's most popular open source database, it's also become the database of choice for a new generation of applications built on the LAMP stack (Linux, Apache, MySQL, PHP/Perl/Python) MySQL run s on more than 20 platforms including Linux, Windows, OS/X, HP-UX, AIX, NetWare, giving you the kind of flexibility that puts you in control. (Http;//www.mysql.com/why-mysql).
2.4.3 APACHE The Apache HTTP Server, commonly referred to as Apache, is a web server notable for playing a key role in the initial growth of the World Wide Web and in 2009 became the first web server to surpass the 100 million website milestone. Apache was the first viable alternative to the Netscape Communications Corporation web server (currently known as Sun Java System Web Server), and has since evolved to rival other Unix-based web servers in terms of functionality and performance. The majority of all web servers using Apache are Linux web servers. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. The application is available for a wide variety of operating systems, including Unix, GNU, FreeBSD, Linux, Solaris, Novell NetWare, Mac OS X, Microsoft Windows, OS/2, TPF and eCom Station. Released under the Apache License, Apache is characterized as free software and open source software.
Since April 1996 Apache has been the most popular server on the World Wide Web. As of March 2009 Apache served over 46% of all websites and over 66% of the million business.(http://en.wilkipedia.org/wiki/Apache HTTP Server) The choices of the above technologies for the project were influenced by the numerous features found in them. COST: it is worthy of note that Apache, MySQL and PHP are all open source. Cost of buying the software could be eliminated if the project is implemented. It would cost the developers and the Assembly thousands of dollars to buy similar development software like Microsoft SQL Server and Visual Studio. Net to implement such a project. SUPPORT: open source technologies like PHP, MySQL and Apache benefit a lot form technology experts. Experts work on patches and update the base code therefore making it the right choice for development.
2.5 ARCHITECTURE In order to achieve a very efficient system for the project, a three-architecture was considered. The three-tier model is considered to be software architecture and a software architecture and a software design pattern. It allows any of the tiers to be upgraded or replaced independently as requirement or technology change. Typically, a change of operations in the presentation tier would only affect the user interface code. The 3-Tier architecture are: PRESENTATION TIER: The user interface layer, which runs on the end-users' computer (the client). APPLICATION TIER: The business logic and data processing layer. This middle tier runs on a server and is often called the application server. DATA TIER: It stores the data required by the middle tier. This tier may run on a separate server called the database server.
CHAPTER THREE
3.0 REQUIREMENT SPECIFICATION In Software Engineering, requirements capture is the only process of identifying what the customer wants from the proposed system. The key at this stage is that we are in the problem domain. At this stage, we describe everything from the client perspective and in the language of the client and also a detailed understanding of how the system is going to work is required. To help us achieve this for the project, our data capture was done through interviewing, questionnaire and observation. 3.1 FUNCTION REQUIREMENTS Functional requirements capture the intended behavior of the system. This behavior may be expressed as services, tasks or functions the system is required to perform. Below are some of the functional requirements of the proposed system:
Allow passengers (existing & potential) to surf the web pages Allow registered users to access restricted information Allow passengers to book online thus saving time Allow passengers access basic information about the system
3.1.1. HARDWARE REQUIREMENTS The computer system to be used must have the following:
Basic components (such as keyboard, mouse, monitor etc) Minimum requirement of 512MB (RAM) Pentium M 1GHz or higher 2GB free space on hard disk or higher
3.1.2. SOFTWARE REQUIREMENT The operating system to run the program should be Microsoft Windows XP Professional Edition or higher Microsoft .Net Framework 1.0 or higher should be installed.
3.1.3 NON-FUNCTIONAL REQUIREMENTS These are the requirements which are not directly concerned with the specific functions delivered by the system but may relate to the emergent system properties such as reliability, response time store capability. Some are these: Response and processing time must be accepted by user and the application. The system should provide friendly graphical interface to ensure ease of use. The system should provide documentation to inform users of the systems functionality. The system must be working at 100% peak efficiency during usage.
3.2 ANALYSIS REQUIREMENTS This requirement elaborates on the structures and models used in the project. The heart o f object-oriented problem solving is the construction of a model. This model abstracts the essential details of the underlying problem from its usually complicated real world. The unified modeling language (UML) is the standard language used to specify, visualize, construct and document all the artifacts of a software system. UML is a general purpose language that includes a graphical notation used to create an abstract model of a system.
3.2.1 USE CASE MODELLING A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals and any dependencies between those use cases. The main purpose of a use diagram is to show what system functions are performed for which actor. Roles of the actors in the system can be depicted.