![]() |
CPSC 211 Term Project
|
Contents
Assignment OverviewIn part two of the project (aka assignment two), you will continue work towards building a music library application. In this part of the project, you will design the core parts of the application (we will give you the class breakdown). The objectives of part two of the project are to:
As with part one of the project, you are encouraged, but not required, to work with a partner. Requirements for the Music Library ApplicationThe music library application will run on a single computer and will be accessible to a single user. There will only be a single Library of music. All Songs contain a title, a path to the associated MP3 file on the disk (e.g., "C:\My MP3s\Ode to Joy.mp3"), and a track number. Songs are uniquely identifiable by MP3 file path; no two Songs can exist that reference the same MP3 file. Songs should be associated with Artists, Albums and the Library. Artists have a name. No distinction will be made between individuals and groups (e.g., "Michael Jackson" and "The Jackson 5" are both valid Artists). Artists are uniquely identifiable by name. No two artists can have the same name. Albums are a collection of Songs, ordered by track number (where each song on an album has a different track number) – and will store the album title. In addition, there will be at least one album in the system at all times (a "default" album) and every song must be associated with a single album. Any song for which the user has not entered an album will belong to the default album. Albums are uniquely identified by name. There will be a single Library which contains collections of Albums, Songs, and Artists. A careful design of the associations between these four classes will be required in order to meet the following functional requirements. Your program must allow the user to:
For the design you are asked to complete, you will not be considering the user interface for the system (that will come in a later part of the project). You will also not be considering the library that handles the playback of your MP3s. Focus on the attributes and methods that are needed to provide the functionality described above. Deliverable: DesignYour deliverable for this part of the project is to complete a design for the system that provides the functionality described above. Your design will consist of the following parts:
You can write the class descriptions using any text formatting program you have available, but the document you'll submit should be in a format that the markers can open in a Unix or in a Windows environment. Therefore, make sure to translate your document to a HTML, PDF or plain text format before you submit it in. Finally, it would be great if you can put the class diagram and the class descriptions in a single document which has one of the formats mentioned above, but this is not required. You can submit one file with the class diagram and another file with the class descriptions. If you like, you can use Eclipse and create a Javadoc document for your
design. In this case you can create an Eclipse project and create the
classes their data components and their methods with empty bodies in it and
add the invariants, per/post conditions and exceptions using Jacadoc.
When you finish you can use Eclipse (by right cliking on the project and
selecting Export, Javadoc) to create a Javadoc document for your classes.
GradingThe following criteria will be used to grade this assignment:
Handing in the AssignmentYou should develop the assignment with your partner, but in the end only one of you will submit the final version for both of you. Do not submit more than one copy for each group. The person who will submit the project should do the following: If you have not done so, create a directory named cs211 inside your home directory. Inside cs211 create another directory named part2. Place the files you have created for this part ( either one html or pdf, file that contains the class diagram and the class descriptions or a file for the diagram and one for the descriptions) in the part2 directory. Copy the cover page for this assignment in the directory part2 and fill it in. Make sure that your partner has also filled in his/her part in the cover page. When you are ready to hand in your files, use: handin cs211 part2 Now check that the handin process was successful with the command: handin -c cs211 part2 You will see a list of all the files that were submitted. Check that you have submitted the necessary files and that you haven't submitted any extraneous files. |
|
Last updated: June 23, 2009 at 5:07 PM
|