The garage has a number of regular customers who have their vehicles serviced annually whereby
the vehicle is checked over for faults and standard items like oil are replaced. The charge for this
service is based upon the type of vehicle being serviced, with different rates for motorcycles, cars,
buses and lorries. If the service reveals a vehicle requires further work, e.g. a new component, the
customer is notified and quoted a price for the work before it is begun.
The garage also carries out repairs to vehicles, whether the vehicle belongs to a regular customer or
not. For repairs the customer is quoted a price and a vehicle collection time before any work
Customers who have used the garage for an annual service are notified one month before the next
service is due. Generally, customers are expected to pay for the work when they arrive to collect
their vehicle. Customers are classed as Valued Customers if they have had their vehicle serviced in
the two previous years. Valued Customers are allowed to have 2 months interest free credit until
they pay their invoice for any work carried out, and are occasionally offered special deals.
The garage has been using a paper system to manage their servicing and repairs but now want a
computer system to carry out the same tasks. They believe a computerized system will improve
their customer relations, reduce the administration workload of staff and simplify their accounts.
1. The garage manager would like the following reports on a regular basis:
Report 1 A list of all customers who have had work done by the garage in the last 12 months,
ordered by last name, including their name, address, phone number and an indication
if they are a Valued Customer.
Report 2 A list of all work carried out by the garage in the previous month including payment
received for each item and a total of income for the whole month.
Report 3 A list of monthly income received for servicing and repairs over the last year
including the total for the year.
Using JSP techniques and methodology, analyse the requirements for both reports. Produce
diagrams for each report showing the step-wise progression. Diagrams should include logical data
structure diagrams (DSDs), preliminary program structures (PSDs) as well as the detailed program
specification for each report.
2. Draw a flowchart for each of the three reports specified in Task
3. a) Write a procedure that will check for customers who should be sent an annual service
notification in the next month. This procedure will be used to generate letters to the customers.
b) Write pseudocode for Report 2 described in Task 1.
c) Write pseudocode for a reports main menu. Note: you are not expected to write pseudocode for
the options, only the code to navigate the menu is required.
4. Test the pseudocode written in Task 3b) by producing test plans, desks checks and dry runs.
5. This task involves using the UML modelling technique.
a) Create a high-level class diagram (Domain analysis) for the garage system.
b) Carry out a high level USE CASE analysis and produce a set of USE CASE diagrams that show
the actors and any stereotyped dependencies.
c) Develop a set of USE CASE diagrams for following scenarios:
• Adding a new customer to the database (file)
• Deleting a customer
• Printing a report
d) Develop SEQUENCE diagrams for each of the scenarios described in 5c). Develop
COLLABORATION diagrams for the scenarios described in 5c).