CSE2305
Object-Oriented Software Engineering
 Exercise 1: Vic Roads Database
This exercise is designed to reinforce the concepts discussed in the lectures.
   There are no marks for completing this exercise, however your attendance at
  
  labs and tutorials, along with successful completion is officially recorded
  and may be used as a positive adjunct to your assessement in special circumstances.
You are strongly advised to compete the exercise as it will help
  you  with the concepts discussed in lectures and assist you in successfully
  completing 
  the practical work. These exercises often mysteriously reappear as exam
   questions.
Topic: Develop class abstractions for the Vic Roads 
  driver licensing and vehicle registration system.
Purpose: a chance to develop understanding of the key concepts 
  (abstraction, encapsulation, inheritance hierarchies) discussed in lectures 
  1 and 2 
  using a real-world example.
How to Proceed:
  - Go to the Vic Roads 
    web site (http://www.vicroads.vic.gov.au) and research the information 
    provided on driver and vehicle registration.
- Imagine you have been asked to undertake a basic object-oriented analysis 
    of a database system to manage driver licensing and vehicle registration.
- Using UML notation, draw a diagram of the major classes (abstractions) of 
    such a system. Clearly show "is a" (inheritance) and "has a" 
    (composition) relations.
- Show sample objects (instances) for each class as necessary.
- (Optional) Extend your classes to include key data and method information 
    using UML notation. (see Fowler 
    and the UML lecture 
    notes for more more information on the UML notation).
Hints:
  - Plan your time – you should be able to complete 
    most of this in 1 – 2 hours, but you will need Internet access to look at
    the website.
- Find out what types of licences are available – look at the regulations 
    in terms of what the license allows you to drive (e.g. does a truck license 
    let you drive a car also?)
- Find out what types of vehicle can be registered by Vic Roads.
- Find out about the relationships between licensing and registration. Can 
    you register a vehicle that you don't have a license for?
- You are using a publicly accessible web site – hence only public information 
    is provided (recall the discussion in the lectures about encapsulation). You 
    will have to make an "educated guess" about the information that 
    is not provided.
 
  This material is part of the CSE2305 – Object-Oriented 
  Software Engineering course. 
  Copyright © Jon McCormack, 2005.  All rights reserved. 
Last modified: 
  June 30, 2005