Assignment 5 – Netfliks Movie Database

Maximum Points = 50

The purpose of this lab is to introduce you to the List data structure and storing objects in a file using serialization*. In this lab you will write a program that reads in a list of movies and stores the movies in a data file for later retrieval. The purpose of this assignment is to use classes of objects in Java to create and manage a database consisting of movies. The application is a system for managing the movies on a site similar to Netflix.

 

A)   Each movie record contains a name of a movie (e.g. Star Trek), year released (e.g. 2009), MPAA Rating (G, PG, PG-13, R, NC-17), duration of video (in minutes, e.g. 126), Genre(e.g. Comedy), and Member Rating (0.0-5.0).

B)   Your program will read in the name of the file (i.e. movies.dat) to store and/or retrieve the movie records (from keyboard, FileChooser or GUI).

C)   Your program will ask the user for the PlayList name (i.e. “My Movies”) for the movies stored in the file.

D)   If the file does not exist, then your program will create a brand-new movie list and store it in the file

E)   If the requested file exists, your program will retrieve the data for all of the previously entered movie data from the file and the user can continue to update the PlayList.

F)   Your program should then provide the user with a menu that allows the user to:

a.    Change the name of the PlayList

b.    Display a list of all movies on the PlayList listing ALL of the information

c.    Display a list of JUST the movie names for all movies on the PlayList

d.    Display a list of JUST the movie names for all movies on the PlayList with a specified MPAA rating

e.    Add a movie to the PlayList by either specifying the location in the PlayList (starting at position 1) or by placing it at the end of the list if the location is not specified or the location is invalid. (make sure that the data is valid as it is entered)

f.     Remove a movie from the PlayList

g.    Change the location of the movie in the PlayList

h.    Save and exit the menu

G)   Be sure to save your PlayList when finished

 

 

You may use the classes discussed in the textbook on pages 427-440 and found in the books folders, with the following modifications:

 

(Due before class on Thursday, March 25, 2010) Bring a .doc file containing a UML class diagram for ALL the classes used in your program.

(Due on Friday, April 2, 2010 bfore 5 pm) Submit your .java files containing your program.

 Grades are determined using the following scale:

Grading Rubric  (Word document)

 

* serialization is the process of saving an object onto a storage medium (such as a file, or a memory buffer) or to transmit it across a network connection link in binary form. [http://en.wikipedia.org/wiki/Serialization]