COSC 303                            Large Systems Design                            Spring, 2006

Lab 1: Working with Poseidon


Introduction

Poseidon is a tool for developing UML diagrams for describing systems. In this lab you will work with two types of diagram in Poseidon, class diagrams and interaction sequence diagrams. We will use these to describe the relationships among the classes and objects in the Maze case study. This is an example of "reverse engineering," developing some design documentation from a given program. (Note: you are filling in design work that I did not do completely when I developed this case study.)

This file can be done in pairs or individually.

The Maze case study

The Maze is an example of a moderately large program that involves several interacting classes. The graphical user interface (GUI) adds additional complexity. In this lab we will analyze the structure of the MBS program not including the GUI. A description of the program and the classes can be found case study writeup given in three files with links on the syllabus. You should use this document and the code to develop your diagrams.

UML

You should read over chapter 5 of L&L for class diagrams and pages 286-289 for sequence diagrams. We will cover this again in more detail later. In Poseidon, you should open the User's Guide (under the Help menu) and look through chapters 3-8 and the Class Diagram and Sequence Diagram parts of chapter 10. Experiment a little before creating your first diagrams.


Class Diagrams

We will develop a class diagram for all the classes involved in the case study except the display/GUI classes. Just put in a block for the MazeDisplay interface. The class diagram should include all classes that are referenced during the execution of a call to the maze driver main method.

Here is an example diagram from the Marine Biology Simulation case study.


Sequence Diagrams

We will develop two sequence diagrams, one for the IterativeWalker initialize method and one for the takeStep method.

Remember, sequence diagrams show objects, instances of classes, not classes. See the following diagram, which shows a sequence diagram for the high level interactions for the Simulation step methodfrom the Marine Biology Simulation.


Deliverables

You should hand in a Poseidon file that contains one class diagram and two sequence diagrams. The name of your file should include your initials, both students if you work as a pair. You should hand in your diagram by emailing it as an attachment to chris@cs.colgate.edu. This lab is due 2:00 Monday, February 6.