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
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.
-
Analyzing a use case
-
Understanding workflow
-
Describing a complicated sequential algorithm
-
Dealing with multi-threaded applications
Don’t use it in the following situations.
-
Trying to see how objects collaborate
-
Trying to see how many object behaves over its lifetime
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.