Management System for Flight Information COP 5611 Chantelle Erasmus Page 1 of 9
Project Phases Design Phase (100 percent complete)... 3 Initial Implementation and Testing Phase (0 percent complete)... 8 Final Implementation and Completion Phase (0 percent complete)... 9 Page 2 of 9
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 9
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 9
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 condition Table 3 Figure 2 shows a sample dialog to be used in this use case. Figure 2 Page 5 of 9
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 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 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 Page 6 of 9
condition Table 7 Figure 3 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 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 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 clause Table 9 Page 7 of 9
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 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 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 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 9
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 9 of 9