Hong Kong Institute of Vocational Education Department of Information Technology HD in SE/GSD (IT114105/IT114107)
Module Name: Object-Oriented Technology Module Number: ITP4909
Assignment Number: ONE
Submission: 12 Apr 2019 Fri 12:30PM at Moodle
in Assignment Box
Weighting of This Assignment: 30% of the overall Assessment
(50% of the End of Module Assessment)
This assignment must be done by individual only. Plagiarism will be treated seriously. Any assignments that are found involved wholly or partly in plagiarism (no matter the assignments are from the original authors or from the plagiarists) will score Zero mark. Late submission will NOT be accepted.
Problem Scenario – Volunteer Car Scheme
The Helping Car Scheme (HCS) provides free transport for elderly and disabled people living in Hong Kong. This scheme allows them to maintain social life and to prevent isolation. All passengers must be registered to use the HCS service. Then they can get around with ease, convenience and peace of mind. HCS also recruits volunteer drivers, who use their own cars without being paid, to transport registered passengers. HCS is now developing a car booking system for matching volunteer drivers and registered passengers.
After conceiving the idea, HCS needs a system for the application implementation. The following is a brief description of the operations of the booking system – Match and Drive U (MnDU) System which consists of two smartphone apps and one server.
To use the MnDU, a user first needs to download an MnDU passenger app on his/her smartphone. The user will first do a passenger registration in the app. The information for a passenger to register includes username/password and phone number. After the registration, the user can start using the App to book a car from the MnDU.
Softcopy
Hardcopy
1
When a registered passenger wants to book a car, the first step is to login. The passenger then enters the date and time of transport, destination of the transport and the pickup location for the passenger. After the MnDU received the book order, the system will use the pickup location to search for registered volunteer drivers who are serving the area. Then a list of available drivers will be displayed with extra information of driver’s ratings or user comments, car model, and any available walking aids including folding wheelchairs. The passenger then selects a driver. After receiving the passenger’s selection, the MnDU will create an outstanding book order. The MnDU will send the driver the pickup location, destination and mobile phone number of the passenger. As for the passenger, the MnDU will send the license plate number of the car, pickup time as well as the phone number of the driver who has taken the order. After sending the message to the passenger and driver, the MnDU will mark the status of the car from vacant to BookedToPassenger for that date and time.
Once the passenger gets on the car, the driver will press a passenger on board button on the app and the MnDU will mark the car status from BookedToPassenger to passengerOnboard. Until the passenger arrives at the destination and gets off, the driver will again be on the app to press an order completed button for the MnDU to update the status of the book order as completed. Both the passenger and driver can use a view history function of their apps to check to the order taking/order records. (The passenger order taking history or the driver completed orders history). After taking a car, the passenger can also give rating and comments to the driver.
For a volunteer driver to join the HCS to help people, he/she needs to download a MnDU driver app and do a registration which includes entering the username/password, phone number, and a car license plate number. The driver will also enter the areas he/she want to transport passenger. When a driver starts his/her book order, he/she will log in the MnDU driver app and press a start service button on the app to make MnDU mark the car status from stopService to driveToOrder. After his/her book order is completed, the driver will press a stop service button and the MnDU will again mark the car status from driveToOrder to stopService.
After the MnDU do a matching between passenger and driver, both passenger and driver can cancel the call order as long as the passenger has not boarded the car. The MnDU will delete the incomplete book order and send the message to both passenger and driver.
For the passenger and driver matching process, in case more than one passenger wants to take a driver, the first passenger selects the driver will have the book order. On the other hand that if no car is available for a passenger’s searching criteria, the MnDU will display a message on the passenger app that no car is available for he/her transport request.
2
To secure and monitor the HCS service, after the driver gets on his/her car and logs in the MnDU driver app to start his/her book order, the app will send the GPS location to the MnDU every 10 minutes on the background for the MnDU to keep track of the general locations of the car. But once a driver press a passenger on board button, the app will poll the location (latitude, longitude) of the app again to confirm the exact location of the car for the MnDU to record the routing of the transport service, and update the status from driveToOrder to passengerOnBoard.
Note: Apart from registration, all functions of the MnDU need the user to log in beforehand in order to use them. As for the GPS related functions, the MnDU uses GoogleMapAPI.
Note:
The following are the websites concerning the Google Map API mentioned in the question
Getting the Current Location of the User https://developers.google.com/maps/documentation/geolocation/intro ) Locating volunteer cars (https://developers.google.com/maps/documentation/distance-matrix/intro )
3
Task Specification
Section 1: Use Case Modelling
1. Identify actors of the MnDU System.
2. Identify use cases of the MnDU System.
3. Draw an initial use case diagram of the MnDU System using (1) and (2)
4. Write the description for each actor.
5. Write the description for each use case.
6. Write the base use case descriptions for the Book a Car process.
7. Refine and structure of the initial use case diagram in (3) using “extend”, “include” and
generalization relationships wherever applicable.
Section 2: Structural Modelling
8. Perform a textual analysis to identify the candidate classes and state the nature of each of the classes.
9. Prepare a data dictionary for the candidate classes in (8).
10. Draw a class diagram to show the relationship among classes in (8). Show the
inheritances (if any) and multiplicities of the association among classes.
Section 3: Dynamic Modelling
11. Draw a System-Sequence-Diagram of the Book a Car use case.
12. Draw a Three-Tiers Sequence Diagram of the Book a Car use case (normal scenario).
13. Draw a Three-Tiers Sequence Diagram of the Book a Car use case (exceptional scenario).
(Note: the Book a Car use case should start with the passenger login and end with the passenger boarded the car)
14. Draw state diagram(s) for the controller object(s) in (12) and (13)
15. Refine the initial class diagram in (10) with the information from the sequence diagram for MnDU System.
4
Mark Allocation
Your assignment work will be marked according to the following criteria.
Work
Mark Allocated
Use Case Diagram, Actor Specification, Use Case Description
30%
Class Diagrams and Data Dictionary
30%
Sequence diagrams (design level)
20%
State Machine Diagrams (design level)
10%
Consistency between UML Models
10%
Submission of Assignment Work
1. This assignment should be done by you only. Plagiarism will be treated seriously. Any assignments that are found involved wholly or partly in plagiarism (no matter the assignments are from the original authors or from the plagiarists) will score zero mark.
2. Upload your softcopy (MS Word file) to Moodle and submit your hardcopy to the collection boxes outside the 325 (at or before 12 Apr 19, 12:30PM.)
Late submission will NOT be accepted.
3. You should state any assumptions that you make.
*** END OF ASSIGNMENT ***
5