Final Portfolio

Your portfolio will cover many of the design aspects of this course. You will provide it electronically by 23:59 on 6 May 2008. The portfolio replaces the final exam.

The portfolio consists of

  1. The requirements document for our project. (Refine as you see fit.)
  2. Two use cases, in narrative form, for the system that is being built. The narrative should include both a main flow (when things go as expected) and exceptional cases that the system will handle. See, for example, 3.3. on p. 90 of the text.
  3. Diagrams that relate the use cases you provided to classes in the project. See, for example, 3.9 on p. 100. Notice that actions are labeled as the diagram describes a flow between classes. The classes can either be the very simplistic Interface, Nebulous Middle, Database descriptions we have used, or more detailed if you feel it necessary.
  4. A Deployment diagram describing the system being built (see 4.3, p. 122 for example).
  5. For the use cases you provided, give state diagrams describing the state of the system as the operation happens.
  6. Provide the design for the section of the system on which you worked.
    1. Provide a description of each class, it's responsibilities, and its collaborators.
    2. Explain how the classes relate to the requirements (how are they integral in implementing the system).
    3. Provide a walk-through of the two use cases, explaining where (if at all) these classes will be used.
    4. Explain where in the state diagrams these classes are involved.
  7. Provide unit tests for your system, either as a description or as actual code.
  8. Provide integration tests for part of your code -- either between two classes your group wrote or for integration between your code and the code of a different group.

Gary Lewandowski
Last modified: Tue Apr 29 12:48:48 EDT 2008