58
1. 1 Ambit Wissen macht ambitionierte Geschäftsziele erreichbar. Wir liefern Wissen und schaffen Werte. Weltweit. Knowledge enables your business ambitions. We deliver knowledge and create value. Worldwide. UML 2.x Part 1 Einführung / Introduction J. Anton Illik

05 ai uml_illik_students_part_1_eng

Embed Size (px)

Citation preview

1. 1Ambit

Wissen macht ambitionierte Geschäftsziele erreichbar. Wir liefern Wissen und schaffen Werte. Weltweit.

Knowledge enables your businessambitions.We deliver knowledge and create value.Worldwide.

UML 2.x Part 1Einführung / Introduction

J. Anton Illik

www.ambit.de

www.ambit.de2

Schedule! Session 1

! Introduction, Diagram types! Session 2

! Basics, 1. Class Diagram! Session 3

! Case StudyClass Diagram

! Session 4! 2. Package Diagram, ! 3. Object Diagram, ! 4. Composite Structure Diagram

! Session 5! Case Study

Object Diagram, Deployment Diagram

! Session 6! 5. Component Diagram, 6. Deployment

Diagram, 7. Use-Case-Diagram

! Session 7! Case Study

Use-Case-Diagram! Session 8

! 8. Activity Diagram,9. Finite State Machine

Diagram 10. Sequence Diagram

! Session 9! Case Study! Finite State Machine Diagram, ! Activity Diagram

! Session 10! 11.Communication Diagram,! 12. Timing Diagram, ! 13. Interaction Overview Diagram

Attention: Sequence may change

UML intro & overview

www.ambit.de

www.ambit.de3

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 !!!

www.ambit.de

www.ambit.de4

UML Contents

1. UML in general2. UML diagrams overview3. UML diagrams in detail

www.ambit.de

www.ambit.de5

Cha

Chapter 1

1 UML in generalpte r

1

www.ambit.de

www.ambit.de6

1 UML in generalapte

r1C

h

1.1 What does UML mean1.2 Development of UML1.3 UML terms1.4 Overview diagram types

www.ambit.de

www.ambit.de7

1. What does UML meanapte

r1C

h

• Language for analysis, specification, visualization, construction and documentation of models forsoftware systems.

• Delivers notation elements for static and dynamicmodels-> Structure Diagrams-> Behaviour Diagrams

• Supports object-oriented procedure

www.ambit.de

www.ambit.de8

2. Development of UML

1995

OOSEJacobson 1992

OODBooch 1992

OMTRumbaught 1991

Unified Modelling Language 0.9Booch, Rumbaugh,Jacobson

1996

Unified Modelling Language 1.0UML Partners

1997Working experience oflanguage creator

Unified Modelling Language 1.1UML Partners

Integration of Object Constraint Language **

1998

Unified Modelling Language 1.2UML Partners

1999

Unified Modelling Language 1.3UML Partners

2001

Unified Modelling Language 1.4UML Partners

Unified Modelling Language 1.5UML Partners

Unified Modelling Language 2.0UML2 Partners

2003

2005

XML Metadata Interchange *

Object Management Group adopts Copyright

User experiences

Cha

pter

1

www.ambit.de

www.ambit.de9

3. UML terms

Verteilungs-diagramm

deployment diagramAssoziationsrolleassociation roleAbhängigkeitdependencyAssoziationsklasseassociation class

EntscheidungdecisionAssoziation (ungerichtet)

association

CRC-Karte, Klassenkarte

CRC-CardAggregation, Teile/ Ganzes-Beziehung

aggregationEinschränkungconstraintAkteur, Aktoractor

KompositioncompositionAktivitätsdiagrammactivity diagram

Komponenten-Diagramm

component diagramAktivitätactivity

KomponentecomponentAktionactionGermanEnglishGermanEnglishC

hapt

e r1

www.ambit.de

www.ambit.de10

3. UML terms

Kollaborations-Diagramm

collaborationdiagram

SchnittstelleinterfaceKlassendiagrammclass diagram

Interaktions-diagramm

interactiondiagram

