UML 2.0 � F�r Anf�nger by UUzgpZav

VIEWS: 37 PAGES: 121

									UML 2.0 – Für Anfänger
     Vortrag für die
.NET User Group Karlsruhe
        7.7.2005
   von Andreas Bräsen
Ziel des Vortrages ...
     Was ist UML ?
     Warum sollte ich es anwenden und
     wohin führt es mich ?
     Das Handwerkszeug...
     Wie fange ich an ?
     Weiterführende Informationen...


26.11.2011        Andreas Bräsen        2
Zu meiner Person...
     Andreas Bräsen
     Dipl. Ing. der Technischen Informatik(FH)
     Freiberuflicher Software Entwickler mit
     dem Schwerpunkt auf .NET basierter
     Software Entwicklung.
     Seit Version 0.9 Kontakt mit der UML.


26.11.2011         Andreas Bräsen          3
Organisatorisches...
     Bitte jederzeit Fragen stellen...
     Dauer des Vortrages ca. 2 Stunden
     (maximal Ausführung)
     Folien stehen unter www.bruke.de zum
     Download bereit.




26.11.2011        Andreas Bräsen        4
Ziel des Vortrages ...
     Was ist UML ?
     Warum sollte ich es anwenden und wohin
     führt es mich ?
     Das Handwerkszeug...
     Wie fange ich an ?
     Weiterführende Informationen...


26.11.2011        Andreas Bräsen        5
Was ist die UML ...
Die Unified Modeling Language (UML)
dient zur Modellierung, Dokumentation,
Spezifizierung und Visualisierung
komplexer Softwaresysteme unabhängig
von deren Fach- und Realisierungsgebiet.
 Sie liefert die Notationselemente
 gleichermaßen für die statischen und
 dynamischen Modelle für Analyse, Design
 und unterstützt insbesondere
 objektorientierte Vorgehensweisen.
26.11.2011       Andreas Bräsen        6
...und was will sie nicht sein? 1/2
Um es von vornherein klarzustellen: Die
UML war, ist und wird mit Sicherheit nie
vollständig und in sich stimmig werden.
Dies verhindert unter anderem der schnelle
Fortschritt und die hohe Komplexität der
heutigen Softwareentwicklung. Trotzdem ist
die UML besser als ihr Ruf.
Viele Missverständnisse entstehen auch
durch eine falsche Erwartungshaltung an
diese Notationssprache....
26.11.2011       Andreas Bräsen            7
...und was will sie nicht sein? 2/2
Es muss einem bewusst sein, dass die UML
 •   nicht perfekt,
 •   nicht vollständig,
 •   keine Programmiersprache,
 •   keine rein formale Sprache,
 • nicht spezialisiert auf ein Anwendungsgebiet,
 • kein vollständiger Ersatz für Textbeschreibung
 • keine Methode oder kein Vorgehensmodell
ist und das auch alles nicht sein will.


26.11.2011               Andreas Bräsen             8
Ziel des Vortrages ...
     Was ist UML ?
            Wo kommt die UML her ?
     Warum sollte ich es anwenden und wohin
     führt es mich ?
     Das Handwerkszeug...
     Wie fange ich an ?
     Weiterführende Informationen...

26.11.2011              Andreas Bräsen   9
    Auf der Suche nach der
 „Lösung“ – der Metodenkrieg




26.11.2011   Andreas Bräsen    10
Die drei Amigos....
     Grady Booch – Unified Method 0.8
     Jim Rumbaugh – Unfified Method 0.8
     Ivar Jacobsen - OOSE

      später dann bei der
      OMG (Object Management Group)


26.11.2011        Andreas Bräsen          11
 Entwicklungs-
schritte der UML




26.11.2011         Andreas Bräsen   12
Ziel des Vortrages ...
     Was ist UML ?
     Warum sollte ich es anwenden und
     wohin führt es mich ?
     Das Handwerkszeug...
     Wie fange ich an ?
     Weiterführende Informationen...


26.11.2011       Andreas Bräsen    13
      Warum sollte ich die UML
           anwenden ?
     Um komplexe Sachverhalte in einer
     standardisierten Form zu beschreiben,
     welche von allen Beteiligten verstanden
     werden können. Es ergänzt die textuelle
     Darstellung von Sachverhalten und
     ermöglicht es im Vorwege Dinge besser
     auszuarbeiten bzw. abzuklären, damit
     wir schneller die geforderte Software
     erzeugen können.

26.11.2011         Andreas Bräsen         14
Wohin führt mich es hin ? 1/2
• Es führt mich zu komplexeren Projekten, die
  bewältigt werden können, weil ich mit Hilfe der
  Diagramme der UML Sachverhalte besser und
  übersichtlicher darstellen kann, als es mit Text bzw.
  Source Code je der Fall gewesen wäre.
• Es führt mich dazu Probleme vor der ersten Zeile
  Code zu analysiert und eine Lösung unter
  Zuhilfenahme der UML Diagramme zu modellieren,
  bevor der teure Source Code geschrieben wird.
  (z.B. Aktivitäts-Diagramme für komplexe Abläufe
  werden modelliert).
26.11.2011           Andreas Bräsen                15
Wohin führt mich es hin ? 2/2
• Es führt mich zu einer Doku-First Vorgehensweise
  und das Resultat wird nur noch
  herunterprogrammiert oder wenn nicht sogar nur
  generiert.
• Es führt mich dazu, daß ich Probleme mit anderen
  diskutieren kann, welche keine Ahnung von der zu
  verwendeten Programmiersprache haben, da auf
  einer höheren Ebene gearbeitet wird.



26.11.2011           Andreas Bräsen             16
 Außerdem sagt ein Bild mehr als tausend Worte
     oder tausend Zeilen Source Code...;o)
                                                                                                                                                                                                                                sd Interaktionsübersichts-Diagramm

                                                                                                        cd Klassen-Diagramm                                                                                                                                                  Start


                                                                                                               Class1                                          Class2
                                                                                                                                                                                                                                                          alt

                                                                                                                                                                                                                                                                                                                     cd Obj ekt-Diagramm


                                                                                                                                                                                                                                   seq                                               alt                                    Obj ect1                                               Obj ect3
     dd Verteilungs-Diagramm
                                                                                                               Class3                Class4

                                    Node1

                                                                                                                                                                                                                                                                     Final
                                                                                       Node3
                                        Node2                                                                                                                                                                                                                                                                               Obj ect2                                               Obj ect4




                                                                                                                                                                                                                                                                                                                                  cd Kompositionsstruktur-Diagramm


                                                                                                                                                                                                                                                                                                                                                                    Class4


                                                                                                                                                                                                                                                                                                                                                Class1                              Class2
                                                                                                                                                                                                                                                                                                                                                             Port1       Port2

id Komponent-Diagramm



                                                Component1
                                                                                                                                                                                                                                                                                                                                                Class3

                                                                                                                                                                                                                                                                                                                                                              Port3                                       Port5
                           Component2                       Component3

                                                                                                                                                                                                                                                                                                                                                            Port4                                             ProvidedInterface1




                                                                                           Port1
                           Component4


                                                                                                                                                                                                                                                                                                                                  pd Paket-Diagramm

                                                                                                                                                                                                                                                                                                                                     Package1

                                                                                                                                                                                                                                                                                                                                                                                               Package2
                                                                                                                                                                                                                                                                                                                                            Class1
                                                                                                                                                                                                                                                                                                                                                                                                   Obj ect1
                                                                                                                                                                                                                                                                                                                                                                                                                         Obj ect2

    td Timing-Diagramm

                                                                                                                                                                                                                                                                                                                                                                                    «import»

                                                                                                                                                                                                                                                                                                                                            Class2                   Class3



                           State1
     TimeLine1




                           State2




                                                                                                                                                                                                                                                                                                                           ad Aktiv itäts-Diagramm
                           State3
                                                                                                                                                                                                                                                                                                                              InputParameter1                                                  OutputParameter1

                           State4
                                                                                                                                                                                                                                                                                                                                                                      Activ ity1
     TimeLine3




                                                                                                                                                                                                                                                                                                                                                                                   D1
                                    0     15      30   45     60     75       90
                                                                                                                                                                                                                                                                                                                                                  Action1



                                                                                                                                                                                                                                                                                                                                       ActivityFinal                                  Action2


    sm Zustandsautomat

                                                                   State3



                                                                                                                                                                        cd Kommunikations-Diagramm                                                      ud Use Case-Diagramm
                                                                                               State4
                                         State1                                                            sd Sequenz-Diagramm
                                                                            Junction                                                                                                                                                                                                               My System
                                                                                                                                                                                           1: <call>                 Obj ect2
                                                                                                                                                                              Obj ect1
                 Initial                                                                                           Obj ect1           Obj ect2               Obj ect3

                                                                   State2                                                                                                                                                                                                              Use Case1

                                                                                               Final                                                                                                                                                        Actor1
                                                                                                                                                                                                       1.1: <call>                                                                                 «extend»
                                                                                                               loop           Message 1
                                                                                                                                                                                                                                                                                                               Use Case2
                                                                                                                                                 Message 2
                                                                                                                                                                                                                     Obj ect3

                                                                                                                                              Return Message
                                                                                                                                                                                                                                                                                           Use Case3
                                                                                                                                                                                                                                                            Actor2




   26.11.2011                                                                                                                                                            Andreas Bräsen                                                                                                                                                                                                                    17
