Specification and Design of an Online Travel Agency System

Requirements Document

Elmo M Recio (MCS 451)

May 3, 1999


Table of Contents


1 Introduction
1.1 Document Summary
1.2 Brief Description
2 Requirements Definition
2.1 Travel Methods
2.1.1 Method Appearance
2.1.1.1 Icon Appearance
2.1.1.2 Icon Placement
2.1.2 Method Interface
2.1.2.1 Security
2.1.2.2 Help System
2.1.2.3 Input System
2.1.3 Travel / Booking
2.1.3.1 Searching for Airline Flights
2.1.3.2 Searching for Auto Rentals
2.2 Transactions
2.2.1 The Database
2.2.2 The Client
2.2.3 Transactional Security
2.2.3.1 Audit Trailing by Operator
2.2.3.2 Audit Trailing by Time
2.2.4 Database Security
2.2.4.1 Database Security Exceptions
2.2.5 The Web Client
2.2.5.1 Web Client Tables
2.2.5.2 Web Client Security
2.2.5.3 Web Client Integration
3. Non Functional Requirements
3.1 The System
3.1.1 The Server Requirements
3.1.2 The Operating Environment
3.1.3 The Software Packages
3.2 The Web Client Requirements
3.3 The Client Requirements
3.3.1 The Client System
3.3.2 The Client Network
4. System Evolution
4.1 The System
4.1.1 The System Development
4.1.2 The System Development Enviornment
4.1.2.1 Development Environment Refresh
4.2 The Operator's System
4.3 The Customer's System
5. Glossary
5.1 Terms Used In Document

1 Introduction


1.1 Document Summary
This is the requirements definition and the requirements specification portion of the online travel agency System. This document will annotate the various functions, and features that the System should support to provide services for cutomers and Operators alike.

1.2 Brief Description
The purpose of this System is to enable Internet Customers to make travel reservations for Airlines, Rental Cars, Hotels etc... safely from the comfort of their own home. Since a Customer may travel from a point which is inconvenient to contact us by telephone, or any other feasable method, to a point within reasonable contact, this System will facilitate distribution of services to foreign Customers who would normally use a local service. In which case, and because the Internet is global, our market span will only be limited to our provided services and not by our centralised physical location.

2 Requirements Definition / Specification


2.1 Travel Methods
The software should provide a means of selecting various travel methods available. A set of basic travel methods must be available to the Customer. These include but are not limited to, air travel, land travel (by road or train), and by travel by sea.

2.1.1 Method Appearance
Each travel method will have an associated icon.

2.1.1.1 Icon Appearance
It should take the Customer no more than 5-10 seconds to associate the icon with the related travel method.

2.1.1.2 Icon Placement
The various travel methods should be visible on the first page that loads on the Customer's web browser.

2.1.2 Method Interface
The Customer will be able to interface with the System via a web browser, and an internet connection.

2.1.2.1 Security
The Customer will have a choice for secure connections, and non-secure connections (for less capable browsers.. see Section 3 for browser requirements.)

2.1.2.2 Help System
The System will provide a help option for each of the pages where Customer input is required.

2.1.2.3 Input System
The System will have various input forms for collection of Customer data regarding the various travel methods and preparation plans.

2.1.3 Travel / Booking
The System will allow the client to plan an entire trip in (on average) less than half an hour.

2.1.3.1 Searching for Airline Flights
The Customer will be able to search for a particular airline flight by: destination and departure times, and return time. Next they will be able to enter their credit card number and personal information (inlcuding email address) for billing and tracking purposes. See Section 2.2 for transactional information.

2.1.3.2 Searching for Auto Rentals
The System will provide the service of booking automobile rentals. The Customer will select the automobile by searching for a particular model and make of an auto. Or they will select an auto by functional characteristics (ie: minivan) and availability.
The System will respond by returning the next available car in either catagory. If the Customer is satisfied with the returned auto, the Customer will submit the auto to complete the transaction (See Section 2.2)

2.1.3.3 Searching for Hotel Reservations
The System will provide the service of booking hotel room rentals. The Customer will select the hotel by selecting a particular city from a drop down menu. The Customers will then select the type of room that they want: ie: smoking, or nonsmoking, two beds or one etc...
After the transaction (See Section 2.2) The Customer will be prompted to return to the main (home) page, or book another trip.

2.2 Transactions
The System will record the information in a database and contact the appropriate parties (airlines, railroad, sealiner co.) and will display the confirmation / denial information on the screen (and email the client) when the transaction has been completed.

2.2.1 The Database
The database will provide a storage method for the information collected and diseminated throughout the System. The database will be a type of a relational database management System.

2.2.2 The Client
The client will supply a method for the Operator to retrieve, alter and store information into the database via a GUI, using well established tools (ie: Oracle Forms, Oracle RDBMS, Oracle Web)

2.2.3 Transactional Security
The database will allow for a per Operator security installation.

2.2.3.1 Audit Trailing by Operator
Each transaction to alter data in the database will stamp the Operator's System identification.

2.2.3.2 Audit Trailing by Time
Each transaction to alter data in the database will stamp the date and time of the transaction.

2.2.4 Database Security
No Operator or Customer will be given exclusive raw database access. Each Customer and Operator will only be able to access the database via the GUI implimented in the System.

2.2.4.1 Database Security Exceptions
The exception will be for the database administrator (DBA) and those members of the DBA group, to maintain the System's integrity.

