flight booking system

39
Design and Implementation of a Flight Booking Payment System Date This is a sample BCS project

Upload: shamam-mubarak

Post on 16-Apr-2015

500 views

Category:

Documents


4 download

DESCRIPTION

this is a specific project that to make a flight booking sysytem

TRANSCRIPT

Page 1: flight booking system

Design and Implementation of a Flight Booking Payment System

Date

This is a sample BCS project

Page 2: flight booking system

2

Abstract

The objectives of the report is to concentrate on deigning and implementing a Flight

Booking payment system in Object oriented Programming, using JDBC ODBC

connections and creating professional looking interface for capturing data into the database

record.

However, to achieve these objectives, research is inescapable in other to understand the

technology behind any booking systems with GUI for user friendly. Search tool is an add-

on in this project, which makes the system more user-friendly as user does not have to look

into hundreds or thousands of record before pulling up a customer details. This is made

simple using customer passport number as a search parameter, although this can be

incorporated with the primary key field (e.g. Customer Number, telephone number)

depends on the user requirements. The search interface includes update and delete button

and these are pined onto this interface so that staff can edit and delete customer details all

on single interface.

Page 3: flight booking system

3

Content

ABSTRACT......................................................................................................................................................2

CONTENT........................................................................................................................................................3

1 INTRODUCTION ..................................................................................................................................5

1.1 SCOPE..............................................................................................................................................5 1.2 BACKGROUND..................................................................................................................................5 1.3 ROADMAP OF REPORT......................................................................................................................6

2 LITERATURE REVIEW ......................................................................................................................7

2.1 INTRODUCTION................................................................................................................................7 2.2 BOOKING SYSTEM............................................................................................................................7 2.3 DIFFERENT TYPES OF DATABASE CONNECTIVITY.............................................................................8 2.4 OVERVIEW OF JDBC........................................................................................................................9 2.5 ROLE OF JDBC IN API ...................................................................................................................10 2.6 JDBC TOOLS..................................................................................................................................10 2.7 SQL IN JAVA ...............................................................................................................................10 2.8 CONCLUSION..................................................................................................................................10

3 ANALYSIS ............................................................................................................................................12

3.1 INTRODUCTION..............................................................................................................................12 3.2 APPLICATION DESCRIPTION............................................................................................................12

3.2.1 Application objectives ..............................................................................................................12 3.3 APPLICATION INPUT.......................................................................................................................12 3.4 APPLICATION PROCESS (USE CASE) ................................................................................................13 3.5 APPLICATION OUTPUT ...................................................................................................................14 3.6 BUSINESS REQUIREMENTS.............................................................................................................14 3.7 USER REQUIREMENTS....................................................................................................................14 3.8 FUNCTIONAL REQUIREMENTS........................................................................................................14 3.9 NON-FUNCTIONAL REQUIREMENTS...............................................................................................15 3.10 SYSTEM REQUIREMENTS................................................................................................................15

3.10.1 Hardware requirements.......................................................................................................15 3.10.2 Software Specification .........................................................................................................15

4 DESIGN.................................................................................................................................................16

4.1 INTRODUCTION..............................................................................................................................16 4.2 INPUT INTERFACE...........................................................................................................................16 4.3 TOOLS AND SOFTWARE CHOICE.....................................................................................................19 4.4 CLASS DIAGRAM ............................................................................................................................19 4.5 DATABASE RELATION SCHEMA......................................................................................................20 4.6 PROCESS........................................................................................................................................21 4.7 OUTPUT .........................................................................................................................................21

5 IMPLEMENTATION ..........................................................................................................................23

5.1 INTRODUCTION..............................................................................................................................23 5.2 SOFTWARE CHOICE........................................................................................................................23 5.3 USER INTERFACE (SCREEN SHOTS) .................................................................................................23 5.4 DATABASE SCHEMA.......................................................................................................................26 5.5 DATABASE CONNECTION...............................................................................................................27

6 TESTING ..............................................................................................................................................30

6.1 INTRODUCTION..............................................................................................................................30 6.2 TEST PLAN .....................................................................................................................................30 6.3 TEST CASE......................................................................................................................................31 6.4 TEST RESULTS...............................................................................................................................32