Ziel des Vortrages ...
     Was ist UML ?
     Warum sollte ich es anwenden und wohin
     führt es mich ?
     Das Handwerkszeug...
     Wie fange ich an ?
     Weiterführende Informationen...


26.11.2011        Andreas Bräsen       18
...wie geht‘s jetzt weiter ?

             Neuerungen der UML 2.0 (7 Folien)


               Gleich zu den Diagrammtypen
             der UML 2.0 und ihrer Anwendung.




26.11.2011               Andreas Bräsen          19
 Neuerungen der UML 2.0 1/6
     Komponenten-Diagramm wurde neu
     gefasst.
     Alle Interaktionsdiagramme können
     sowohl tabellarisch wie auch grafisch
     notiert werden.
            Kann zum Beispiel bei der Generierung von
             Testfällen oder bei der
             Vollständigkeitsprüfung hilfreich sein.

26.11.2011                Andreas Bräsen            20
 Neuerungen der UML 2.0 2/6
     Aktivitätsdigramme
            Keine Sonderform der Zustandsdiagramme mehr.
            Basieren jetzt auf erweiterte Petri-Netze.
            Viele Einschränkungen sind weggefallen.
            Verbesserte Testbarkeit – Verklemmungen können
             (fast) automatisch erkannt werden.
            Bessere Unterstützung paralleler Flüsse.
            Aktivitätsdiagramme sind (fast) ausführbar.
            Token als Basiskonzept.

26.11.2011                  Andreas Bräsen              21
 Neuerungen der UML 2.0 3/6
     Das vorhanden Kollaborations-
     Diagramm heißt in der UML 2 nun
     Kommunikations-Diagramm.
     Im Klassen-Diagramm wurden einige
     „Unsauberkeiten“ beseitigt.




26.11.2011        Andreas Bräsen         22
 Neuerungen der UML 2.0 4/6
     Sequenz-Diagramm ist jetzt strukturier-
     und zerlegbar.
            D.h. Sie können Sequenzen fast beliebig
             ineinander verschachteln.
            Steuerung der Kontrollflüsse und
             Nebenläufigkeiten.




26.11.2011                 Andreas Bräsen              23
 Neuerungen der UML 2.0 5/6
     Verteilungs-Diagramm wurde neu
     gefasst. Es zeigt die Laufzeitaspekte
     einer Architekturumsetzung.
     3 Neue Diagramme
            Timing-Diagramm
            Interaktionsübersichts-Diagramm
            Kompositionsstruktur-Diagramm


26.11.2011                Andreas Bräsen       24
 Neuerungen der UML 2.0 6/6
     Zustandsautomaten ermöglichen die
     zustandsbasierte Verhaltensmodellierung.
     Die weiteren Diagramme (Use-Case-,
     Object- und Paket-Diagramm) wurden
     nur unwesentlich verändert.




26.11.2011         Andreas Bräsen        25
Ziel des Vortrages ...
     Was ist UML?
     Wo kommt es her ?
     [Was sind die Neuerungen in UML 2.0 ?]
     Welche Diagramme gibt es in der
     UML ?
     Was benötigt man für den Anfang ?
     Weiterführende Informationen...

26.11.2011         Andreas Bräsen        26
     Die Diagramme der UML 2
        und ihre Anwendung
                          Diagramme
                            der UML


              Struktur-            Verhaltens-
             Diagramme             Diagramme


                                             Interaktions-
                                              Diagramme



26.11.2011                  Andreas Bräsen                   27
                      Struktur-
                     Diagramme
                          Struktur-
                         Diagramme

              Klassen-
             Diagramm




26.11.2011               Andreas Bräsen   28
                       Klassen-
                    Diagramm 1/2
                 cd Klassen-Diagramm


                        Class1                          Class2




                        Class3            Class4




      Beantwortung der Frage:
            Aus welchen Klassen besteht mein System
             und wie stehen sie untereinander in
             Beziehung?

26.11.2011                             Andreas Bräsen            29
                      Klassen-
                   Diagramm 2/2            cd Klassen-Diagramm


                                                  Class1                  Class2




                                                  Class3         Class4




      Stärken:
            Beschreibt die statische Struktur des zu
             entwerfenden oder abzubildenden
             Systems.
            Enthält alle relevanten Strukturzusammen-
             hänge.
            Bildet die Brücke zu den dynamischen
             Diagrammen.
            Normalerweise unverzichtbar.
26.11.2011                Andreas Bräsen                                     30
                      Struktur-
                     Diagramme
                          Struktur-
                         Diagramme

              Klassen-
             Diagramm

       Komponenten-
         Diagramm




26.11.2011               Andreas Bräsen   31
                    Komponenten-
                    Diagramm 1/2
                 id Komponent-Diagramm



                                           Component1



                             Component2             Component3




                                                                 Port1
                             Component4




      Beantwortung der Frage:
            Wie werden meine Klassen zu wieder
             verwendbaren, verwaltbaren Komponenten
             zusammengefasst und wie stehen diese
             miteinander in Beziehung?
26.11.2011                                Andreas Bräsen                 32
                  Komponenten-
                  Diagramm 2/2             id Komponent-Diagramm



                                                                    Component1



                                                       Component2            Component3




                                                                                           Port1
                                                       Component4




      Stärken:
            Zeigt Organisation und Abhängigkeiten
             einzelner technischer Systemkomponenten.
            Modellierung angebotener und benötigter
             Schnittstellen.




26.11.2011                Andreas Bräsen                                                  33
              Struktur-Diagramme
                          Struktur-
                         Diagramme

              Klassen-
             Diagramm

       Komponenten-
         Diagramm

Kompositionsstruktur-
    Diagramm

26.11.2011               Andreas Bräsen   34
              Kompositionsstruktur-
                 Diagramm 1/2
                  cd Kompositionsstruktur-Diagramm


                                                  Class4


                              Class1                          Class2
                                           Port1      Port2




                              Class3

                                            Port3                      Port5



                                          Port4                           ProvidedInterface1




      Beantwortung der Frage:
            Wie sieht das Innenleben einer Klasse,
             einer Komponente, eines Systemteils aus ?


26.11.2011                                           Andreas Bräsen                            35
             Kompositionsstruktur-
                Diagramm 2/2                cd Kompositionsstruktur-Diagramm




                                                        Class1
                                                                            Class4


                                                                                        Class2
                                                                     Port1      Port2




                                                        Class3

                                                                      Port3                      Port5




      Stärken:
                                                                    Port4                           ProvidedInterface1




            Ideal für die Top-down-Modellierung des
             Systems (Ganz-Teil-Hierarchien).
            Mittleres Detailniveau, zeigt Teile eines
             „Gesamtelements“ und deren
             Mengenverhältnisse.
            Präzise Modellierung der Teile-Beziehungen
             über spezielle Schnittstellen (Ports)
             möglich.

26.11.2011                 Andreas Bräsen                                                                36
Struktur-Diagramme
                          Struktur-
                         Diagramme

              Klassen-                     Objekt-
             Diagramm                     Diagramm

       Komponenten-
         Diagramm

Kompositionsstruktur-
    Diagramm

26.11.2011               Andreas Bräsen              37
Objekt-Diagramm 1/2
                   cd Obj ekt-Diagramm


                         Obj ect1                         Obj ect3




                         Obj ect2                         Obj ect4




      Beantwortung der Frage:
            Welche innere Struktur besitzt mein System zu
             einem bestimmten Zeitpunkt zur Laufzeit
             (Klassendiagramm-Schnappschuss)


26.11.2011                               Andreas Bräsen              38
Objekt-Diagramm 2/2                        cd Obj ekt-Diagramm


                                                 Obj ect1        Obj ect3




       Stärken:
                                                 Obj ect2        Obj ect4




            Zeigt Objekte und deren Attribut-
             belegungen zu einem bestimmten
             Zeitpunkt.
            Wird nur beispielhaft zur
             Veranschaulichung verwendet.
            Detailniveau wie im Klassendiagramm.
            Sehr gute Darstellung von
             Mengenverhältnissen.
