Create a design document (e.g., MS Word, pdf, or shared Google doc)
that includes the following things.
- Specify the key functionality of each component of your
project. List each class that will be necessary for your project and,
for each class, list the data that the class will be responsible for
(instance variables) and what communication will be required (i.e.,
methods). Also, specify the associations between these classes (i.e.,
is-a, has-a, instance-of).
- For each method, give a description and algorithm for what it does.
Remember, an algorithm is not code -- it is pseudo-code that could be
implemented in any programming language.
- A picture of a white-board image (or a drawing) that shows
an initial guess of what the interface will look like
and how the output will be presented (a picture/drawing could be very
useful here). It’s best to hand-draw this early in the design
process, before taking time to program anything.
- The final component of the design document is a phased
implementation plan. List at least two intermediate steps that you
will use to mark progress in completing your project.
Here is an example design of a mine sweeper game
Remember, the more clearly you specify your design at this
stage, the easier your programming will be later (the hard part, the
thinking, will already be finished!!)
Checking In
You will get full credit for this assignment by turning in a
reasonable design specified in an understandable manner.
Submit your design through the assignment in Moodle.