Jeenal: We given them a receipt signed by either my Daughter or me.
Me: What do you do with the files of people that have cancelled.
Jeenal: Well I stamp the file with cancelled and then file it under cancelled.
Me: Do you or any of your workers have experience with computers?
Jeenal: No, none of us, you have to understand we are a very traditional family. My daughter does not know anything about computers either. That’s why I chose you to help because you said that if you helped me the system would not be complicated. I don’t like those mouse things you were telling me about either; I thried using one at my nephew’s house and cant control it. I just can’t point it in the right place. I would prefer it if I pressed button or keys to make something happen.
Me: Sure Jeenal Shah I think I will be able to give you what you want, besides you know my family and can just give a all if you have any problems besides I show you how to use the system and the computer will tell you what to press for each task. Sp when would you need the system by?
Jeenal: I think that I would need it before the summer, probably around April. Yes April. Can it be done?
Me: well that is a fairly tight time schedule to work to but with a lot of hard work I will be able to do it, just one thing before I leave. Is there a need for a computer security?
Jeenal: Well, it’s just my daughter s and me not really but I leave that up to you.
Summary of Interview
From this interview I have established the size of data I will be holding in my database from about 140 customers a week at peak times. I feel that Jeenal belief that this number will increase is justified although I feel that it will not be by that much seeing as there is bound to be an increase in competition and the number a present is relatively high. Although seeing, as the business will probably increase I have to leave room for the system to expand. I found out that the travel agency does have regular customers. Thus this means that I should write a section of programming to call up a list of regular customers, in order to increase efficiency.
I have also found out some of the basic attributes, which I should have such as, Customer name and date of departure. I will obviously add to the ones mentioned to make the information link better through the system. This would be done through the old use of primary keys such as customer number and flight number. Although the old paper based system was slow with relatively little I should bring a new system, the old template which Jeenal uses to record data would be a good screen layout to keep with a few additions. This would be beneficial as it would be a layout which Jeenal and his daughter would be used to. This would make it easier for them to use the system. That was my main reason for taking a sample from Jeenal. Through the interview I was able to found out some problems, which I am trying to over come other than the obvious problem with speed. I found basic problem with the organisation of the files, which resulted in loss of a seat and money. The main problem was through cancellations. This has lead me to question the process for cancellation, whether I should delete the customer from the record or weather the information should be transferred to another table for cancellations. The main output for the system would be inform of a ticket which be given to the customer.
The most beneficial information I received from the interview was the comments by Jeenal referring to his interaction with the computer. My initial reaction, when I found out that neither Jeenal nor his daughter had any experience with computers, was to use mouse port to make the system user-friendlier. Yet Jeenal seems to feel more comfortable with typing a specific number or letter. After some thought I decided to submit his demands as I could see the benefits of not using a mouse, such as speed and it is easier to program.
The interview with Jeenal was of great assistance as it identified the requirement of the new system and the limitations of the new system. In order to create the new system required with few limitations I interviewed another travel agent, which already has a running computer booking system. This travel agent is called “Yekye Travels” it specializes with flight to the south of the globe. Seeing as I was looking from different information I would modify the list of questions.
Questions to ask Mr. Eve of Yekye Travels
- How many customers do you receive a month?
- Do you think this volume will increase much in the years to follow?
- What information do you keep on each customer?
- How do you store this information at the moment?
- What are the specifications your system?
- What difficulties do you have with this current system?
- How do you deal with cancellations?
- What security precautions do you take?
Transcript for interview with Mr. Eve
Me: (After polite preliminaries) round about how many customers do you receive a month?
Eve: Varying from 0 to 150 a week depending on the season.
Me: Do you think that this volume will increase in the years to come?
Eve: Every one in the travel industry likes to imagine that this number will increase drastically but in reality not that much. Sure people will earn more and go on more holidays but not many more holidays.
Me: What information do you keep on each customer?
Eve: Well you understand that I can’t show you but we keep their name, phone number and all of the travel details, such as destination, flight number, smoking/non smoking, although most of the flights nonsmoking any way can you believe it? That’s why there has been an increase in air rage.
Me: I never looked at it that way, anyway how do you store the information at the moment.
Eve: Well on tape mainly, we have an online booking system, which my brother designed for me.
Me: do you know the specifications of your system. Well not really. I think it’s a Fujitsu or something. I have a Pentium 1 with 2 gigs something like that I’m not really sure but I know that it almost grinds to a halt and peak times. We are constantly saving stuff on tape and deleting it from our immediate hard drive.
Me: Have you encounter any other problems.
Eve: A couple of months ago it crashed on us and no one could get it running for two days. The repairman said that it should have been tested before hand to see what happened and we got this millennium thing that might affects us. Yes we do have other problems.
Me: How do you deal with cancellations?
Eve: we simply delete it. There has bee one or two cases where someone cancelled their flight than the next week came back to book it again. All this meant was to re-enter his information. This happens rarely where some one comes back to book the same holiday straight after canceling.
Me: What security precaution do you have taken.
Eve: we don’t see a need for security apart from physical.
Me: Thanks for your time.
Summary of Interview
The interview with Mr. Eve proved to be helpful but not as helpful as I would have liked. He seemed fairly out of touch with his system. I found out that Mr. Eve feels that the travel industry will not expand. This is very helpful in case I decide to use a fixed number of records for the current system. This will give me a good estimate for the maximum number of records I will have to create. The interview also helped me to see what different fields I will use, such as flight number, name and so on.
Mr. Eve also stressed the importance of testing although I feel that the major crash like the reported by Mr. Eve is unlikely although through testing will be carried out to iron out any problems. The method of dealing with cancellations by deleting them seems responsible.
Although Jeenal reported some problems with cancellations in his original system I fell that was mainly due to his disorganization of his data. I feel that with a well-organized system I can keep problems with cancellations down to a minimum. Another reason for using this method of deletion rather than leaving a flag will not only save space in the system but seeing the time scale I have this seems the most feasible method of dealing with cancellations.
New system Requirements
From the analysis I have gained a better knowledge of the system I will have to create. I feel that the system will be a menu-based system using numbers to go to the next menu, the design will be modular. The system will have to be divided into two main parts. This will be firstly for flights and secondly for booking. Both sections will have the ability to add, delete and edit a file. The booking section will have to also be able to produce a ticket and both sections will allow the options of viewing all files. Certain precautions have to be taken into account, as the user will be inexperienced with computers. These precautions will be in the form of ‘are you sure’, verification messages when files are edited or deleted.
The booking section of the database will be expected with the following inputs of booking number, Full name, address, destination, date of departure and flight number. The system could use the booking number as a key for direct access if this is the method I choose to use. This would mean that booking number 20 would be stored in record 21. The address will be broken down into three parts along with the date of departure and arrival. The main output for this section will be in the form of tickets, which should allow for the user and customers signature and will be based around the old template. Other outputs will be in the form of displaying information on the screen when the find command is selected. When the user wishes to delete or edit a file they will display the information in the exact way as the find menu.
The flight section will be expected to deal with the following inputs, Flight number, destination, date of departure and seats available. Here a hashing algorithm could be applied to the Flight number to position the file in the correct record if I choose direct access, which on first glance seems like the most feasible solution to the problem.
I feel that Pascal seems to be the most likely tool I will use to program the system although others such as Access could be used. I feel that with MS Access I will have to manipulate the database through the use of visual basic. As I am less experienced with visual basic and have limited amount of time, I feel that the system may not meet users requirements if I use Access especially as Jeenal does not want to use a mouse. Another point pushing me towards the use of programming language such as Pascal is the fact that the program can be run simply from the ‘exe’ file, which will take up less memory than Access, which would require Windows.
Hardware Specifications
When thinking about hardware specifications I have to keep in mind what the user will be using the computer for. I feel that they will be using the system for solely the purpose of booking flights as opposed to using the word file to send out letters. I arrived at this conclusion, as the users of the system seem to be very cynical towards computers.
Although this is my belief I cannot fail to provide room for expansion. Thus I feel that a Pentium 3 with 4 gigabytes will be my choice. This will be relatively cheap because of the rapid changes in computers. There should be 16mb of Ram as to allow for expansion. This will be sufficient, as the travel agent system will be run on Microsoft Access with Turbo Pascal. I chose to use these two as there is no need for any other form of software and this should increase the speed of the travel Booking system and leave a lot of storage space. The monitor should be 17 inches, as the size should help the inexperience user to better understand the system. The 2 computers will be linked by a Coaxial cable. Which could push the costs up. Other than your basic 3 ½ Floppy drive there will be a need for a Dat tape drive, which would be use in backing up. There will also be the need for a dot-matrix printer for the printing of receipts.
Diagram showing the flow of the data with the edit option, which will be incorporated into the database. Note the verification, which will be put into help Jeenal.
No
Yes
No
Yes
No
Yes
Design
Possible methods of solution
There are many different methods of solution for Unique Travels booking system, yet they all fall in two main categories. A database package, using visual basic to meet the requirements of the system. There are many advantages of using this method of solution, mainly the relatively fast creation of tables, records and report layouts. Other companies have also used Microsoft Access in the past, which proves that this method has been tried and tested before. With other companies using this system Jeenal decides to employ other employees, training to use Ms Access is available. The main disadvantage with this method of solution is that Jeenal specifically asks if the use of a mouse could be omitted. This would be difficult, as there would be a need to run Access over windows. Another disadvantage could be that using a general package such as Access it might not meet the full needs of the user. There would be a need to manipulate the system using Visual Basic and as I an relatively inexperience with Visual Basic I might not be able to manipulate the system efficiency. The package would also take up unnecessary disk space to store.
Another solution would also be to use a programming language such as Pascal, starting from scratch. Seeing as I am most comfortable when programming in Pascal I should be able to create a suitable system. I could also omit the use of a mouse when programming the system. Another benefit could be through the fact that I would Pascal would take up less space than Access. There would also be no need for any other software other than Pascal (to manipulate the code if needed) and the exe file.
Seeing as I am more familiar with Pascal and Jeenal sees no need for the use of mouse I will choose to program in Pascal. I feel that with Pascal I will be able to take layout the screen clear and effective in Pascal.
Top Level Design
There would be the initial program, which would create a booking and flight record with appropriate files such as flight number and booking number. The string variable will have to be allocated maximum length, to avoid mistakes in data entry. The records will have to be filled with the record status and number.
The main program would have one main menu allowing the user to enter either in to the Booking part of the database or the Flight part of the database.
Booking Section
There will be 6 main procedures in the booking part of the database.
The first will be adding the customer to file (AddBookingRec)
The second will be (FindBookRec). This will allow the user to find information on a specific customer by the booking number.
The next procedure will be (DeleteBookingRec) this will search for the specified customer by the booking number and will delete.
The next procedure will be (ListBookRec) this will list all of the files in sequential order.
The next procedure will be (Ticket). This will search for the specific customer and produce a ticket leaving space for both the customer and staff signature.
The sub Module related to the booking file is GetBookRec. Which aides in searching for a specific customer.
Iteration of booking design
Although this is common practice in many travel agents and high street stores of using a number to find information on specific customer. After talking to Jeenal I realized that this method of finding a specific customer would be difficult. Thus I will add the ability to search through the database in a sequential manner to find a file by the person’s name. The option of searching for a customer through name or booking number will be in the form of a menu available for the facilities of editing, deleting, the ticket as well as straightforward searching for information on specific design. This will mean that the following modules will be added.
FindBookName will list a specific customers detail on screen
DeleteBookingNameRec. Which will search for the customer by name when deleting.
EditBookingNameRec, which will search for a customer when editing.
Ticket2. Which will search for a customer by name when producing a Receipt.
GetNameRec. This will aid in searching for the customer by name.
Flight Section
There will be 5 main procedures in the flight part of the database. As before the first will be (AddFlightRec). This will simply add flight details to the file using direct access.
The second procedure will be (FindFlightRec). This will find a specific slight using the flight number of the file, which is unique to each flight.
Third procedure will be to (EditFlightRec). This will search for a specific flight and allow the user to edit the information of the flight.
The next procedure will be the (DeleteFlightRec). This will search for the flight record by the flight number and add it on file.
The Final procedure in relation to the flight section will be to list all of the flights the on file (ListFlightRec).
The sub module of GetFlights. Will adding the customer using direct access.
The sub module of GetFlightsNumber. Will aid in searching for Flights by Flight number.
Iteration of Flight design
After explaining the outcome of the database to Jeenal he questioned weather the system would minus a number off the seats available. Although this is an important part of the database I had not forgotten about this part of the system. This would mean writing another procedure calling it up in when someone is taking a specific flight. If the flight is not available there will be a need to display a message on the screen informing the user.
Detailed Specification of input, output and the data organisation
There will be three types of input in to the system
Menu
There will be many menus in the database. The main menu will have the choice of three commands,
- To enter Flights.
- To enter Bookings.
- Exit.
- The options will be color coded as above to help the user distinguish between the different parts of the system
- The background of a specific option once entered will change to the color of the command. For example the flight background will be pink.
- There are three paramount menus, the Main Menu, the Booking Menu and the Flight Menu. They will be given appropriate headings.
- All options will be numbered. (As above)
- Where possible continuity will be kept. For example all sub menus will give a choice of three, with the third number used to return the user back to the previous menu.
Another type of input will be additions or changes t the booking record. There are many inputs that will be required in additions or editions. The user will be asked at the addition stage to enter:
- The booking number
- Full name
- Address in three sections
- Data of birth of the user
- The destination the customer will be flying to
- The airline
- The flight number
- The date of departure and data of return
- The food type
- Weather they would prefer smoking or noon smoking.
For additions the system will check that he booking number entered has not already been used. For Finding, Editions, Deleting and producing a receipt the system, will check to see that the file id not empty. Thus it will be impossible to add over an existing customer or to edit or delete an empty file. There will be verification in the form o the system asking the user twice when deleting or editing.
Another type of input will be additions or charges to the flight record. The user will be asked at the addition stage to enter,
- The address of the file.
- The flight number.
- The destination.
- The name of the Airline.
- The number of seats.
- The date of departure.
The addition stage will again check that the status of the file is empty before adding. For deletions editions and finding of files the system will check that the status of the file exist and check that the status of the file is not empty. The demands that the system will make will be clear and straight forwards to void any confusion. The system will also ask the user whether he/she us sure before deleting or editing a file.
Data organisation and detailed specification of processes required.
For this system there are many different type of file organisation that could be used. Ideally I would like to use an Index Sequential organisation method. This would appropriate as I would be bale to search through the system both sequential and directly. As it is extremely difficult to create an index sequential system using Pascal, I am left with two possibilities. Either a sequential filing system, which would search through each record or direct. I feel that I will have to use a direct method for example giving each customer a Booking number and using this number as the address in file. For example booking number 40 would be stored in record 40. There are some clear problems with creating a system using this method, as it would be hard for the user to remember the booking number of a specific customer and to find information on that customer. The option here is to use a hashing algorithm allowing for the possibility for collision. This is possible solution yet keeping in mind the amount of time I have for this project I feel that another solution is better. I can use direct access for additions and search for a combination of the surname and name for searching. I could do this by using (IF, AND, THEN) commands in Pascal. I could then give the user the choice of searching for a specific customer by either the booking number or by their name.
Software Development
Top Level Design
For this