THE CD BROWSER


LEARNING OBJECTIVE: To gain experience in developing a complete application using all of the topics covered in this course.


DESCRIPTION: The outcome of this project is a CD Browser application to allow the user to manipulate information about music CD's.  People with large CD collections can find it difficult to keep track of which CD's they have and which songs are on which CD's. The CD Browser application you create will allow those users to store information about their CDs making it easier for them to manage their CD collections.


REQUIREMENTS: This project is actually broken down into smaller components similar to how real world applications are developed. All classes should compile and have a toString() method (except the UI) along with a main method to allow for testing.

Create two classes, CD and Track, that will be used to store information about the CD's and the Track's on those CD's. For each CD, you should allow the user to store title, artist, record label, and the year the CD was released. For each track, you should allow the user to store the title of the track, the track number, the track length, and the CD that the track belongs to. HINT: You might want each CD should have an unique ID number, that same number should be stored in each track that is on that particular CD. This allows you to be able to group tracks onto a CD.

Your user interface should use arrays of CD and Track objects to manipulate the data. Think of your array of CD's as all of the CD's in a person's CD collection. You can use another sort of Collection if you prefer such as Sets. Queues and Stacks are not appropriate and will make things more complicated.

Create a MainUI class which will encapsulate the User Interface that allows the user to view, edit, delete, and add to the data.  You should focus on the elements in that order. You can use either textual or visual components as you see fit. Your UI should allow the user to view, edit, add/create, and delete CDs or Tracks. Deleting the last track from a CD should delete the CD..


PROGRAM TURNIN:
All java files should be submitted through WebSubmit. Do not wait until the last minute to submit things. And make sure that at all times you have a program that compiles. Programs that do not compile will be given a zero for that component.