View
1.317
Download
0
Tags:
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.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.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.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.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.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.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