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.
- A hierarchy of packages, classes, and interfaces for your simulator.
- Relationships between the components (UML class diagrams with annotations
on the relationships are recommended):
- Data-flow.
- Client-of (dependency).
- Inheritance.
- Associations
- A discussion (perhaps augmented by behaviour
diagrams) outlining how the components interact to accomplish the simulator
behaviour.
- For each class, package, or interface
- Name.
- The service it provides to the other classes, or packages, or the
user.
- Its secret.
- Cardinality (0, 1, many)
- 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
- initiate a point-to-point connection,
- shutdown the connection,
- send a line
- receive a line
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