Management System for Flight Information COP 5611 Chantelle Erasmus Page 1 of 17
Project Phases Design Phase (100 percent complete)... 3 Initial Implementation and Testing Phase (90 percent complete)... 8 Final Implementation and Completion Phase (0 percent complete)... 9 Page 2 of 17
General Design Phase The general design phase is split into the architecture specification and the design specification. These two phases describe the overall details of the application to be developed. These details may then be developed upon as the project progresses. 1 Architecture Specification The architecture specification contains information about what the application will look like. Figure 1 shows the overall design of the 3-tier structure of the application including the presentation layer, the application layer, and the database layer. The presentation and the application layers are encompassed in a container. Figure 1 1.1 Presentation Layer The presentation layer of the application is the actual client application. Functionally, the client will present a screen or screens to the user that displays information. The screen also contains input fields in order to collect information from the user. When a user exercises a need for information, the client will also generate an HQL query based on the input from the user and the information needed by the user. This HQL query will then be sent to the application layer. Page 3 of 17
1.2 Application Layer The application layer of the application is the application server used to perform all of the logic. The function of the application layer (application server) is to take the input that is provided by the user and/or the HQL query provided by the presentation layer and to propagate the information to the database or other entities. The application server will also take the information obtained from the presentation layer and retrieve or aggregate the information it needs by converting the HQL query obtained into an SQL query that can be understood by the database layer. 1.3 Database Layer The database layer of the application is the database that contains all of the information that needs to be stored for future reference. It is a repository of all of the data, but it can also contain views in case the retrieval of the data needs to be optimized for any reason. The role authorization for this application will be done in this layer. Each user is assigned a certain role and each role has information that is visible in that role. This ensures that a user cannot access unauthorized information. 1.4 Package Information The application will be packaged as a jar file that can be run in the Java Virtual Machine. This format was selected so that the application can be run on any platform. 1.5 Use Case Format The table below displays the format to be used when each use case is described in the section below. Collects input from user Processes information Retrieves information Outputs Information Table 1 2 Design Specification The design specification contains information about what specifically the application will do. These details may change as the application is developed. 2.1 Users This application will have three types of users passengers, pilots, and administration. Each type of user will have different information that they are interested in and will also have different authorization levels. 2.1.1 Passenger Users The passenger users will have read-only access to certain kinds of information. This information includes arrival gate locations, departure gate locations, arrival baggage belt locations, arrival dates and times, and departure dates and times. Page 4 of 17
2.1.2 Passenger Use Cases Below are several tentative use cases for passenger users. These use cases may be added, modified, or removed as the application is developed in the following phases. A table is added to further clarify what information is used by each of the three layers. 2.1.2.1 Query Flight Number for Specific Date and/or Airline In this use case, the passenger user will enter a date and/or an airline and expects to receive a list of flight numbers for that specific date and/or airline in return. Collects date and/or Creates query with Retrieves information Outputs flight numbers airline date/or airline where conditions Table 2 2.1.2.2 Query Arrival/Departure Gate for Specific Flight Number In this use case, the passenger user will enter a flight number and expects to receive a gate location in return. Collects flight number Creates query with Retrieves information Outputs gate location flight number where condition Table 3 Figure 2 shows a sample dialog to be used in this use case. MSFI Gate Information Please enter a flight number or a date: Flight Number: Date: February 12 M T W T F S S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Find Gate Information Figure 2 Page 5 of 17
2.1.2.3 Query Arrival Baggage Belt for Specific Flight Number In this use case, the passenger user will enter a flight number and expects to receive a baggage belt location in return. Collects flight number Creates query with flight number where Retrieves information Outputs arrival baggage belt location condition Table 4 2.1.2.4 Query Arrival/Departure Date and Time for Specific Flight Number In this use case, the passenger user will enter a flight number and expects to receive a datetime in return. Collects flight number Creates query with Retrieves information Outputs datetime flight number where condition Table 5 2.1.3 Pilot Users The pilot users will have read-only access to certain kinds of information. This information includes arrival gate locations, departure gate locations, arrival baggage belt locations, aircraft types, runway location, arrival dates and times, and departure dates and times. 2.1.4 Pilot Use Cases Below are several tentative use cases for pilot users. These use cases may be added, modified, or removed as the application is developed in the following phases. A table is added to further clarify what information is used by each of the three layers. 2.1.4.1 Query Flight Number for Specific Date and/or Airline In this use case, the pilot user will enter a date and/or an airline and expects to receive a list of flight numbers for that specific date and/or airline in return. Collects date and/or Creates query with Retrieves information Outputs flight numbers airline date/or airline where conditions Table 6 2.1.4.2 Query Arrival/Departure Gate for Specific Flight Number In this use case, the pilot user will enter a flight number and expects to receive a gate location in return. Collects flight number Creates query with Retrieves information Outputs gate location flight number where Page 6 of 17
condition Table 7 Figure 3 shows a sample dialog to be used in this use case. Figure 3 2.1.4.3 Query Arrival Baggage Belt for Specific Flight Number In this use case, the pilot user will enter a flight number and expects to receive a baggage belt location in return. Collects flight number Creates query with flight number where Retrieves information Outputs arrival baggage belt location clause Table 8 2.1.4.4 Query Aircraft Type for Specific Flight Number In this use case, the pilot user will enter a flight number and expects to receive an aircraft type in return. Collects flight number Creates query with Retrieves information Outputs aircraft type flight number where clause Table 9 Page 7 of 17
2.1.4.5 Query Runway Location for Specific Flight Number In this use case, the pilot user will enter flight number and expects to receive a runway location in return. Collects flight number Creates query with flight number where Retrieves information Outputs runway location clause Table 10 2.1.4.6 Query Arrival/Departure Date and Time for Specific Flight Number In this use case, the pilot user will enter a flight number and expects to receive a datetime in return. Collects flight number Creates query with Retrieves information Outputs datetime flight number where condition Table 11 2.1.5 Administrator Use Cases Below are several tentative use cases for administrator users. These use cases may be added, modified, or removed as the application is developed in the following phases. A table is added to further clarify what information is used by each of the three layers. 2.1.5.1 Query Flight Number for Specific Date and/or Airline In this use case, the administrator user will enter a date and/or an airline and expects to receive a list of flight numbers for that specific date and/or airline in return. Collects date and/or airline Creates query with date/or airline where conditions Retrieves information Outputs flight numbers Table 12 3 General Design Phase Summary Based on the elements described in this document, the general design phase of this project has been completed and the initial implementation phase can begin. Initial Implementation and Testing Phase During the Initial Implementation and Testing Phase, the functionality discussed in the General Design Phase will be implemented. Once this initial implementation has been complete, the initial testing for the application will begin. This process will be repeated as necessary. The results from this testing will be used for the next phase of the project. Page 8 of 17
4 Architecture Specification The architecture specification contains information about what the application will look like 4.1 Presentation Layer The presentation layer of the application is the actual client application. 4.1.1 Initial Default User Screen The first screen presented to the user is the initial screen. This screen contains a drop down with options to Find a Flight Number, Find Gate Information, and Find Baggage Belt Information. At the bottom of the screen, there is also a button to allow Administrators or Pilots to log in, in case they want to access Administrator or Pilot specific information. Figure 4 shows a screenshot of this screen. Figure 4 4.1.2 Find Flight Number Screen When the Find Flight Number option is selected, the screen changes to display a text box to collect the date from the user and also a drop down to collect the airline from the user Page 9 of 17
Figure 5 4.1.3 Find Gate Information Screen When the Find Gate Information option is selected, the screen changes to display a text field to collect the Flight Number and a text field to collect the Date. Page 10 of 17
Figure 6 4.1.4 Find Baggage Belt Information When the Find Gate Information option is selected, the screen changes to display a text field to collect the Flight Number and a text field to collect the Date. Page 11 of 17
Figure 7 4.1.5 Administrator/Pilot Button and Log In Screen When the Administrator/Pilot button is selected, the Administrator/Pilot Log In Screen is displayed. The user can then enter a username and a password. If the user s credentials are correct, they are then taken to the Administrator/Pilot Initial Screen. Page 12 of 17
Figure 8 4.1.6 Administrator/Pilot Initial Screen The Administrator/Pilot Initial Screen contains a drop down with the same three options as the default user with the addition of the Find Aircraft Type Information and the Find Runway Information options. Page 13 of 17
Figure 9 4.1.7 Find Aircraft Type Information When the Find Aircraft Type Information option is selected, a Flight Number text field and a Date text field are displayed to collect information from the user to display aircraft type information. Page 14 of 17
Figure 10 4.1.8 Find Runway Information When the Find Runway Information option is selected, a Flight Number text field and a Date text field are displayed to collect information from the user to display runway information. Page 15 of 17
Figure 11 4.2 Application Layer The application layer of the application is the application server used to perform all of the logic. Figure 12 shows the application layer. Page 16 of 17
Figure 12 4.3 Database Layer The database layer of the application is the database that contains all of the information that needs to be stored for future reference. It is a repository of all of the data, but it can also contain views in case the retrieval of the data needs to be optimized for any reason. The role authorization for this application will be done in this layer. Each user is assigned a certain role and each role has information that is visible in that role. This ensures that a user cannot access unauthorized information. Initial Implementation and Testing Phase Summary Based on the elements described in this document, the initial implementation and testing phase of this project has been 90 percent completed and the final implementation phase can begin. Final Implementation and Completion Phase In the Final Implementation and Completion Phase, the results from the testing of the previous phase will be used to finalize the implementation. Once the implementation has been completed, the project has been completed and can be delivered to the end user. Page 17 of 17