26.11.2011                Andreas Bräsen                               39
Struktur-Diagramme
                          Struktur-
                         Diagramme

              Klassen-                     Objekt-
             Diagramm                     Diagramm

       Komponenten-                       Verteilungs-
         Diagramm                          Diagramm

Kompositionsstruktu-
    Diagramm

26.11.2011               Andreas Bräsen                  40
Verteilungs-Diagramm 1/2
                   dd Verteilungs-Diagramm


                               Node1


                                                      Node3
                                Node2




      Beantwortung der Frage:
            Wie sieht das Einsatzumfeld (Hardware, Server,
             Datenbanken,...) des Systems aus? Wie werden
             die Komponenten zur Laufzeit wohin verteilt?


26.11.2011                               Andreas Bräsen       41
Verteilungs-Diagramm 2/2
                                            dd Verteilungs-Diagramm


                                                        Node1


                                                                      Node3
                                                         Node2




      Stärken:
            Zeigt das Laufzeitumfeld des Systems mit
             den „greifbaren“ Systemteilen (meist
             Hardware).
            Darstellung von „Softwareservern“ möglich.
            Hohes Abstraktionsniveau, kaum
             Notationselemente.


26.11.2011                 Andreas Bräsen                                42
Struktur-Diagramme
                          Struktur-
                         Diagramme

              Klassen-                     Objekt-
             Diagramm                     Diagramm

       Komponenten-                       Verteilungs-
         Diagramm                          Diagramm

Kompositionsstruktur-                       Paket-
    Diagramm                              Diagramm

26.11.2011               Andreas Bräsen                  43
Paket-Diagramm 1/2
                  pd Paket-Diagramm

                     Package1

                                                          Package2
                            Class1
                                                              Obj ect1
                                                                         Obj ect2




                                               «import»

                            Class2    Class3




      Beantwortung der Frage:
            Wie kann ich mein Modell so schneiden,
             dass ich den Überblick bewahre ?


26.11.2011                            Andreas Bräsen                                44
                       Paket-
                   Diagramm 2/2            pd Paket-Diagramm

                                              Package1



                                                     Class1
                                                                                   Package2


                                                                                       Obj ect1
                                                                                                  Obj ect2




                                                                        «import»

                                                     Class2    Class3




      Stärken:
            Organisiert das Systemmodell in größeren
             Einheiten durch logische
             Zusammenfassung von Modellelementen.
            Modellierung von Abhängigkeiten und
             Inklusion möglich.



26.11.2011                Andreas Bräsen                                                          45
Struktur-Diagramme
                          Struktur-
                         Diagramme

              Klassen-                     Objekt-
             Diagramm                     Diagramm

       Komponenten-                       Verteilungs-
         Diagramm                          Diagramm

Kompositionsstruktur-                       Paket-
    Diagramm                              Diagramm

26.11.2011               Andreas Bräsen                  46
Struktur-Diagramme
                          Struktur-
                         Diagramme

              Klassen-                     Objekt-
             Diagramm                     Diagramm

       Komponenten-                       Verteilungs-
         Diagramm                          Diagramm

Kompositionsstruktur-                       Paket-
    Diagramm                              Diagramm

26.11.2011               Andreas Bräsen                  47
Verhaltens-Diagramme
                           Verhaltens-
                           Diagramme

             Aktivitäts-
             Diagramm




26.11.2011                 Andreas Bräsen   48
Aktivitäts-Diagramm 1/2
                  ad Aktiv itäts-Diagramm

                     InputParameter1                               OutputParameter1

                                                 Activ ity1
                                                              D1
                                       Action1



                             ActivityFinal                     Action2




      Beantwortung der Frage:
            Wie läuft ein bestimmter flussorientierter
             Prozess oder ein Algorithmus ab ?


26.11.2011                               Andreas Bräsen                               49
                     Aktivitäts-
                   Diagramm 2/2            ad Aktiv itäts-Diagramm

                                              InputParameter1                               OutputParameter1

                                                                          Activ ity1
                                                                                       D1
                                                                Action1



                                                      ActivityFinal                     Action2




      Stärken:
            Sehr detaillierte Visualisierung von
             Abläufen mit Bedingungen, Schleifen,
             Verzweigungen.
            Parallelisierung und Synchronisation
             möglich.
            Darstellung von Datenflüssen.


26.11.2011                Andreas Bräsen                                                              50
Verhaltens-Diagramme
                           Verhaltens-
                           Diagramme

             Aktivitäts-                    Use-Case-
             Diagramm                       Diagramm




26.11.2011                 Andreas Bräsen               51
Use-Case-Diagramm 1/2
                  ud Use Case-Diagramm

                                                     My System




                                         Use Case1

                     Actor1
                                                     «extend»
                                                                 Use Case2




                                             Use Case3
                     Actor2




      Beantwortung der Frage:
            Was leistet mein System für seine Umwelt
             (Nachbarsysteme, Stakeholder)?


26.11.2011                                  Andreas Bräsen                   52
                     Use-Case-
                   Diagramm 2/2             ud Use Case-Diagramm

                                                                               My System




                                                                   Use Case1

                                               Actor1
                                                                               «extend»
                                                                                           Use Case2




                                                                       Use Case3




      Stärken:
                                               Actor2




            Präsentiert die Außensicht auf das System.
            Geeignet zur Kontextabgrenzung.
            Hohes Abstraktionsniveau, einfache
             Notationsmittel.




26.11.2011                 Andreas Bräsen                                                        53
Verhaltens-Diagramme
                           Verhaltens-
                           Diagramme

             Aktivitäts-                    Use-Case-
             Diagramm                       Diagramm

                                            Zustands-
                                             Automat




26.11.2011                 Andreas Bräsen               54
             Zustandsautomat 1/2
                  sm Zustandsautomat

                                                     State3




                                                                         State4
                                       State1
                                                              Junction

                    Initial


                                                     State2


                                                                         Final




      Beantwortung der Frage:
            Welche Zustände kann ein Objekt, eine
             Schnittstelle, ein Use Case, ... Bei welchem
             Ereignissen annehmen?

26.11.2011                                  Andreas Bräsen                        55
             Zustandsautomat 2/2
                                           sm Zustandsautomat

                                                                         State3




                                                                                             State4
                                                                State1
                                                                                  Junction

                                             Initial




      Stärken:
                                                                         State2


                                                                                             Final




            Präzise Abbildung eines Zustandsmodells
             mit Zuständen, Ereignissen,
             Nebenläufigkeiten, Bedingungen, Ein- und
             Austrittsaktionen
            Schachtelung möglich.




26.11.2011                Andreas Bräsen                                                      56
Verhaltens-Diagramme
                           Verhaltens-
                           Diagramme

             Aktivitäts-                    Use-Case-
             Diagramm                       Diagramm

                                            Zustands-
                                             Automat




26.11.2011                 Andreas Bräsen               57
Verhaltens-Diagramme
                           Verhaltens-
                           Diagramme

             Aktivitäts-                    Use-Case-
             Diagramm                       Diagramm

                                            Zustands-
                                             Automat




26.11.2011                 Andreas Bräsen               58
Verhaltens-Diagramme
                           Verhaltens-
                           Diagramme

             Aktivitäts-                    Use-Case-
             Diagramm                       Diagramm

         Interaktions-                      Zustands-
          Diagramm                           Automat




26.11.2011                 Andreas Bräsen               59
Interaktions-Diagramme
                  Interaktions-
                   Diagramme

       Sequenz-
       Diagramm




26.11.2011           Andreas Bräsen   60
                      Sequenz-
                    Diagramm 1/2
                  sd Sequenz-Diagramm

                        Obj ect1           Obj ect2               Obj ect3




                     loop          Message 1

                                                      Message 2


                                                 Return Message




      Beantwortung der Frage:
            Wer tauscht mit wem welche
             Informationen in welcher Reihenfolge aus ?


26.11.2011                               Andreas Bräsen                      61
                     Sequenz-
                   Diagramm 2/2               sd Sequenz-Diagramm

                                                    Obj ect1           Obj ect2               Obj ect3




                                                 loop          Message 1

                                                                                  Message 2




      Stärken:
                                                                             Return Message




            Stellt detailliert den Informationsaustausch
             zwischen Kommunikationspartnern dar.
            Sehr präzise Darstellung der zeitlichen
             Abfolge auch in mit Nebenläufigkeiten.
            Schachtelung und Flusssteuerung
             (Bedingungen, Schleifen, Verzweigungen)
             möglich.

26.11.2011                 Andreas Bräsen                                                         62
Interaktions-Diagramme
                    Interaktions-
                     Diagramme

       Sequenz-
       Diagramm

  Kommunikations-
     Diagramm




