CSE301 University of Sunderland Harry R Erwin, PhD UML-2 Changes CSE301 University of Sunderland Harry R Erwin, PhD
Resources Eriksson, H-E., et al., 2004, UML 2 Toolkit, OMG Press, Wiley. Pilone, D., with Neil Pitman, 2005, UML 2.0 in a Nutshell, O’Reilly. http://www.uml.org/ http://www.agilemodeling.com/ http://en.wikipedia.org/wiki/Unified_Modeling_Language http://www.eclipse.org/modeling/mdt/?project=uml2
Major Changes in UML 2 Use Cases Activity Diagrams State Machine Diagrams Sequence Diagrams Communication Diagrams Interaction Overview Diagrams Timing Diagrams
A UML 2 Use-Case Diagram Personnel Intelligence Operations Logistics G1 Section Personnel G2 Section Intelligence Commander CoS G3 Section Operations G4 Section Logistics
More Details in Use Cases Extension case Actor Generalization <<extend>> Direction of the interaction General Case <<extension points>> Detailed case <<include>> Included Use Case Use Case Generalization
Use 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’)
New UML 2 Class Diagrams An Entity Class An Entity Class An Entity Control Class <<control>> A Control Class A Control Class A Boundary Class <<boundary>> A Boundary Class A Boundary Class
Interfaces and Ports Storable Runnable Interface Provided Port Required Interface
Diagramming Composite Structures
Collaboration Use Case Represents a dynamic use case Name Name
Implementing Attributes in a Model Attribute Type UML Type Java I/F Inline or relationship As noted Object Count Array Unordered/dups Bag Collection Ordered/dups Sequence List Unordered/uniq Set Ordered/uniq OrderedSet SortedSet
Templates ElementType Type
Packages Name Package Name
UML 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.
UML 2 Activity Diagram Changes No longer emphasizes transitions (as a super state machine diagram). More concerned with token flow along activity edges.
Activity Diagram Appearence Also used for interaction overview diagrams Name Name Final Node Initial Node
UML 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.)
UML 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.
UML Sequence Diagram Changes Now has ‘fragments’ allowing more complex options to be diagrammed. Also supports reuse of elements.
UML 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.
UML 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.
UML 2 Timing Diagrams Introduced in UML 2. Specialized for real-time systems, using a precise time axis. MSc-level topic.