CUNY B r o o k l y n  C o l l e g e            Department of Computer and Information Science
CIS 763X: Software Methodology
with Dr. D. Kopec                           Fall, 2000


Back to individual Class Presentations

UML Distilled: Applying the Standard Object Modeling Language

by Martin Fowler with Kendall Scott

Chapter 8:  State Diagrams
Chapter 9:  Activity Diagrams

explore these great online prsentation


UML and Programming UML Notations UML Distilled

Presented by Yusong Li


Chapter 8:  State Diagrams

The full name should be state transition diagrams, which defines a number of states and describe the transitions between the states.
 

Terminology

Actions are associated with transitions and are considered to be processes that occur quickly and are not interruptible.
Activities are associated with states and can take longer. An activity can be interrupted by some event.
A guard is a logical condition that will return only “true’ or “false”.

A big disadvantage for state transition diagrams is that they mean you have to define all the possible states of a system. So for large systems there is an exponential growth in the number of states. A better way is to define separate state-transition diagrams for each class. The most popular state transition diagram is Harel Statechart.
 

When to use State Diagrams

State diagrams are good at describing the behavior of an object across several use cases. They are not very good at describing behavior that involves a number of objects collaborating together.
 

Chapter 9:  Activity Diagrams

The activity diagram describes the sequencing of activities, with support for both conditional and parallel behavior. An activity diagram is a variant of state diagram where the states are activity states.
 

Terminology

A branch has a single incoming transitions and several guarded outgoing transitions.
A merge has multiple input transitions and a single output. It marks the end of conditional behavior started by a branch.
A fork has one incoming transition and several outgoing transitions.

Activity diagrams merely states the essential sequencing rules you have to follow, it can handle parallel processes by fork and join. Forks and joins must match to synchronize.
 

Decomposing an Activity

A subsidiary diagram may have multiple exit points. One exit state is default, and the others are stub states.
 

When to use Activity diagrams

Activity diagrams are really nothing more than an UML-complaint flow chat, which is not object-oriented. Use activity diagrams in the following situations. Don’t use it in the following situations.

Chapter 10 Deployment Diagrams

A Deployment Diagrams shows physical layout of components on hardware nodes. A deployment diagram is a good place to show how components and objects are routed and move around a distributed system.
 

When to use deployment diagrams

Distributed systems.
 
 
 
 



 
 
 
 
 
 


Comments and suggestions e-mail to Sergey D.