26.11.2011             Andreas Bräsen   63
                  Kommunikations-
                   Diagramm 1/2
                  cd Kommunikations-Diagramm

                                     1: <call>                 Obj ect2
                        Obj ect1




                                                 1.1: <call>


                                                               Obj ect3




      Beantwortung der Frage:
            Wer arbeitet mit wem? Wer „arbeitet“ im
             System zusammen?


26.11.2011                            Andreas Bräsen                      64
                  Kommunikations-
                   Diagramm 2/2             cd Kommunikations-Diagramm


                                                  Obj ect1
                                                               1: <call>                 Obj ect2




                                                                           1.1: <call>




      Stärken:
                                                                                         Obj ect3




            Stellt den Informationsaustausch zwischen
             Kommunikationspartnern dar.
            Überblick steht im Vordergrund (Details
             und zeitliche Abfolge weniger wichtig).




26.11.2011                 Andreas Bräsen                                                      65
Interaktions-Diagramme
                    Interaktions-
                     Diagramme

       Sequenz-                         Interaktionsübersichts-
       Diagramm                               Diagramm

  Kommunikations-
     Diagramm




26.11.2011             Andreas Bräsen                      66
             Interaktionsübersichts-
                 Diagramm 1/2
                  sd Interaktionsübersichts-Diagramm


                                                               Start




                                            alt




                     seq                                               alt




                                                       Final




      Beantwortung der Frage:
            Wann läuft welche Interaktion ab?



26.11.2011                                        Andreas Bräsen             67
             Interaktionsübersichts-
                 Diagramm 2/2               sd Interaktionsübersichts-Diagramm


                                                                                         Start




                                                                      alt




                                               seq                                               alt




      Stärken:                                                                   Final




            Verbindet Interaktionsdiagramme
             (Sequenz-, Kommunikation- und Timinig-
             Diagramme) auf Top-Level-Ebene.
            Hohes Abstraktionsniveau.
            Leseeinstieg für Interaktionsdiagramme.




26.11.2011                Andreas Bräsen                                                               68
Interaktions-Diagramme
                    Interaktions-
                     Diagramme

       Sequenz-                         Interaktionsübersichts-
       Diagramm                               Diagramm

  Kommunikations-                          Timing-
     Diagramm                             Diagramm




26.11.2011             Andreas Bräsen                      69
Timing-Diagramm 1/2
                    td Timing-Diagramm




                                 State1




                     TimeLine1
                                 State2




                                 State3


                                 State4
                     TimeLine3




                                          0   15   30   45   60   75   90




      Beantwortung der Frage:
            Wann befinden sich verschiedene
             Interaktionspartner in welchem Zustand?

26.11.2011                                    Andreas Bräsen                70
                      Timing-
                   Diagramm 2/2                  td Timing-Diagramm




                                                             State1




                                                 TimeLine1
                                                             State2




                                                             State3


                                                             State4




                                                 TimeLine3
      Stärken:
                                                                      0   15   30   45   60   75   90




            Visualisiert das exakte zeitliche Verhalten
             von Klassen, Schnittstellen,...
            Geeignet für die Detailbetrachtungen, bei
             denen es überaus wichtig ist, dass ein
             Ereignis zum richtigen Zeitpunkt eintritt.



26.11.2011                  Andreas Bräsen                                                    71
Interaktions-Diagramme
                    Interaktions-
                     Diagramme

       Sequenz-                         Interaktionsübersichts-
       Diagramm                               Diagramm

  Kommunikations-                          Timing-
     Diagramm                             Diagramm




26.11.2011             Andreas Bräsen                      72
Interaktions-Diagramme
                    Interaktions-
                     Diagramme

       Sequenz-                         Interaktionsübersichts-
       Diagramm                               Diagramm

  Kommunikations-                          Timing-
     Diagramm                             Diagramm




26.11.2011             Andreas Bräsen                      73
Ziel des Vortrages ...
     Was ist UML ?
     Warum sollte ich es anwenden und
     wohin führt es mich ?
     Das Handwerkszeug...
     Wie fange ich an ?
     Weiterführende Informationen...


26.11.2011        Andreas Bräsen        74
Wie fange ich an ?
     Bernd Österreich (oose.de) hat sinngemäß
     einmal gesagt, dass eine Modelling Language
     auf eine Tasse passen muss, damit diese
     verwendet wird......




26.11.2011           Andreas Bräsen           75
      UML-Diagramme auf dem
              Becher
        Klassen-          Zustands-        Sequenz-
       Diagramm            Automat         Diagramm

       Aktivitäts-       Use-Case-        Komponenten-
       Diagramm          Diagramm           Diagramm

    Ein weiteres wichtiges Diagramm,        Timing-
    welches nicht fehlen sollte für den    Diagramm
    Anfang, obwohl es nicht auf dem
              Becher ist ;o)


26.11.2011               Andreas Bräsen               76
             ad Was benötigt man für den Anfang ?

                                                       Start




                                      Klassen-Diagramm



                                                      Noch Zeit ?
                                     [Nein]
               Ende

                                                     [Ja]
                                      [Ja]             Schon alle ausgesuchten
                                                       Diagramme vorgestellt ?
                                                     [Nein]

                                     [Nein]
                                                        Noch Lust ?

                                                     [Ja]
                                                                           Lust aufs Aktivitäts-
                                                                           Diagramm ?
                        Aktivitäs-Diagramm              [Nein]
                        schon vorgestellt ?                                                        Aktivitäts-Diagramm
                                                                                                     Aktiv itäts-Diagramm
                                                                                    [Ja]
                                                            [Nein]
                                              [Ja]
                                                                          Lust aufs zustands-
                                                                          Diagramm ?
                                                        [Nein]
                        Zustands-Diagram
                                                                                  [Ja]
                                                                                                    Zustands-Diagramm
                                                                                                      Zustands-Automat
                        schon vorgestellt ?
                                              [Ja]          [Nein]        Lust aufs Sequenz-
                                                        [Nein]            Diagramm ?
                       Sequenz-Diagramm
                       schon vorgestellt ?                                          [Ja]
                                                                                                    Sequenz-Diagramm
                                                                                                     Sequenz-Diagramm

                                              [Ja]          [Nein]        Lust aufs Use-Case-
                                                                          Diagramm ?
                        Use-Case-Diagramm               [Nein]
                        schon vorgestellt ?                                         [Ja]
                                                                                                    Use-Case-Diagramm
                                                                                                     Use-Case-Diagramm
                                            [Ja]            [Nein]        Lust aufs Timing-
                        Timing-Diagramm                     [Nein]        Diagramm ?
                        schon vorgestellt ?
                                                                                    [Ja]              Timing-Diagramm
                                                                                                       Timing-Diagramm

                                              [Ja]
                                                                          Lust aufs Komponenten-
                                                            [Nein]
                  Komponenten-Diagramm                                    Diagramm ?
                  schon vorgestellt ?
                                                            [Nein]                  [Ja]      Komponenten-Diagramm
                                                                                               Komponenten-Diagramm

                                                                 [Nein]

                                                                                                   [Ja]


26.11.2011                                              Andreas Bräsen                                                      77
cd Klassen-Diagramm


       Class1                   Class2




       Class3         Class4




                                            Klassen-Diagramm 1/8
                                         Das Klassen-Diagramm gibt Ihnen die
                                         Möglichkeit, die Struktur des zu entwerfenden
                                         Systems darzustellen. Es zeigt dessen
                                         wesentliche statische Eigenschaften sowie
                                         ihre Beziehungen zueinander und versammelt
                                         die grundlegenden Modellierungskonstrukte
                                         der UML. Gleichzeitig repräsentiert es den
                                         Kern der gesamten Modellierungssprache und
                                         führt die wichtigsten grafischen Symbole und
                                         ihre Bedeutung ein.

                               26.11.2011                Andreas Bräsen             78
cd Klassen-Diagramm


       Class1                   Class2




       Class3         Class4




                                             Klassen-Diagramm 2/8
                                         Beantwortung der Frage:
                                            Aus welchen Klassen besteht mein System
                                             und wie stehen sie untereinander in
                                             Beziehung?




                               26.11.2011                 Andreas Bräsen           79
cd Klassen-Diagramm


       Class1                   Class2




       Class3         Class4




                                            Klassen-Diagramm 3/8
                                         Klassendiagramme finden in allen
                                         Projektphasen Anwendung.
                                         Es gibt nicht „das Klassendiagramm“, da es
                                         sich während des Projektes verändert.
                                         Es gibt mindestens zwei verschiedene „Arten“
                                         von Klassendiagrammen: konzeptuell-
                                         analytisch orientierte und eher auf das
                                         logische Design ausgerichtete.


                               26.11.2011                Andreas Bräsen            80
