1.1 Document Summary2 Requirements Definition
1.2 Brief Description
2.1 Travel Methods3. Non Functional Requirements
2.1.1 Method Appearance2.2 Transactions
2.1.1.1 Icon Appearance2.1.2 Method Interface
2.1.1.2 Icon Placement
2.1.2.1 Security2.1.3 Travel / Booking
2.1.2.2 Help System
2.1.2.3 Input System
2.1.3.1 Searching for Airline Flights
2.1.3.2 Searching for Auto Rentals
2.2.1 The Database
2.2.2 The Client
2.2.3 Transactional Security
2.2.3.1 Audit Trailing by Operator2.2.4 Database Security
2.2.3.2 Audit Trailing by Time
2.2.4.1 Database Security Exceptions2.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.1 The System4. System Evolution
3.1.1 The Server Requirements3.2 The Web Client Requirements
3.1.2 The Operating Environment
3.1.3 The Software Packages
3.3 The Client Requirements
3.3.1 The Client System
3.3.2 The Client Network
4.1 The System5. Glossary
4.1.1 The System Development4.2 The Operator's System
4.1.2 The System Development Enviornment
4.1.2.1 Development Environment Refresh
4.3 The Customer's System
5.1 Terms Used In Document
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.
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.
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 AppearanceEach travel method will have an associated icon.
2.1.1.1 Icon AppearanceIt should take the Customer no more than 5-10 seconds to associate the icon with the related travel method.
2.1.1.2 Icon PlacementThe various travel methods should be visible on the first page that loads on the Customer's web browser.
2.1.2 Method InterfaceThe Customer will be able to interface with the System via a web browser, and an internet connection.
2.1.2.1 SecurityThe 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 SystemThe System will provide a help option for each of the pages where Customer input is required.
2.1.2.3 Input SystemThe System will have various input forms for collection of Customer data regarding the various travel methods and preparation plans.
2.1.3 Travel / BookingThe 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 FlightsThe 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 RentalsThe 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 ReservationsThe 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.
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 DatabaseThe 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 ClientThe 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 SecurityThe database will allow for a per Operator security installation.
2.2.3.1 Audit Trailing by OperatorEach transaction to alter data in the database will stamp the Operator's System identification.
2.2.3.2 Audit Trailing by TimeEach transaction to alter data in the database will stamp the date and time of the transaction.
2.2.4 Database SecurityNo 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 ExceptionsThe 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 ClientThe 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 TablesThe 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 SecurityThe 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 IntegrationThe 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.
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 EnviornmentTo 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 PackagesThe 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 ReqirementsThe 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 RequirementsThe Client must be able to understand Oracle Forms 4.5 Compiled forms.
3.3.1 The Client SystemThe Client System should meet the following requirements.
3.3.2 The Client NetworkAll 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
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 DevelopmentThe 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 enviornmentThis 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 EnviornmentThe System's development enviornment will contain a duplicate copy of the System's production enviornment.
4.1.2.1 Development Enviornment RefreshThe System's development enviornment data will be refreshed to copy the data off of the production enviornment on a weekly basis.
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.
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
- Operator: An employee of the Company, given rights to operate on the System.
- Customer: A client or potential client of the Company.
- System: The collection of computers, or server(s) that will collect, operate on, and manage the data automatically.
- Oracle: Trademarked name of the Relation Database Management System company, and it's affliates.
- DBA: Database Administrator.
- real tables: tables that contain Company sensitive information of previous clients, and current clients.
- development environment: The environment where the System can be tested and new features tested with minimal to no impact on the Operators, or Customers.
- production environment: The environment where the System can be utilised by the Customers and Operators to preform the daily routine transactions of the system.
- downtime: Times when the Operator or the Client has no access to the system.
- back end: The portion of the System that is not apparently visible to the Operator or the Customer.