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.