cd Klassen-Diagramm


       Class1                   Class2




       Class3         Class4




                                             Klassen-Diagramm 4/8
                                         Klassen-Diagramme enthalten im Wesentlichen:
                                            Klassen
                                            Schnittstellen
                                            Attribute
                                            Operationen
                                            Assoziationen (mit der Sonderformen Aggregation
                                             und Komposition)
                                            Generalisierungsbeziehungen
                                            Abhängigkeitsbeziehungen

                               26.11.2011                   Andreas Bräsen                81
cd Klassen-Diagramm


       Class1                   Class2




       Class3         Class4




                                             Klassen-Diagramm 5/8
                                         Definition: Objekt / Instanz
                                            „Im Rahmen der UML wird eine Klasse als
                                             Typ interpretiert, dessen Ausprägungen
                                             Objekte heißen.“
                                            Im Deutschen hat es sich eingebürgert,
                                             den Begriff der Instanz synonym zu
                                             verwenden.



                               26.11.2011                 Andreas Bräsen           82
                                            Klassen-Diagramm 6/8
cd Klassen-Diagramm


       Class1                   Class2




       Class3         Class4




                                                  Die Klasse
                                                cd Strukturelemente


                                                       «Stereotype»
                                                       Paket::Klasse

                                                   +   attribute: Type

                                                   +   operation() : Type




                               26.11.2011               Andreas Bräsen      83
                                                    Klassen-Diagramm 7/8
cd Klassen-Diagramm


       Class1                   Class2




       Class3         Class4




                                                         Beziehungen
                                   cd Beziehungen                                                             cd Beziehungen

                                         Source1                           +rolle   Target1                           Abhängig2      Abhängigkeit           Unabhängig2
                                                    +Beziehungsname   1..*
                                                    «Stereotyp»       {ordered}




                                                                                      cd Beziehungen


                                                                                              Parent



                                                                                                      Vererbung


                                                                                              Child




                                   cd Beziehungen                                                                 cd Beziehungen


                                          Ganzes1     Aggregation         Teil1                                         Source2    gerichtete Assoziation      Target2




                                                      Komposition
                                         Ganzes2                          Teil2




                               26.11.2011                                              Andreas Bräsen                                                                84
                                                  Klassen-Diagramm 8/8
cd Klassen-Diagramm


       Class1                   Class2




       Class3         Class4




                                                       Schnittstelle
                                         cd Schnittstelle

                                                                                            «interface»
                                                                 Realisierung             ISchnittstelle1

                                                                                      +   Operation1() : void
                                                                                      +   Operation2() : void

                                                     Klasse1
                                                                                                   Erweiterung

                                                                                            «interface»
                                                                                          ISchnittstelle2                 Klasse2
                                                                                                                 «use»
                                            bereitgestellt     genutzt




                                                                         Klasse3                                Klasse4

                                                                                      ISchnittestelle



                               26.11.2011                                          Andreas Bräsen                                   85
             ad Was benötigt man für den Anfang ?

                                                       Start




                                      Klassen-Diagramm



                                                      Noch Zeit ?
                                     [Nein]
               Ende

                                                     [Ja]
                                      [Ja]             Schon alle ausgesuchten
                                                       Diagramme vorgestellt ?
                                                     [Nein]

                                     [Nein]
                                                        Noch Lust ?

                                                     [Ja]
                                                                           Lust aufs Aktivitäts-
                                                                           Diagramm ?
                        Aktivitäs-Diagramm              [Nein]
                        schon vorgestellt ?                                                        Aktivitäts-Diagramm
                                                                                                     Aktiv itäts-Diagramm
                                                                                    [Ja]
                                                            [Nein]
                                              [Ja]
                                                                          Lust aufs zustands-
                                                                          Diagramm ?
                                                        [Nein]
                        Zustands-Diagram
                                                                                  [Ja]
                                                                                                    Zustands-Diagramm
                                                                                                      Zustands-Automat
                        schon vorgestellt ?
                                              [Ja]          [Nein]        Lust aufs Sequenz-
                                                        [Nein]            Diagramm ?
                       Sequenz-Diagramm
                       schon vorgestellt ?                                          [Ja]
                                                                                                    Sequenz-Diagramm
                                                                                                     Sequenz-Diagramm

                                              [Ja]          [Nein]        Lust aufs Use-Case-
                                                                          Diagramm ?
                        Use-Case-Diagramm               [Nein]
                        schon vorgestellt ?                                         [Ja]
                                                                                                    Use-Case-Diagramm
                                                                                                     Use-Case-Diagramm
                                            [Ja]            [Nein]        Lust aufs Timing-
                        Timing-Diagramm                     [Nein]        Diagramm ?
                        schon vorgestellt ?
                                                                                    [Ja]              Timing-Diagramm
                                                                                                       Timing-Diagramm

                                              [Ja]
                                                                          Lust aufs Komponenten-
                                                            [Nein]
                  Komponenten-Diagramm                                    Diagramm ?
                  schon vorgestellt ?
                                                            [Nein]                  [Ja]      Komponenten-Diagramm
                                                                                               Komponenten-Diagramm

                                                                 [Nein]

                                                                                                   [Ja]


26.11.2011                                              Andreas Bräsen                                                      86
id Komponent-Diagramm



                         Component1



            Component2            Component3




                                                 Port1
            Component4




                                                         Komponenten-Diagramm 1/5
                                                         Mit dem Komponenten-Diagramm wird
                                                         Ihnen die Möglichkeit gegeben, die
                                                         Struktur eines Systems zur Laufzeit
                                                         darzustellen. Die Darstellung orientiert
                                                         sich dabei an der gewählten
                                                         Komponentenstruktur.



                                               26.11.2011               Andreas Bräsen          87
id Komponent-Diagramm



                         Component1



            Component2            Component3




                                                 Port1
            Component4




                                                Komponenten-Diagramm 2/5
                                                         Beantwortung der Frage:
                                                            Wie werden meine Klassen zu wieder
                                                             verwendbaren, verwaltbaren Komponenten
                                                             zusammengefasst und wie stehen diese
                                                             miteinander in Beziehung?




                                               26.11.2011                Andreas Bräsen          88
id Komponent-Diagramm



                         Component1



            Component2            Component3




                                                 Port1
            Component4




                                                Komponenten-Diagramm 3/5
                                                         Verschieden Bestandteile des Systems
                                                         werden als Komponenten dargestellt.
                                                         Komponenten stellen abgegrenztes und über
                                                         klar definierte Schnittstellen zugreifbares
                                                         Verhalten bereit.
                                                         Brückenschlag zwischen von der
                                                         Entwurfssicht des statischen Klassen-
                                                         Diagramms zu einer stärker auf die
                                                         Ausführung orientierten Sichtweise.

                                               26.11.2011                Andreas Bräsen            89
id Komponent-Diagramm



                         Component1



            Component2            Component3




                                                 Port1
            Component4




                                                Komponenten-Diagramm 4/5
                                                         Komponenten-Diagramme enthalten im
                                                         Wesentlichen:
                                                            Komponenten
                                                            Schnittstellen
                                                            Realisierungs-, Implementierungs- und
                                                             Verwendungsbeziehung
                                                            Klasse
                                                            Artefakte
                                                            Port

                                               26.11.2011                    Andreas Bräsen          90
id Komponent-Diagramm



                         Component1



            Component2            Component3




                                                 Port1
            Component4




                                                Komponenten-Diagramm 5/5
                                                         id Knoten und Komponenten

                                                                     «artifact»
                                                           GetraenkeAutomatBusiness.dll                                   «library»
                                                                                             «manifest»       GetraenkeAutomatBusiness



                                                                                              IGetraenkeAutomatBusiness



                                                                   «artifact»
                                                            GetraenkeAutomatUi.exe                                   «executable»
                                                                                             «manifest»          GetraenkeAutomatUi




                                               26.11.2011                                 Andreas Bräsen                                 91
             ad Was benötigt man für den Anfang ?

                                                       Start




                                      Klassen-Diagramm



                                                      Noch Zeit ?
                                     [Nein]
               Ende

                                                     [Ja]
                                      [Ja]             Schon alle ausgesuchten
                                                       Diagramme vorgestellt ?
                                                     [Nein]

                                     [Nein]
                                                        Noch Lust ?

                                                     [Ja]
                                                                           Lust aufs Aktivitäts-
                                                                           Diagramm ?
                        Aktivitäs-Diagramm              [Nein]
                        schon vorgestellt ?                                                        Aktivitäts-Diagramm
                                                                                                     Aktiv itäts-Diagramm
                                                                                    [Ja]
                                                            [Nein]
                                              [Ja]
                                                                          Lust aufs zustands-
                                                                          Diagramm ?
                                                        [Nein]
                        Zustands-Diagram
                                                                                  [Ja]
                                                                                                    Zustands-Diagramm
                                                                                                      Zustands-Automat
                        schon vorgestellt ?
                                              [Ja]          [Nein]        Lust aufs Sequenz-
                                                        [Nein]            Diagramm ?
                       Sequenz-Diagramm
                       schon vorgestellt ?                                          [Ja]
                                                                                                    Sequenz-Diagramm
                                                                                                     Sequenz-Diagramm

                                              [Ja]          [Nein]        Lust aufs Use-Case-
                                                                          Diagramm ?
                        Use-Case-Diagramm               [Nein]
                        schon vorgestellt ?                                         [Ja]
                                                                                                    Use-Case-Diagramm
                                                                                                     Use-Case-Diagramm
                                            [Ja]            [Nein]        Lust aufs Timing-
                        Timing-Diagramm                     [Nein]        Diagramm ?
                        schon vorgestellt ?
                                                                                    [Ja]              Timing-Diagramm
                                                                                                       Timing-Diagramm

                                              [Ja]
                                                                          Lust aufs Komponenten-
                                                            [Nein]
                  Komponenten-Diagramm                                    Diagramm ?
                  schon vorgestellt ?
                                                            [Nein]                  [Ja]      Komponenten-Diagramm
                                                                                               Komponenten-Diagramm

                                                                 [Nein]

                                                                                                   [Ja]