2.2.5 The Web Client
The web client shall not alter any Real Tables in the System.These Real Tables are the commited data of processes to be implimented by the Operator, and to be used by the Company, or data that has been implimented by the Operator, and has been used by the Company in its normal routines.

2.2.5.1 Web Client Tables
The web client shall have an allocated set of tables in the System database. These tables are the only ones where records will be altered, added to, and removed from.

2.2.5.2 Web Client Security
The web client shall have no permissions to alter, add, or remove records from any tables outside of the allocation.

2.2.5.3 Web Client Integration
The Client shall be able to access the Web Client tables to alter, remove, or add records. This is to be done in the daily routine by Operators of the System to process requests from Customers of the Company.

3 Non Functional Requirements


3.1 The System
The System must have a server capable of the meeting the following requirements for the System's back end. The back end is where the RDBMS will live, and service all requests from the Client and the Web Client.

3.1.1 The Server Requirements
  • Intel Pentium III, 500 MHz or Equivalent CPU
  • 128 Mb of RAM
  • RAID Array of 22Gb SCSI Disks
  • Network Interface Card of 100Mbit/Sec
  • DDS 3 Tape Storage Device

3.1.2 The Operating Enviornment
To minimise the cost of the System, an Open Source, Free Software Foundation operating System will be implimented with the following specfications.
  • Linux Version 2.2.7
  • SuSE 6.1 Distribution

3.1.3 The Software Packages
The following software packages will be necessary to run the System
  • Apache Web Daemon Version 1.3.6
  • PHP3 (impliments the equivalent functions of Active Server Pages without investing in MicroSoft Products, while giving greater speeds and access times with less overhead)
  • Oracle 8.0.5 RDBMS
  • Oracle Developer 2000 - used to maintain and develop the Client as well as the Web Client
  • Perl 5 - used for developing dynamic SQL Reports which would be fully automated

3.2 The Web Client Reqirements
The Web Client will run on any OS with a web browser and will not make use of any advanced functions like JavaScript or Java applets. All security will be handled by the server via it's interaction with the database using PHP3 forms.
The web browser must meet the following requirements.
  • The browser must be able to parse and understand CGI forms.
  • The browser must be able to parse and understand HTML 1.0 tags
  • The broswer must be able to understand the SSL Security implimentation

3.3 The Client Requirements
The Client must be able to understand Oracle Forms 4.5 Compiled forms.
  • The tool bought from Oracle (Oracle Developer) will be able to handle this feature

3.3.1 The Client System
The Client System should meet the following requirements.
  • Pentium 200 or equivalent
  • Network Interface Card of 10Mbits/Second
  • An operating System capable of running the Oracle developer 2000 Software package
  • An operating System capable of NFS/SMB fileshares to retrieve the compiled Oracle 4.5 Forms.

3.3.2 The Client Network
All clients will be connected to a local area network. All Client transactions will be contained to the local area network. No transactions between the Client and the System will be allowed out of the Local Area Netowork into the Internet.
  • All Internet transactions will be handled by the Web Client

4 System Evolution


4.1 The System
The System will allow for upgrades in the Kernel with no effect to the Operator or the Customers, except for increased functionality.

The System will allow for upgrades in the Relational Database with no effect to the Operator or the Customers, except for increased funtionality.

The System will allow for upgrades in the Client and Web Client software with no effect to the Operator or the Customers, except for increase functionality.


4.1.1 The System Development
The System will allow concurrent development and upgrades by providing a development enviornment where the DBA and her staff can increase functionality, and test this functionality, before implimention of the functionality in the production enviornment

This will allow for no System downtime and/or loss of production data. It will allow for the detection of implimentation errors before the action is replicated on prodution data.


4.1.2 The System Development Enviornment
The System's development enviornment will contain a duplicate copy of the System's production enviornment.

4.1.2.1 Development Enviornment Refresh
The System's development enviornment data will be refreshed to copy the data off of the production enviornment on a weekly basis.
  • This will not alter files and the file System. This refresh will affect only the System's Relational Database

4.2 The Operator's System
The Operator's System will store all Company related data files on the System.

This will allow for an easy update to the Operator's System with minimal downtime. This will also allow for the Operator's files to be stored in a safe enviornment that will be backed up every night.


4.3 The Customer's System
The System nor the Company shall take any resposibility for the maintenance and/or upgrade of the Customer's System
  • The Customer shall be provided a link to the location of one or more available web browsers that are compatible with the System, should the System determine that the Customer's System is insufficent to carry out normal transactions via the Web Client.
  • The Company shall not be responsibe to see that the Customer installs the proper version of this web browser needed to carry out standard transactions

5 Glossary


5.1 Terms Used in Document
  1. Operator: An employee of the Company, given rights to operate on the System.
  2. Customer: A client or potential client of the Company.
  3. System: The collection of computers, or server(s) that will collect, operate on, and manage the data automatically.
  4. Oracle: Trademarked name of the Relation Database Management System company, and it's affliates.
  5. DBA: Database Administrator.
  6. real tables: tables that contain Company sensitive information of previous clients, and current clients.
  7. development environment: The environment where the System can be tested and new features tested with minimal to no impact on the Operators, or Customers.
  8. production environment: The environment where the System can be utilised by the Customers and Operators to preform the daily routine transactions of the system.
  9. downtime: Times when the Operator or the Client has no access to the system.
  10. back end: The portion of the System that is not apparently visible to the Operator or the Customer.