Title: UML-2 Changes
1UML-2 Changes
- CSE301
- University of Sunderland
- Harry R Erwin, PhD
2Resources
- Eriksson, H-E., et al., 2004, UML 2 Toolkit, OMG
Press, Wiley. - Pilone, D., with Neil Pitman, 2005, UML 2.0 in a
Nutshell, OReilly. - http//www.uml.org/
- http//www.agilemodeling.com/
- http//en.wikipedia.org/wiki/Unified_Modeling_Lang
uage - http//www.eclipse.org/modeling/mdt/?projectuml2
3Major Changes in UML 2
- Use Cases
- Activity Diagrams
- State Machine Diagrams
- Sequence Diagrams
- Communication Diagrams
- Interaction Overview Diagrams
- Timing Diagrams
4A UML 2 Use-Case Diagram
G1 Section
Personnel
G2 Section
Intelligence
Commander
CoS
G3 Section
Operations
G4 Section
Logistics
5More Details in Use Cases
Extension case
Actor Generalization
ltltextendgtgt
Direction of the interaction
General Case ltltextension pointsgtgt Detailed case
ltltincludegtgt
Use Case Generalization
Included Use Case
6Use Case Details
- Description still usually textual.
- Use cases are initiated by actors and provide
value to them. - Use cases should be complete.
- Use activity diagrams to clarify the flow.
- Use cases can be
- Generalized (new)
- Extended
- Included (was used)
7New UML 2 Class Diagrams
An Entity Class
ltltentitygtgt An Entity Class
An Entity Class
A Control Class
ltltcontrolgtgt A Control Class
A Control Class
A Boundary Class
ltltboundarygtgt A Boundary Class
A Boundary Class
8Interfaces and Ports
Storable
Runnable
Interface Provided
Port
Runnable
Required Interface
9Diagramming Composite Structures
10Collaboration Use Case
Represents a dynamic use case
Name
Name
11Implementing Attributes in a Model
Attribute Type UML Type Java I/F
Inline or relationship As noted Object
Count Array Array
Unordered/dups Bag Collection
Ordered/dups Sequence List
Unordered/uniq Set Set
Ordered/uniq OrderedSet SortedSet
12Templates
ElementType
Type
13Packages
Name
Package Name
14UML 2 Activity Diagrams
- Describes a sequential flow of actions. In some
ways similar to a state machine, but now a
first-class construct. - Can be used to diagram general process workflows,
use cases, and detailed control flows. Very
valuable when you model a business. - Based on Petri Nets (qv).
- Resembles old-fashioned flow charts, but often
contain swim-lanes, called activity partitions,
that describe what specific classes or subsystems
do.
15UML 2 Activity Diagram Changes
- No longer emphasizes transitions (as a super
state machine diagram). More concerned with token
flow along activity edges.
16Activity Diagram Appearence
Also used for interaction overview diagrams
Name
Name
Final Node
Initial Node
17UML 2 State Machine Diagrams
- Used only when a class or subsystem changes its
behaviour. A complement to a class or object
diagram. - Two kinds of state machines
- A behavioural state machine describing the life
cycle of a class or subsystem. Typically, the
class or subsystem contains a polymorphic
reference whose current subclass instance defines
the behaviour. - A protocol state machine documenting the protocol
for other subsystems to interact with an
interface or port. (This is the traditional role
of a state machine.)
18UML 2 Sequence Diagrams
- Describe how multiple classes or subsystems
interact dynamically via message passing. Similar
in some ways to activity diagrams, but emphasize
the messages. Most commonly used interaction
diagram. - Often derived from Use Case Analysis (just like
activity diagrams). - Usually contain vertical swim-lanes, each
corresponding to an individual object/actor. - Messages are shown passing between swim-lanes.
19UML Sequence Diagram Changes
- Now has fragments allowing more complex options
to be diagrammed. Also supports reuse of elements.
20UML 2 Communication Diagrams
- Were called Collaboration Diagrams in UML 1.
- Show the messages and the objects in their
relationships (the context). Contains the same
information as sequence diagrams, but formatted
differently. Very useful for analysing class and
object diagrams. - The full set of communication diagrams for a
system should map directly onto the object
associations of the system. When this is
important to know, use communication diagrams
rather than sequence diagrams.
21UML 2 Interaction Overview Diagrams
- Introduced in UML 2.
- Top-level description of the main flow of
interactions. - Basically an activity diagram with the main nodes
individually documented using separate sequence
(or other) diagrams. - Major step in user-oriented design.
22UML 2 Timing Diagrams
- Introduced in UML 2.
- Specialized for real-time systems, using a
precise time axis. - MSc-level topic.