26.11.2011                                              Andreas Bräsen                                                      92
ud Use Case-Diagramm

                                   My System




                       Use Case1

   Actor1
                                   «extend»
                                               Use Case2




                           Use Case3
   Actor2




                                                            Use-Case-Diagramm 1/4
                                                           Ein Use-Case-Diagramm (dt. Anwendungsfall
                                                           Diagramm) zeigt das externe Verfalten eines
                                                           Systems aus der Sicht der Nutzer, indem es
                                                           die Nutzer (im UML-Jargon ‚Acteure‘
                                                           genannt), die Use Cases und deren
                                                           Beziehungen zueinander darstellen. Ein
                                                           Nutzer kann eine Person, aber auch ein
                                                           Nachbarsystem sein. Use-Cases bilden dabei
                                                           die Reaktion des Systems auf Ergebnisse
                                                           seiner Umwelt ab und fassen dabei Teile der
                                                           Systemdienstleistung zusammen.
                                               26.11.2011                  Andreas Bräsen            93
ud Use Case-Diagramm

                                   My System




                       Use Case1

   Actor1
                                   «extend»
                                               Use Case2




                           Use Case3
   Actor2




                                                               Use-Case-Diagram 2/4
                                                           Beantwortung der Frage:
                                                              Was leistet mein System für seine Umwelt
                                                               (Nachbarsysteme, Stakeholder)?




                                               26.11.2011                   Andreas Bräsen            94
ud Use Case-Diagramm

                                   My System




                       Use Case1

   Actor1
                                   «extend»
                                               Use Case2




                           Use Case3
   Actor2




                                                               Use-Case-Diagramm 3/4
                                                           ud Use Case Diagramm

                                                                                                    Getränke-Automat



                                                                                                                        UC 3 -
                                                                                  UC 1 - Getränk
                                                                                                                  Getränkeschächte
                                                                                      kaufen
                                                              Kunde                                                    auffüllen




                                                                                  UC 2 - Leergut                        UC 4 - Geld
                                                                                   zurückgeben                          abgleichen




                                                                                                                       UC 5 - Leergut
                                                                                                                                        Getränkeautomat
                                                                                                                        entnehmen
                                                                                                                                            Betreiber




                                               26.11.2011                                          Andreas Bräsen                                         95
                                                           Beschreibungsmöglichkeiten
ud Use Case-Diagramm

                                   My System




                       Use Case1

   Actor1
                                   «extend»
                                               Use Case2




                           Use Case3
   Actor2




                                                                für Use Cases 4/4
                                       Merkmale des Use-Case                               Empfohlene Notation zur Use-
                                                                                           Case-Beschreibung
                                       kurze kleine Abläufe, wenig Sonderfälle             (strukturierter) Text

                                       ablauf- oder Schrittorientiert (1.,2.,..)           Aktivitätsdiagramm

                                       einfache daten- oder ereignisorientierte            Kommunikationsdiagramm
                                       Abläufe (viele Entitäten)
                                       komplexe daten- oder ereignisorientierte            Sequenzdiagramm
                                       Abläufe (viele Daten)
                                       kein „typischer“ Ablauf,                            Zustandsautomat
                                       gleichwahrscheinliches Auftreten von
                                       Abfolgen und Ereignissen.
                                       Use-Case bündelt viele Szenarien                    Interaktionsübersichtsdiagramm


                                               26.11.2011                 Andreas Bräsen                              96
             ad Was benötigt man für den Anfang ?

                                                       Start




                                      Klassen-Diagramm



                                                      Noch Zeit ?
                                     [Nein]
               Ende

                                                     [Ja]
                                      [Ja]             Schon alle ausgesuchten
                                                       Diagramme vorgestellt ?
                                                     [Nein]

                                     [Nein]
                                                        Noch Lust ?

                                                     [Ja]
                                                                           Lust aufs Aktivitäts-
                                                                           Diagramm ?
                        Aktivitäs-Diagramm              [Nein]
                        schon vorgestellt ?                                                        Aktivitäts-Diagramm
                                                                                                     Aktiv itäts-Diagramm
                                                                                    [Ja]
                                                            [Nein]
                                              [Ja]
                                                                          Lust aufs zustands-
                                                                          Diagramm ?
                                                        [Nein]
                        Zustands-Diagram
                                                                                  [Ja]
                                                                                                    Zustands-Diagramm
                                                                                                      Zustands-Automat
                        schon vorgestellt ?
                                              [Ja]          [Nein]        Lust aufs Sequenz-
                                                        [Nein]            Diagramm ?
                       Sequenz-Diagramm
                       schon vorgestellt ?                                          [Ja]
                                                                                                    Sequenz-Diagramm
                                                                                                     Sequenz-Diagramm

                                              [Ja]          [Nein]        Lust aufs Use-Case-
                                                                          Diagramm ?
                        Use-Case-Diagramm               [Nein]
                        schon vorgestellt ?                                         [Ja]
                                                                                                    Use-Case-Diagramm
                                                                                                     Use-Case-Diagramm
                                            [Ja]            [Nein]        Lust aufs Timing-
                        Timing-Diagramm                     [Nein]        Diagramm ?
                        schon vorgestellt ?
                                                                                    [Ja]              Timing-Diagramm
                                                                                                       Timing-Diagramm

                                              [Ja]
                                                                          Lust aufs Komponenten-
                                                            [Nein]
                  Komponenten-Diagramm                                    Diagramm ?
                  schon vorgestellt ?
                                                            [Nein]                  [Ja]      Komponenten-Diagramm
                                                                                               Komponenten-Diagramm

                                                                 [Nein]

                                                                                                   [Ja]


26.11.2011                                              Andreas Bräsen                                                      97
ad Aktiv itäts-Diagramm

   InputParameter1                               OutputParameter1

                               Activ ity1
                                            D1
                     Action1



           ActivityFinal                     Action2




                                                                     Aktivitäts-Diagramm 1/4
                                                                    Aktivitäts-Diagramme sind das
                                                                    Notationsmittel der Wahl, wenn es darum
                                                                    geht, Abläufe zu modellieren. Sie können
                                                                    beispielsweise die Abarbeitung einer Use-
                                                                    Cases oder eine Operation visualisieren, aber
                                                                    auch einen kompletten Geschäftsvorfall zu
                                                                    Papier bringen. Mit Hilfe dieser Diagrammart
                                                                    können Sie einen komplexen Verlauf unter
                                                                    Berücksichtigung von Nebenläufigkeiten,
                                                                    alternativen Entscheidungswegen und
                                                                    Ähnlichkeiten konkret modellieren und
                                                                    nachvollziehen.
                                            26.11.2011                               Andreas Bräsen            98
ad Aktiv itäts-Diagramm

   InputParameter1                               OutputParameter1

                               Activ ity1
                                            D1
                     Action1



           ActivityFinal                     Action2




                                                                     Aktivitäts-Diagramm 2/4
                                                                    Beantwortung der Frage:
                                                                       Wie läuft ein bestimmter flussorientierter
                                                                        Prozess oder ein Algorithmus ab ?




                                            26.11.2011                                Andreas Bräsen                 99
ad Aktiv itäts-Diagramm

   InputParameter1                               OutputParameter1

                               Activ ity1
                                            D1
                     Action1



           ActivityFinal                     Action2




                                                                     Aktivitäts-Diagramm 3/4
                                                                    Aktivitäts-Diagramme enthalten im
                                                                    Wesentlichen:
                                                                       Eine oder mehrere Aktivitäten
                                                                       Aktionen
                                                                       Objektknoten
                                                                       Kontrollelemente zur Ablaufsteuerung
                                                                       Verbindene Kanten.


                                            26.11.2011                               Andreas Bräsen            100
