Project 4 Design
Due Date
- 11:59pm, Sunday April 6, 2003
- No late designs accepted
Objective
The objective of this assignment is to make sure that you begin thinking
about your project in a serious way early. This will not only give you
experience doing design work, but will help you anticipate the number of
hours that you'll need to set aside to be able to complete the project.
The Assignment
Your design assignment is broken down into three parts.
- A description of the major data stores
For this project, list all vectors which you plan to use to
store data. Specify their size and their use.
For example
A vector of integers to store the age of each student in the class.
A vector of 3 exam grades for each student
A vector of floats to store each student's exam average
- An English/psuedo-code description of the high-level algorithm
used in main().
Use indentation where appropriate to show logical levels of code
For example
Validate the command line arguments
Open the input file
For each line in the file
Read the student id
Read the three exam grades
calculate the exam average
store the average in the exam-average vector
For each student id
print the id and exam average on the same line
Close the file
- Class Documentation
For all classes, provide a complete,
ready to compile header (.H) file. You must include all public member function
documentation (ie Pre and PostConditions) and all public member function
prototypes. You need not include private member functions or private data.
Class related exception classes must also be provided.
A template for your design document, design4.txt,
is provided in Mr. Frey's public directory. Copy that file
/afs/umbc.edu/users/d/e/dennis/pub/CMSC202/p4/design4.txt
to your local directory and fill in the necessary information.
DO NOT submit your .H files at this time. Instead, cut and paste the
contents of the .H files into design4.txt.
Grading
You design4.txt file will count as 10% of your Project 1 grade
(part of the Correctness). If this
file is not submitted by its due date, or if you submit a new version
after its due date, you will lose all 10 points.
Your design1.txt file will be compared to the header file or files that you
submit when Project 1 is due. Minor changes to the design are allowed. A
minor change might be the addition of another parameter to a function's
parameter list, or the addition of another function or two.
If there are major changes between the design document and the header files
that are part of the final project, you will lose 5 points. This would
indicate that you didn't give sufficient thought to your design before
beginning the implementation.