Detailed Specification

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.

Use Case 1 - Input/amend/delete DVD records

The user is able to input details of a DVD in the set of DVDs for sale consisting of:

  • DVD name e.g. “The Godfather” - up to 30 characters - required input
  • DVD type e.g. “film” or “music” - up to 5 characters - required input
  • notes about the DVD e.g. “ An Oscar winning film” - up to 40 characters - optional input
  • value of the DVD (e.g. £12) - required input
  • name of a file containing an image of the DVD (e.g. C:\mysetofdvds\mypictures\film001.jpg) - optional field

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.

Use Case 2 – Store item records

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).

Use Case 3 - Search/sort DVD records

The user is able to:

  • list all DVD records in alphabetical order of DVD name
  • search for DVD records by any word that appears in the “notes” field
  • restrict all the above so that only "film" or "music" DVDs are shown.

Note that the images do not need to be displayed at this stage.

Use Case 4 – Display the images

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 ability to scroll through DVDs (e.g. by clicking on a “next button”)
  • the ability to display mini-versions (i.e. thumbnails) of the images.

Use Case 5 - Output web pages of the selection

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:

  • the ability to create a web page that displays a number of DVDs (e.g. all those from a particular type, such as films)
  • the ability to create a set of web pages with links between them (e.g. one DVD per page plus an index page which has a list of links to all the other pages).
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.