Bvis Car Hire Company: The Problem Description
You are invited to design a computer system for a car hire company. The system will record details of the company’s fleet of cars and its hire transactions. A conversation with the director of the company produced the following description of the requirements for the system. The requirements were based on the way the company currently works with a “paper-based” manual system. The current manual system works as follows:
The company keeps a file of its customers. When registering a new customer the following information is recorded: name, telephone number and address. The customer file is used for all customers – note that “non-regular” customers can be removed from the customer file.
_ For each car, the details recorded should include its registration number (unique), make, model, engine capacity, hire class (1 - 6) and the date of registration, together with the date of each service, the mileage at the service, and the name of the mechanic responsible. The mileage of each car is also
recorded – this is updated each time a car is returned from a hire.
Cars have a minor service every 6,000 miles and a major service every 12,000 miles (approximately). Cars are serviced at the first opportunity when they exceed a service interval. The company has its own garage and one of its mechanics is put in charge of a particular service. The management requires that the date of any service performed on a car is recorded, together with the name of the mechanic responsible for the service.
_ When a vehicle is hired, if the customer is not known to the system, their name, address, telephone number, and driving license number are recorded on the hire form, together with the identification of the hired vehicle. The dates of the beginning and end of the hire are recorded (the second is an
estimate and will be updated when the vehicles is returned) as are the number of miles at the start of the hire period.
_ When the car is returned, actual return date and the mileage are recorded in the hire agreement file, and the cost of hire is calculated, based on the daily hire rate. The customer must make a payment (by cash only) and get a receipt before leaving the company.
_ The management requires that every completed hire is recorded with the details of the customer, the dates of the beginning and end of hire, and the amount of the payment.
_ There is a record kept for each hire class of vehicles: the daily, weekly, and monthly hire rates are recorded. These rates vary from model to model according to the hire class.
_ The garage keeps a record of the name, address and home telephone number of each mechanic; the management must keep track of the mechanics with the same name and telephone number. It is a requirement of the company that all mechanics hold a current driving license.
Tasks to be done:
1. Identify the essential use cases which cover and support the understanding of the required functions in the problem description and make an actor goal list.
2. Draw a use case diagram for the use cases that you identified in the previous question to show the relationships between the actors and the use cases, and the relationships between the use cases.
3. Write a casual type use case for one of the most important use case, hireCar.
4. Work through the problem statement and the use-case model that you have produced to identify classes (concepts), associations, and attributes in the application domain. You should give enough discussion to support your identification. Draw a conceptual model which includes, the classes, associations, and attributes that you have identified.
5. Draw a system sequence diagrams for the typical course of events of the use cases that you think most significant for the development of the system.
6. Based on the use-case model that you produced, the conceptual model and the system operations that you defined, work out a design for the system. The design document should include:
(a)The sequence diagrams which show the assignment of responsibilities to classes of objects.
(c) The design class diagrams which shows the methods/operations of classes.