You are a member of a software development company, which is developing a program for use by PC users to manage information about DVDs they wish to sell (e.g. films, or music).
The company wants you to use Java to prototype the program. Its working name is BuyDVDs. It will eventually be integrated with other programs the company is working on, for instance to make details of the DVDs selected available on the web (e.g. to upload them to eBay), but at the moment you are just to work on a standalone program.
The initial Requirements Analysis for BuyDVDs has been completed and documented in the form of a Use Case diagram. If there are any ambiguities in the requirements, you are to make and document sensible assumptions.
The company want you to develop the program in a highly modular way so that, for instance, should the user interface need to be replaced it would be possible to do so with the minimum disruption to the rest of the code.
The software company has agreed to pay you on a sliding scale depending on how much of the required functionality you achieve by the deadline and on the quality of your work. The scale and quality criteria are given later in this document. See image.
The user is able to input details of a DVD in the set of DVDs for sale consisting of:
The user can subsequently amend or delete any DVD records. For this Use Case there is no need for records to be saved to a file or database.
The user is able to store DVD records so that when the program is closed and run again the records are still there and any amendments are shown. It is up to you to decide how to store the records (e.g. using a database, using a text file or using object serialization).
The user is able to:
Note that the images do not need to be displayed at this stage.
The user can choose to display the images of DVDs in the set of DVDs. At a minimum the user should be able to select any DVD from the set of DVDs and display the associated image. Ideally more sophisticated functionality should be supported. For instance:
The user should be able to create an HTML web page (or web pages) that display details of the DVDs in the set of DVDs including the images where present. There is no need to deploy the web page onto an actual web server.
At a minimum, the user should be able to select any DVD from the set of DVDs and create a web page that displays the details including any associated image.
Ideally more sophisticated functionality should be supported. For instance: