1. Wissen macht ambitionierte
Geschäftsziele erreichbar.
Wir liefern Wissen und schaffen Werte.
UML 2.x
Weltweit.
Knowledge enables your business
ambitions.
We deliver knowledge and create value.
Worldwide.
Part 1
Einführung / Introduction
J. Anton Illik
Ambit 1. 1
2. UML intro & overview
Schedule
! Session 1 ! Session 7
www.ambit.de
! Introduction, Diagram types ! Case Study
! Session 2 Use-Case-Diagram
! Basics, 1. Class Diagram ! Session 8
! Session 3 ! 8. Activity Diagram,
! Case Study 9. Finite State Machine
Diagram
Class Diagram
10. Sequence Diagram
! Session 4
! Session 9
! 2. Package Diagram,
! Case Study
! 3. Object Diagram, ! Finite State Machine Diagram,
! 4. Composite Structure Diagram ! Activity Diagram
! Session 5 ! Session 10
! Case Study ! 11.Communication Diagram,
Object Diagram, ! 12. Timing Diagram,
Deployment Diagram ! 13. Interaction Overview Diagram
! Session 6
! 5. Component Diagram, 6. Deployment
Diagram, 7. Use-Case-Diagram
2 www.ambit.de Attention: Sequence may change
3. www.ambit.de
Organization
! Working techniques of the seminar
! Dialogue and presentation
! Solving exercises
! Work out case studies
! Rework with literature
! Questions and helpful suggestions are desired at all
times !!!
3 www.ambit.de
4. www.ambit.de
UML Contents
1. UML in general
2. UML diagrams overview
3. UML diagrams in detail
4 www.ambit.de
5. Chapter 1
www.ambit.de
1 UML in general
Chapter 1
5 www.ambit.de
6. Chapter 1 www.ambit.de
1 UML in general
1.1 What does UML mean
1.2 Development of UML
1.3 UML terms
1.4 Overview diagram types
6 www.ambit.de
7. www.ambit.de
Chapter 1
1. What does UML mean
• Language for analysis, specification, visualization,
construction and documentation of models for
software systems.
• Delivers notation elements for static and dynamic
models
-> Structure Diagrams
-> Behaviour Diagrams
• Supports object-oriented procedure
7 www.ambit.de
8. www.ambit.de
Chapter 1
2. Development of UML
Unified Modelling Language 2.0
User experiences
UML2 Partners
2005
Unified Modelling Language 1.5
UML Partners
2003
Unified Modelling Language 1.4 Object Management Group
UML Partners adopts Copyright
2001
Unified Modelling Language 1.3 XML Metadata Interchange *
UML Partners
1999
Unified Modelling Language 1.2
UML Partners
1998
Unified Modelling Language 1.1 Integration of Object
UML Partners Constraint Language **
1997
Unified Modelling Language 1.0 Working experience of
UML Partners language creator
1996
Unified Modelling Language 0.9
1995 Booch, Rumbaugh,Jacobson
OMT OOD OOSE
Rumbaught 1991 Booch 1992 Jacobson 1992
8 www.ambit.de
9. Chapter 1
www.ambit.de
3. UML terms
English German English German
action Aktion component Komponente
activity Aktivität component diagram Komponenten-
Diagramm
activity diagram Aktivitätsdiagramm composition Komposition
actor Akteur, Aktor constraint Einschränkung
aggregation Aggregation, Teile/ CRC-Card CRC-Karte,
Ganzes-Beziehung Klassenkarte
association Assoziation decision Entscheidung
(ungerichtet)
association class Assoziationsklasse dependency Abhängigkeit
association role Assoziationsrolle deployment diagram Verteilungs-
diagramm
9 www.ambit.de
10. Chapter 1
www.ambit.de
3. UML terms
English German English German
attribute Attribut discriminator Diskriminator,
Unterscheidungs
-Merkmal
behavior diagram Verhaltens- event Ereignis
Diagramm
bidirectional Bidirektionale focus of control Steuerungsfokus
association Assoziation
bound element Gebundenes generalization Generalisierung
Element
cardinality Kardialität Instance Exemplar
class Klasse interaction Interaktions-
diagram diagramm
class diagram Klassendiagramm interface Schnittstelle
collaboration Kollaborations-
diagram Diagramm
10 www.ambit.de
11. Chapter 1
www.ambit.de
3. UML terms
English German English German
lifeline Lebenslinie pattern Muster
link Objektbeziehung problem domain Problembereich
message Nachricht property Eigenschaft
method Methode property string Eigenschaftswert
multiplicity Multiplizität refinement Verfeinerung
navigability Navigierbarkeit relationship Beziehung
node Knoten scenario Szenario
object Objekt sequence diagram Sequenz-
diagramm
object diagram Objektdiagramm state Zustand
operation Operation statechart diagram Zustands-
Diagramm
package Paket stereotype Stereotyp *
parameterized Parametrisierte Klasse
class
11 www.ambit.de
12. Chapter 1
www.ambit.de
3. UML terms
English German
subclass Unterklasse
superclass Oberklasse
swimlane Verantwortlichkeitsbereich, Schwimmbahn
transition Transition, Übergang
template class Parametrieserbare Klasse
type Typ
UML (die) UML
undirecitional associaton Gerichtete Assoziation
use case Anwendungsfall
use case diagram Anwendungsfalldiagramm
12 www.ambit.de
16. www.ambit.de
Chapter 2
2 Diagrams of UML and
application
2.1 Class Diagram (Klassendiagramm)
2.2 Package Diagram (Paketdiagramm)
2.3 Object Diagram (Objektdiagramm)
2.4 Composite Structure Diagram (Kompositionosstrukturdiagramm)
2.5 Component Diagram (Komponentendiagramm)
2.6 Deployment Diagram (Verteilungsdiagramm)
2.7 Use Case Diagram (Use Case Diagramm)
2.8 Activity Diagram (Aktivitätsdiagramm)
2.9 Finite State Machine Diagram (Zustandsdiagramm)
2.10 Sequence Diagram (Sequenzdiagramm)
2.11 Communication Diagramm (Kommunikationsdiagramm)
2.12 Timing Diagram (Timingdiagramm)
2.13 Interaction Overview Dg. (Interaktionsübersichtsdiagramm)
16 www.ambit.de
17. www.ambit.de
Chapter 2
First Diagram Type
Structure Modelling
[Strukturmodellierung]
17 www.ambit.de [Rupp et.a] S. 225-236
18. www.ambit.de
Chapter 2
1. Class Diagram (Klassendiagramm)
Main question in diagram:
How is my system structured? (Which classes form my system?)
What are the class relations? (How do classes interact?)
[Wie sind die Daten und das Verhalten meines Systems im Detail
strukturiert?]
Advantages:
• Describes static structure of systems the user has to analyse or to
design.
• Contains all relevant strucural relations and data types.
• Links to all dynamic diagrams.
18 www.ambit.de [Rupp et.a] S. 93-164
19. www.ambit.de
Chapter 2
2. Package Diagram (Paketdiagramm)
Main question in diagram:
What is the best way to cut the model and not to loose overview. [Wie kann
ich mein Modell so darstellen, dass ich den Überblick behalte?]
Advantages:
• Organises the system model in bigger units by logical combining of
model elements.
• Modelling of dependencies.
19 www.ambit.de [Rupp et.a] S. 165-178
20. www.ambit.de
Chapter 2
3. Object Diagram (Objektdiagramm)
Main question in diagram:
What is the inner structure of the system at a determined point of time
during runtime. [Wie sieht ein Schnappschuß meines Systems zur
Auführungszeit aus (an einer bestimmten Stelle)?]
Advantages:
• Shows objects and attribute assignment at a determined point of time.
• Used only in examples of demonstrations.
• Detail level like in class diagrams.
• Excellent presentation of quantity relations.
20 www.ambit.de [Rupp et.a] S. 179-190
21. www.ambit.de
Chapter 2
4. Composite structure diagram
(Kompositionsstrukturdiagramm)
Main question in diagram:
Inner life of al class, a component or single system unit. [Wie sind die
einzelnen Strukturkomponenten strukturiert und mit welchen Rollen spielen
Sie dabei zusammen?]
Advantages:
• Ideal for top-down-modelling of systems.
• Midrange detail level, shows parts of a complete unit and inner quantity
relations.
21 www.ambit.de [Rupp et.a] S. 191-212
22. www.ambit.de
Chapter 2
5. Component Diagram
(Komponentendiagramm)
Main question in diagram:
How to summarize classes in applicable /re-useable, administrable (easy
to handle) components and how are they related? [Wie ist mein System
strukturiert und wie werden diese Strukturen erzeugt?]
Advantages:
• Shows oransiation and dependencies of individual technical system
components.
• Modelling of available and required interfaces possible.
22 www.ambit.de [Rupp et.a] S. 213-224
23. www.ambit.de
Chapter 2
6. Deployment Diagram (Verteilungsdiagramm)
Main question in diagram:
System environment in use (hardware, server, databases…) How are
components distributed during runtime? [Wie werden die Artefakte des
Systems zur Laufzeit wohin verteilt?]
Advantages:
• Shows runtime periphery of system with available systemparts (in most
cases: hardware)
• High abstraction level, almost no notation elements.
23 www.ambit.de [Rupp et.a] S. 225-236
24. www.ambit.de
Chapter 2
Second Diagram Type
Behaviour Modelling
[Verhaltensmodellierung]
24 www.ambit.de [Rupp et.a] S. 225-236
25. www.ambit.de
Chapter 2
7. Use-Case-Diagram (Use Case Diagramm)
Main question in diagram:
What is the solution / application idea of my planned system? (neighbour
systems, stakeholder). Sort of environment diagram. [Was soll mein
geplantes System eigenlich leisten?]
Advantages:
• presents views from outside at a system.
• useful for classification of different contexts.
• high abstraction level, simple notation tools.
25 www.ambit.de [Rupp et.a] S. 239-264
26. www.ambit.de
Chapter 2
8. Activity Diagram (Aktivitätsdiagramm)
Main question in diagram:
How operates one particular streamoriented process algorithm or a
business transaction? Modelling sequence of activities.[Wie realisiert
mein System ein bestimmtes Verhalten?]
Advantages:
• High-level visualization of processes with conditions, loops and
branches.
• parallelization and synchronization possible
26 www.ambit.de [Rupp et.a] S. 265-334
27. www.ambit.de
Chapter 2
9. Finite State Machine
(Zustandsautomat)
Main question in diagram:
Possible states of objects, interfaces, use-cases,… in different processes.
[Wie verhält sich das System in einem bestimmten Zeitpunktbei gewissen
Ereignissen?]
Advantages:
• Precise image of state model with states, events, parallel processes,
conditions, in/off actions.
• Nesting possible.
27 www.ambit.de [Rupp et.a] S. 335-403
28. www.ambit.de
Chapter 2
10. Sequence Diagram (Sequenzdiagramm)
Main question in diagram:
How do processes/partners exchange information? [Wie läuft die
Kommunikation in meinem System ab?]
Advantages:
• Displays process of information exchange in time between
communication partners.
• Nesting and flow management (conditions, loops, branches) possible.
28 www.ambit.de [Rupp et.a] S. 407-485
29. www.ambit.de
Chapter 2
11. Communication Diagramm
(Kommunikationsdiagramm)
Main question in diagram:
Interaction and communication in the system. Who is working
together? [Welche Teile einer komplexen Struktur arbeiten wie zusammen,
um eine bestimmte Funktion zu erfüllen?]
Advantages:
• Displays information exchange between communication partners
• Overview has top priority (details and chronology are less important).
29 www.ambit.de [Rupp et.a] S. 487-498
30. www.ambit.de
Chapter 2
12. Timing Diagram (Timingdiagramm)
Main question in diagram:
State of different interaction partners at different points of time. [Wann
befinden sich verschiedene Interaktionspartner in welchem Zustand?]
Advantages:
• Visualizes the exact chronological behaviour of classes, interfaces….
• Applicable for detail discussion/monitoring, with top priority on the exact
point of time for events to happen
30 www.ambit.de [Rupp et.a] S. 499-514
31. www.ambit.de
Chapter 2
13. Interaction Overview Diagram
(Interaktionsübersichtsdiagramm)
Main question in diagram:
Under what conditions in which sequence and when is interaction
processed? [In welcher Reihenfolge und unter welchen Bedingungen
finden Interaktionen statt?]
Advantages:
• Connects interaction diagrams (sequence-, communication – and
timing programs on top level.)
• High abstraction level.
• Applicable for structuring interaction diagrams.
31 www.ambit.de [Rupp et.a] S. 515-524
33. www.ambit.de
Chapter 2
What we have sketched
Structure diagrams Behaviour diagrams
-static- -dynamic-
class diagram use-case-diagram interaction diagrams
package diagram activity diagram sequence diagram
object diagram communication diagram
state machine
composition structure timing diagram
diagram
Interaction diagram
component diagram
deployment diagram
33 www.ambit.de
34. www.ambit.de
Chapter 2
What is your opinion / experience..
Are all diagram types used extensively?
Which diagrams do you use?
Class diagrams, -> overview, pragmatic reasons
Sequence diagrams,
Use case diagrams
Activity diagrams
…
…
34 www.ambit.de
35. www.ambit.de
UML contents
1. UML in general
2. UML diagrams overview
3. UML diagrams in detail
35 www.ambit.de
37. www.ambit.de
Chapter 3
3 UML Diagrams in detail
3.1 Class Diagram (Klassendiagramm)
3.2 Package Diagram (Paketdiagramm)
3.3 Object Diagram (Objektdiagramm)
3.4 Composite Structure Diagram (Kompositionosstrukturdiagramm)
3.5 Component Diagram (Komponentendiagramm)
3.6 Deployment Diagram (Verteilungsdiagramm)
3.7 Use Case Diagram (Use Case Diagramm)
3.8 Activity Diagram (Aktivitätsdiagramm)
3.9 Finite State Machine Diagram (Zustandsdiagramm)
3.10 Sequence Diagram (Sequenzdiagramm)
3.11 Communication Diagramm (Kommunikationsdiagramm)
3.12 Timing Diagram (Timingdiagramm)
3.13 Interaction Overview Dg. (Interaktionsübersichtsdiagramm)
37 www.ambit.de
38. www.ambit.de
Chapter 3
Third Diagram Type
Structure Modelling
[Strukturmodellierung]
38 www.ambit.de [Rupp et.a] S. 225-236
39. www.ambit.de
Chapter 3
1. Class Diagram (Klassendiagramm)
Class diagrams show attributes and methods as well as relations
between classes. While displaying classes, different detail levels
can be chosen.
For example:
• Classes (only names)
• Classes with attributes
• Classes with attributes and methods/operations
• Classes can have diverse relations between each other
39 www.ambit.de
40. www.ambit.de
Chapter 3
1. Class Diagram (Klassendiagramm)
• Notation elements
– class – application relations
– attribute – abstraction relationship
– operation – realization relationship
– interface – substitution relationship
– template class – information flow
– generalization – information unit
– generalization quantity
– association
– association class
– dependency relationship
40 www.ambit.de
41. www.ambit.de
Chapter 3
1. class diagram – classes
class <<Stereotype>>
normal Operation () package: class
class abstract Operation()/ {features}
derivedOperation
classOperation() Attribute: Type = Initial Value
+publicOperation() {promise}
#protectedOperation
abstract class operation{Arg.list}:returntype
-privateOperation
~package („friendly“) {promise}
i: Element
class
<<metaclass>> parametrized
class normal Attribute class
/derived Attribute
classAttribute
+publicAttribute class <Parameter>
#protectedAttribute
- private Attribute
41 www.ambit.de
42. www.ambit.de
Chapter 3
1. Class diagram – inheritance
superclass
subclass 3
subclass 1 subclass 2
vehicle
D1 diskriminator 2
superclass
truck car bike
D2 subclass 3
Open car Limosine Van
diskriminator 1
D3
BMW Ford VW subclass 1 subclass 2
42 www.ambit.de
43. www.ambit.de
Chapter 3
1. Class diagram – associations
0..6 *
class class
<<Stereotypes>>
reference name
{promise/Attribute}
aggregation
whole class
class class composition
Existence
derived part
associated
class
43 www.ambit.de
44. www.ambit.de
Chapter 3
1. Class diagram
• See Part1b:
„Class diagrams in
detail“
44 www.ambit.de
45. www.ambit.de
Chapter 3
1. Class diagram
•CaseStudy
Klassendiagramme:
Modelling a Party
45 www.ambit.de
46. www.ambit.de
Chapter 3
1. Class diagram – packages
composition composition
multiplicity
multiplicity part
package
role
part
class1
package class2
46 www.ambit.de
47. www.ambit.de
Chapter 3
2. Package Diagram (Paketdiagramm)
The Package diagram allows to classify the structure of
any system and display views in different
abstractions on the system.
47 www.ambit.de
50. www.ambit.de
Chapter 3
3. Object Diagram (Objektdiagramm)
Object diagrams offer the possibility to model instances
of classes, components, nodes, associations and
attributes.
50 www.ambit.de
51. www.ambit.de
Chapter 3
3. Object Diagram (Objektdiagramm)
• Notation elements
– Instance description / object
– State of value/ slots
– Link
51 www.ambit.de
52. www.ambit.de
Chapter 3
3. Object Diagram (Objektdiagramm)
object
Attribute name: datatype = value
object name: classifier name
Classifiername = name of abstract
class or base class
UML-Classifier = Amount of UML-Elements, that have something in common:
Class, Component, Data type, Interface, Node, Signal, Subsystem
52 www.ambit.de
54. www.ambit.de
Chapter 3
4. Composite structure diagram
(Kompositionsstrukturdiagramm)
The Composite structure diagram allows to describe the
inner structure of classes and interactive relations with
other parts of the system.
54 www.ambit.de
55. www.ambit.de
Chapter 3
4. Composite structure diagram
(Kompositionsstrukturdiagramm)
• Notation elements
– part
– connector
– port
– collaboration
– collaboration application
55 www.ambit.de
56. www.ambit.de
Chapter 3
4. Composite structure diagram
(Kompositionsstrukturdiagramm)
Structured class
(Classifier)
vehicle
part
driverwindow: 1 driverswitchr: 1
window rocker switch
part- or
rolename codriverwindowr: 1 codriverswitch: 1
window rocker switch
connectors
backwindwow: 2
(Connections between parts
window similar to associations between
classes.)
Class name of a part Multiplicity of a part
56 www.ambit.de
58. www.ambit.de
UML used and continuing
Literature
• Wolfgang Zuser, Thomas Greching, Monika Köhle:
„Software Engineering mit UML und Unified
Process“; Pearson Studium, München, 2004
• Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle,
Barbara Zengler: „UML 2 glasklar“; Hanser, München,
2005
• Heide Balzert: „UML 2 kompakt“; Spektrum,
Heidelberg, 2005
58 www.ambit.de