For this question, you are given a negotiated statement ofrequirements and asked to produce a structural model.
Here is the negotiated statement of requirements (NSR) for thePickMeNow System (PMNS):
PickMeNow is a new taxi company which has started its operationsrecently. In order to meet the on-demand transportation needs ofits customers, PickMeNow has decided to invest in an IT solution toconnect its customers and drivers.
Drivers and customers are required to register with PickMeNow byproviding a name, contact number and an email address. PickMeNowassigns an identification number to each registered driver andcustomer. In addition, each driver is required to provide thedetails of his bank account (account number and bank name) andvehicle details as described below. Drivers can transfer the amountin his PickMeNow account to his bank account.
PickMeNow provides three types of vehicle to its customers:cars, vans and mini buses. For each vehicle, it is required tocapture its licence plate number, brand and model. When a customermakes a booking for a mini bus, he has to make an upfront depositamount. The deposit will be returned to the customer if the bookingis not cancelled by the customer. For vans, there is a booking feeon top of the trip fare. If a customer cancels a booking for a minibus, the deposit is forfeited if the cancellation is received 3days before the date of the ride.
When a customer submits a booking to PickMeNow, he needs tospecify the date and time, vehicle type, the pick-up point anddestination of the trip. PickMeNow would generate a booking id,calculate the fare and broadcast this trip to all available driverswho are free to accept the booking. The customer would then choosea driver from the list of drivers who had accepted the booking. Thechosen driver would then proceed to provide the taxi service to thecustomer.
The data to be kept for each ride includes a reference number,driver and customer details (identification number and name), fare,pick-up point, destination, distance, date, start time and end timeof the ride. At the end of each ride, the driver’s account will becredited with the amount of the fare minus any fee due toPickMeNow.
After completing a ride, customers can accumulate points. Aftercompleting rides worth a total of $400, the customer will become aPremium customer. Only Premium customers can redeem their points topay their bill. Points may be used to offset a customer’s bill andif there are insufficient points, the rest of the bill must be paidusing a credit card.
Develop a structural model for the system design, by submittingyour answers to the following:
(a) Identify the classes, their attributes and any hierarchicalrelationship(s), omitting the foreign key associations that wouldbe required for the application. Submit the class description asyour answer.
(b) Appraise the associations among the classes and hierarchicalrelationship(s) that would be required for the application.Construct the class-association diagram in UML as your answer. Anyderived association should be labelled, but you need not give thederivation.