KlasseclassExemplarInstanceKardialitätcardinality

GeneralisierunggeneralizationGebundenes Element

bound element

Steuerungsfokusfocus of controlBidirektionale Assoziation

bidirectionalassociation

EreigniseventVerhaltens-Diagramm

behavior diagram

Diskriminator, Unterscheidungs-Merkmal

discriminatorAttributattributeGermanEnglishGermanEnglishC

hapt

e r1

www.ambit.de

www.ambit.de11

3. UML terms

Parametrisierte Klasseparameterizedclass

Stereotyp *stereotypePaketpackage

Zustands-Diagramm

statechart diagramOperationoperationZustandstateObjektdiagrammobject diagram

Sequenz-diagramm

sequence diagramObjektobjectSzenarioscenarioKnotennodeBeziehungrelationshipNavigierbarkeitnavigabilityVerfeinerungrefinementMultiplizitätmultiplicity

Eigenschaftswertproperty stringMethodemethodEigenschaftpropertyNachrichtmessageProblembereichproblem domainObjektbeziehunglinkMusterpatternLebenslinielifelineGermanEnglishGermanEnglishC

hapt

e r1

www.ambit.de

www.ambit.de12

3. UML terms

Anwendungsfalldiagrammuse case diagramAnwendungsfalluse caseGerichtete Assoziation undirecitional associaton(die) UMLUMLTyptypeParametrieserbare Klassetemplate class

Transition, ÜbergangtransitionVerantwortlichkeitsbereich, SchwimmbahnswimlaneOberklassesuperclassUnterklassesubclassGermanEnglishC

hapt

e r1

www.ambit.de

www.ambit.de13

4. Diagram types in UML 2.0

Cha

pte r

1

Structure diagrams-static

class diagram

package diagram

object diagram

Behaviour diagrams-dynamic-

interaction diagramsuse-case-diagram

activity diagram sequence diagram

communication diagramstate machine

timing diagramcomposition structurediagram

Interaction diagramcomponent diagram

deployment diagram

www.ambit.de

www.ambit.de14

UML content

1. UML in general2. UML diagrams overview3. UML diagrams in detail

www.ambit.de

www.ambit.de15

Chapter 2

2 UML-Overview

Cha

pte r

2

www.ambit.de

www.ambit.de16

2 Diagrams of UML and application

Cha

pte r

2

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)

www.ambit.de

www.ambit.de17

First Diagram Type

Cha

pte r

2

Structure Modelling[Strukturmodellierung]

[Rupp et.a] S. 225-236

www.ambit.de

www.ambit.de18

1. Class Diagram (Klassendiagramm)

Cha

pte r

2

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.

[Rupp et.a] S. 93-164

www.ambit.de

www.ambit.de19

2. Package Diagram (Paketdiagramm)

Cha

pte r

2

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.

[Rupp et.a] S. 165-178

www.ambit.de

www.ambit.de20

3. Object Diagram (Objektdiagramm)

Cha

pte r

2

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.

[Rupp et.a] S. 179-190

www.ambit.de

www.ambit.de21

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 quantityrelations.

Cha

pter

2

[Rupp et.a] S. 191-212

www.ambit.de

www.ambit.de22

5. Component Diagram(Komponentendiagramm)

Cha

pte r

2

Main question in diagram:How to summarize classes in applicable /re-useable, administrable (easyto 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.

[Rupp et.a] S. 213-224

www.ambit.de

www.ambit.de23

6. Deployment Diagram (Verteilungsdiagramm)

Cha

pte r

2

Main question in diagram:System environment in use (hardware, server, databases…) How arecomponents distributed during runtime? [Wie werden die Artefakte des Systems zur Laufzeit wohin verteilt?]

Advantages: • Shows runtime periphery of system with available systemparts (in mostcases: hardware)

• High abstraction level, almost no notation elements.

[Rupp et.a] S. 225-236

www.ambit.de

www.ambit.de24

Second Diagram Type

Cha

pte r

2

Behaviour Modelling[Verhaltensmodellierung]

[Rupp et.a] S. 225-236

www.ambit.de

www.ambit.de25

7. Use-Case-Diagram (Use Case Diagramm)

Cha

pte r

2

Main question in diagram:What is the solution / application idea of my planned system? (neighboursystems, 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.

[Rupp et.a] S. 239-264

www.ambit.de

www.ambit.de26

8. Activity Diagram (Aktivitätsdiagramm)

Cha

pte r

2

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

[Rupp et.a] S. 265-334

www.ambit.de

www.ambit.de27

9. Finite State Machine (Zustandsautomat)

Cha

pte r

2

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.

[Rupp et.a] S. 335-403

www.ambit.de

www.ambit.de28

10. Sequence Diagram (Sequenzdiagramm)

Cha

pte r

2

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 betweencommunication partners.

• Nesting and flow management (conditions, loops, branches) possible.

[Rupp et.a] S. 407-485

www.ambit.de

www.ambit.de29

11. Communication Diagramm (Kommunikationsdiagramm)

Cha

pte r

2

Main question in diagram:Interaction and communication in the system. Who is workingtogether? [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).

[Rupp et.a] S. 487-498

www.ambit.de

www.ambit.de30

12. Timing Diagram (Timingdiagramm)

Cha

pte r

2

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 exactpoint of time for events to happen

[Rupp et.a] S. 499-514

www.ambit.de

www.ambit.de31

13. Interaction Overview Diagram(Interaktionsübersichtsdiagramm)

Cha

pte r

2

Main question in diagram:Under what conditions in which sequence and when is interactionprocessed? [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.

[Rupp et.a] S. 515-524

www.ambit.de

www.ambit.de32

Finished! (Geschafft!)

Cha

pte r

2

www.ambit.de

www.ambit.de33

What we have sketched

Cha

pte r

2

Structure diagrams-static-

class diagram

package diagram

object diagram

Behaviour diagrams-dynamic-

interaction diagramsuse-case-diagram

activity diagram sequence diagram

communication diagramstate machine

timing diagramcomposition structurediagram

Interaction diagramcomponent diagram

deployment diagram

www.ambit.de

www.ambit.de34

What is your opinion / experience..

Cha

pte r

2

Are all diagram types used extensively?

Which diagrams do you use?

Class diagrams, -> overview, pragmatic reasons

Sequence diagrams,

Use case diagrams

Activity diagrams

www.ambit.de

www.ambit.de35

UML contents

1. UML in general2. UML diagrams overview3. UML diagrams in detail

www.ambit.de

www.ambit.de36

Chapter 3

3 UML Diagrams in detail

Cha

pte r

3

www.ambit.de

www.ambit.de37

3 UML Diagrams in detail

Cha

pte r

3

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)

www.ambit.de

www.ambit.de38

Third Diagram Type

Cha

pte r

3

Structure Modelling[Strukturmodellierung]

[Rupp et.a] S. 225-236

www.ambit.de

www.ambit.de39

1. Class Diagram (Klassendiagramm)

Cha

pte r

3

Class diagrams show attributes and methods as well as relations between classes. While displaying classes, different detail levelscan be chosen.

For example: • Classes (only names)• Classes with attributes• Classes with attributes and methods/operations• Classes can have diverse relations between each other

www.ambit.de

www.ambit.de40

1. Class Diagram (Klassendiagramm)

Cha

pte r

3

• Notation elements– class– attribute– operation– interface– template class – generalization– generalization quantity– association– association class– dependency relationship

– application relations– abstraction relationship– realization relationship– substitution relationship– information flow– information unit

www.ambit.de

www.ambit.de41

parametrizedclass

1. class diagram – classes

Cha

pte r

3

classnormal Operation ()abstract Operation()/ derivedOperationclassOperation()+publicOperation()#protectedOperation-privateOperation~package („friendly“)

<<Stereotype>>package: class

{features}class

Attribute: Type = Initial Value{promise}

operation{Arg.list}:returntype{promise}

abstract class

i: Elementclass

normal Attribute/derived Attribute classAttribute+publicAttribute#protectedAttribute- private Attribute

<<metaclass>>class

class <Parameter>

www.ambit.de

www.ambit.de42

1. Class diagram – inheritance

Cha

pte r

3

superclass

subclass 3

subclass 1 subclass 2

vehicle

car bike

Limosine Van

D1

D2

diskriminator 2

diskriminator 1

superclass

subclass 1 subclass 2

truck

subclass 3Open car

FordBMW

D3VW

www.ambit.de

www.ambit.de43

1. Class diagram – associations

Cha

pte r

3

0..6 *classclass

<<Stereotypes>>reference name{promise/Attribute}

aggregation

class class

associatedclass

whole class

composition

Existencederived part

www.ambit.de

www.ambit.de44

1. Class diagramapte

r3C

h

• See Part1b:„Class diagrams in detail“

www.ambit.de

www.ambit.de45

Cha

1. Class diagrampte r

3

•CaseStudyKlassendiagramme: Modelling a Party

www.ambit.de

www.ambit.de46

package

package

class1

class2

1. Class diagram – packages

Cha

pte r

3

multiplicity

part

composition

partmultiplicity

role

composition

www.ambit.de

www.ambit.de47

2. Package Diagram (Paketdiagramm)

Cha

pte r

3

The Package diagram allows to classify the structure ofany system and display views in different abstractions on the system.

www.ambit.de

www.ambit.de48

2. Package Diagram (Paketdiagramm)

Cha

pte r

3

• Notation elements– package– package - importer / element - importer– package - merge

www.ambit.de

www.ambit.de49

2. Package Diagram (Paketdiagramm)

Cha

pte r

3

Use-Case General behavior

classes

activities

statemachine

interactions

components

Compositionstructures

distribution

<<merge>>

<<merge>>

<<merge>>

<<merge>>

<<merge>>

<<merge>><<merge>>

<<merge>>

<<merge>> <<merge>>

www.ambit.de

www.ambit.de50

3. Object Diagram (Objektdiagramm)

Cha

pte r

3

Object diagrams offer the possibility to model instancesof classes, components, nodes, associations and attributes.

www.ambit.de

www.ambit.de51

3. Object Diagram (Objektdiagramm)

Cha

pte r

3

• Notation elements– Instance description / object– State of value/ slots– Link

www.ambit.de

www.ambit.de52

3. Object Diagram (Objektdiagramm)

Cha

pte r

3

Attribute name: datatype = value

object

object name: classifier name

Classifiername = name of abstractclass or base class

UML-Classifier = Amount of UML-Elements, that have something in common:Class, Component, Data type, Interface, Node, Signal, Subsystem

www.ambit.de

www.ambit.de53

3. Object Diagram (Objektdiagramm)

Cha

pte r

3

matriculation number: String

lecturevisit()examinationwrite()

student

prename: Stringname: StringDate of birth: Date

employee employmentfirm

dedicatedProfessor: String

student worker

employee employer

income: money

Employment

www.ambit.de

www.ambit.de54

4. Composite structure diagram(Kompositionsstrukturdiagramm)

Cha

pte r

3

The Composite structure diagram allows to describe theinner structure of classes and interactive relations withother parts of the system.

www.ambit.de

www.ambit.de55

4. Composite structure diagram(Kompositionsstrukturdiagramm)• Notation elements

– part– connector– port– collaboration– collaboration application

Cha

pter

3

www.ambit.de

www.ambit.de56

4. Composite structure diagram(Kompositionsstrukturdiagramm)Structured class(Classifier)C

hapt

er3

driverwindow: window

1

codriverwindowr: window

1

backwindwow: window

2

driverswitchr: rocker switch

1

codriverswitch: rocker switch

1

connectors(Connections between partssimilar to associations betweenclasses.)

vehiclepart

part- orrolename

Multiplicity of a partClass name of a part

www.ambit.de

www.ambit.de57

Literature

Lite

ratu

re

Literature

www.ambit.de

www.ambit.de58

UML used and continuingLiterature• Wolfgang Zuser, Thomas Greching, Monika Köhle:

„Software Engineering mit UML und UnifiedProcess“; 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