Integration Plan for CCC (Cinema Critic Comments)

 

The integration plan for this project maps the development of the final program using a set of three integration points.  These integration points demonstrate the tasks that are to be completed, the behavior that is to be expected, and the date for which they are to be completed for each of the portion of the final product.

 

1.      September 29th 1997

 

This program reads a sequence of files and does verification on those files.  Initially, category files with information and movie filenames are verified, then those movie files are opened and have the information and the review filenames are verified.  Finally, the review files are verified, and a report is created with the result of the verification on each of the files.  The formatting of the various files is to be used in future programs.  The operations for the program to complete are:

 

The program prompts the user for the name of the category file to process, and will create the report file with the same rot name only with a “.rpt” extension.  The program will check for the existence of that file, and will inform the user if it does not exist.  If the file does exist, then the file will be opened and processed.  The verification will continue for the movie files within the category files.  Finally, the review files are verified from their location in the movie files.  For each file that is opened, an entry is added to the report file that is generated.  When the program is completed execution, the user has the option of running the program again.

 

2.      October 29th 1997

 

The Movie Review System lets the user use the files from the first program to maintain a database of files.  The second program allows modification of these files.  When modifications are completed, and the database set is closed, a new “.mrs” file (movie review set) is created.  This output file contains information and names for all of the movie and review files that were in the database.  Reading a movie review set file will recreate the originating database for that review set.

 

The implementation of this system incorporated the first program to do verification on the database set when it was opened, and expands upon the linked list features that we had included in the original program.  Nearly the entire code set from the original program was used for this implementation.  The linked list is now doubly linked, and is more modular.  Additionally, there is a modified binary search algorithm in place to decide where a particular item should be inserted into the list, and controls the verification process.  The initial options from the program asks the user if they would like to (O)pen an existing database file, create a (N)ew database file, or (Q)uit the program. Either opening or creating a new file will ask the user for the name of the file to process and will then proceed to do verification on all of the files that are found to process.  The next menu that is displayed lets the user close the database and return to the previous menu, modify attributes of database entries, add entries to the database, delete entries from the database, list the database entries in increments of twenty, or view database entries twenty lines at a time.

 

3.      December 3, 1997

 

The final integration point adds some minor additional functionality but primarily adds the convenience of a Graphical User Interface to the previous program.  This makes it easier to visualize the relationships between various entries in the database.  There are distinctions between categories and individual movies, and the capability to view the reviews for movies.  Additional functionality that has been included is the ability to save to any file name, delete all of the reviews from the database when the corresponding movie file is removed from the database, and a new tracking system for movie files.  This program includes all of the functionality of the previous two programs, and uses the majority of the code.  Because of the inclusion of the curses library, the output is one of the primary functions.  The input of data into the program is controlled by the I/O line, and the remaining control is handled by menu selections from the user.  The changes made at this integration point will complete the project.