ad Aktiv itäts-Diagramm

   InputParameter1                               OutputParameter1

                               Activ ity1
                                            D1
                     Action1



           ActivityFinal                     Action2




                                                                    Aktivitäts-Diagramm 4/4
                                                                     ad Aktiv itäts-Diagramme


                                                                                                                   Aktiv itätsname

                                                                                                                                          [x < 0]
                                                                             Anfangsknoten
                                                                                                                Schritt 1
                                                                                                                                                       [x = 1]
                                                                                                                                                                       Ausgangsparameter
                                                                                                                                          [x > 1]
                                                                        Eingangsparameter                                                                   [x = 0]




                                                                                                                             Interruptible Activ ity Region 1



                                                                                                                                     Schritt 2
                                                                                  Obj ektknoten        Signal




                                                                                         {weight=5}


                                                                                                                                 Signal



                                                                                      Schritt 3                                                     Schritt 4
                                                                                                      Objektknoten


                                                                                                             Ablaufende                                    Endknoten




                                            26.11.2011                                                              Andreas Bräsen                                                         101
             ad Was benötigt man für den Anfang ?

                                                       Start




                                      Klassen-Diagramm



                                                      Noch Zeit ?
                                     [Nein]
               Ende

                                                     [Ja]
                                      [Ja]             Schon alle ausgesuchten
                                                       Diagramme vorgestellt ?
                                                     [Nein]

                                     [Nein]
                                                        Noch Lust ?

                                                     [Ja]
                                                                           Lust aufs Aktivitäts-
                                                                           Diagramm ?
                        Aktivitäs-Diagramm              [Nein]
                        schon vorgestellt ?                                                        Aktivitäts-Diagramm
                                                                                                     Aktiv itäts-Diagramm
                                                                                    [Ja]
                                                            [Nein]
                                              [Ja]
                                                                          Lust aufs zustands-
                                                                          Diagramm ?
                                                        [Nein]
                        Zustands-Diagram
                                                                                  [Ja]
                                                                                                    Zustands-Diagramm
                                                                                                      Zustands-Automat
                        schon vorgestellt ?
                                              [Ja]          [Nein]        Lust aufs Sequenz-
                                                        [Nein]            Diagramm ?
                       Sequenz-Diagramm
                       schon vorgestellt ?                                          [Ja]
                                                                                                    Sequenz-Diagramm
                                                                                                     Sequenz-Diagramm

                                              [Ja]          [Nein]        Lust aufs Use-Case-
                                                                          Diagramm ?
                        Use-Case-Diagramm               [Nein]
                        schon vorgestellt ?                                         [Ja]
                                                                                                    Use-Case-Diagramm
                                                                                                     Use-Case-Diagramm
                                            [Ja]            [Nein]        Lust aufs Timing-
                        Timing-Diagramm                     [Nein]        Diagramm ?
                        schon vorgestellt ?
                                                                                    [Ja]              Timing-Diagramm
                                                                                                       Timing-Diagramm

                                              [Ja]
                                                                          Lust aufs Komponenten-
                                                            [Nein]
                  Komponenten-Diagramm                                    Diagramm ?
                  schon vorgestellt ?
                                                            [Nein]                  [Ja]      Komponenten-Diagramm
                                                                                               Komponenten-Diagramm

                                                                 [Nein]

                                                                                                   [Ja]


26.11.2011                                              Andreas Bräsen                                                      102
sm Zustandsautomat

                              State3




                                                  State4
                     State1
                                       Junction

  Initial


                              State2


                                                  Final




                                                              Zustands-Automat 1/3
                                                           Mit den Zustandsautomaten wird Ihnen
                                                           primär eine weitere Möglichkeit gegeben, das
                                                           Verhalten beliebiger Classifier zu modellieren.
                                                           Sie spezifizieren dieses Verhalten mittels
                                                           Zuständen, die ein Classifier einnehmen kann,
                                                           und Übergängen zwischen den Zuständen,
                                                           die durch interne oder externe Ereignisse
                                                           initiiert werden können.


                                   26.11.2011                               Andreas Bräsen             103
sm Zustandsautomat

                              State3




                                                  State4
                     State1
                                       Junction

  Initial


                              State2


                                                  Final




                                                               Zustands-Automat 2/3
                                                           Beantwortung der Frage:
                                                              Welche Zustände kann ein Objekt, eine
                                                               Schnittstelle, ein Use Case, ... Bei welchem
                                                               Ereignissen annehmen?




                                   26.11.2011                                Andreas Bräsen             104
sm Zustandsautomat

                              State3




                                                  State4
                     State1
                                       Junction

  Initial


                              State2


                                                  Final




                                                              Zustands-Automaten 3/3
                                                           sm Zustands-Automat

                                                                                                       Zustand


                                                                                                           Zustand               Zustand



                                                                                                       Zustand

                                                                                 Zustand                               Zustand

                                                                                             ereignis(parameter)
                                                                                             [bedingung] /effekt

                                                                                                                             Zustand
                                                                                                            Zustand
                                                                                            [x <> 0]
                                                                                  Zustand
                                                                                                             [X = 0]




                                   26.11.2011                                                  Andreas Bräsen                              105
             ad Was benötigt man für den Anfang ?

                                                       Start




                                      Klassen-Diagramm



                                                      Noch Zeit ?
                                     [Nein]
               Ende

                                                     [Ja]
                                      [Ja]             Schon alle ausgesuchten
                                                       Diagramme vorgestellt ?
                                                     [Nein]

                                     [Nein]
                                                        Noch Lust ?

                                                     [Ja]
                                                                           Lust aufs Aktivitäts-
                                                                           Diagramm ?
                        Aktivitäs-Diagramm              [Nein]
                        schon vorgestellt ?                                                        Aktivitäts-Diagramm
                                                                                                     Aktiv itäts-Diagramm
                                                                                    [Ja]
                                                            [Nein]
                                              [Ja]
                                                                          Lust aufs zustands-
                                                                          Diagramm ?
                                                        [Nein]
                        Zustands-Diagram
                                                                                  [Ja]
                                                                                                    Zustands-Diagramm
                                                                                                      Zustands-Automat
                        schon vorgestellt ?
                                              [Ja]          [Nein]        Lust aufs Sequenz-
                                                        [Nein]            Diagramm ?
                       Sequenz-Diagramm
                       schon vorgestellt ?                                          [Ja]
                                                                                                    Sequenz-Diagramm
                                                                                                     Sequenz-Diagramm

                                              [Ja]          [Nein]        Lust aufs Use-Case-
                                                                          Diagramm ?
                        Use-Case-Diagramm               [Nein]
                        schon vorgestellt ?                                         [Ja]
                                                                                                    Use-Case-Diagramm
                                                                                                     Use-Case-Diagramm
                                            [Ja]            [Nein]        Lust aufs Timing-
                        Timing-Diagramm                     [Nein]        Diagramm ?
                        schon vorgestellt ?
                                                                                    [Ja]              Timing-Diagramm
                                                                                                       Timing-Diagramm

                                              [Ja]
                                                                          Lust aufs Komponenten-
                                                            [Nein]
                  Komponenten-Diagramm                                    Diagramm ?
                  schon vorgestellt ?
                                                            [Nein]                  [Ja]      Komponenten-Diagramm
                                                                                               Komponenten-Diagramm

                                                                 [Nein]

                                                                                                   [Ja]


26.11.2011                                              Andreas Bräsen                                                      106
sd Sequenz-Diagramm

      Obj ect1           Obj ect2               Obj ect3




   loop          Message 1

                                    Message 2


                               Return Message




                                                            Sequenz-Diagramm 1/3
                                                           Sequenz-Diagramme zeigen den
                                                           Informationsaustausch zwischen
                                                           beliebigen Kommunikationspartnern
                                                           innerhalb eines Systems oder zwischen
                                                           Systemen generell. Sie ermöglichen die
                                                           Modellierung von festen Reihenfolgen,
                                                           zeitlichen und logischen
                                                           Ablaufbedingungen, Schleifen und
                                                           Nebenläufigkeiten.
                                    26.11.2011                           Andreas Bräsen        107
sd Sequenz-Diagramm

      Obj ect1           Obj ect2               Obj ect3




   loop          Message 1

                                    Message 2


                               Return Message




                                                               Sequenz-Diagramm 2/3
                                                           Beantwortung der Frage:
                                                              Wer tauscht mit wem welche
                                                               Informationen in welcher Reihenfolge aus ?




                                    26.11.2011                               Andreas Bräsen           108
