Documentation Deliverable Details
-
Cover Page with Title, Author, Date
-
Introduction describes the project, gives an
overview of the design, names the patterns used.
-
Features gives the list of the features that you
put in your project. Include the features that made it
in, the ones that didn't, and what future enhancements
could be added if you were to continue the project.
- Optional: Use Cases can be supplied that
detail the requirements of your application and provide scenarios
for testing whether your code meets requirements.
-
Package Diagram include the packages used in your
project. Use the drawing/UML tool of your choice.
-
Sequence Diagram include a sequence diagram for
at least one of the more complex portions of your
project. Choose an area where the Sequence Diagram will
help me to understand how your project works. Use the
drawing/UML tool of your choice.
-
Class Diagrams include at least one for each package that
you implement. Include all classes and
interfaces. Include significant attributes and
methods, not all of them. Make sure to include
significant class relationships as well, including
inheritance, realization, aggregation, composition,
and association. Use the
drawing/UML tool of your choice.
-
User Manual write a user manual that explains how
to run and test your project. This includes what
startup scripts or commands to use, what the unit test
output should be, and any data files that should be
created and/or read on completion. This is mainly for
me as I evaluate your project, so include enough detail
since I won't have to remember everyone's project based on your
presentation.
-
Summary write a three to five paragraph (i.e. one to two pages)
summary of your
project experience. Include what parts of the design
and implementation experience you enjoyed and learned
from. Also highlight any mistakes that you might have
made (and learned from!)
or things you wish you had known earlier in the project
lifecycle. Remember, I may not read every line of code, but I
will read every line of your report. Take the time to direct me
towards areas of your project where you spent the most time and did
the best work.
- Design Diary write down the design work that you do as you
proceed through the project. Keep this in a weekly format, including
all the artifacts you used in your design. I'm interested in when
and how you make decisions,
and what tools and methodologies (especially from the class)
that you found helpful. This is not a summary (see above) but
a running dialogue where you describe your process. For each student,
this diary will be slightly different, but I expect artifacts
from all of you from each week. Do this regularly,
don't try to add it on at the end.
Final presentation format:
You will register for a 15-20 minute session with me in the
lab. You will demo your project and I will ask you a
number of questions about it. Some of these questions will
be given to you ahead of time. Some of them will not.
It is imperative that you understand your own code. I will
be quizzing you on what it does and how you wrote it, so
make sure you write it yourself! According to the academic
dishonesty policy, you can be expelled or given an F for
submitting work that is not your own.
That said, if your project will be based on or use existing code
(either from work or another class), I will need a copy of
the source code used before you start the project. I will
assume that all other code submitted is
completely written by you and that you understand it
completely.


