CSE2305 - Object-Oriented Software Engineering
exercises

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:

  1. Go to the Vic Roads web site (http://www.vicroads.vic.gov.au) and research the information provided on driver and vehicle registration.
  2. Imagine you have been asked to undertake a basic object-oriented analysis of a database system to manage driver licensing and vehicle registration.
  3. 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.
  4. Show sample objects (instances) for each class as necessary.
  5. (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:

  1. 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.
  2. 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?)
  3. Find out what types of vehicle can be registered by Vic Roads.
  4. Find out about the relationships between licensing and registration. Can you register a vehicle that you don't have a license for?
  5. 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