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