Online Airline Reservation System
PROJECT SUPERVISOR: Mr. Faisal Shahzad
UNDERTAKEN BY: Roll No !" MCS SESSION !#$!%!#$&
Page 1
DEPARTMENT OF COMPUTER SCIENCE T'E IS(AMIA UNIVERSITY OF BA'A)A(PUR
Page 2
DEPARTMENT OF COMPUTER SCIENCE T'E IS(AMIA UNIVERSITY OF BA'A)A(PUR
Page 2
Page 3
All Praised Are Are For
The most beneficent, who guides us in the darkness and helps in difficulties, difficulties, Without Without this help one can never achieve destination. All Respects Are For His
H!!" PRPH#T HA$RAT %&HA%%A' (P. (P.).&.H*
Page 4
Who enlighten out the minds to recogni+e our creature .FINAL
APPROVEL
It is to certify, that we have gone through this project report that is subitte! by "o, Ro## $ %&, "ession %'(%)%'(*+ Our ju!gent is that this Project is up to the stan!ar! to warrant its acceptance by the Is#aia niversity -ahawa#pur for the ./" 0egree /oputer "cience+
E1terna# e1ainer2
"upervisor2
/hairan2 DR. Doast Muhammad Khan Department Of Computer Science, Islamia University Bahaalpur.
Page 5
Dedication: This project is dedicated to The Planner, The Creator of the entire Universe; The Merciful ALLAH, and his loving messenger Hazrat Muhammad Peace !e upon Him"# ALLAH has given me the po$er to perform this tas% and facilitating ever& possi'le means to complete this project# In last this project is dedicated to my beloved Parents.
PROJECT BRIEF PRO3E/4 NA.E
Online !irline Reservation System
"he main o#$ective of this pro$ect is to desi%n an airline reservation O-3E/4IVE System hich ena#les the customers to search and #oo& fli%hts Project "tarte!
5 5 5 5 5 5 5 5 5 5 5 5 5 5
Project Finishe!
5 5 5 5 5 5 5 5 5 5 5 5 5 5
"ource Language
A!obe 0reaweaver /"6, .y "7L
Operating "yste
Chp'
(
8in!ows 9
4A-LE OF /ON4EN4"
(a%e
Vision 0ocuent (+ Intro!uction *.* (urpose !nd Motivation *. (ro$ect Overvie %+ Overa## Pro!uct 0escription .* (roduct (erspective . (roduct -eatures ./ User Characteristics .0 Constraints (+ Intro!uction Page 6
) *+ *+ *+ *+ *+ * + + 27
%+
: (+ %+
*
Architecture Of 4he Air#ine Reservation "yste /oponent 0esign Intro!uction An! Purpose /#ass 0iagra 4est P#an
(+ %+
4est P#an I!entifier Intro!uction . O#$ectives ./ Definitions :+ 4est Ites *+ Approach &+ 4est /ases 6+ Pass Or Fai# /riteria ;+ "uspension /riteria An! Resuption Re
7.1 7.2 9+
& (+ %+ :+
6 (+ (+
Suspension Criteria Resumption Requirements
4est 0e#iverab#es Assessent Eva#uation Intro!uction 4est /ase Resu#t "uary 0etai#e! 4est Resu#t ser .anua# Intro!uction Re
Page 7
27 31
/ / / /1 /1 0* 0 0 0 00 02 02 02 02 03 0 01 01 01 2 2/ 2/
/hapter2 '(
Vision Product
I4"RODUC"IO4 *.* (UR(OS5 !4D MO"I6!"IO4 "he main purpose of this vision document is to list the re7uirements of the !irline Reservation System pro$ect. "his document also helps us to collect and analy8e the ideas %athered for the pro$ect. "his vision document ill #e su#$ect to chan%e, if more re7uirements are added to the pro$ect. "his document is mainly prepared to set sta%e for the desi%n phase of the pro$ect. "he document #ein% prepared is the first version of vision document for the !irline Reservation System pro$ect. 9e# (ro%rammin% is a ne technolo%y hich is #ein% used a lot in the I" field. My interest to learn this ne technolo%y has prompted me to ta&e up this pro$ect, hich ould set the sta%e for the applications I ould #e developin% in the future.
*. (RO:5C" O65R6I59 "he !irline Reservation System pro$ect is an implementation of a %eneral !irline "ic&etin% application, hich helps the customers to search the availa#ility of various airline tic&ets. "his pro$ect also covers various features li&e re%istration of the users, modifyin% the details of the application #y the mana%ement staff or administrator, #y addin%, deletin% or modifyin% the customer details, fli%hts information. Page 8
. O65R!;; (RODUC" D5SCRI("IO4 .* (RODUC" (5RS(5C"I65 "he !irline Reservation System pro$ect uses the Dream9eaver CS3 and is completely Independent. "he pro$ect itself is a #i%%er product and does not need to #e introduced into a lar%er system. "he application ould #e runnin% on a 9indos 1 Operatin% system. /. "5C<4O;O=I5S US5D /.*. (<(>
(<( is a idely used, %eneral@purpose scriptin% lan%ua%e that as ori%inally desi%ned for e# development to produce dynamic e# pa%es. -or this purpose, (<( code is em#edded into the <"M; source document and interpreted #y a e# server ith a (<( processor module, hich %enerates the e# pa%e document.
P=P A!vantages2 (<( source code is compiled on@the@fly to an internal format that can #e e?ecuted #y the (<( en%ine. In order to speed up e?ecution time and not have to compile the (<( source code every time the e#pa%e is accessed, (<( scripts can also #e deployed in e?ecuta#le format usin% a (<( compiler. (<( is one of the most popular server side scriptin% lan%ua%es runnin% today. It is used for creatin% dynamic e#pa%es that interact ith the user offerin% customi8ed information. (<( offers many advanta%esA it is fast, sta#le, secure, easy to use and open source free. (<( code is inserted directly into the <"M; that ma&es up a e#site. 9hen a visitor comes to the e#site, the code is e?ecuted. Because (<( is a server side technolo%y, the user does not need any special #roser or plu%@ins to see the (<( in action. "he #eauty of (<( lies in its simplicity. It is easy to understand and learn, especially for those ith #ac&%rounds in pro%rammin% such as C, :avaScript and <"M;. "he lan%ua%e is similar to C and (erl so that anyone ith a #ac&%round in either C or (erl pro%rammin% ill feel comforta#le usin% and understandin% (<(. (<( also runs on $ust a#out every platform includin% most U4I, Macs and 9indos versions. !nother &ey advanta%e of (<( is its connective a#ilities. (<( uses a modular system of e?tensions to interface ith a variety of li#raries such as %raphics, M;, en cryption, etc. In addition, pro%rammers can e?tend (<( #y ritin% their on e?tensions and compilin% them into the e?ecuta#le or they can create their on e?ecuta#le and load it usin% (<(Es dynamic loadin% mechanism. Page 9
! hu%e advanta%e that (<( offers is its community. Since (<( is an ! hu%e advanta%e that (<( offers is its community. Since (<( is an open source pro$ect, the (<( community is illin% to share. If youEre loo&in% for a particular script, chances are another user has already created somethin% similar. Chec& ithin the (<( community for availa#ility. ;i&eise, if you have created a function that others mi%ht en$oy, #e sure to post the code for others. ! (<( scriptin% #loc& alays starts ith FG php and ends ith GH. ! (<( scriptin% #loc& can #e placed anyhere in the document. On servers ith shorthand support ena#led you can start a scriptin% #loc& ith FG and end ith GH. -or ma?imum compati#ility, e recommend that you use the standard form FGphp rather than the shorthand form. FG phpGH ! (<( file normally contains <"M; ta%s, $ust li&e an <"M; file, and some (<( scriptin% code. Belo, e have an e?ample of a simple (<( script hich sends the te?t
FhtmlH F#odyH FG php echo echo and print. In the e?ample a#ove e have used the echo statement to output the te?t "he file must have a .php e?tension. If the file has a .html e?tension, the (<( code ill not #e e?ecuted.
Comments in (<( In (<(, e use JJ to ma&e a sin%le@line comment or JL and LJ to ma&e a lar%e comment #loc&. FhtmlH F#odyH FGphp JJ"his is a comment JL "his is a comment #loc& LJ GH Page 1
FJ#odyH FJhtmlH 6aria#les in (<( 6aria#les are used for storin% a values, li&e te?t strin%s, num#ers or arrays. 9hen a varia#le is declared, it can #e used over and over a%ain in your script. !ll varia#les in (<( start ith a si%n sym#ol. "he correct ay of declarin% a varia#le in (<(> varname N valueA (<( is a ;oosely "yped ;an%ua%e In (<(, a varia#le does not need to #e declared #efore addin% a value to it. In the e?ample a#ove, you see that you do not have to tell (<( hich data type the varia#le is. (<( automatically converts the varia#le to the correct data type, dependin% on its value. In a stron%ly typed pro%rammin% lan%ua%e, you have to declare define the type and name of the varia#le #efore usin% it. In (<(, the varia#le is declared automatically hen you use it. /. Sessions ! (<( session varia#le is used to store information a#out, or chan%e settin%s for a user session. Session varia#les hold information a#out one sin%le user, and are availa#le to all pa%es in one application. (<( Session 6aria#les 9hen you are or&in% ith an application, you open it, do some chan%es and then you close it. "his is much li&e a Session. "he computer &nos ho you are. It &nos hen you start the application and hen you end. But on the internet there is one pro#lem> the e# server does not &no ho you are and hat you do #ecause the <""( address doesnEt maintain state. ! (<( session solves this pro#lem #y alloin% you to store user information on the server for later use i.e. username, shoppin% items, etc. "he sessionstart function must appear B5-OR5 the FhtmlH ta%> FG php sessionstartA GH FhtmlH F#odyH FJ#odyH Page 11
FJhtmlH "he code a#ove ill re%ister the userEs session ith the server, allo you to start savin% user information, and assi%n a UID for that userEs session. Storin% a Session 6aria#le "he correct ay to store and retrieve session varia#les is to use the (<( S5SSIO4 varia#le> FGphp sessionstartA JJ store session data S5SSIO4EviesEPN*A GH FhtmlH F#odyH FGphp JJretrieve session data echo (a%eviesN. S5SSIO4EviesEPA GH FJ#odyH FJhtmlH Output> (a%eviesN* In the e?ample #elo, e create a simple pa%e@vies counter. "he isset function chec&s if the vies varia#le has already #een set. If vies has #een set, e can increment our counter. If vies doesnEt e?ist, e create a vies varia#le, and set it to *> FGphp sessionstartA ifissetS5SSIO4EviesEP S5SSIO4EviesEPNS5SSIO4EviesEPQ*A else S5SSIO4EviesEPN*A echo 6iesN. S5SSIO4EviesEPA GH Destroyin% a Session If you ish to delete some session data, you can use the unset or the sessiondestroy function. "he unset function is used to free the specified session varia#le> FGphp unsetS5SSIO4EviesEPA GH Page 12
ou can also completely destroy the session #y callin% the sessiondestroy function> FGphp session destroyA GH 4ote> session destroy ill reset your session and you ill lose all your stored session data. (<( -orm FhtmlH F#odyH Fform actionNelcome.php methodNpostH 4ame> Finput typeNte?t nameNfname JH !%e> Finput typeNte?t nameNa%e JH Finput typeNsu#mit JH FJformH FJ#odyH FJhtmlH "he (<( =5" and (OS" varia#les are used to retrieve information from forms, li&e user input. 9hen a user fills out the form a#ove and clic& on the su#mit #utton, the form data is sent to a (<( file, called elcome.php> elcome.php loo&s li&e this> FhtmlH F#odyH 9elcome FGphp echo (OS"fnamePA GHF#r JH ou are FGphp echo (OS"a%ePA GH years old. FJ#odyH FJhtmlH Output could #e somethin% li&e this> 9elcome :ohn ou are 1 years old. "he (<( =5" and (OS" functions ill #e e?plained in the ne?t chapters. -orm 6alidation User input should #e validated on the #roser henever possi#le #y client scripts. Broser validation is faster and reduces the server load. ou should consider server validation if the user input ill #e inserted into a data#ase. ! %ood ay to validate a form on the server is to post the form to itself, instead of $umpin% to a different pa%e. "he Page 13
user ill then %et the error messa%es on the same pa%e as the form. "his ma&es it easier to discover the error.
/./ W Replication Sta#le ;ar%e %roups of servers usin% replication are in production use, ith %ood results or& on enhanced replication feature is continuin% W In no DB ta#les Sta#le "he in no DB transactional stora%e en%ine has #een sta#le since version /./.0). In no DB is #ein% usin% in lar%e, heavy@load production systems. W BDB "a#les Sta#le "he Ber&eley DB code is very sta#le, #ut e are still improvin% the BDB transactional stora%e e n%ine interface in My ST; Server. W -ull te?t searches Sta#le -ull@te?t searchin% is idely used. Important feature enhancements ere added in MyST; 0.+ and 0.*. W My ODBC /.2* Sta#le My ODBC /.2* uses ODBC SDK /.2* and is in ide production use. Some issues #rou%ht up appear to #e application@related and independent of the ODBC driver or underlyin% data#ase server. "he In no DB stora%e en%ine maintains In no DB ta#les ithin a ta#le space that can #e created from several files. "his allos a ta#le to e?ceed the ma?imum individual file si8e. "he ta#le space can include ra dis& partitions, hich allos e?tremely lar%e ta#les. "he ma?imum ta#le space si8e is 30"B. "he folloin% ta#le lists some e?amples of operatin% system file@si8e limits. "his is only a rou%h %uide and is not intended to #e definitive. -or the most up@to@date information, #e sure to chec& the documentation specific to your operatin% system.
. (RODUC" -5!"UR5S "he !irline Reservation System has the folloin% features> "his pro$ect is mainly intended for to types of audiences. One is the customer or the end@user and the other is the administrator of the application. Some of the ma$or functions of the product can #e cate%ori8ed under to different cate%ories that are for the administrator and the user.
Page 14
..* Customer J 5nd user activities
Figure ( ) /ustoer use case !iagra
"he a#ove use case dia%ram depicts all the functions or activities that a user or a Customer can perform on the application. "hey can #e discussed in detail as follos>
;i&e all the other airline e#sites availa#le online, the user can access the user home pa%e of the !irline Reservation System, after he lo%s into the system.
;o%in and Re%ister 2 "he !irline Reservation System also comes ith the customer re%istration details pa%e, here the customer can enter his details and re%ister.
-oo>ing F#ights2 "he customer can also search for the fli%hts availa#le and reserve his place on the fli%ht #y purchasin% a tic&et..
Some of the functions of the !irline Reservation System, such as creatin%, maintainin% and updatin% the data#ase are availa#le only to the administrator. "he functions of the administrator, e?plained in detail are as follos> %+%+% A!inistrator Activities
Login2 "he administrator has to lo%in first in order to #e a#le to ma&e chan%es to the !irline Reservation System, #y addin%, deletin% or modifyin% the data in the !irline Reservation System data#ase. A!!?.o!ify /ustoer Inforation2 Daily the !irline Reservation System ill have many customers re%isterin% ith the application and many of them unsu#scri#in%. Only the administrator ill have the sole ri%hts to modify the data#ase accord in%ly. A!!?.o!ify F#ight Inforation2 "he !dministrator also has the sole ri%hts to add, delete or modify the fli%ht information. Sometimes any fli%ht information has to #e modified or if any ne fli%hts need to #e added to the data#ase, these operations are performed #y the administrator.
Figure % ) a!inistrator use case !iagra
Page 15
./ US5R C
.0 CO4S"R!I4"S In case of chan%es made to the data#ase, the application should #e a#le to sho the Updated information ithout much delay. "he data#ase for the pro$ect is desi%ned to #e of moderate si8e. "he !irline Reservation system ill #e desi%ned in such a ay that, it can #e run on a 9indos 1 and its older versions. "he 9e# (ro%rammin% technolo%y ill #e used to code the pro$ect and My ST; ill act as the data#ase for the pro$ect.
/. S(5CI-IC R5TUIR5M54"S /.* 5"5R4!; I4"5R-!C5S "he different types of interfaces that e ould come across hile developin% the !irline Reservation System application are as follos> W User Interface W
/.*.* US5R I4"5R-!C5 "here are to types of users for the !irline Reservation System pro$ect. One is the Customer and the other is the administrator. Both the customer and administrator user interface ould #e a %raphical user interface. "he %raphical user interface for the customer home pa%e ould #e as follos>
Figure (
Page 16
"he =raphical User Interface ould mainly consist of
/.*. !DMI4IS"R!"OR I4"5R-!C5 "he administrator of the e#site ould also have a similar =raphical User Interface. !fter an administrator lo%s onto the system, the home pa%e for the administrator ould #e as follos>
/.*./ SO-"9!R5 I4"5R-!C5 "he application should run on a 9indos 1 and its older versions Operatin% System. Since the application needs a data#ase to store all the customer details, airline My ST; server ould #e used. Dream9eaver CS3 ould #e used for creatin% the application. !ll the codin% ill #e done in (<(,:ava Script, CSS and <"M; .
0. -U4C"IO4!; R5TUIR5M54"S> "he functional re7uirements of the !irline Reservation System are divided amon% the Customer and the administrator of the application. "hese functional re7uirements can #e e?plained in detail as follos>
0.* Use Case name> User Re%istration @ 0escription2 "his use case descri#es the scenario here the user re%isters ith the !pplication #y providin% all the necessary details, in order to ma&e reservations or Boo&in%s for fli%hts.
@ Actor2 User or the Customer.
@ Input2 "he user or the customer ill have to provide all the necessary details present in the customer re%istration form of the application. Page 17
0. Use Case name> User ;o%in W 0escription2 "his use case descri#es the scenario here the user lo%s into the application, ith the username and passord W Actor2 User or the Customer W Input2 "he user or the customer creates a username and passord
lo%on to
0./ Use Case name> Boo& -li%hts W 0escription2 "his use case descri#es the scenario here the user #oo&s airline tic&ets. W Actor2 User or the Customer W Input2 !fter lo%%in% into the application, the customer loo&s up the information related to various airlines and chec&s the availa#ility of seats on fli%hts. If he finds that there are any availa#le tic&ets, he then purchases them.
0.0 Use Case name> ;o%inJ;o%out W 0escription2 "his use case descri#es the scenario here the administrator of the !pplication , lo%s into the system and lo%s out after the or& is done. W Actor2 !dministrator W Input2 "he administrator lo%s into the application ith the username and passord provided to him. W Output2 "he application verifies the authenticity and displays the ho me pa%e of the !dministrator.
0.2 Use Case name> !ddJDelete or Modify Customer information W 0escription2 "his use case descri#es the scenario here the administrator adds, deletes or modifies customer information in the system data#ase Page 18
W Actor2 !dministrator W Input2 "he administrator of the applications lo%s onto the system ith his username and passord. W Output2 "he application authenticates the administrator, and then displays the pa%e here the administrator can add ne customers to the data#ase, or delete e?istin% customers or modify details of customers in the data#ase.
0.3 Use Case name> !ddJDelete or Modify fli%ht information W 0escription2 "his use case descri#es the scenario here the administrator adds, deletes or modifies fli%ht information in the application data#ase W Actor2 !dministrator W Input2 "he administrator lo%s onto the system ith the username and passord provided to him. W Output2 "he application authenticates the administrator, #y verifyin% the username and passord. "hen the application displays the pa%e here the administrator can add ne fli%hts to the data#ase, delete the fli%hts or modify information for the fli%hts.
2. (5R-ORM!4C5 R5TUIR5M54"S "he !irline Reservation System application should #e a#le to respond to the 7ueries su#mitted #y the customer ithout much delay. 9hen a user searches for a fli%ht leavin% from a particular place to another place, the application should not ta&e much time to return the results. Considerin% that the application is of moderate si8e, it should #e a#le to display the results at a time on a pa%e, hen the customer loo&s up for any particular data.
Page 19
/hapter2 '%
Architectural Design
Page 2
*. I4"RODUC"IO4 "he main purpose of the !rchitecture Desi%n document is to discuss the architectural desi%n for the !irline Reservation System pro$ect in a clear and concise form. "his desi%n document ill %ive a detailed description of the presentation tier, the middle tier hich consists of the class dia%rams, se7uence dia%rams for the !irline Reservation System and finally the data tier.
. !RC @ Presentation 4ier @ -usiness 4ier @ 0ata Access 4ier "he (resentation "ier converts and displays information into a human le%i#le form. "his tier displays information related to services such as #rosin% the !irline, purchasin% tic&ets etc. It communicates ith the other tiers #y outputtin% results to the client tier and all the other tiers. "he Business ;o%ic tier is mainly responsi#le for information e?chan%e #eteen the user interface and the data#ase of the pro$ect. "he final layer of the three tiered architecture is the Data !ccess tier, hich mainly consists of the Data#ase servers. "he information related to the !irline Reservation System is stored and retrieved from here. ! simple representation of the three@tier architecture ould #e as follos>
(R5S54"!"IO4 "I5R "he presentation tier is the top most layer of the !irline@Reservation system application. "he presentation tier is mainly responsi#le for the user interface of the application hich deals ith the presentation of data to the user. "he presentation tier of the !irline Reservation System is mainly formed #y the <"M; (a%es. In the case of the !irline Reservation system pro$ect, I have used the (<( and !"M; to create the pa%es. "here are several (a%es created for the user and the administrator.
BUSI45SS ;O=IC "I5R "he Business ;o%ic "ier is the middle tier of the three@tier architecture. "he #usiness lo%ic for the !irline Reservation System ould #e present here. In the case of my pro$ect, the <"M; classes ould #e performin% the duty of the #usiness lo%ic. "his is the layer hich is responsi#le for the information e?chan%e #eteen the user interface and the data#ase. "he !irline Reservation system mainly consists of the Users, hich can #e further Page 21
classified into the customer and administrator of the !irline Reservation System. "he class dia%ram for the !irline Reservation System ould #e as follos>
0.* C;!SS DI!=R!m *+% "E7EN/E 0IABRA. "he se7uence dia%ram for the Customer of the !irline Reservation System ould #e as follos>
D!"!B!S5 "I5R "he data#ase tier is the final and last tier of the three@tier architecture. !ll the data related to the !irline Reservation System pro$ect is stored and retrieved from here. -or this pro$ect I have used the My ST; server to create the data#ase. "o #e specific,My ST; server is #ein% used. It is very easy to or& ith and ma&es creation and maintainin% of ta#les very easy.
Page 22
/hapter2 ':
Component Design
Page 23
*. I4"RODUC"IO4 !4D (UR(OS5 "he main purpose of the Component Desi%n document is to provide and e?plain the component desi%n for the !irline Reservation System pro$ect in detail. %+ /LA"" 0IABRA.
"he class dia%ram of the !irline Reservation System pro$ect ould #e as follos>
%+( /LA"" 0E"/RIP4ION %+(+( /"4O.ER"
"he attri#utes for the customers are Customer ID hich is uni7ue, Customer 4ame, =ender, Date of Birth, !ddress, State, Country, Contact num#er and 5mail@ id. "he functions that the customer ould #e a#le to perform are > Page 24
Re%ister X the customer ould #e a#le to re%ister onto the system ;o%in@ the customer can lo%in ith the email id and passord Search fli%hts and #oo& fli%hts X the customer ould #e a#le to search and #oo& the fli%hts availa#le
%+(+% /O.PANC
"he attri#utes for the customers are Companyid hich is uni7ue, Company 4ame, !ddress and Company UR;. "he functions that the !dministrator ould #e a#le to perform are ;o%in@ the !dministrator can lo%in ith the email id and passord Re%ister X the !dministrator ould #e a#le to re%ister ne company.
%+(+: FLIB=4"
"he attri#utes for the fli%hts are -li%htid hich is uni7ue, Company 4ame, Companyid referrin% t#lcompany ta#le and status id. "he functions that the !dministrator ould #e a#le to perform are> ;o%in@ the !dministrator can lo%in ith the email id and passord Re%ister X the !dministrator ould #e a#le to re%ister ne fli%hts dependin% upon the respective company. -li%ht status id@ It depicts hether the fli%ht is of domestic or international type. Page 25
%+(+* FLIB=4 FARE
"he attri#utes for the fli%ht fare are -li%ht fare id hich is uni7ue, -li%ht class status id referrin% ta#le t#lfli%htclass status, customer status id referrin% t#lcustomerstatus ta#le ,fare id referrin% ta#le t#lfare an d fli%ht idreferrin% ta#le t#lflli%hts. "he functions that the !dministrator ould #e a#le to perform are> ;o%in@ the !dministrator can lo%in ith the email id and passord !dd X the !dministrator ould #e a#le to add fli%ht fare dependin% upon the respective company and its class i.e. #usiness or economy and customer status i.e. hether the customer is infant, child, adult or senior citi8en.
%+(+& FLIB=4 "EA4"
"he attri#utes for the fli%ht seats are -li%ht seat id hich is uni7ue, -li%ht class status id referrin% ta#le t#lfli%htclass status, fli%ht route id referrin% ta#le t#lroutes, seat no.
"he functions that the !dministrator ould #e a#le to perform are > ;o%in@ the !dministrator can lo%in ith the email id and passord !dd X the !dministrator ould #e a#le to add fli%ht seats dependin% upon the respective company and its class i.e. #usiness or economy accordin%ly to Source and Destination. Page 26
.*.3 -;I=<" ROU"5S
"he attri#utes for the fli%ht route are -li%ht route id hich is uni7ue, Departure time, !rrival time, -li%ht Days, route id referrin% ta#le t#lroutes and -li%ht id referrin% ta#le t#lfli%hts. "he functions that the !dministrator ould #e a#le to perform are> ;o%in@ the !dministrator can lo%in ith the email id and passord !dd X the !dministrator ould #e a#le to add fli%ht routes dependin% upon the respective company fli%hts and accordin%ly to Source and Destination alon% ith their departure and arrival time.
%+(+; FLIB=4 -OODINB
"he attri#utes for the fli%ht route are (4R status id hich is uni7ue, customer id referrin% ta#le t#lcustomers, fli%ht seat id referrin% ta#le t#lfli%htseats , fli%ht fare id referrin% ta#le t#lfli%htfare, fli%ht route id referrin% ta#le t#lfli%htroutes and Date of Boo&in% of fli%ht. Page 27
"he functions that the Customer ould #e a#le to perform are> ;o%in@ the Customer can lo%in ith the email id and passord Boo& X the Customer ould #e a#le to #oo& fli%ht dependin% upon the respective company fli%hts availa#le and accordin%ly to Source and Destination alon% ith their departure and arrival time and accordin%ly to class type i.e. #usiness or economy and availa#ility of fli%ht on that #oo&in% date.
Page 28
/hapter2 '*
Test Plan
(+ 4E"4 PLAN I0EN4IFIER !irline Reservation System
%+ IN4RO0/4ION "he main purpose of the test plan for the !irline Reservation System is to discuss the testin% details of the use cases of the !irline Reservation System. "he softare pro$ect test plan also descri#es the o#$ective, scope and approach of the softare testin% effort for the !irline Reservation System pro$ect. "he test plan for the !irline Reservation System also indicates the personnel responsi#le for each tas& and also specifies the ris&s associated ith the test plan.
%+("C"4E. 4E"4INB AN0 I.PLE.EN4A4ION+ "yste testing2 "heoretically, a ne desi%ned system should have all the pieces in or&in% order, #ut in reality, each piece or&s independently. 4o is the time to put all pieces into one Page 29
system and test it to determine hether it meets the userYs re7uirements. "he purpose of the system is to consider all the li&ely variations to hich it ill #e su#$ected and then push the system to its limits. It is tedious #ut necessary step in system development. One needs to #e familiar ith the folloin% #asic terms. NI4 4E"4INB> Unit "estin% is testin% chan%es made in an e?istin% or a ne pro%ram. "E7EN4IAL OR "ERIE" 4E"4INB >
Se7uential or Series "estin% is chec&in% the lo%ic of one or more pro%rams in the candidate system, here the output of one pro%ram ill affect the processin% done #y another (ro%ram. "C"4E. 4E"4INB2 System "estin% is e?ecutin% a pro%ram to chec& lo%ic chan%es made in it and ith the intention of findin% errors ma&in% the pro%ram fail. A//EP4AN/E 4E"4INB2 !cceptance "estin% is runnin% the system ith live data #y the actual user of the system. "estin% is vital to the success of the system. System testin% ma&es a lo%ical assumption that if all the parts of the system are correct, the %oal ill #e successfully achieved. In ade7uate testin% or no@testin% leads to errors that may not appear until months later. !nother reason for system testin% is its utility as a user@oriented vehicle #efore implementation. "he #est pro%ram and the user have communication #arriers due to different #ac&%rounds.
"he system tester desi%ner, pro%rammer, or user ho has developed some computer mastery can #rid%e this #arrier. nit 4esting > "his focuses on the smallest unit of softare desi%n. "he module usin% the details desi%n description as a %uideA important control paths are tested to uncover errors ithin the #oundary of the module. nit test consi!eration > "he module interface id tested to ensure that information properly flos into and out of the pro%ram unit under test. "he local data structures are e?amined to ensure that the data stored temporarily maintains it inte%rity durin% all steps in an al%orithm e?ecution. Boundary conditions are tested to ensure that the module operates properly at #oundaries esta#lished to limit or restrict processin%. "he test of data flo across a module interface is re7uired #efore any other test. If data do not enter and e?it properly, all other tests are moot. nit Proce!ure2 Unit test is normally considered ad$unct to the codin% style. !fter source level code has #een developed, revieed and verified for correct synta?, unit test case desi%n #e%ins. 5ach test case should #e coupled ith a set of e?pected results. 4ormally, a driver is a main pro%ramV that accepts test case data, passes such data to the module to #e tested and prints the relevant results. Stu#s serve to replace modules that are su#routines called #y the Page 3
module to #e tested. ! Stu# or Zdummy stu# pro%ramY uses the su#routine moduleYs interface to do minimal data manipulation and returns.
On the completion of each set of test, another stu# is replaced ith the real module. Registration 4esting2 Re%istration "estin% is conducted to ensure that ne errors have not #een introduced. Durin% the implementation phase it is important that all staff concerned #e apprised of the o#$ectives of overall operation of the system. "hey ill need shinnin% on ho computeri8ation ill chan%e their duties and need to understand ho their role relates to the system as a hole. !n or%ani8ation@trainin% pro%ram is advisa#leA this can include demonstrations, nesletters, seminars etc. "he department should allocate a mem#er of staff, ho understands the system and the e7uipment, and should #e made responsi#le for the smooth operation of the system. !n administrator should coordinate the users to the system. Users should #e informed a#out ne aspects of the system that ill, affect them. "he features of the system e?plained ith the ade7ua te documentation. 4e services such as security, on@line application from the #ac&@ups must #e advertise on the staff hen the time is ripe. 5?istin% documents such as employee loan details should #e entered into the ne system. Since these files are very lar%e, conversion of these may continue lon% after the system #ased on current files has #een implemented.
.
OB:5C"I65S
"he main o#$ectives of the test plan for the !irline Reservation System are as follos> W "o identify the features of the system that ill #e tested. W "o identify and define all the activities necessary to prepare for and conduct the testin% process on the !irline Reservation System W "o discuss the testin% techni7ues #ein% used to test the !irline Reservation System.
./D5-I4I"IO4S "he folloin% are some of the terms and definitions that are related to the test plan of the !irline Reservation System> W (assJ-ail criteria> Page 31
Decision rules that are used to determine hether a softare item passes or fails a test. W "est> ! collection of one or more test cases W "est Item> ! softare item that is an o#$ective of testin%. W "est (lan> ! document descri#in% the scope, approach, resources and schedule of the intended testin% activities. W "est Summary Report2 ! document summari8in% the testin% activities and results. W "estin%2 "he process of ana#ying a softare item to detect the differences #eteen the e?istin% and re7uired conditions.
/. "5S" I"5MS "his section of the test plan lists all the items of the !irline Reservation System pro$ect that ill #e tested> W ;o%in W Search and #oo& fli%hts W Re%ister
0. !((RO!C< "his section of the test plan descri#es the overall approach for testin% the !irline Reservation System pro$ect. "he approach folloed for testin% the !irline Reservation System ensures that the ma$or features of the pro$ect are ade7uately tested. "he testin% ould #e carried out on the !irline Reservation System hile lo%%in% into the system as a customer or a normal user of the system.
0.*
U4I" "5S"I4=
"he Unit "estin% is a test that tests each sin%le module of the softare to chec& for errors. "his is mainly done to discover errors in the code of the !irline Reservation System. "he main %oal of the unit testin% ould #e to isolate each part of the pro%ram and to chec& the correctness of the code. In the case of the !irline Reservation System, all the pa%es ill #e tested. "here are many #enefits for this unit testin%> W "he unit testin% facilitates chan%e in the code. W It allos testin% to #e done in a #ottom up fashion. !t the same time, unit testin% has some disadvanta%es such as, it mi%ht not identify each and every error in the system. Page 32
0.
I4"5=R!"IO4 "5S"I4=
In Inte%ration "estin%, the individual softare modules are com#ined and tested as a hole unit. "he inte%ration testin% %enerally follos unit testin% here each modu le is tested as a separate unit. "he main purpose of the inte%ration testin% is to test the functional and performance re7uirements on the ma$or items of the pro$ect. !ll the modules of the pro$ect developed individually ould #e com#ined to%ether and tested as a hole system in the inte%ration testin%.
0./
R5=R5SSIO4 "5S"I4=
"he Re%ression "estin% is %enerally done henever modifications are made to the source code of a pro$ect. "he Re%ression "estin% can also #e defined as the process of testin% chan%e s made to the computer pro%ram and also ma&es sure that the older pro%rammin% still or&s ith the ne chan%es. So, #efore any ne version of a softare product is released, the old test cases for the pro$ect ill #e run a%ainst the softare ith the chan%es made, to ma&e sure that the old functionalities of the pro$ect still or&.
0.0
!CC5("!4C5 "5S"I4=
"his testin% is %enerally performed hen the pro$ect is nearin% its end. "his test mainly 7ualifies the pro$ect and decides if it ill #e accepted #y the users of the system. "he users or the customers of the pro$ect are responsi#le for the test.
0.2
SS"5M "5S"I4=
"he system testin% is mainly done on the hole inte%rated system to ma&e sure that the pro$ect that has #een developed meets all the re7uirements. "he test cases for the system testin% ill #e the com#ination of unit and inte%ration tests.
2. "5S" C!S5S "he folloin% are the test cases for the !irline Reservation System>
2.*"5S" C!S5 * X US5R ;O=I4 W Incorrect Input 2 Incorrect username, hich is the email@id in the case of the !irline Reservation System. W (ass Criteria2 Page 33
!n appropriate messa%e should #e %enerated to indicate that an invalid username has #een typed. W Correct Input2 "he correct input ould #e a valid e@mail id of the user and a correct passord associated ith the email@id hich he uses to lo% in.
2.
"5S" C!S5 X US5R R5=IS"R!"IO4
W Incorrect Input 2 9ron% format entered in the input fields for the re%istration pa%e. W (ass Criteria2 !n appropriate messa%e should #e %enerated to the user sayin% that he has entered the ron% format in the specific input field. W Correct Input2 "he correct input ould a correct format entered #y the customer into the input fields of the re%istration pa%e. W (ass Criteria2 "he pass criteria for this test case ould #e a successful re%istration of the customer into the !irline Reservation System.
2./
"5S" C!S5 / X US5R R5=IS"R!"IO4
W Incorrect Input 2 "he data fields left out empty in the re%istration pa%e. W (ass Criteria2 !n error messa%e should #e %enerated to the user sayin% that he has to fill out those fields in order to #e re%istered into the system. W Correct Input2 "he correct input in this case, ould #e that the customer ould enter the data in all the fields in the re%istration form. W (ass Criteria2 "he pass criteria for the system ould #e that it accepts all the customer details and then re%isters the customer and helps him lo% into the system.
2.0
"5S" C!S5 0 X S5!RC< !4D BOOK -;I=<"S
W Incorrect Input 2 Incorrect input in this case, ould #e incorrect search criteria entered or incorrect format of data entered into the data entry fields of the fli%ht search and #oo&in% pa%e. W (ass criteria2 ! messa%e has to #e %enerated to the user indicatin% the ron% entry that he has made in the fields. W Correct Input2 Page 34
! correct input ould #e enterin% the data into the data entry fields in a correct format. W (ass Criteria2 "he pass criteria for this test case ould #e that the search ould return valid results and then hen the customer made the #oo&in%, the system has to %enerate a Confirmation to the customer #y displayin% the messa%e.
3. (!SS OR -!I; CRI"5RI! "he test cases e?ecuted on the !irline Reservation System ill pass if they meet the specific re7uirements mentioned in the 6ision document of the pro$ect. ! test case is said to fail, if the desired functionality is not satisfied #y the system. ;+ SUS(54SIO4 ;+*
CRI"5RI! !4D R5SUM("IO4 R5TUIR5M54"S
SUS(54SIO4 CRI"5RI!
"estin% for all the dependant features ill #e suspended if a test case fails. "he failed test case ill #e lo%%ed onto the test lo% hich contains the description for the error. ;+% R5SUM("IO4
R5TUIR5M54"
"he test cases hich are not dependant on the case here the #u% is reported ill #e e?ecuted in parallel ith the #u% fi?in%. Once the failed test case has #een ta&en note of and has #een identified and fi?ed then the testin% for the failed test case ill resume.
9+ "5S"
D5;I65R!B;5S
"he folloin% documents ill #e produced after the testin% phase for the !irline Reservation System has #een completed. W "est (lan W "est Cases W "est ;o%
Page 35
Page 36
/hapter2 '&
Assessment Evaluation
*. I4"RODUC"IO4 "he !ssessment 5valuation document presents the results o#tained #y testin% the !irline Reservation System. "he test cases are in reference to the test cases defined in the "est (lan document from the (hase II.
. "5S" C!S5 R5SU;" SUMM!R "he summary of the test case result has #een depicted in the ta#le shon #elo> "hese are the test cases for the UserJCustomer pa%es. "he ma$or part of testin% has #een concentrated on the customer pa%es, as they ould #e the main clients of the !irline Reservation System.
Page 37
"he #elo ta#le represents the summary of results of testin% on the !dministrator pa%es. "he results have #een e?plained in detail later in the document.
/. D5"!I;5D "5S" R5SU;"S /.*M!4U!; "5S"I4= "o start ith, I have performed manual testin% on the !irline Reservation System Manual "estin% is one of the oldest and ri%orous methods of softare testin%. "histestin% strate%y %ives the #est opportunity to chec& every pa%e thorou%hly and ma&e sure it or&s in the e?pected manner. Due to the comple?ity of the various automation tools and the time availa#le for testin% the entire application, I preferred to use manual testin% #ased on the fact that it is one of the #est methods of testin% su%%ested for a #e%inner. !ll the test cases mentioned in the "est (lan document of (hase II ere tested here. "he results of the manual testin% are represented in the folloin% ta#les> :+(+( 4/ $ ( "ER LOBIN
Page 38
:+(+% 4/ $ % ) "ER REBI"4RA4ION :+(+: 4/ $ : "EAR/= AN0 -OOD FLIB=4"
:+(+* 4/ $ 6 ) A0.INI"4RA4OR "IBN IN
:+(+& 4/ $ ; NE8 FLIB=4 A00I4ION
:+(+6 4/ $ 9
U(D!"I4= -;I=<" D5"!I;S
"hus, the !dministrator forms have also passed the manual testin% phase and thus the a#ove results have #een produce
Page 39
/hapter2 '6
User Manual
*. I4"RODUC"IO4 "he User Manual e?plains us the step #y step procedure to use the !irline Reservation System application. % R5TUIR5D
SO-"9!R5
"he re7uired softare for the !irline Reservation System pro$ect ould #e as follos> W Operatin% System> Microsoft 9indos 1 or loer. W +Dreameaver CS3 2 Page 4
It can #e donloaded from Microsoft e#site http>JJ.microsoft.comJen@ inJdonloadJdetails.asp?GidN//0. W Microsoft My ST; server 2 It can #e donloaded from Microsoft e#site http>JJ.microsoft.comJen@ inJdonloadJdetails.asp?GidN/222. %
AIRLINE RE"ERVA4ION "C"4E. 0E4AILE0 VIE8
!d"ini#t$ato$ %ogin Page Cto"e$ %ogin Page
Page 41
!d"ini#t$ato$ 'ain Page "he administrator can perform the folloin% functions li&e !ddition of ne companies !dd ne fli%hts Can modify the customers !dd fli%ht seats !dd fli%ht routes !dd fli%ht fare
!dd (e) Co"*an+ Pan+ !dd Cto"e$ *age F,ig-t Ro&te# Page Page 42
Page Page
Cto"e$ 'ain F,ig-t Boo.
Page 43
"he customer can perform the folloin% functions li&e • •
Can re%ister it. !dd fli%ht accordin% to its need
Appen!i1 A2 List of 4oo#s2 W W W W
Microsoft 9indos 1 <"M; :s !do#e (hoto Shop CS3 Page 44
W W W W W W
CSS Microsoft (aint (<( e# development platform> !do#e Dreameaver CS3 MyST; as relational data#ase !M(( *.1./ (hpMy!dmin2.2.*
Appendix B: References http2??en+wi>ipe!ia+org
Wikipedia is a free encyclopedia, written collaboratively by the people who use it. It is a special type of website designed to make collaboration easy, called a wiki.
Page 45