Methodology is a systematic and structural procedure that is used as a general guideline for developing a system. It is important that an appropriate methodology flow is adapted to develop a system to meet the requirements as specified.
To indicate time allocated to a development phase, Gantt Chart is used to plot the timeline in accordance to the methodology used.
- Methodology choice
The system development process utilizes Rational Unified Process (RUP), as shown in Figure 3.1, which was created by Rational Software Corporation, a division of IBM. RUP is an iterative software development process derived from the work on the UML and associated process.
Figure 3.1 RUP flowchart (Rational Software)
Four Major phases of the process are:
- Inception, where feasibility tests are conducted to gather requirements and define user requirements. It also assesses risk and cost as well as timeline.
- Elaboration, where a large majority of the user requirements are defined by creating use-case diagrams, conceptual diagrams and package diagrams.
- Construction, where the requirements, use-cases and system architectures are taken into account to build the system. It is also where UML diagrams are used.
- Transition, where the system, documentation and training are delivered to the customer and feedbacks are retrieved.
RUP is used to develop the project due to the methodology’s characteristic:
- RUP is suitable for real-time systems, which the developing system retrieves data from RFID tags at all time to pinpoint their locations at near-real time.
- The project’s requirements are still not fully understood, and may be changed at any time due to budget changes or technology advancements.
- The system is expected to handle large amount of data.
Waterfall model is not suitable because the model requires its requirements to be fully understood, and is not suitable for real-time data processing. Prototype model is more suitable for online systems and not server-client systems.
- Phases within the chosen methodology
Several phases in RUP-based approach in designing the system:
There is no known existing system that can track passengers real-time within an airport, and passengers may accidentally get lost in the terminal building. Therefore existing system is examined to determine how a tracking system will it in the existing system without incurring major modification to the system which risks introducing more hidden bugs to the system. Similar, existing RFID-based systems are studied to determine which setup is more appropriate to the system
Detailed user requirements about the system are gathered from clients and use-cases are defined.
Use case diagrams, conceptual diagrams and package diagrams for the system are designed in this phase, and a large part of the system’s requirements are defined more thoroughly.
UML diagrams are used in this phase to build and code the project along with the information on developed user requirements, use cases and system architectures. The system will be built as a model basis, since it is impossible to build full-scale tracking systems in a real environment.
The system is tested on other students to test its full functionality and retrieve feedback from the testers in order to improve the system as well as to rectify any issues.
The system utilizes RFID readers and tags apart from the usual computers and servers.
- RFID readers and tags
In real-life implementations, the system will consist of an array of UHF RFID readers, each with a range of up to 5 meters in radius, while the tags will be class-0 passive tags, embedded into the boarding passes with pre-encoded 96-bit UID with perforated antennas for added privacy and security once the desirability of being able to be read from a distance is no longer wanted.
In simulated environment, however, rewritable RFID tags are used to demonstrate the functionality of the system; as the readers only have very limited range of around 5cm, the functionalities will be demonstrated small-scale.
Several software are used to develop the project, to document all related documentations, and to run the system.
- Java Development Tools (JDK)
Developed by Sun Microsystems, Java is among the most widely used object-oriented language JDK is used to implement compilations of the language.
- Rational Rose
Rational Rose is used to create system models, use case diagrams, sequence diagrams, etc.
MySQL is an open-source, multi-platform database system that will be used to store passengers’ records as well as UID for passengers with SSRs.
- System requirements analysis
System requirement analysis is critical to system development as it determines if existing hardware/software is capable of the system. The system consists of a central tracking PC, a server for database, and RFID readers. All these are linked up. All PCs and servers in the system run Windows operating systems.
Appropriate methodology need to be chosen to facilitate project development; in this case, RUP is identified as the most appropriate methodology to be used for the system. A Gantt chart is used to record tasks in each corresponding phase for future references. Tools and software needed to build the system are identified.