Modeling Laboratory III:  Dynamic Modeling

Due:

Tuesday,  December 6, 2011 by 6:00 pm.  Email your completed practicum as defined in the Deliverable section below to the lead grader.

Purpose:

The purpose of this practicum is to become comfortable with basic UML skills by concentrating on the behavioral model based on your previous static model developed in Laboratories I and II.

Strategy:

You are to look at the classes you have defined, as well as their relationships, and now focus on fleshing out the operations required on those classes, by concentrating on the messages that will be passed among classes in their collaborations in runtime scenarios.  Define clearly the responsibilities of each class that you have, and decide if further abstraction (i.e., new classes) is necessary (it almost certainly will be).

To guide you in this endeavor, think through the various collaborations that objects will engage in during runtime, especially the sequence of these communications.  Use UML sequence and collaboration diagrams to help your thought process on this.  The activity will be a recursive effort at identifying sequences of interactions and at the same time identifying new operations that will be needed to support the various collaborations.  You will undoubtedly discover that you need new classes (with smaller scope) to facilitate these object-object interactions.  You should begin to think of introducing Controller and other helper classes to control the various system activities and object interactions.

As you revisit your static model, think of individual patterns that you have learned that might be applicable in a given context, with a view to simplifying either the static class structure or dynamic interactions among objects.  The patterns you should have in your arsenal by the delivery date include Singleton, Class and Object Adapters, Template Method, State, Proxy, Facade, Factory Method, Chain of Responsibility, Command, Composite, Iterator, Bridge and Mediator.  No a small arsenal.

You should create a number of UML sequence, collaboration , state, and activity diagrams which detail your understanding of how the objects based on your current model will interract and collaborate at runtime.  These diagrams should show your interpretation of the dynamic behavior of your model at runtime.

Your grade for this practicum will be determined on the depth of insight you have brought to the creation of a dynamic representation of your static model.

Deliverable:

A gzipped tarball of your dynamic and static models as a Visual Paradigm project called yourloginid .practicum3.tgz.   Email this to the lead grader.

Click here for a General Description of the Problem Domain