UML 2.x

Unified Modeling Language (UML) 2.x


Modélisation, grands principes

UML langage de modélisation - fondements

UML langage de modélisation - usages

Méta-modèle versus modèle métier

Model Driven Software Development - principe

Model Driven Software Development - contexte

From Unified Method 0.8 to UML 2.x

“The Unified Modeling Language is a visual language for specifying, constructing and documenting the artifacts of systems. It is a general-purpose modeling language that can be used with all major object and component methods, and that can be applied to all application domains (e.g., health, finance , telecom, aerospace) and implementation platforms (e.g., J2EE, .NET).”

UML Infrastructure, Feb. 2007 (p. 9)

Birth of a giant…

Diagram types

Diagram type ranking* (UML 1.1)

  1. Class Diagram
  2. Use Case Diagram (4th rank for safety-critical software)
  3. Sequence Diagram
  4. Statechart Diagram (2nd rank for safety-critical software)

*Nebraska-Lincoln university report

UML Requirements engineering

UML Use Case Diagram, use case relationship types

UML Use Case Diagram, use case modeling variations

UML Use Case Diagram, use case extension points and owned behaviors

UML Structure

UML, Class Diagram

UML, Class Diagram versus Object Diagram

UML, Stereotype*

*Rules:

UML, Attribute

UML, Class attribute

UML, Cardinality

UML, Association (cardinality, role and constraint)

UML, Association (cardinality and role)

UML, Association (constraint)*

*OCL:

context Criminal case inv:
    witness->intersection(accused person)->isEmpty()

UML, Qualified association*

*OCL:

context Promotion campaign inv:
    promotion offer[code on the Web]->size() <= 1

UML, Association (navigation)

UML, Association class

UML, Association class, subtlety*

*Rules:

UML, N-ary association*

*Rules:

UML, From n-ary to binary association*

*Rules:

context Borrowing inv:
    let b : Borrowing in 
    self.book copy = b.book copy implies self = b

UML, Association versus attribute*

*Rules:

context Borrowing inv:
    let b : Borrowing in 
    self.book copy = b.book copy implies self = b

UML, Inheritance

UML, Inheritance constraints*

*Rules:

UML, Power type

UML, Multiple inheritance

UML Towards implementation

UML, Realization

UML Behavior

UML, Behavior (core metamodel evolution up to ver. 2.5.1)

UML Activity

UML Activity Diagram versus UML State Machine Diagram

UML Activity Diagram, activity versus action

UML Activity Diagram, action interruption

UML Activity Diagram, activity edge (i.e., BPMN link event)

UML Activity Diagram, activity as business process

UML Activity Diagram, execution

UML Activity Diagram, condition

UML State Machine

UML State Machine Diagram, state & event

UML State Machine Diagram, entry, do & exit

UML State Machine Diagram, internal transition

UML State Machine Diagram, nesting

UML State Machine Diagram, input & output state

UML State Machine Diagram, execution

UML State Machine Diagram, guard & invariant

UML State Machine Diagram, orthogonality (in operator)

UML State Machine Diagram, execution* (orthogonality)

*Possible execution paths:

See also here for execution

UML State Machine Diagram, non-factorization

UML State Machine Diagram, event sending (UML 1.1)

UML State Machine Diagram, event sending (UML 2.x)

UML State Machine Diagram, completion transition

UML State Machine Diagram, completion transition (substitute)

UML State Machine Diagram, history*

* See also here and there… for execution

UML State Machine Diagram, fork & join

UML State Machine Diagram, (more on…) fork & join

UML State Machine Diagram, protocol

UML Interaction

UML Activity Diagram, interaction overview

UML Sequence Diagram, interaction overview

UML Collaboration Diagram versus UML Communication Diagram, interaction overview

UML Collaboration Diagram (no longer in ver. 2.5.1…)

UML Sequence Diagram

UML Sequence Diagram, extended notation

Behavior segment markers: alt, opt, par, seq, break, critical, neg & strict

UML Sequence Diagram, Alcatel Submarine Networks

UML Sequence Diagram, part behavior

UML Sequence Diagram, composite behavior

UML Sequence Diagram, timing issue

Timing issue (why UML Timing Diagram may be considered useless…)

Timing modeling pattern

© Franck Barbier