7 CONCLUSION .....................................................................................................................................33

7.1 INTRODUCTION..............................................................................................................................33 7.2 ANALYSIS AND DESIGN EVALUATION ............................................................................................33

Page 4: flight booking system

4

7.2.1 Design stage .............................................................................................................................33 7.2.2 Testing stage.............................................................................................................................34 7.2.3 Done well..................................................................................................................................34 7.2.4 Possible Improvement ..............................................................................................................34

7.3 LESSON LEARNED..........................................................................................................................35

8 REFERENCES .....................................................................................................................................36

9 APPENDIX TESTING RESULT SCREENSHOTS..........................................................................37

9.1 INTRODUCTION..............................................................................................................................37

Page 5: flight booking system

5

1 Introduction

This project is aim to design Flight Booking system that can be used over the phone.

However, understanding the technology behind booking system is undoubtedly involve the

use of latest technology and software and all of these point to detail research which in this

project, titled literature review.

After the research is done, then the knowledge gained will be analysed to give detail idea

of specification and requirements for the system.

1.1 Scope

The main scope of the project will be focused on designing a system that will pull up

customer’s booking record, converting or linking the database records (customer, flight

and booking) to the object oriented and event driven-based interface to simplify data input.

The project platform is undecided yet as the investigation and analysis stage will pave the

way for system requirement or platform options that are available. Currently Unified

Modelling language (UML) or Entity Relation Diagram will be one of the tools to start

with in showing the relationships between the records. Also software development life

cycle strategy is going to be one of my approaches to this project in gathering design and

application requirements (table design, table relation, programming language etc). Base on

the preliminary investigation, the project graphical user interface for data input and

retrieval will be designed in Java.

1.2 Background

The aim of this project is to design and implement an application that will be used for

taking payments for booked flight. This will necessitate connection of database to GUI to

improve the data input and output methods graphically.

This application will be however design to compatible with Ms Access for an easy running

on local computer but the record can be converted presumably into high level database

program like SQL or oracle at the cooperative level for server based.

Page 6: flight booking system

6

1.3 Roadmap of report

Chapter 1 briefly describe the project objectives, scope and background.

Chapter 2 is focused on detailed research on technologies behind booking system and tools

available for designing any booking system.

Chapter 3 provides brief review of the chapter one (literature review) and specification

requirements.

Chapter 4 entails how the requirements were derived, tools to be used and graphical

prototype of the interfaces and database schema.

Chapter 5 describes the practical implementation of the design stage, the interfaces, and

software choices to accomplish the system functional requirements.

Chapter 6 is focused on checking if the main design at the implementation stage is doing

what is designed for.

Appendix shows the Screenshot of testing that can not be inserted into the Test Result table

for the avoidance of disarray in the table.

Reference: List of the books and website consulted during the research.

Page 7: flight booking system

7

2 Literature Review

2.1 Introduction

This chapter will be centred on the investigation to pave the way for the different

approaches available and technology behind the development of any booking system. The

research will help in understanding how the booking system works and implements the

idea in designing different booking system application (e.g. flight booking/reservation

system).

Before the existence of object oriented programming, applications like booking system,

sales-related applications are less user-friendly and also laborious to design as many

programming languages then are monolithically developed, which are less powerful in

accomplishing useful and powerful tasks. Bringing object oriented languages into lime

light with GUI supportability makes the commercial applications worthwhile and also

rapid interest of companies to switch to the GUI-based applications for their businesses.

2.2 Booking system

What is booking system? In a simple and brief definition, booking system can be described

as an application that allows user to input, process and output the booking-related data to

provide useful and readable booking report or information.

Booking system can be designed in different ways based on the user requirements and

business needs. However, designing high-end booking system with user-friendly interface

is more complex but the technology is relatively the same comparing it to the Microsoft

Access form. The following shows difference between basic (figure 1) booking system

and more powerful one (figure 2). The powerful has a connection (e.g. ODBC, OLEDB

etc.) between the interface and the SQL server or Database. There are many database

connections available to suite programmers and flexible approaches to create connections

