INT21OOP Object Oriented Programs
Assignment 2 Semester 2 2006

Value: 20% of Subject Assessment
Due: Fri 02 June 06 (week 13)

Taking an object-oriented approach, design and code in Java an application with a GUI interface that Daisy Leamon and Roger Chalmers can use to help run their small business called Movie and Music Hire.

To create the GUI, you are expected to code your own bean(s) and use NetBeans GUI builder. To handle the products, you are expected to design a class hierarchy descending from a general abstract class.

Movie and Music Hire

Movie and Music Hire hires out a small number of the following products, note that they specialise in old technology vinyl records for some of their customers who are music buffs.

All products have a title (String). The quantity tells how many products with the same details are in stock. Each individual product needs to be given a unique stock number.

DVDs and Videos hava a running time in minutes (Integer). CDs and records have an artist (String). Records also have a type (album, single, extended play (EP)).

A small selection of products is in the file products.txt. Add some more example products of your own.

Details of Required Application

Daisy and Roger want an application to keep track of their stock. It should be easy to use and look attractive.

It should be possible to read in details from the file, products.txt, and display them clearly.

Daisy and Roger also want to be able to edit product details as well as add and delete products and then save to a new file, which can later be read in.

Enhancement

Daisy and Roger would like images of products displayed with the product. They have collected the following jpeg files as a start. They are happy if you would like to display a default image when a product has no image associated with it.

Sun Ra A Joyful Noise
All Apologies Kurt Cobain
Ghost Dog The Way of the Samurai
Screaming Fields of Sonic Youth
Sounds of the Satellites
Big Science
Blastula
Dub Housing
Space is the Place
Strange Angels
Woman of the Year

Apart from wanting the program to look attractive, Daisy and Roger are happy to leave the details of the GUI up to you. However, they are hoping that you will be able to add an option to the menu to start the message "Movie and Music Hire - Daisy Leamon and Roger Chalmers" scrolling across the screen (they want to be able to stop it too).

Documentation and Submission

For your external documentation, create an html document with the following content.

  1. Your name and student number.
  2. A design diagram showing the product hierarchy. Design diagram(s) showing the relationship between the main classes in your application.
  3. A clear indication of which class is the JavaBean(s) that you created and then used in the NetBeans GUI builder.
  4. A UNIX style man entry with NAME, SYNOPSIS, DESCRIPTION, FILES, WARNINGS, LIMITATIONS, DIAGNOSTICS and BUGS sections.
  5. The Test Plan using a table format and showing for each test conducted: reason, data used, expected result, indication of actual result, and a link to actual output from tests (screen capture images from actual runs).
  6. A link to your javadoc documentation (class descriptions).
Hand in the following.
  1. Program source code listing (.java files).
  2. Your signed statement of authorship.
Email me the following.
  1. Your jar file executable (I will run the program to assess it).
  2. Attach your products.txt file and an example file created by your program during a program run.
  3. The address (URL) of your html file (or attach the html file to the email).

Consult the following for further information about Unix man page entries and internal program documentation (comments).
Documenting Guidelines     External Documentation Example

Marking Scheme mark
Design Diagram(s) : correctness and quality 2
Implementation : OO approach, bean quality, assessed from source listing 3
Javadoc documentation - class descriptions 2
Program Performance : requirements met, assessed via program run 3
GUI interface : assessed via program run and test output 2
Test Plan : thoroughness and quality 2
UNIX style man entry 2
Implementation and Style : excellence of application
performance, code, comments, and GUI
4
Total 20

Penalties
Assignments not accompanied by a signed statement of authorship (available from the office) will not be accepted.
Penalties as specified in the Unit Outline Semester 1 2006 apply.

Fran Soddell     last updated 01 May 06 F.Soddell@latrobe.edu.au