CSE2305 - Object-Oriented Software Engineering
Assessment

 

Assignment 3


This assignment is due by 11.59pm Friday, 22 September ( )... just after International Talk Like a Pirate Day
Total marks: 50.
Contribution to final mark: 5%.

Synopsis


Question 1: Pirate Pete's Ship Shop

[50 marks]

Ahoy mateys... Pirate Pete runs a shop that leases ships to pirates intent on causing mayhem and destruction. He has a ship for all occassions. Recently he has found it hard to keep track of which ships have been loaned and which are moored at his wharf. The problem is exacerbated by the dangers of the trade... his ships are often sunk whilst they are out on loan! Pete has decided to computerise his inventory, keeping track of which ships are "in" and which are "out", and also when the ships that are "out" are to be returned.

Pete has three types of ship:
Spanish galleons; Schooners;

... and Canoes (for the pirate down on his luck).
Spanish galleons, schooners and canoes may come mounted with guns. You can only fit a single gun to a canoe.
Every boat comes free with a talking parrot that incessantly reminds the skipper to return the ship in one piece. The ship can't leave the harbour unless it has a parrot on board. Sometimes parrots fly off and leave a ship during its voyage never to be seen or heard again.

For any item let by the Ship Shop we are interested in the following information:

The system is to have the following features:

Any interaction with the system should be via a simple text interface. The system should automatically load the database on startup, and save it before quitting. You should be able to specify the name of the database file as a command line argument.

Develop an object-oriented design for this system using UML diagrams.

Also, you will need to devise a test plan for your design. The test plan should test all the features of the system as specified.


What to submit for assessment

You should submit the following:

See the submit page for details on how to submit your assignment.


This material is part of the CSE2305 - Object-Oriented Software Engineering course.
Copyright © Alan Dorin, 2006. All rights reserved except for the images which are from Apple's Electronic Dictionary.

Last Modified: September 18, 2006