Project 2 Design
Due Date
- 11:59pm, Sunday, October 8, 2006
- 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.
A new component to the design is a preliminary component of the final
project, to get you writing code the first week and not waiting until the
second week. You should actually submit 100% WORKING code, not just an
attempt at working code.
The Assignment
Your design assignment is broken down into two parts.
Classes
You are required to turn in the following:
- Class Headers - You must submit the entire class header material
for all three required classes. These must include appropriate function
header comments including pre- and post-conditions.
- Class Implementation - You must submit the entire implementation for
the Board class. As encouraged in the project description, implement this
class and test it with your entire program to ensure that everything still
works. Be careful to think about how the Human and Computer classes should
have access to the board positions. Hint: do not allow direct access of the
vector!
Test Program
You are required to turn in the following:
- Test main for Board - You must submit a main() function that
appropriately tests each of the methods of your main class. It should build
a (or several) Board(s), run each method, and check every return value or
change to a parameter. Your test main should run every line in your Board
class (100% line coverage).
A template for your design document, p2design.txt,
is provided in Ms. Wortman's public directory. Copy that file
/afs/umbc.edu/users/d/a/dana3/pub/CMSC202/p2/p2design.txt
to your local directory and fill in the necessary information.
Submit your modified p2design.txt file to complete this assignment.
Grading
Your p2design.txt file will be compared to the header file or files that you
submit when Project 2 is due. Minor changes to the design are allowed.
A minor change might be changing the way in
which one or two parameters are passed or even the removal, splitting or
addition of one function.
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. Substantial design
changes demonstrate that you did not
give sufficient thought to your design before beginning the implementation.
Your p2design.txt file will count as 10% of your project 2 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.