sd Sequenz-Diagramm

      Obj ect1           Obj ect2               Obj ect3




   loop          Message 1

                                    Message 2


                               Return Message




                                                           Sequenz-Diagramm 3/3




                                    26.11.2011                     Andreas Bräsen   109
             ad Was benötigt man für den Anfang ?

                                                       Start




                                      Klassen-Diagramm



                                                      Noch Zeit ?
                                     [Nein]
               Ende

                                                     [Ja]
                                      [Ja]             Schon alle ausgesuchten
                                                       Diagramme vorgestellt ?
                                                     [Nein]

                                     [Nein]
                                                        Noch Lust ?

                                                     [Ja]
                                                                           Lust aufs Aktivitäts-
                                                                           Diagramm ?
                        Aktivitäs-Diagramm              [Nein]
                        schon vorgestellt ?                                                        Aktivitäts-Diagramm
                                                                                                     Aktiv itäts-Diagramm
                                                                                    [Ja]
                                                            [Nein]
                                              [Ja]
                                                                          Lust aufs zustands-
                                                                          Diagramm ?
                                                        [Nein]
                        Zustands-Diagram
                                                                                  [Ja]
                                                                                                    Zustands-Diagramm
                                                                                                      Zustands-Automat
                        schon vorgestellt ?
                                              [Ja]          [Nein]        Lust aufs Sequenz-
                                                        [Nein]            Diagramm ?
                       Sequenz-Diagramm
                       schon vorgestellt ?                                          [Ja]
                                                                                                    Sequenz-Diagramm
                                                                                                     Sequenz-Diagramm

                                              [Ja]          [Nein]        Lust aufs Use-Case-
                                                                          Diagramm ?
                        Use-Case-Diagramm               [Nein]
                        schon vorgestellt ?                                         [Ja]
                                                                                                    Use-Case-Diagramm
                                                                                                     Use-Case-Diagramm
                                            [Ja]            [Nein]        Lust aufs Timing-
                        Timing-Diagramm                     [Nein]        Diagramm ?
                        schon vorgestellt ?
                                                                                    [Ja]              Timing-Diagramm
                                                                                                       Timing-Diagramm

                                              [Ja]
                                                                          Lust aufs Komponenten-
                                                            [Nein]
                  Komponenten-Diagramm                                    Diagramm ?
                  schon vorgestellt ?
                                                            [Nein]                  [Ja]      Komponenten-Diagramm
                                                                                               Komponenten-Diagramm

                                                                 [Nein]

                                                                                                   [Ja]


26.11.2011                                              Andreas Bräsen                                                      110
td Timing-Diagramm




            State1
TimeLine1




            State2




                                                         Timing-Diagramm 1/3
            State3


            State4
TimeLine3




                     0   15   30   45   60   75   90




                                                       Ein Timing-Diagramm zeigt das zeitliche
                                                       Verhalten von Classifiern in einem
                                                       System. Das in der Elektrotechnik
                                                       beliebte Diagramm wird schon seit
                                                       langem erfolgreich für die Beschreibung
                                                       des Zeitlichen Verhaltens digitaler
                                                       Schaltungen angewendet. Nun ist es
                                                       auch in der UML 2.0 verfügbar.

                                    26.11.2011                       Andreas Bräsen        111
td Timing-Diagramm




            State1
TimeLine1




            State2




                                                           Timing-Diagramm 2/3
            State3


            State4
TimeLine3




                     0   15   30   45   60   75   90




                                                       Beantwortung der Frage:
                                                          Wann befinden sich verschiedene
                                                           Interaktionspartner in welchem Zustand?




                                    26.11.2011                          Andreas Bräsen           112
td Timing-Diagramm




            State1
TimeLine1




            State2




                                                       Timing-Diagramm 3/3
            State3


            State4
TimeLine3




                     0   15   30   45   60   75   90




                                                        td Timing-Diagramm




                                                                     State1
                                                         TimeLine1




                                                                     State2




                                                                     State3


                                                                     State4
                                                         TimeLine3




                                                                              0   15   30   45     60   75   90



                                    26.11.2011                                    Andreas Bräsen                  113
             ad Was benötigt man für den Anfang ?

                                                       Start




                                      Klassen-Diagramm



                                                      Noch Zeit ?
                                     [Nein]
               Ende

                                                     [Ja]
                                      [Ja]             Schon alle ausgesuchten
                                                       Diagramme vorgestellt ?
                                                     [Nein]

                                     [Nein]
                                                        Noch Lust ?

                                                     [Ja]
                                                                           Lust aufs Aktivitäts-
                                                                           Diagramm ?
                        Aktivitäs-Diagramm              [Nein]
                        schon vorgestellt ?                                                        Aktivitäts-Diagramm
                                                                                                     Aktiv itäts-Diagramm
                                                                                    [Ja]
                                                            [Nein]
                                              [Ja]
                                                                          Lust aufs zustands-
                                                                          Diagramm ?
                                                        [Nein]
                        Zustands-Diagram
                                                                                  [Ja]
                                                                                                    Zustands-Diagramm
                                                                                                      Zustands-Automat
                        schon vorgestellt ?
                                              [Ja]          [Nein]        Lust aufs Sequenz-
                                                        [Nein]            Diagramm ?
                       Sequenz-Diagramm
                       schon vorgestellt ?                                          [Ja]
                                                                                                    Sequenz-Diagramm
                                                                                                     Sequenz-Diagramm

                                              [Ja]          [Nein]        Lust aufs Use-Case-
                                                                          Diagramm ?
                        Use-Case-Diagramm               [Nein]
                        schon vorgestellt ?                                         [Ja]
                                                                                                    Use-Case-Diagramm
                                                                                                     Use-Case-Diagramm
                                            [Ja]            [Nein]        Lust aufs Timing-
                        Timing-Diagramm                     [Nein]        Diagramm ?
                        schon vorgestellt ?
                                                                                    [Ja]              Timing-Diagramm
                                                                                                       Timing-Diagramm

                                              [Ja]
                                                                          Lust aufs Komponenten-
                                                            [Nein]
                  Komponenten-Diagramm                                    Diagramm ?
                  schon vorgestellt ?
                                                            [Nein]                  [Ja]      Komponenten-Diagramm
                                                                                               Komponenten-Diagramm

                                                                 [Nein]

                                                                                                   [Ja]


26.11.2011                                              Andreas Bräsen                                                      114
             Tips und Tricks 1/2
     7 +/- 2 Elemente pro Diagramm.
     Jedes Diagramm stellt eine Sicht auf einen
     bestimmten Sachverhalt dar, welcher mit ein
     paar erklärenden Worten versehen werden
     sollte.
     Disziplin – Es ist nicht einfach im Eifer des
     normalen Wahnsinns die Informationen
     aktuell zu halten – Es lohnt sich aber ;o)
     Eine Versionsnummer/Datum auf jedes
     Dokument – Ausdrucke können so besser
     identifiziert werden.
26.11.2011            Andreas Bräsen            115
             Tips und Tricks 2/2
     Nicht versuchen sein ganzes System mit
     der UML beschreiben, es sei denn man
     macht MDA (Model Driven
     Architecture).
     Ein gutes Tool hilft ungemein um die
     Diagramme schnell erstellen zu können.
     ...

26.11.2011          Andreas Bräsen      116
Ziel des Vortrages ...
     Was ist UML ?
     Warum sollte ich es anwenden und
     wohin führt es mich ?
     Das Handwerkszeug...
     Wie fange ich an ?
     Weiterführende Informationen...


26.11.2011       Andreas Bräsen         117
Resourcen im Internet 1/1
     OMG
            www.omg.org/uml/
     OOSE.de (Hamburg)
            Sehr gutes UML Material
            UML Becher/Poster,Kurse,Zertifizierung,Bücher...
            www.oose.de/uml.htm
     Sophist GmbH (Nürnberg)
            UML 2.0 Visio Templates, Kurse, Zertifizierung,
             UML Poster...
            www.sophist.de
     ...
26.11.2011                    Andreas Bräsen                   118
Literatur 1/1
     UML 2 Glasklar (2003)
     ISBN 3-446-22575-7
     www.uml-glasklar.de
     UML 2 Glasklar (2005)
     ISBN 3-446-22952-3
     www.uml-glasklar.de
     Geschäftsprozessmodellierung
     mit der UML
     ISBN 3-89864-237-2
     www.oogpm.de

26.11.2011          Andreas Bräsen   119
             Folien und Kontakt

                  www.bruke.de

                   Andreas Bräsen
                Software Entwicklung
             E-Mail: abraesen@bruke.de


26.11.2011            Andreas Bräsen     120
Fragen....




26.11.2011   Andreas Bräsen   121

								
To top