Software Engineering 7893 Controller Preliminary Design

Due 1700 (5 p.m.) Friday June 27, 2003

The high-level design will outline your main design ideas and document the main classes and packages for your controller. You are to submit a hard copy (i.e., printed on paper and bound or stapled) design document to my office by the deadline above. You may also include a electronic forms of the document on disk or CD but this will be viewed as supplementary material, not part of the main design document.

Required Information

The format of the design document is up to you, but it is expected to contain the following information.
  1. A hierarchy of packages, classes, and interfaces for your controller.
  2. Relationships between the components (UML class diagrams with annotations on the relationships are recommended):
  3. A discussion (perhaps augmented by sequence, collaboration, or activity diagrams) outlining how the components interact to accomplish the controller behaviour.
  4. For each class, package, or interface
    1. Name.
    2. The service it provides to the other classes, or packages, or the user.
    3. Its secret.
    4. Cardinality (0, 1, many)
    5. Public interface:
      • A description of the class's abstract states (i.e., what does it represent).
      • A list of public methods (optionally including signatures and pre/post conditions). If it isn't completely clear from the name what the method does then you should include a brief description of its behaviour.
      • A list of other public entities.

Back to 7893 homepage

Last modified: Wed 2003.06.25 at 13:30 NDT by Dennis Peters