to the database or SQL servers.

Figure 1 Database connection

Database storage

Form / Input

Page 8: flight booking system

8

Figure 2 the Pure JDBC Platform

2.3 Different types of database connectivity

The research has shed light on available connections investigate for suitability and

compatibility fro the project and tools available in designing useful application.

• “Database connectivity provides best-in-class data access solutions that leverage

the full power of SQL Server, and enables development of scalable, high-

performance applications in widely adopted frameworks”

(http://msdn.microsoft.com/en-us/sqlserver/connectivity.aspx#SNAC ).

Database connectivity can be described as a heart of the application that implements

connection between the database record storage and GUI. There are different types for

connections available for different programming languages for easier interoperation. The

following are the brief examples of connections available for use by the programmers

Java Applet/ Application

JDBC Driver

Pure Java JDBC

Pure Java JDBC

JDBC API

DBMS Middleware

DBMS server manag

DBMS server manag

Page 9: flight booking system

9

• ADO.Net: is the primary data access connection for Net languages. It is used to

connect to data sources and retrieve, handle and update data that is stored in SQL

server. (http://msdn.microsoft.com/en-us/library/h43ks021.aspx ).

• OLE DB: it provides data access as ODBC but more codes are written as opposed

to ODBC.

• ODBC: is the data accesses objection or connection for application written in C

and C++ languages.

• JDBC: this is designed by the Microsoft as a free ware for easy connections for

Java based application to SQL server and also to facilitate the writing and reading

of SQL statements. It supports SQL server from 2000 to 2008 R5.

• PHP5: is the connectivity design for PHP application to allow reading and writing

of SQL data from within PHP scripts (http://msdn.microsoft.com/en-

us/sqlserver/connectivity.aspx#SNAC ).

2.4 Overview of JDBC

Microsoft developed this connection to enable the java developer to be able to create

quicker, easier and less coding connection to the SQL server and useful commercial

database applications system. JDBC is designed to support SQL server from 2000-2008

which stamps flexible compatibility with SQL.

According to Hamilton et al, 1996, “The most prominent and mature approach for

accessing relational DBMSs from Java appears to be JDBC“.

Using JDBC means it requires that SQL statements be passed as strings to Java methods

which enable programmers to mix Java codes with SQL statements and this is monitor

with power of embedded SQL processor.

As a java application developer, the focus will be on the connection that will be suitable

and inline with the developer area of expertise and with the above listed connections,

JDBC is the appropriate option considering the limited timeframe for this project which

will not allow further explorations of the other available connections. In addition, choosing

right connection at the earlier time will save or reduce risk of incompatibility errors at the

implementation stage and also makes the project deliverable on time.

Page 10: flight booking system

10

2.5 Role of JDBC in API

There are many roles play by JDBC in application developments which are enlisted below

briefly:

• With the help of JDBC, Java can be used as the host language for writing database

applications (Thomas and Carolyn, 2002).

• create connections between Java based interface and SQL server and also to be able

fetch and download data into the database storage or server

Below is the diagram showing the role of the JDBC in application programming interface

involving connection between database and GUI.

2.6 JDBC tools

There are many freeware tools available to write database connection code and for this

project, J-Creator 2.1 will be used. There are however, many tools to use example Net

Bean, Text Pad, and many text editor software tools depends on developer choice and what

he is commonly used but Net bean is much complex and recommended for experienced

software developers. J-Creator is easy to use compare to Net Bean and semi-professional

when compare to text pad.

2.7 SQL IN JAVA

JDBC has powerful functions with the help of SQL packaged in java class. Unarguably,

JDBC can be described as the heart of the application, which means that if the connection

is not available, no query will be executed regardless of how simple or complicated it is.

The execution of query, update and all SQL-based statements are made possible with the

help of sql package which developer to be able to incorporate their idea of My SQL,

database to design effective and efficient business applications.

The following shows how the query is executed in the dataset with the help of the JDBC.

2.8 Conclusion

Booking system can be described as a system that allows input of booking data, process

and output the booking information.

Designing booking system constitutes creation of database schema (which can be

Microsoft Access, MySQL, and Oracle etc.) where data will stored and managed and also

Page 11: flight booking system

11

the interface for capturing data. However, there are unarguably many ways for designing

and implementing booking systems but depends on developer choice and the functional

requirements of the system because different tools perform different and identical tasks.

Connecting to the database is of different types and also depends on what the system

should achieve; PHP database connection is more and inevitably suitable for online

booking system. It is clearer in the research that there are many IDE that can be chosen

from and what difference they make on the interface output.

Implementing software development methodology which necessitates the investigation

before implementation of any project has helped a lot in exploring ways to design

application which can be applied to many booking systems. Differences in requirements

are determine by asking user or stakeholder relative questions about what the system is

expected to achieve using professional information gathering methods (e.g. observation,

questionnaire etc), which will reduce the risk of requirement changes request.

Page 12: flight booking system

12

3 Analysis

3.1 Introduction

This chapter will summarize the result from the research stage to descriptively analyse the

system requirements and specifications and the project objectives.

3.2 Application description

The application should be able to allow customer details input, booking flight, accepting

manual payment and cancelling any booking without refund and all of these details are

processed and stored in a database system.

3.2.1 Application objectives

This application will be designed mainly for individual or small business use. It can be

improved to suite large scale enterprise which will be discussed later in this report.

Recapping the purpose of the project and to guide at the design stage, the following are the

application objectives. The user will be able to:

• Enter customer details into database via GUI

• Book flight tickets

• Edit customer details

• Delete customer records

• Take payments

3.3 Application input

The application will have interactive interface where the user can enter data. The input

capture will be different depending on the task the user is to perform. The following are the

inputs

Customer detail GUI: the user will enter the customer interface from here and save into

the database storage.

Flight ticket interface: user will book ticket for registered customers.

Payment: the basic transaction is carried out via this interface.

Page 13: flight booking system

13

Cancel: Flight ticket or transaction cancellation is input through this form.

Search: the user will search for customer details using unique data field.

3.4 Application process (use case)

The process occurs in the main database. This is diagrammatically described below.

Figure 3 Use Case showing the System process

Page 14: flight booking system

14

3.5 Application Output

The output of the application can be inform of a report but mainly will be in the table. The

following are the possible tables that will be presumably designed.

Customer Table: showing the customer records

Flight Ticket: showing the booked flight tickets

Payment: showing the payment records.

Cancel: showing cancellation records.

Search: the customer details will be displayed when search is button is clicked and update

will be stored in the customer detail records.

3.6 Business Requirements

This system is aimed to be Helpdesk-Driven rather than Internet-Driven due to some

security issues that come with internet based using 2012 Olympic online booking ticket

technical failure (Evening Standard, 2011), which causes transaction chaos and

inconvenient to some customers, as evidence to how important helpdesk-driven or manual

booking system. . Also this can be used as a parallel application with the online booking

which will help in the case of internet related problems (e.g. heavy network traffic, server

overheating etc).

3.7 User Requirements

The user should have been able to log onto the system to access the program.

3.8 Functional Requirements

These are what the system should process:

Enter new customers’ details

Update customers’ details

Search for customers using their passport number

Enter flight tickets

Enter payment details

Cancel booking.

Page 15: flight booking system

15

Delete record.

3.9 Non-Functional Requirements

The application performance requirement is basic computer system, which are the system

or hardware requirements.

3.10 System Requirements

The system requirements are of twofold, first fold will be focused on minimum hardware

specification and software specification will be the second fold.

3.10.1 Hardware requirements

• Processor; Pentium Dual core processor minimum, Intel or AMD

• Hard drive; 60 GB minimum • RAM; 3GB • Keyboard • Mouse • Disc drive • Monitor

3.10.2 Software Specification

• Java Standard Development Kit (JDK) version 1.4.2 or higher

• JAVA • Microsoft Access • Windows base Operating system preferably Windows XP 32bit with Service Park 3. • JCreator IDE

Page 16: flight booking system

16

4 Design

4.1 Introduction

This chapter focus on the design model adopted from the analysis stage of the project,

which will be blue print for the implementation stage.

The design will be of twofold which will be hierarchically selected and executed base on

there dependency. The first fold will be brainstorming on how the interface and input

prototype will be designed, following by the methods to use and tools that will help in

achieving the design objectives.

4.2 Input interface

There are many tools available to design user interface prototype and considering the

limited time available for this project, Microsoft Visio will be used for professionally

looking design. Project inputs are shown below:

Figure 4 Customer Interface prototype

FIRST NAME

LAST NAME

Phone Number

PASSPORT

EMAIL

ADDRESS

DOB

Save to Database Search

Make Payment Cancel

Customer Record Interface Prototype

Book Flight

Page 17: flight booking system

17

Figure 5 Flight Ticket Booking Interface

Figure 6 Payment Interface prototype

Amount

Date paid

FK_CustomerNo

Payment

Make Payment

Economy class £120.00 Business class £240.00

Flight Number

FromAirport

FK_CustomerNo

FK_PaymentNo

ToAirport

Flight Booking Form

Book Flight Ticket Button

Page 18: flight booking system

18

Figure 7 Cancel Booking Interface

Figure 8 Search Interface

FIRST NAME

LAST NAME

TELEPHONENUM

PASSPORT

EMAIL

ADDRESS

DOB

Save Changes Search Customer

Delete Record

Search Customer Details

CUSTOMER NO

Ticket Number

Date Cancelled

Status (Refund or Not)

Cancellation

Cancel Booking

Page 19: flight booking system

19

4.3 Tools and Software choice

Having successfully created input/interface prototype, the next line of action will be choice

of tools and software to accomplish the task efficiently.

Compatibility between the tools and software choice should be prioritised to avoid

unnecessary delay. The project platform will be Java 1.2 version and the tool will be J-

Creator. I chose J-Creator as my IDE because it is free but can be upgraded to the

enterprise version which is not a concern in this project and also the interface created will

be professional as opposed to the Text Pad which is a freeware too. UML is one of

software developer tools and is highly recommended to adopt it at the design stage. There

are many tools available for creating UML related diagrams and in this project, Microsoft

Visio studio will be first choice having familiar with it and that will save times on

brainstorming around third party tools.

4.4 Class Diagram

It is necessary to have the clear understanding of how the class will be created when

coding and fore-think about the possible methods, interface, attributes and variables that

can be possibly used. The internationally and professionally recognised too for achieving

this task is Unified Modeling Language (UML) which splits into class or object diagram.

The following is the class diagram for my project and there associations:

Figure 9 Class diagram and there associations

Page 20: flight booking system

20

4.5 Database relation schema

It is understandable, if there is more than one table in a database, then they must be

somehow related and this necessitate to show the entity relational diagram of the database.

The ERD is not just about links, but the flow of communications between the table and

also constraints.

Example; a customer can book many flight tickets, many payment can be made by one

customer, many customers can cancel many bookings etc. Also, one of the advantages of

creating relationship between the tables is to enforce referential integrity which ensures

there are no data replications and primary keys properties are not over ride by mistake.

The diagram below shows the relationship between the tables

Figure 10 DATABSE ERD

Page 21: flight booking system

21

4.6 Process

The process that occurs in the project or application is diagrammatically shown below;

Figure 11 Flow of Process

4.7 Output

The out put of system will be displayed in GUI and/or DOS screen

Most of the output for customer details, flight/booking records and payment records can be

viewed in the tables, if the program is run in the text pad with DOS screen in the

background, the record or data inserted into the database will show as shown in figure12

below.

Search output displayed is a dual functions, it is an input as well as output.

Page 22: flight booking system

22

The customer input the search criteria (Passport Number) and output the record on the

same interface. Also the changes made to the record is saved back into the record where

using the customer as the pointer because is the primary key.

Figure 12 DOS based Output

Figure 13 Search Output Screenshot

FIRST NAME Terry

LAST NAME

TELEPHONENUMBER

PASSPORT

EMAIL

ADDRESS

DOB

Kerry

04/04/1960

West Minister, UK

[email protected]

GB35543F

01234567890

Save Changes Search Customer

Delete Record

Search Customer Details

CUSTOMER NO 19

Page 23: flight booking system

23

5 Implementation

5.1 Introduction

This section will focus on the development of actual system having layout it out in the

design stage, however there is possibility that a change erupt during this stage as changes

at the implementation are sometime inevitable.

The stage will range from input design which will be of twofold, follow by the database

schema design and coding as unarguably part of implementation.

5.2 Software choice

As we found out through the research that there are many tools available in design

professionally looking graphical user interface. Many tools are require designing this

system and will be using the following:

• Java Standard Development kit (JDK) for coding and necessary Java Application

Program interface.

• JCreator for IDE

• Microsoft Access for Database schema design and creating DSN connection with

the interface. The system is expected to work with MySQL or SQL server but

neither are not options as the project aim to be used by small scale businesses.

5.3 User interface (screen shots)

Using the appropriate and carefully chosen tools, the following are the screenshots of the

user interface and this is achieved with the implementation of swing package in the java

class. The swing is one of the important packages to import when designing user interface

in java, just like importing SQL if SQL statements are to be written in JAVA. Each line of

the code has import role to play e.g. the frame.setVisible (true) makes the whole frame

visible to the user when ran it otherwise no event will be performed.

Below is the screen shot of the code used when designing the graphical user interface;

Page 24: flight booking system

24

Figure 14 Customer Interface using JFrame

The code details can be seen in the interface actual class where the buttons, labels, text field, are pined onto the frame (i.e. Customer Interface. java).

Figure 15 Customer Record Input Interface

Figure 16 Search Detail Interface

Page 25: flight booking system

25

Figure 17 Payment Interface

Figure 18 Ticket Booking Interface

Page 26: flight booking system

26

Figure 19 Cancel Interface

5.4 Database schema

Using the database schema (Figure 10) at the design stage as a prototype, helps is achieving effective actual database schema shown below.

Figure 20 DB Schema screenshot

Page 27: flight booking system

27

JDBC Connection is created using Administrative tool in control panel. Screen shot showing the connection

Figure 21 JDBC DSN screenshot

5.5 Database Connection

Having designed both the interface and the database schema, the connection between the

two is writing in JCreator and what the code does is explained below.

Try and catch methods in this can be described as being standards approach when creating

connection with database.

In the try statement is where the connection is established and the DSN used when creating

connection via Administrative tool in control panel must tally with what is in the

connection name.

The catch filters the error encounter during the connection. Below is the screen shot of the

code in the IDE;

Page 28: flight booking system

28

Referencing to the interface above, there are buttons, and textbox pined onto the interface

and they are useless without the help of ActionListener () interface in Java class.

The ActionListerner interface uses actionperformed method which applies to the TextField,

JTextField, JComboBox and Button used in this project, with the If Statement which

carries out the conditions and statements for each button pressed.

Below is the screen shot of “Save to Database” button and the customer record is inserted

into the customer table using the SQL statement.

The absence of customer number is intentional because it is assigned automatically in the

database which is set to be primary key in the table and also in payment table and Flight

ticket table.

Page 29: flight booking system

29

The following screen shot showing when the each button is added to the ActionListener

Method, if by any mistake the button is not added to the method, no action will perform

regales of complex codes or SQL queries.

Considering the time, the above codes are adopted in other classes (flight ticket, cancel and

payment).

Page 30: flight booking system

30

6 Testing

6.1 Introduction

This chapter is centred on checking if the system is doing what is suppose to be doing. The

testing is crucial stage in any development and this project it will be inevitable but also

necessary for checking system functionalities. The testing will be of twofold:

6.2 Test Plan

Adopting professional approach in this testing will help in critically access the

functionality of the system and first step of the approach is creating test plan which is

written below

• Scope and objective of the testing

The test will be carried out by the developer and is mainly to check the system

functionalities.

• Testing methodology will be User and Unit Testing

• Required resources are as follows

i. Complete computer system or laptop running windows operating system

ii. Java Standard Development Kit (JDK)

iii. JCreator

iv. Microsoft Access

• Features and functions to test

Features(Buttons) Functions Save to Database To save data entered into the database Press to cancel To cancel the data entered but not to

clear the screen Booking ticket To open Flight ticket interface from

customer interface Search Customer To search for customer records in the

database record Make Payment To open Payment interface via customer

interface Save Changes To save changes made to customer

details via search interface Delete Record To delete records from database but not

to clear the screen Process Transaction To process payment Cancel payment To cancel transaction

Page 31: flight booking system

31

6.3 Test case

There are many format in writing test cases but the commonalities are the outmost important things this project.

Steps Procedures Success criteria 1 Open jcreator to run the source code Open without error 2 Create the connection via administrative

tools, enter the DSN name and must be similar to the JDBC ODBC name in the white box testing

The name is created and is the same as the JDBC ODBC name used in the source code

3 Open the customer interface code and run it

Open and run without any error

3 Enter customer records and press save to database

Records is saved to the database and assigned customer number automatically

4 Click on Booking ticket The Flight Ticket interface open up to input data

5 Click book Ticket The booking is saved in the database 6 Click search customer The search customer interface opens 7 Click make payment The Flight payment Interface opens 8 Enter the require payment details and

click process payment to Payment details save into the database

9 Click cancel payment No transaction details is recorded 10 Enter the customer passport number and

click search The customer record displays correctly

11 Change any customer detail except the customer and click save changes

The record is updated

12 Press delete record The record is deleted 13 Search the deleted record using the last

passport number No record should come up

14 Open the Cancel booking interface, enter the necessary data and press cancel booking

Detail is saved in the database

Page 32: flight booking system

32

6.4 Test Results

Steps Procedures Success criteria Actual Result 1 Open jcreator to run the

source code Open without error The Jcreator IDE

opens successfully 2 Create the connection via

administrative tools, enter the DSN name and must be similar to the JDBC ODBC name in the white box testing

The name is created and is the same as the JDBC ODBC name used in the source code

The DSN and JDBC name tally

3 Open the customer interface code and run it

Open and run without any error

The interface opens and connection is successful

3 Enter customer records and press save to database

Records is saved to the database and assigned customer number automatically

Appendix 1

4 Click on Booking ticket The Flight Ticket interface open up to input data

Interface opens successfully

5 Click book Ticket The booking is saved in the database

Appendix 2

6 Click search customer The search customer interface opens

Search interface opens

7 Click make payment The Flight payment Interface opens

Payment interface opens correctly

8 Enter the require payment details and click process payment to

Payment details save into the database

Appendix 3

9 Click cancel payment No transaction details is recorded

Appendix 5

10 Enter the customer passport number and click search

The customer record displays correctly

Appendix 4

11 Change any customer detail except the customer and click save changes

The record is updated Appendix 6

12 Press delete record The record is deleted Appendix 8 13 Search the deleted record

using the last passport number

No record should come up No record is displayed

14 Open the Cancel booking interface, enter the necessary data and press cancel booking

Detail is saved in the database

Appendix 7

Page 33: flight booking system

33

7 Conclusion

7.1 Introduction

This chapter is focused on both the work carried out so far in this project and the system

functionality evaluation.

7.2 Analysis and Design evaluation

It is a professional practice to be able to evaluate the project and the developer’s

involvement.

The design stage went well as the research has helped to understand what tools suitable for

this project. Choosing JCreator as the IDE really helps creating better interface due to its

compatibility with the up-to-date swing package which is not very good using text pad as

the interface came out different running the same code in both of them.

This project has developed my approach in both the development and project management

methodologies or approaches.

The investigation stage of the project was very easy as expected because I have to do more

and intensive reading on the approaches available in designing booking system and the

relationship to the database which is the backbone of the data storage and management.

7.2.1 Design stage

The design stage was relatively easy and forecasts the possible errors at the

implementation stage for example, the payment design prototype makes me realise that the

pricing table or information is missing which in a business environment will be a

recoverable but huge error not to have pricing information for both the staff and the

customers. I rectified the error beforehand by adding a panel to the payment GUI, showing

price for flight tickets.

Furthermore, the interface was initially designed in text pad because the chosen IDE went

corrupted and I have to re-download it, which does not produce professionally looking

interface and that double my hard and extra work by recreating the better interface using

recommended third party interface-design software and import the code into J-Creator.

Page 34: flight booking system

34

Database normalisation gives a little hard time because when the database is not normalise

properly then the relationship between relations will not be fully effective and can lose

referential integrity which is one of the error checking tools in database to ensure data is

entered correctly, no replications and primary, foreign or candidate keys are correctly

implemented.

7.2.2 Testing stage

There are some system functionalities (e.g. Flight Type JCombo Box) when testing which

are not working as expected and manage to fix. However, professionally the test should be

carried out by the user so as to access the level of acceptance of the project and third party

view of the system. However, I do face challenges when testing the customer interface

record and the save to database did not work, after series of builds without a single syntax

error, I looked through the code from the main till the last close curling bracket and finally

found out that there was a space after the save to database button name when creating it but

no space at the even handling class, which is unusual. I deleted the space at the top, re-

debug it and program ran perfectly.

7.2.3 Done well

Having gone through hard time designing and developing the booking system, I am

satisfied that the interface looks professional, and that all stated objectives in my proposal

are successfully achieved. Also, search add-on is another successful design, which enables

easy search using customer’s passport number. It is normal that there are possible

improvements that can be made to the system for enhancements, which are discussed

below.

7.2.4 Possible Improvement

There many features that can be added to the system to make it better.

• Card payment system can be used instead of manual type. Also, the system can be

linked to company website so that customer can access and use the system

independently of the staff.

• Security; The system’s security is not very good which is a loop for unauthorised

access and this can be enhanced by incorporating authentication system with the

system so that access or operation will base on user’s permission and this will give

Page 35: flight booking system

35

the administrator to manage the system efficiently, effectively and less vulnerable

to unauthorised access and system malfunctions.

• Communication; the business to customer communication channels can be

improved via auto email for booking ticket and invoice confirmation. For instance,

using Enterprise JavaBeans which is server side software but can be implemented

to enhance this system to solve business related problems e.g. complex Database

queries, pricing engine with a tax calculator for a website’s shopping cart.

• Print; the system can be enhanced to be able to print records for filing purpose.

7.3 Lesson learned

The project has undoubtedly improved my project management techniques and has offers

huge amount of experience in designing database application system in object oriented

programming. Also, provide chance for reading, attempting, practising new skills in

creating GUI and linking it to database which brush up the understanding of the JDBC-

ODBC connections and ANTI_SPAC principles about data independence (i.e. Logical and

Physical data independence) which means that any changes made in future to the user

graphical interface should not affect the database schema. In addition, this project has

improved my programming techniques in using programmer techniques like Rapid

Application Development (RAD) which helps in quickly adapting between and within the

classes.

Page 36: flight booking system

36

8 References

Books

1. Connolly, T and Begg, C, 2002, Database System (A practical Approach to Design, Implementation and Management), Third Edition, Prentice Hall.

2. Schildt, H, 2007, Java The Complete Reference, Seventh Edition (Osborne Complete

Reference series), McGraw-Hill Osborne. 3. Hamilton, G, Cattell, R and Fisher, M, 1997, JDBC Database Access with Java,

Addison Wesley Publishing Company.

Websites

1. Microsoft: http://technet.microsoft.com

2. Microsoft: http://msdn.microsoft.com

3. Oracle: http://www.oracle.com

4. Java: http://www.java.com

News Paper

1. Evening Standard, Tuesday 15 March, 2011. Page 10.

Page 37: flight booking system

37

9 Appendix Testing Result Screenshots

9.1 Introduction

This purpose of this appendix is to illustrate output for the test conducted on the flight

booking system.

Appendix 1 customer record

Appendix 2 Booked Ticked featuring Cancel Record

Appendix 3 Payment record showing booking and cancel record

Page 38: flight booking system

38

Appendix 4 Screenshot of flight ticket interface opens via Customer interface

Appendix 5 Cancel Payment button testing output

Appendix 6 Save changes output

Appendix 7 Cancel output in the Database table

Page 39: flight booking system

39

Appendix 8 Customer Record is Deleted