Professional Documents
Culture Documents
Paul Jackson, Anne Morley, Denish Gandhi, Meng Zhao, Chris Lewin MSc Software Systems 2011
Table of Contents
1. 2. Objective ..................................................................................................................................... 3 Main goals .................................................................................................................................. 3 Reservation.................................................................................................................................... 3 Cancellation ................................................................................................................................... 4 Passenger Inquiry ....................................................................................................................... 4 Flight Inquiry ................................................................................................................................ 5 Data File Operations .................................................................................................................. 5 3. System constraints ................................................................................................................. 6 Development ................................................................................................................................. 6 Flight / Passenger Details ........................................................................................................ 6 User Interface ............................................................................................................................... 6 User Access .................................................................................................................................... 7 Data Backups .................................................................. Error! Bookmark not defined. Error Checking ............................................................................................................................. 7 4. 5. 6. 7. System interface / Data Input ............................................................................................ 7 Security requirements........................................................................................................... 8 Testing requirements ............................................................................................................ 8 Documentation Requirements / Maintenance / Training ...................................... 8 Draft user guide ........................................................................................................................... 8 Draft Maintenance / Programmers Guide ......................................................................... 9
Page 2 of 9
1. Objective
To develop a prototype software system for Dr Claire Willis that acts as a computerised airline reservation system. This program will be used as the main computer system for a travel agency whose main role is to use the system to reserve flights for customers. The system should be designed with different user levels, one for the travel agents staff who will be making these bookings and one for administrators who will maintain the system.
2. Main goals
The system should implement and demonstrate the main functions of a computerised reservation system. It must be able to read in data from a text file and handle different types of booking requests. After preliminary discussions with the client, we decided that the main goals of the system are to be able to handle the following four basic types of request, plus file operations: (i) A reservation (ii) A cancellation (iii) A passenger inquiry (iv) A flight inquiry (v) Data file operations
Reservation
The first main goal of this system is to create a function that makes a flight reservation. The user should be able to input some information to obtain a list of suitable flights and then select a flight to book a seat and enter the passengers details. This input could be a date, a destination or a flight number. After discussions with our client, we decided the most useful input would be an arrival destination. The passenger should be given an option to choose between a first class and an economy seat. Each flight will have its own passenger lists, one for first class and one for economy class. These are needed to ensure that the number of seats booked on a flight corresponds to the number of seats available on that plane.
Assessed Coursework 2 - Group Project MSc Software Systems Page 3 of 9
10% of the seats on every flight are first class. The rest are economy. Each passenger list should also have a waiting list. If there is no room available on a flight in the appropriate class, passengers should be added to the end of the waiting list (queue) for that class. If a passenger requests a first class seat and the first class seats are all full, the passenger should be offered an economy class seat, if available. If the economy seats are also full, the passenger will be added to either the first class or the economy class waiting list. Similarly, if a passenger requests an economy class seat and these seats are full, the passenger should be offered a first class seat or placed on the economy class waiting list. A passenger should not be booked on more than one flight per day, and should not be booked on a single flight more than once. Passengers may be booked on more than one flight and appear on multiple passenger lists. In this prototype system, a reservation cannot be made for more than one passenger at once. This could be a problem as one or more of the group could be put on a waiting list. The user must use this reservation system to enter the passenger details. We clarified what this information was in a meeting with the client. As a result, we have decided that the details required from each passenger are their title, first name, surname, address, passport number and telephone number. A passengers details may not be unique. Each passenger should be provided with a unique booking reference whenever a flight is booked. This reference will refer to both the passenger and flight they are booked on. The passenger should keep this booking reference safe, as this will be needed to access other requests in the system. After all Reservation actions, an appropriate message should be given to the user to indicate what action has been taken.
Cancellation
A passenger should have the option to cancel any of the flights they have booked. To access the cancellation system, a passenger must be able to provide their booking reference. This reference will allow the system to find which flight that passenger has been booked on. The user will then be given an option to cancel this booking. The passenger will then be removed from the passenger or waiting list of the flight. The first passenger on the appropriate waiting list will then be promoted onto the passenger list. There should be an appropriate message to inform the user what action has occurred. It is then up to the user of the system to inform any passengers of this update.
Passenger Inquiry
This function should allow the user to see a passengers details and what flights a passenger is booked on.
Assessed Coursework 2 - Group Project MSc Software Systems Page 4 of 9
The input data for this function should be unique for each passenger. At the request of the client, the passengers name should be used. This may need revising, as a passengers name is not always unique. This system should then provide the user with the passengers travel and personal details. It should display a list of all the flights on which the passenger is booked and indicate if they are on the passenger list or the waiting list, and which class seat they are in.
Flight Inquiry
The flight inquiry system should allow the user access to the passenger and waiting lists of a flight. The user should input a flight number. This system should then print the passenger and waiting lists for this given flight, and it should also provide the user with some flight details, such as time and date.
Page 5 of 9
Given that we have been asked to create two levels of user for this system, users and administrators, we have clarified that a file of user (staff) details is not required for the prototype system. We need to demonstrate to the client that administrators can write to the data files.
3. System constraints
Development
The prototype will be demonstrated on the Eclipse IDE and therefore must work correctly on this platform in the PC Lab. Our documentation should reflect how we might implement a database solution for this project and also consider the advantages/disadvantages of a database over data files.
User Interface
The prototype should be user-friendly for non-IT literate users who have received minimal training on the system.
Assessed Coursework 2 - Group Project MSc Software Systems Page 6 of 9
Fields for passenger data entry are not restricted and do not require checking eg. Firstname, Surname, Street etc. Other data entry will be validated.
User Access
There needs to be two user levels. One for ordinary staff and one for administrative staff. Not everyone should have access to flight and passenger files, only administrators. Everyone should have access to reservation system. We asked the client whether or not the program should be capable of handling multiple users at the same time. In response, we were told that the prototype should not handle multiple users at the same time, although we should consider how our system could do this in our documentation.
Error Checking
The client requires the following error checking. The system must: Deal with errors gracefully Be robust Not crash with incorrect data entry Recover from errors Reject incorrect data read from files
5. Security requirements
As there are two levels of user access in this system, there has to be two levels of security. The client has asked that ordinary users should only have access to the reservation, query and cancellation systems, whereas administrative users should have access to the flight and passenger databases. Administrative users should also be able to edit these databases, for example to add or remove flights. A username and password should be requested before any access to the system is given to the user. Access to the databases should have further password protection, which only allows access to administrators. The system should have appropriate backup facilities. If information is lost, these backups should be used to restore any data in the system. In the final product, these passwords would be stored and encrypted in a database containing details of staff, however for the prototype, a password simulation will be sufficient. As stated above, the user database will not be created for the prototype. All databases would need to be encrypted to protect personal information, but for simplicity reasons, we shall not be demonstrating this in the prototype.
6. Testing requirements
All aspects of the program should be thoroughly tested, including the functionality of the system as a whole and of the individual functions. This testing should be carried out in a suitable demonstration program. The testing should include both black box and white box testing, however the testing need not be exhaustive due to time restraints. A prototype version of the interface should be developed, so we can obtain feedback from users.
Page 8 of 9
We are not required to offer training sessions for any users, only a demonstration session for the client, Dr Willis.
Page 9 of 9