Software Engineering 7893 Simulator Preliminary Design

Due 1700 (5 p.m.) Friday May 28, 2004

The high-level design will outline your main design ideas and document the main classes and packages for your simulator. You are to submit a hard copy (i.e., printed on paper, but don't bind it -- I need to copy it for the TA, one of those folders with the pressure clip works well) design document to my office by the deadline above. Also please submit an electronic copy of the document, including UML models, using Websubmit.

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 simulator.
  2. Relationships between the components (UML class diagrams with annotations on the relationships are recommended):
  3. A discussion (perhaps augmented by behaviour diagrams) outlining how the components interact to accomplish the simulator 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.

Instructor Supplied Packages

I will provide a package ctf_tools containing two sub-packages for use in Simulator as described in detail in the online javadoc . Breifly, they are as follows:
network_layer
A networking class that hides the details of the network from the simulator and controller. It has functions to accomplish the following
game_view_pkg
A drawing package capable of drawing the current state of the game. To use this package you must supply an object that implements the Game_model_interface and is capable of reporting the current state of the game. Note that some of the methods in the Game_model_interface return objects of type Two_vect, which you must implement.

Back to 7893 homepage

Last modified: Mon 2004.05.24 at 09:44 NDT by Dennis Peters