SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
Wissen macht ambitionierte
                                    Geschäftsziele erreichbar.
                                    Wir liefern Wissen und schaffen Werte.



UML 2.x
                                    Weltweit.

                                    Knowledge enables your business
                                    ambitions.
                                    We deliver knowledge and create value.
                                    Worldwide.



Part 1
Einführung / Introduction

J. Anton Illik




                            Ambit                        1.     1
UML intro & overview                            www.ambit.de



                                                                                   ! Session 6
                                                      Inhalt / TOC                   ! Komponentendiagramm,
                                                      ! Session 1                      Verteilungsdiagramm, Use-
                                                         ! Einführung, Diagrammarten   Case-Diagramm
sich ändern! Ebenso die Verteilung der Kapitel.




                                                      ! Session 2                  ! Session 7
                                                         ! Grundlagen,                      ! Case Study Use-Case-Diagramm
                                                           1. Klassendiagramm
                                                                                   ! Session 8
                                                      ! Session 3
                                                         ! Case Study                       ! Aktivitätsdiagramm,
                                                                                              Zustandsautomat,
Achtung: Reihenfolge kann




                                                           Klassendiagramm
                                                      ! Session 4                             Sequenzdiagramm
                                                         ! 2. Paketdiagramm,     ! Session 9
                                                         ! 3. Objektdiagramm,       ! Case Study Zustandsdiagramm,
                                                         ! 4. Kompositionsstruktur-   Aktivitätsdiagramm
                                                              diagramm           ! Session 10
                                                      ! Session 5                   ! Kommunikationsdiagramm,
                                                         ! Case Study                 Timingdiagramm,
                                                           Objektdiagramm,            Interaktionsübersichtsdiagramm
                                                           Verteilungsdiagramm

                                                  2                          www.ambit.de
www.ambit.de




    Organisatorisches
    ! Arbeitstechniken dieses Seminars
       !   Dialog und Präsentation
       !   Lösung von Übungsaufgaben
       !   Bearbeitung von Fallbeispielen
       !   Nacharbeiten in der Literatur


    ! Fragen und Anregungen sind jederzeit erwünscht !!!




3                            www.ambit.de
www.ambit.de




    UML Inhalte
    1. UML Allgemein
    2. UML Diagramme im Überblick
    3. UML Diagramme im Detail




4                      www.ambit.de
www.ambit.de
Kapitel 1


                1 UML Allgemein


                        Kapitel 1




            5              www.ambit.de
Kapitel 1                                     www.ambit.de




            1     UML Allgemein
            1.1   Was ist UML
            1.2   Entwicklung von UML
            1.3   Deutsche UML Begriffe
            1.4   Überblick Diagrammtypen




    6                          www.ambit.de
www.ambit.de
Kapitel 1


                1. Was ist UML
                • eine Sprache zur Analyse, Spezifikation,
                  Entwurf/Konstruktion und Visualisierung,
                  Dokumentation von Modellen für Softwaresysteme
                • liefert Notationselemente für statische und
                  dynamische Modelle
                   -> Strukturdiagramme
                   -> Verhaltensdiagramme
                • unterstützt objektorientierte Vorgehensweise




            7                       www.ambit.de
www.ambit.de
Kapitel 1
                2. Entwicklung von UML
                                   Unified Modelling Language 2.0
                                                                            Erfahrungen der Anwender
                                           UML2 Partners
      2005
                                   Unified Modelling Language 1.5
                                            UML Partners
      2003
                                   Unified Modelling Language 1.4           Object Management Group
                                            UML Partners                    übernimmt Copyright
      2001
                                   Unified Modelling Language 1.3           XML Metadata Interchange
                                            UML Partners
      1999
                                   Unified Modelling Language 1.2
                                            UML Partners
      1998
                                   Unified Modelling Language 1.1           Integration der Object
                                            UML Partners                    Constraint Language
      1997
                                   Unified Modelling Language 1.0           Einsatzerfahrung der
                                            UML Partners                    Sprachschöpfer
      1996
                                   Unified Modelling Language 0.9
      1995                          Booch, Rumbaugh,Jacobson

                      OMT                     OOD                       OOSE
                  Rumbaught 1991           Booch 1992               Jacobson 1992


            8                               www.ambit.de
www.ambit.de
Kapitel 1


                3. UML Begriffe
                Englisch            Deutsch               Englisch             Deutsch
                action              Aktion                component            Komponente
                activity            Aktivität             component diagramm Komponenten-
                                                                             Diagramm
                activity diagramm   Aktivitätsdiagramm    composition          Komposition
                actor               Akteur, Aktor         constraint           Einschränkung
                aggregation         Aggregation, Teile/   CRC-Card             CRC-Karte,
                                    Ganzes-Beziehung                           Klassenkarte
                association         Assoziation           decision             Entscheidung
                                    (ungerichtet)
                association class   Assoziationsklasse    dependency           Abhängigkeit
                assoziation role    Assoziationsrolle     deployment diagram   Verteilungs-
                                                                               diagramm




            9                                   www.ambit.de
www.ambit.de
Kapitel 1


             3. UML Begriffe
             Englisch            Deutsch                      Englisch           Deutsch
             Attribute           Attribut                     Discriminator      Diskriminator,
                                                                                 Unterscheidungs
                                                                                 -Merkmal
             behavior diagramm   Verhaltens-                  Event              Ereignis
                                 Diagramm
             Bidirectional       Bidirektionale               Focus of control   Steuerungsfokus
             association         Assoziation
             bound element       Gebundenes                   Generalization     Generalisierung
                                 Element
             Cardinality         Kardialität                  Instance           Exemplar
             Class               Klasse                       Interaction        Interaktionsdiagr
                                                              diagrams           amme
             Class diagram       Klassendiagramm              Interface          Schnittstelle
             collaboration       Kollaborations-
             diagram             Diagramm
        10                                     www.ambit.de
www.ambit.de
Kapitel 1


             3. UML Begriffe
             Englisch         Deutsch                    Englisch             Deutsch
             lifeline         Lebenslinie                pattern              Muster
             link             Objektbeziehung            problem domain       Problembereich
             message          Nachricht                  property             Eigenschaft
             method           Methode                    property string      Eigenschaftswert
             multiplicity     Multiplizität              refinement           Verfeinerung
             navigability     Navigierbarkeit            relationship         Beziehung
             node             Knoten                     scenario             Szenario
             object           Objekt                     sequence diagram     Sequenz-
                                                                              diagramm
             object diagram   Objektdiagramm             state                Zustand
             operation        Operation                  statechart diagram   Zustands-
                                                                              Diagramm
             package          Paket                      stereotype           Stereotyp
             parameterized    Parametrisierte Klasse
             class
        11                                www.ambit.de
www.ambit.de
Kapitel 1


             3. UML Begriffe
             Englisch                      Deutsch
             subclass                      Unterklasse
             superclass                    Oberklasse
             swimlane                      Verantwortlichkeitsbereich, Schwimmbahn
             transition                    Transition, Übergang
             template class                Parametrisierbare Klasse
             type                          Typ
             UML                           (die) UML
             unidirecitional associaton    Gerichtete Assoziation
             use case                      Anwendungsfall
             use case diagram              Anwendungsfalldiagramm




        12                                www.ambit.de
www.ambit.de
Kapitel 1


             4. Diagramm-Typen in UML
             Strukturdiagramme                        Verhaltensdiagramme
                  -statisch-                              -dynamisch-
                Klassendiagramm
                                      Use-Case-Diagramm
                                                                 Interaktionsdiagramme:
                Paketdiagramm
                                       Aktivätsdaigramm                Sequenzdiagramm

                Objektdiagramm
                                                                   Kommunikationsdiagramm
                                       Zustandsautomat
              Kompositionsstruktur-                                     Timingdiagramm
                  diagramm
                                                                 Interaktionsübersichtsdiagramm
             Komponentendiagramm

              Verteilungsdiagramm




        13                             www.ambit.de
www.ambit.de




     UML Inhalte
     1. UML Allgemein
     2. UML Diagramme im Überblick
     3. UML Diagramme im Detail




14                      www.ambit.de
www.ambit.de
Kapitel 2


             2 UML-Übersicht


                     Kapitel 2




        15              www.ambit.de
Kapitel 2                                                                www.ambit.de


            2    Diagramme der UML und ihre
                 Anwendung
            2.1   Klassendiagramm (Class Diagram)
            2.2   Paketdiagramm (Package Diagram)
            2.3   Objektdiagramm (Object Diagram)
            2.4   Kompositionsstrukturdiagramm (Composite Structure Diagramm)
            2.5   Komponentendiagramm (Component Diagram)
            2.6   Verteilungsdiagramm (Deployment Diagram)
            2.7   Use-Case-Diagramm (Use Case Diagram)
            2.8   Aktivitätsdiagramm (Activity Diagram)
            2.9   Zustandsautomat (State Machine)
            2.10 Sequenzdiagramm (Sequence Diagramm)
            2.11 Kommunikationsdiagramm (Communication Diagram)
            2.12 Timingdiagramm (Timing Diagram)
            2.13 Interaktionsübersichtsdiagramm (Interaction Overview
              Diagram)
 16                                 www.ambit.de
www.ambit.de
Kapitel 2


              Erster Diagrammtyp


             Strukturmodellierung
             [Structure Modelling]




        17                    www.ambit.de
Kapitel 2                                                                        www.ambit.de




            1. Klassendiagramm (Class Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Aus welchen Klassen besteht mein System und wie stehen diese
            untereinander in Beziehung?

            Stärken:
            • Beschreibt die statische Struktur des zu entwerfenden oder
              abzubildenden Systems.
            • Enthält alle relevanten Strukturzusammenhänge und Datentypen.
            • Bildet die Brücke zu den dynamischen Diagrammen.

 18                                     www.ambit.de                       [Rupp et.a] S. 93-164
Kapitel 2                                                                         www.ambit.de




             2. Paketdiagramm (Package Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wie kann ich mein Modell so schneiden, dass ich den Überblick bewahre?

            Stärken:
            • Organisiert das Systemmodell in größere Einheiten durch logische
              Zusammenfassung von Modellelementen.
            • Modellierung von Abhängigkeiten



 19                                      www.ambit.de                       [Rupp et.a] S. 165-178
Kapitel 2                                                                      www.ambit.de




            3. Objektdiagramm (Object Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Welche innere Struktur besitzt mein System zu einem bestimmten
            Zeitpunkt zur Laufzeit

            Stärken:
            • Zeigt Objekte und deren Attributbelegungen zu einem bestimmten
              Zeitpunkt.
            • Wird nur beispielhaft zur Veranschaulichung verwendet.
            • Detailniveau wie im Klassendiagramm
            • Sehr gute Darstellung von Mengenverhältnissen.
 20                                     www.ambit.de                     [Rupp et.a] S. 179-190
Kapitel 2                                                                           www.ambit.de


             4. Kompositionsstrukturdiagramm
             (Composite Structure Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wie sieht das Innenleben einer Klasse, einer Komponente, eines
            Systemteils oder eines Systems aus?

            Stärken:
            • Ideal für die Top-Down-Modellierung des Systems.
            • Mittleres Detailniveau, zeigt Teile eines „Gesamtelements und deren
              Mengenverhältnisse“; White-Box-View



 21                                       www.ambit.de                        [Rupp et.a] S. 191-212
Kapitel 2                                                                       www.ambit.de


            5. Komponentendiagramm
            (Component Diagramm)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wie werden meine Klassen zu wieder verwendbaren, verwaltbaren
            Komponenten zusammengefasst und wie stehen diese miteinander in
            Beziehung?

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

 22                                     www.ambit.de                      [Rupp et.a] S. 213-224
Kapitel 2                                                                         www.ambit.de




             6. Verteilungsdiagramm (Deployment Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wie sieht das Einsatzumfeld (Hardware, Server, Datenbanken, …) des
            Systems aus ? Wie werden Komponenten zur Laufzeit wohin verteilt ?

            Stärken:
            • Zeigt das Laufzeitumfeld des Systems mit den „greifbaren“ Systemteilen
              (meist Hardware).
            • Hohes Abstraktionsniveau, kaum Notationselemente.



 23                                      www.ambit.de                       [Rupp et.a] S. 225-236
www.ambit.de
Kapitel 2

            Zweiter Diagrammtyp


Verhaltensmodellierung
[Behaviour Modelling]




   24                  www.ambit.de
Kapitel 2                                                                       www.ambit.de




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




            Diese zentrale Frage beantwortet das Diagramm:
            Was leistet mein System für seine „Umwelt“ (Nachbarsysteme,
            Stakeholder)?

            Stärken:
            • Präsentiert die Außensicht auf das System.
            • Geeignet zur Kontextabgrenzung.
            • Hohes Abstraktionsniveau, einfache Notationsmittel.



 25                                       www.ambit.de                    [Rupp et.a] S. 239-264
www.ambit.de
Kapitel 2

             8. Aktivitätsdiagramm (Activity Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wie läuft ein bestimmter flussorientierter Prozess oder ein Algorithmus
            ab?

            Stärken:
            • Sehr detaillierte Visualisierung von Abläufen mit Bedingungen,
              Schleifen, Verzweigungen.
            • Parallelisierung und Synchronisation möglich.



      26                                  www.ambit.de                         [Rupp et.a] S. 265-334
Kapitel 2                                                                        www.ambit.de




             9. Zustandsautomat (State Machine)




            Diese Zentrale Frage beantwortet das Diagramm:
            Welche Zustände kann ein Objekt, eine Schnittstelle, ein Use-Case,… bei
            welchen Ereignissen annehmen?

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



 27                                      www.ambit.de                      [Rupp et.a] S. 335-403
Kapitel 2                                                                      www.ambit.de




            10. Sequenzdiagramm (Sequence Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wer tauscht mit wem welche Informationen in welcher Reihenfolge aus ?

            Stärken:
            • Stellen den zeitlichen Ablauf des Informationsaustausches zwischen
              Kommunikationspartnern dar.
            • Schachtelung u. Flusssteuerung (Bedingungen, Schleifen
              Verzweigungen) möglich.



 28                                     www.ambit.de                     [Rupp et.a] S. 407-485
Kapitel 2                                                                          www.ambit.de


             11. Kommunikationsdiagramm
             (Communication Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wer kommuniziert mit wem? Wer „arbeitet“ im System zusammen?

            Stärken:
            • Stellt den Informationsaustausch zwischen Kommunikationspartnern
              dar.
            • Überblick steht im Vordergrund (Details und zeitliche Abfolge weniger
              wichtig)



 29                                       www.ambit.de                       [Rupp et.a] S. 487-498
Kapitel 2                                                                           www.ambit.de




             12. Timingdiagramm (Timing Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wann befinden sich verschiedene Interaktionspartner in welchem
            Zustand?

            Stärken:
            • Visualisiert das exakte zeitliche Verhalten von Klassen, Schnittstellen…
            • Geeignet f. Detailbetrachtungen, bei denen es überaus wichtig ist, dass
            ein Ereignis zum richtigen Zeitpunkt eintritt.



 30                                       www.ambit.de                        [Rupp et.a] S. 499-514
Kapitel 2                                                                       www.ambit.de


            13. Interaktionsübersichtsdiagramm
            (Interaction Overview Diagram)




            Diese Zentrale Frage beantwortet das Diagramm:
            Wann läuft welche Interaktion ab?

            Stärken:
            • Verbindet Interaktionsdiagramme (Sequenz-, Kommunikations- und
              Timingdiagramme auf Top-Level-Ebene.
            • Hohes Abstraktionsniveau.
            • Gut geeignet als Strukturierung der Interaktionsdiagramme.



 31                                     www.ambit.de                      [Rupp et.a] S. 515-524
www.ambit.de
Kapitel 2


             Geschafft! (Finished!)




        32               www.ambit.de
www.ambit.de
Kapitel 2


             Was wir skizziert haben
             Strukturdiagramme                    Verhaltensdiagramme
                  -statisch-                           -dynamisch-
                Klassendiagramm       Use-Case-Diagramme        Interaktionsdiagramme


                Paketdiagramm          Aktivitätsdiagramm          Sequenzdiagramm

                Objektdiagramm                                  Kommunikationsdiagramm
                                       Zustandsautomat

              Kompositionsstruktur-                                 Timingdiagramm
                  diagramm
                                                              Interaktionsübersichtsdiagramm
             Komponentendiagramm

              Verteilungsdiagramm




        33                             www.ambit.de
www.ambit.de
Kapitel 2


             Wie ist ihre Meinung/Erfahrung…

               Werden alle Diagrammtypen ausführlich benutzt?
               Welche Diagramme verwenden Sie?


               Klassendiagramme, -> Überblick, pragmatische Gründe
               Sequenzdiagramme,
               Use-Case-Diagramme,
               Aktivitätsdiagramme
               …
               …


        34                              www.ambit.de
www.ambit.de




     UML Inhalte
     1. UML Allgemein
     2. UML Diagramme im Überblick
     3. UML Diagramme im Detail




35                      www.ambit.de
www.ambit.de
Kapitel 3


             3 UML Diagramme im Detail


                     Kapitel 3




        36              www.ambit.de
Kapitel 3                                                                www.ambit.de




            3      UML Diagramme im Detail
            3.1   Klassendiagramm (Class Diagram)
            3.2   Paketdiagramm (Package Diagram)
            3.3   Objektdiagramm (Object Diagram)
            3.4   Kompositionsstrukturdiagramm (Composite Structure Diagramm)
            3.5   Komponentendiagramm (Component Diagram)
            3.6   Verteilungsdiagramm (Deployment Diagram)
            3.7   Use-Case-Diagramm (Use Case Diagram)
            3.8   Aktivitätsdiagramm (Activity Diagram)
            3.9   Zustandsautomat (State Machine)
            3.10 Sequenzdiagramm (Sequence Diagramm)
            3.11 Kommunikationsdiagramm (Communication Diagram)
            3.12 Timingdiagramm (Timing Diagram)
            3.13 Interaktionsübersichtsdiagramm (Interaction Overview
              Diagram)
 37                                 www.ambit.de
www.ambit.de
Kapitel 3


              Dritter Diagrammtyp


            Strukturmodellierung
            [Structure Modelling]




        38                   www.ambit.de
Kapitel 3                                                           www.ambit.de




            1. Klassendiagramm (Class Diagram)
            In Klassendiagrammen werden die Attribute und
            Methoden von Klassen gezeigt sowie die Beziehungen
            der Klassen untereinander dargestellt. Bei der
            Darstellung von Klassen können unterschiedliche
            Detailgrade gewählt werden.

            Zum Beispiel:
            • Klassen (nur Namen)
            • Klasse mit Attributen
            • Klasse mit Attributen und Methoden/Operationen
            • Hinzukommen u.U. diverse Relationen/Beziehungen zwischen
              Klassen


 39                                www.ambit.de
Kapitel 3                                                             www.ambit.de




            1. Klassendiagramm (Class Diagram)
            • Notationselemente
              –   Klasse                          –   Verwendungsbeziehungen
              –   Attribut                        –   Abstraktionsbeziehung
              –   Operation                       –   Realisierungsbeziehung
              –   Schnittstelle                   –   Substitutionsbeziehung
              –   Parametriesierte Klasse         –   Informationsfluss
              –   Generalisierung                 –   Informationseinheit
              –   Generalisierungsmenge
              –   Assoziation
              –   Assoziationsklasse
              –   Abhänigkeitsbeziehung



 40                                www.ambit.de
Kapitel 3                                                                          www.ambit.de




            1. Klassendiagramm – Klassen
                                         Klasse                   <<Stereotyp>>
                               Normale Operation ()               Paket: Klasse
                Klasse         Abstrakte Operation()               {Merkmale}
                               /abgeleiteteOperation
                               klassenOperation()            Attribut: Typ = Inititalwert
                               +publicOperation()            {Zusicherung/Assertion}
                               #protectedOperation
            Abstrakte Klasse                             Operation{Arg.liste}:Rückgabetyp
                               -privateOperation
                               ~package („friendly“)         {Zusicherung/Assertion}


                                                                           i: Element
                                         Klasse
            <<metaclass>>                               Parametriserbare
               Klasse          normales Attribut            Klasse
                               /abgeleitetes Attribut
                               klassenAttribut
                               +publicAttribut          Klasse <Parameter>
                               #protectedAttribut
                               - private Attribut




 41                                    www.ambit.de
Kapitel 3                                                                                                         www.ambit.de




            1. Klassendiagramm – Vererbung
                       Oberklasse

                                                     Unterklasse 3

            Unterklasse 1            Unterklasse 2




                      Landfahrzeug

                                                D1                                              Diskriminator 2
                                                                      Oberklasse
              LKW        PKW          Motorad

                                                D2                                                 Unterklasse 3
              Coupe     Limosine       Kombi
                                                                     Diskriminator 1
                                                D3
              BMW         Ford          VW               Unterklasse 1          Unterklasse 2



 42                                                  www.ambit.de
Kapitel 3                                                                                         www.ambit.de


            1. Klassendiagramm –
            Assoziationen

                                0..6           *
                     Klasse                             Klasse
                                <<Stereotypen>>
                                Beziehungsname
                                {Zusich../Merkmal}
                                                                                 Aggregation
                                                                    Ganzes                     Klasse

            Klasse                             Klasse                    Komposition

                                                                     Existenz-
                                                                    abhängiger
                          Assoziierte                                  Teil
                           Klassen




 43                                                  www.ambit.de
Kapitel 3                              www.ambit.de




            1. Klassendiagramm


•Siehe Part1b:
„Klassendiagramme
 im Detail“
 44                     www.ambit.de
Kapitel 3                              www.ambit.de




            1. Klassendiagramm



            •CaseStudy
            Klassendiagramme:
             Modellierung einer Party-
             Verwaltung
 45                     www.ambit.de
Kapitel 3                                                                     www.ambit.de




            1. Klassendiagramm – Pakete

                    Komposition               Komposition

                         Multiplizität
                                         Multiplizität   Teil
                                                                Paket
                                               Rolle
             Teil
                                                                            Klasse1

                                                                    Paket   Klasse2




 46                                         www.ambit.de
Kapitel 3                                                     www.ambit.de




            2. Paketdiagramm (Package Diagram)

            Das Paketdiagramm gibt die Möglichkeit die Struktur
            beliebiger Systeme zu gliedern und so Sichten in
            verschiedenen Abstraktionen auf dem System zu
            beschreiben.




 47                              www.ambit.de
Kapitel 3                                           www.ambit.de




            2. Paketdiagramm (Package Diagram)
            • Notationselemente
              – Paket
              – Paket-Importer / Element-Importer
              – Paket-Merge




 48                              www.ambit.de
Kapitel 3                                                                                      www.ambit.de




            2. Paketdiagramm (Package Diagram)

                               <<merge>>    Allgemeines      <<merge>>
              Use-Case                                                      Klassen
                                            Verhalten

                            <<merge>>
                                                   <<merge>>                       <<merge>>


                                                              <<merge>>     Kompositions-
              Aktivitäten                   Interaktionen
                                                                            strukturen

                                <<merge>>
                                                            <<merge>>




              Zustands-
                                            Komponenten                      Verteilung
              automat          <<merge>>                        <<merge>>




 49                                           www.ambit.de
Kapitel 3                                                   www.ambit.de




            3. Objektdiagramm (Object Diagram)

            Das Objektdiagramm gibt die Möglichkeit Instanzen
              von
               –   Klassen,
               –   Komponenten,
               –   Knoten,
               –   Assoziationen und
               –   Attribute
            zu modellieren.




 50                                www.ambit.de
Kapitel 3                                                        www.ambit.de




            3. Objektdiagramm (Object Diagram)
            • Notationselemente
              – Instanzbeschreibung / Objekt
              – Werteangaben / Slots („identifier:typ = wert“)
              – Link („instance of an association“)




 51                               www.ambit.de
Kapitel 3                                                                                           www.ambit.de




              3. Objektdiagramm (Object Diagram)


                               Objekt

                    Attributname: Datentyp = Wert
                                                                        Objektname:Classifiername




                                                               Classifiername = Name der abstrakten Klasse
                                                               oder der Basisklasse




            UML-Classifier = Menge von UML-Elementen, die etwas gemeinsam haben:
            Klasse, Komponente, Datentyp, Schnittstelle, Knoten, Signal, Subsystem




 52                                             www.ambit.de
Kapitel 3                                                                                  www.ambit.de




            3. Objektdiagramm (Object Diagram)

                   Student                          Mitarbeiter        Arbeitsverhältnis
                                                                                                Firma
            martrikelnummer: String       vorname: String         Arbeitnehmer    Arbeitgeber
                                          name: String
                                          geburtsdatum: Date
            vorlesungBesuchen()
            pruefungSchreiben()
                                                                      Arbeitsverhältnis

                                                                      einkommen: Geld
                                  Studentischer Mitarbeiter

                               zugeordneterProfessor: String




 53                                            www.ambit.de
Kapitel 3                                                      www.ambit.de


            4. Kompositionsstrukturdiagramm
            (Composite Structure Diagram)

            Das Kompositionsstrukturdiagramm gibt die Möglichkeit
            die interne Struktur von z.B. einer Klasse sowie seine
            Interaktionsbeziehungen zu anderen Systemteilen zu
            beschreiben.




 54                              www.ambit.de
Kapitel 3                                                             www.ambit.de


            4. Kompositionsstrukturdiagramm
            (Composite Structure Diagram)
            • Notationselemente
               –   Part
               –   Konnektor („verbindet Parts“)
               –   Port („angebotene und benötigte Schnittstellen“)
               –   Kollaboration
               –   Kollaborationsanwendung




 55                                  www.ambit.de
Kapitel 3                                                                                                  www.ambit.de


               4. Kompositionsstrukturdiagramm
               (Composite Structure Diagram)
               Strukturierte Klasse
               (Classifier)

                                                                  Fahrzeug
        Part

                                       FahrerFenster:     1                          FahrerSchalter: 1
                                          Fenster                                     Kippschalter

Part- oder
Rollenname                            BeifahrerFenster: 1                           BeifahrerSchalter: 1
                                           Fenster                                     Kippschalter

                                                                     Konnektoren
                                       FondFenster:       2
                                                                     (sind Verbindungen zwischen Parts,
                                         Fenster                     ähnlich wie Assoziationen zwischen
                                                                     Klassen.)




            Klassenname eines Parts                     Multiplizität eines Parts




 56                                                           www.ambit.de
www.ambit.de
Literatur


             Literatur


                         Literatur




        57                 www.ambit.de
www.ambit.de


     UML verwendete und
     weiterführende Literatur
     1. Wolfgang Zuser, Thomas Greching, Monika Köhle:
        „Software Engineering mit UML und Unified
        Process“; Pearson Studium, München, 2004
     2. Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle,
        Barbara Zengler: „UML 2 glasklar“; Hanser, München,
        2005
     3. Heide Balzert: „UML 2 kompakt“; Spektrum,
        Heidelberg, 2005




58                       www.ambit.de

Weitere ähnliche Inhalte

Andere mochten auch

1000 Bäume & Büsche für Ingelheim
1000 Bäume & Büsche für Ingelheim1000 Bäume & Büsche für Ingelheim
1000 Bäume & Büsche für IngelheimLivert
 
Jeopardy (Auf Deustch)
Jeopardy (Auf Deustch)Jeopardy (Auf Deustch)
Jeopardy (Auf Deustch)guesta7bd4f
 
Stretchad kunskap: Förhållningssätt för lyckade studier med en-till-en
Stretchad kunskap: Förhållningssätt för lyckade studier med en-till-enStretchad kunskap: Förhållningssätt för lyckade studier med en-till-en
Stretchad kunskap: Förhållningssätt för lyckade studier med en-till-enFleischer Kompetensutveckling
 
Anastomosis Porto-Cava
Anastomosis Porto-CavaAnastomosis Porto-Cava
Anastomosis Porto-Cavadavid coello
 
Innovationen für den Mittelstand
Innovationen für den MittelstandInnovationen für den Mittelstand
Innovationen für den MittelstandDr. Andrea Nestl
 
Social Media 2.5 Conference | Distribution 2.0: Der Kunde als Entscheidungstr...
Social Media 2.5 Conference | Distribution 2.0: Der Kunde als Entscheidungstr...Social Media 2.5 Conference | Distribution 2.0: Der Kunde als Entscheidungstr...
Social Media 2.5 Conference | Distribution 2.0: Der Kunde als Entscheidungstr...Social Media Schweiz
 
Zielmedien der Online-PR
Zielmedien der Online-PRZielmedien der Online-PR
Zielmedien der Online-PRRainer Bartel
 
Pdf Llengua Valenciana
Pdf Llengua ValencianaPdf Llengua Valenciana
Pdf Llengua Valencianamanisesonline
 
De aus liebe_zu_jesus_muslim_geworden
De aus liebe_zu_jesus_muslim_gewordenDe aus liebe_zu_jesus_muslim_geworden
De aus liebe_zu_jesus_muslim_gewordenAbdullah Baspren
 
Pressekonferenz Oberstaufen - 02.11.2011: Dirndl. Lederhosen. iPad.
Pressekonferenz Oberstaufen - 02.11.2011: Dirndl. Lederhosen. iPad.Pressekonferenz Oberstaufen - 02.11.2011: Dirndl. Lederhosen. iPad.
Pressekonferenz Oberstaufen - 02.11.2011: Dirndl. Lederhosen. iPad.Benjamin Buhl
 
Mit Social Media bewegen
Mit Social Media bewegenMit Social Media bewegen
Mit Social Media bewegenAlexander Derno
 

Andere mochten auch (20)

1000 Bäume & Büsche für Ingelheim
1000 Bäume & Büsche für Ingelheim1000 Bäume & Büsche für Ingelheim
1000 Bäume & Büsche für Ingelheim
 
Jeopardy (Auf Deustch)
Jeopardy (Auf Deustch)Jeopardy (Auf Deustch)
Jeopardy (Auf Deustch)
 
Ciencia, tecnología y salud
Ciencia, tecnología y saludCiencia, tecnología y salud
Ciencia, tecnología y salud
 
Stretchad kunskap: Förhållningssätt för lyckade studier med en-till-en
Stretchad kunskap: Förhållningssätt för lyckade studier med en-till-enStretchad kunskap: Förhållningssätt för lyckade studier med en-till-en
Stretchad kunskap: Förhållningssätt för lyckade studier med en-till-en
 
Anastomosis Porto-Cava
Anastomosis Porto-CavaAnastomosis Porto-Cava
Anastomosis Porto-Cava
 
Salzkammergut Tourism
Salzkammergut TourismSalzkammergut Tourism
Salzkammergut Tourism
 
Innovationen für den Mittelstand
Innovationen für den MittelstandInnovationen für den Mittelstand
Innovationen für den Mittelstand
 
Social media monitoring
Social media monitoringSocial media monitoring
Social media monitoring
 
Ccna1 identi.es
Ccna1 identi.esCcna1 identi.es
Ccna1 identi.es
 
Social Media 2.5 Conference | Distribution 2.0: Der Kunde als Entscheidungstr...
Social Media 2.5 Conference | Distribution 2.0: Der Kunde als Entscheidungstr...Social Media 2.5 Conference | Distribution 2.0: Der Kunde als Entscheidungstr...
Social Media 2.5 Conference | Distribution 2.0: Der Kunde als Entscheidungstr...
 
Examen de orina
Examen de orinaExamen de orina
Examen de orina
 
Zielmedien der Online-PR
Zielmedien der Online-PRZielmedien der Online-PR
Zielmedien der Online-PR
 
werbeauftritt tokyo bay
werbeauftritt tokyo baywerbeauftritt tokyo bay
werbeauftritt tokyo bay
 
Pdf Llengua Valenciana
Pdf Llengua ValencianaPdf Llengua Valenciana
Pdf Llengua Valenciana
 
HMP Präsentation 2010 short
HMP Präsentation 2010 shortHMP Präsentation 2010 short
HMP Präsentation 2010 short
 
De aus liebe_zu_jesus_muslim_geworden
De aus liebe_zu_jesus_muslim_gewordenDe aus liebe_zu_jesus_muslim_geworden
De aus liebe_zu_jesus_muslim_geworden
 
Pressekonferenz Oberstaufen - 02.11.2011: Dirndl. Lederhosen. iPad.
Pressekonferenz Oberstaufen - 02.11.2011: Dirndl. Lederhosen. iPad.Pressekonferenz Oberstaufen - 02.11.2011: Dirndl. Lederhosen. iPad.
Pressekonferenz Oberstaufen - 02.11.2011: Dirndl. Lederhosen. iPad.
 
Mit Social Media bewegen
Mit Social Media bewegenMit Social Media bewegen
Mit Social Media bewegen
 
Savah01
Savah01Savah01
Savah01
 
Vom Web zur App
Vom Web zur AppVom Web zur App
Vom Web zur App
 

Mehr von Prof. J. A. Illik, Hochschule Furtwangen University, (10)

Showdown ss2013
 Showdown ss2013 Showdown ss2013
Showdown ss2013
 
Hangout wpvinnova 130422
Hangout wpvinnova 130422Hangout wpvinnova 130422
Hangout wpvinnova 130422
 
Reputationsmanagement
ReputationsmanagementReputationsmanagement
Reputationsmanagement
 
Illik verteilte systeme
Illik verteilte systemeIllik verteilte systeme
Illik verteilte systeme
 
Scrum 2009 10_23
Scrum 2009 10_23Scrum 2009 10_23
Scrum 2009 10_23
 
Wnb illik innomark_intro_b_v00
Wnb illik innomark_intro_b_v00Wnb illik innomark_intro_b_v00
Wnb illik innomark_intro_b_v00
 
Wpvinnova 110124.ppt
Wpvinnova 110124.pptWpvinnova 110124.ppt
Wpvinnova 110124.ppt
 
05 ai uml_illik_students_part_2_eng
05 ai uml_illik_students_part_2_eng05 ai uml_illik_students_part_2_eng
05 ai uml_illik_students_part_2_eng
 
05 ai uml_illik_students_part_1_eng
05 ai uml_illik_students_part_1_eng05 ai uml_illik_students_part_1_eng
05 ai uml_illik_students_part_1_eng
 
Wnb illik innomark_intro_b_v01
Wnb illik innomark_intro_b_v01Wnb illik innomark_intro_b_v01
Wnb illik innomark_intro_b_v01
 

05 ai uml_illik_students_part_1_de

  • 1. Wissen macht ambitionierte Geschäftsziele erreichbar. Wir liefern Wissen und schaffen Werte. UML 2.x Weltweit. Knowledge enables your business ambitions. We deliver knowledge and create value. Worldwide. Part 1 Einführung / Introduction J. Anton Illik Ambit 1. 1
  • 2. UML intro & overview www.ambit.de ! Session 6 Inhalt / TOC ! Komponentendiagramm, ! Session 1 Verteilungsdiagramm, Use- ! Einführung, Diagrammarten Case-Diagramm sich ändern! Ebenso die Verteilung der Kapitel. ! Session 2 ! Session 7 ! Grundlagen, ! Case Study Use-Case-Diagramm 1. Klassendiagramm ! Session 8 ! Session 3 ! Case Study ! Aktivitätsdiagramm, Zustandsautomat, Achtung: Reihenfolge kann Klassendiagramm ! Session 4 Sequenzdiagramm ! 2. Paketdiagramm, ! Session 9 ! 3. Objektdiagramm, ! Case Study Zustandsdiagramm, ! 4. Kompositionsstruktur- Aktivitätsdiagramm diagramm ! Session 10 ! Session 5 ! Kommunikationsdiagramm, ! Case Study Timingdiagramm, Objektdiagramm, Interaktionsübersichtsdiagramm Verteilungsdiagramm 2 www.ambit.de
  • 3. www.ambit.de Organisatorisches ! Arbeitstechniken dieses Seminars ! Dialog und Präsentation ! Lösung von Übungsaufgaben ! Bearbeitung von Fallbeispielen ! Nacharbeiten in der Literatur ! Fragen und Anregungen sind jederzeit erwünscht !!! 3 www.ambit.de
  • 4. www.ambit.de UML Inhalte 1. UML Allgemein 2. UML Diagramme im Überblick 3. UML Diagramme im Detail 4 www.ambit.de
  • 5. www.ambit.de Kapitel 1 1 UML Allgemein Kapitel 1 5 www.ambit.de
  • 6. Kapitel 1 www.ambit.de 1 UML Allgemein 1.1 Was ist UML 1.2 Entwicklung von UML 1.3 Deutsche UML Begriffe 1.4 Überblick Diagrammtypen 6 www.ambit.de
  • 7. www.ambit.de Kapitel 1 1. Was ist UML • eine Sprache zur Analyse, Spezifikation, Entwurf/Konstruktion und Visualisierung, Dokumentation von Modellen für Softwaresysteme • liefert Notationselemente für statische und dynamische Modelle -> Strukturdiagramme -> Verhaltensdiagramme • unterstützt objektorientierte Vorgehensweise 7 www.ambit.de
  • 8. www.ambit.de Kapitel 1 2. Entwicklung von UML Unified Modelling Language 2.0 Erfahrungen der Anwender UML2 Partners 2005 Unified Modelling Language 1.5 UML Partners 2003 Unified Modelling Language 1.4 Object Management Group UML Partners übernimmt Copyright 2001 Unified Modelling Language 1.3 XML Metadata Interchange UML Partners 1999 Unified Modelling Language 1.2 UML Partners 1998 Unified Modelling Language 1.1 Integration der Object UML Partners Constraint Language 1997 Unified Modelling Language 1.0 Einsatzerfahrung der UML Partners Sprachschöpfer 1996 Unified Modelling Language 0.9 1995 Booch, Rumbaugh,Jacobson OMT OOD OOSE Rumbaught 1991 Booch 1992 Jacobson 1992 8 www.ambit.de
  • 9. www.ambit.de Kapitel 1 3. UML Begriffe Englisch Deutsch Englisch Deutsch action Aktion component Komponente activity Aktivität component diagramm Komponenten- Diagramm activity diagramm Aktivitätsdiagramm composition Komposition actor Akteur, Aktor constraint Einschränkung aggregation Aggregation, Teile/ CRC-Card CRC-Karte, Ganzes-Beziehung Klassenkarte association Assoziation decision Entscheidung (ungerichtet) association class Assoziationsklasse dependency Abhängigkeit assoziation role Assoziationsrolle deployment diagram Verteilungs- diagramm 9 www.ambit.de
  • 10. www.ambit.de Kapitel 1 3. UML Begriffe Englisch Deutsch Englisch Deutsch Attribute Attribut Discriminator Diskriminator, Unterscheidungs -Merkmal behavior diagramm Verhaltens- Event Ereignis Diagramm Bidirectional Bidirektionale Focus of control Steuerungsfokus association Assoziation bound element Gebundenes Generalization Generalisierung Element Cardinality Kardialität Instance Exemplar Class Klasse Interaction Interaktionsdiagr diagrams amme Class diagram Klassendiagramm Interface Schnittstelle collaboration Kollaborations- diagram Diagramm 10 www.ambit.de
  • 11. www.ambit.de Kapitel 1 3. UML Begriffe Englisch Deutsch Englisch Deutsch lifeline Lebenslinie pattern Muster link Objektbeziehung problem domain Problembereich message Nachricht property Eigenschaft method Methode property string Eigenschaftswert multiplicity Multiplizität refinement Verfeinerung navigability Navigierbarkeit relationship Beziehung node Knoten scenario Szenario object Objekt sequence diagram Sequenz- diagramm object diagram Objektdiagramm state Zustand operation Operation statechart diagram Zustands- Diagramm package Paket stereotype Stereotyp parameterized Parametrisierte Klasse class 11 www.ambit.de
  • 12. www.ambit.de Kapitel 1 3. UML Begriffe Englisch Deutsch subclass Unterklasse superclass Oberklasse swimlane Verantwortlichkeitsbereich, Schwimmbahn transition Transition, Übergang template class Parametrisierbare Klasse type Typ UML (die) UML unidirecitional associaton Gerichtete Assoziation use case Anwendungsfall use case diagram Anwendungsfalldiagramm 12 www.ambit.de
  • 13. www.ambit.de Kapitel 1 4. Diagramm-Typen in UML Strukturdiagramme Verhaltensdiagramme -statisch- -dynamisch- Klassendiagramm Use-Case-Diagramm Interaktionsdiagramme: Paketdiagramm Aktivätsdaigramm Sequenzdiagramm Objektdiagramm Kommunikationsdiagramm Zustandsautomat Kompositionsstruktur- Timingdiagramm diagramm Interaktionsübersichtsdiagramm Komponentendiagramm Verteilungsdiagramm 13 www.ambit.de
  • 14. www.ambit.de UML Inhalte 1. UML Allgemein 2. UML Diagramme im Überblick 3. UML Diagramme im Detail 14 www.ambit.de
  • 15. www.ambit.de Kapitel 2 2 UML-Übersicht Kapitel 2 15 www.ambit.de
  • 16. Kapitel 2 www.ambit.de 2 Diagramme der UML und ihre Anwendung 2.1 Klassendiagramm (Class Diagram) 2.2 Paketdiagramm (Package Diagram) 2.3 Objektdiagramm (Object Diagram) 2.4 Kompositionsstrukturdiagramm (Composite Structure Diagramm) 2.5 Komponentendiagramm (Component Diagram) 2.6 Verteilungsdiagramm (Deployment Diagram) 2.7 Use-Case-Diagramm (Use Case Diagram) 2.8 Aktivitätsdiagramm (Activity Diagram) 2.9 Zustandsautomat (State Machine) 2.10 Sequenzdiagramm (Sequence Diagramm) 2.11 Kommunikationsdiagramm (Communication Diagram) 2.12 Timingdiagramm (Timing Diagram) 2.13 Interaktionsübersichtsdiagramm (Interaction Overview Diagram) 16 www.ambit.de
  • 17. www.ambit.de Kapitel 2 Erster Diagrammtyp Strukturmodellierung [Structure Modelling] 17 www.ambit.de
  • 18. Kapitel 2 www.ambit.de 1. Klassendiagramm (Class Diagram) Diese Zentrale Frage beantwortet das Diagramm: Aus welchen Klassen besteht mein System und wie stehen diese untereinander in Beziehung? Stärken: • Beschreibt die statische Struktur des zu entwerfenden oder abzubildenden Systems. • Enthält alle relevanten Strukturzusammenhänge und Datentypen. • Bildet die Brücke zu den dynamischen Diagrammen. 18 www.ambit.de [Rupp et.a] S. 93-164
  • 19. Kapitel 2 www.ambit.de 2. Paketdiagramm (Package Diagram) Diese Zentrale Frage beantwortet das Diagramm: Wie kann ich mein Modell so schneiden, dass ich den Überblick bewahre? Stärken: • Organisiert das Systemmodell in größere Einheiten durch logische Zusammenfassung von Modellelementen. • Modellierung von Abhängigkeiten 19 www.ambit.de [Rupp et.a] S. 165-178
  • 20. Kapitel 2 www.ambit.de 3. Objektdiagramm (Object Diagram) Diese Zentrale Frage beantwortet das Diagramm: Welche innere Struktur besitzt mein System zu einem bestimmten Zeitpunkt zur Laufzeit Stärken: • Zeigt Objekte und deren Attributbelegungen zu einem bestimmten Zeitpunkt. • Wird nur beispielhaft zur Veranschaulichung verwendet. • Detailniveau wie im Klassendiagramm • Sehr gute Darstellung von Mengenverhältnissen. 20 www.ambit.de [Rupp et.a] S. 179-190
  • 21. Kapitel 2 www.ambit.de 4. Kompositionsstrukturdiagramm (Composite Structure Diagram) Diese Zentrale Frage beantwortet das Diagramm: Wie sieht das Innenleben einer Klasse, einer Komponente, eines Systemteils oder eines Systems aus? Stärken: • Ideal für die Top-Down-Modellierung des Systems. • Mittleres Detailniveau, zeigt Teile eines „Gesamtelements und deren Mengenverhältnisse“; White-Box-View 21 www.ambit.de [Rupp et.a] S. 191-212
  • 22. Kapitel 2 www.ambit.de 5. Komponentendiagramm (Component Diagramm) Diese Zentrale Frage beantwortet das Diagramm: Wie werden meine Klassen zu wieder verwendbaren, verwaltbaren Komponenten zusammengefasst und wie stehen diese miteinander in Beziehung? Stärken: • Zeigt Organisation und Abhängigkeiten einzelner technischer Systemkomponenten. • Modellierung angebotener und benötigter Schnittstellen möglich. 22 www.ambit.de [Rupp et.a] S. 213-224
  • 23. Kapitel 2 www.ambit.de 6. Verteilungsdiagramm (Deployment Diagram) Diese Zentrale Frage beantwortet das Diagramm: Wie sieht das Einsatzumfeld (Hardware, Server, Datenbanken, …) des Systems aus ? Wie werden Komponenten zur Laufzeit wohin verteilt ? Stärken: • Zeigt das Laufzeitumfeld des Systems mit den „greifbaren“ Systemteilen (meist Hardware). • Hohes Abstraktionsniveau, kaum Notationselemente. 23 www.ambit.de [Rupp et.a] S. 225-236
  • 24. www.ambit.de Kapitel 2 Zweiter Diagrammtyp Verhaltensmodellierung [Behaviour Modelling] 24 www.ambit.de
  • 25. Kapitel 2 www.ambit.de 7. Use-Case-Diagramm (Use Case Diagram) Diese zentrale Frage beantwortet das Diagramm: Was leistet mein System für seine „Umwelt“ (Nachbarsysteme, Stakeholder)? Stärken: • Präsentiert die Außensicht auf das System. • Geeignet zur Kontextabgrenzung. • Hohes Abstraktionsniveau, einfache Notationsmittel. 25 www.ambit.de [Rupp et.a] S. 239-264
  • 26. www.ambit.de Kapitel 2 8. Aktivitätsdiagramm (Activity Diagram) Diese Zentrale Frage beantwortet das Diagramm: Wie läuft ein bestimmter flussorientierter Prozess oder ein Algorithmus ab? Stärken: • Sehr detaillierte Visualisierung von Abläufen mit Bedingungen, Schleifen, Verzweigungen. • Parallelisierung und Synchronisation möglich. 26 www.ambit.de [Rupp et.a] S. 265-334
  • 27. Kapitel 2 www.ambit.de 9. Zustandsautomat (State Machine) Diese Zentrale Frage beantwortet das Diagramm: Welche Zustände kann ein Objekt, eine Schnittstelle, ein Use-Case,… bei welchen Ereignissen annehmen? Stärken: • Präzise Abbildung eines Zustandsmodells mit Zuständen, Ereignissen, Nebenläufigkeiten, Bedingungen, Ein- und Austrittsaktionen. • Schachtelung möglich. 27 www.ambit.de [Rupp et.a] S. 335-403
  • 28. Kapitel 2 www.ambit.de 10. Sequenzdiagramm (Sequence Diagram) Diese Zentrale Frage beantwortet das Diagramm: Wer tauscht mit wem welche Informationen in welcher Reihenfolge aus ? Stärken: • Stellen den zeitlichen Ablauf des Informationsaustausches zwischen Kommunikationspartnern dar. • Schachtelung u. Flusssteuerung (Bedingungen, Schleifen Verzweigungen) möglich. 28 www.ambit.de [Rupp et.a] S. 407-485
  • 29. Kapitel 2 www.ambit.de 11. Kommunikationsdiagramm (Communication Diagram) Diese Zentrale Frage beantwortet das Diagramm: Wer kommuniziert mit wem? Wer „arbeitet“ im System zusammen? Stärken: • Stellt den Informationsaustausch zwischen Kommunikationspartnern dar. • Überblick steht im Vordergrund (Details und zeitliche Abfolge weniger wichtig) 29 www.ambit.de [Rupp et.a] S. 487-498
  • 30. Kapitel 2 www.ambit.de 12. Timingdiagramm (Timing Diagram) Diese Zentrale Frage beantwortet das Diagramm: Wann befinden sich verschiedene Interaktionspartner in welchem Zustand? Stärken: • Visualisiert das exakte zeitliche Verhalten von Klassen, Schnittstellen… • Geeignet f. Detailbetrachtungen, bei denen es überaus wichtig ist, dass ein Ereignis zum richtigen Zeitpunkt eintritt. 30 www.ambit.de [Rupp et.a] S. 499-514
  • 31. Kapitel 2 www.ambit.de 13. Interaktionsübersichtsdiagramm (Interaction Overview Diagram) Diese Zentrale Frage beantwortet das Diagramm: Wann läuft welche Interaktion ab? Stärken: • Verbindet Interaktionsdiagramme (Sequenz-, Kommunikations- und Timingdiagramme auf Top-Level-Ebene. • Hohes Abstraktionsniveau. • Gut geeignet als Strukturierung der Interaktionsdiagramme. 31 www.ambit.de [Rupp et.a] S. 515-524
  • 32. www.ambit.de Kapitel 2 Geschafft! (Finished!) 32 www.ambit.de
  • 33. www.ambit.de Kapitel 2 Was wir skizziert haben Strukturdiagramme Verhaltensdiagramme -statisch- -dynamisch- Klassendiagramm Use-Case-Diagramme Interaktionsdiagramme Paketdiagramm Aktivitätsdiagramm Sequenzdiagramm Objektdiagramm Kommunikationsdiagramm Zustandsautomat Kompositionsstruktur- Timingdiagramm diagramm Interaktionsübersichtsdiagramm Komponentendiagramm Verteilungsdiagramm 33 www.ambit.de
  • 34. www.ambit.de Kapitel 2 Wie ist ihre Meinung/Erfahrung… Werden alle Diagrammtypen ausführlich benutzt? Welche Diagramme verwenden Sie? Klassendiagramme, -> Überblick, pragmatische Gründe Sequenzdiagramme, Use-Case-Diagramme, Aktivitätsdiagramme … … 34 www.ambit.de
  • 35. www.ambit.de UML Inhalte 1. UML Allgemein 2. UML Diagramme im Überblick 3. UML Diagramme im Detail 35 www.ambit.de
  • 36. www.ambit.de Kapitel 3 3 UML Diagramme im Detail Kapitel 3 36 www.ambit.de
  • 37. Kapitel 3 www.ambit.de 3 UML Diagramme im Detail 3.1 Klassendiagramm (Class Diagram) 3.2 Paketdiagramm (Package Diagram) 3.3 Objektdiagramm (Object Diagram) 3.4 Kompositionsstrukturdiagramm (Composite Structure Diagramm) 3.5 Komponentendiagramm (Component Diagram) 3.6 Verteilungsdiagramm (Deployment Diagram) 3.7 Use-Case-Diagramm (Use Case Diagram) 3.8 Aktivitätsdiagramm (Activity Diagram) 3.9 Zustandsautomat (State Machine) 3.10 Sequenzdiagramm (Sequence Diagramm) 3.11 Kommunikationsdiagramm (Communication Diagram) 3.12 Timingdiagramm (Timing Diagram) 3.13 Interaktionsübersichtsdiagramm (Interaction Overview Diagram) 37 www.ambit.de
  • 38. www.ambit.de Kapitel 3 Dritter Diagrammtyp Strukturmodellierung [Structure Modelling] 38 www.ambit.de
  • 39. Kapitel 3 www.ambit.de 1. Klassendiagramm (Class Diagram) In Klassendiagrammen werden die Attribute und Methoden von Klassen gezeigt sowie die Beziehungen der Klassen untereinander dargestellt. Bei der Darstellung von Klassen können unterschiedliche Detailgrade gewählt werden. Zum Beispiel: • Klassen (nur Namen) • Klasse mit Attributen • Klasse mit Attributen und Methoden/Operationen • Hinzukommen u.U. diverse Relationen/Beziehungen zwischen Klassen 39 www.ambit.de
  • 40. Kapitel 3 www.ambit.de 1. Klassendiagramm (Class Diagram) • Notationselemente – Klasse – Verwendungsbeziehungen – Attribut – Abstraktionsbeziehung – Operation – Realisierungsbeziehung – Schnittstelle – Substitutionsbeziehung – Parametriesierte Klasse – Informationsfluss – Generalisierung – Informationseinheit – Generalisierungsmenge – Assoziation – Assoziationsklasse – Abhänigkeitsbeziehung 40 www.ambit.de
  • 41. Kapitel 3 www.ambit.de 1. Klassendiagramm – Klassen Klasse <<Stereotyp>> Normale Operation () Paket: Klasse Klasse Abstrakte Operation() {Merkmale} /abgeleiteteOperation klassenOperation() Attribut: Typ = Inititalwert +publicOperation() {Zusicherung/Assertion} #protectedOperation Abstrakte Klasse Operation{Arg.liste}:Rückgabetyp -privateOperation ~package („friendly“) {Zusicherung/Assertion} i: Element Klasse <<metaclass>> Parametriserbare Klasse normales Attribut Klasse /abgeleitetes Attribut klassenAttribut +publicAttribut Klasse <Parameter> #protectedAttribut - private Attribut 41 www.ambit.de
  • 42. Kapitel 3 www.ambit.de 1. Klassendiagramm – Vererbung Oberklasse Unterklasse 3 Unterklasse 1 Unterklasse 2 Landfahrzeug D1 Diskriminator 2 Oberklasse LKW PKW Motorad D2 Unterklasse 3 Coupe Limosine Kombi Diskriminator 1 D3 BMW Ford VW Unterklasse 1 Unterklasse 2 42 www.ambit.de
  • 43. Kapitel 3 www.ambit.de 1. Klassendiagramm – Assoziationen 0..6 * Klasse Klasse <<Stereotypen>> Beziehungsname {Zusich../Merkmal} Aggregation Ganzes Klasse Klasse Klasse Komposition Existenz- abhängiger Assoziierte Teil Klassen 43 www.ambit.de
  • 44. Kapitel 3 www.ambit.de 1. Klassendiagramm •Siehe Part1b: „Klassendiagramme im Detail“ 44 www.ambit.de
  • 45. Kapitel 3 www.ambit.de 1. Klassendiagramm •CaseStudy Klassendiagramme: Modellierung einer Party- Verwaltung 45 www.ambit.de
  • 46. Kapitel 3 www.ambit.de 1. Klassendiagramm – Pakete Komposition Komposition Multiplizität Multiplizität Teil Paket Rolle Teil Klasse1 Paket Klasse2 46 www.ambit.de
  • 47. Kapitel 3 www.ambit.de 2. Paketdiagramm (Package Diagram) Das Paketdiagramm gibt die Möglichkeit die Struktur beliebiger Systeme zu gliedern und so Sichten in verschiedenen Abstraktionen auf dem System zu beschreiben. 47 www.ambit.de
  • 48. Kapitel 3 www.ambit.de 2. Paketdiagramm (Package Diagram) • Notationselemente – Paket – Paket-Importer / Element-Importer – Paket-Merge 48 www.ambit.de
  • 49. Kapitel 3 www.ambit.de 2. Paketdiagramm (Package Diagram) <<merge>> Allgemeines <<merge>> Use-Case Klassen Verhalten <<merge>> <<merge>> <<merge>> <<merge>> Kompositions- Aktivitäten Interaktionen strukturen <<merge>> <<merge>> Zustands- Komponenten Verteilung automat <<merge>> <<merge>> 49 www.ambit.de
  • 50. Kapitel 3 www.ambit.de 3. Objektdiagramm (Object Diagram) Das Objektdiagramm gibt die Möglichkeit Instanzen von – Klassen, – Komponenten, – Knoten, – Assoziationen und – Attribute zu modellieren. 50 www.ambit.de
  • 51. Kapitel 3 www.ambit.de 3. Objektdiagramm (Object Diagram) • Notationselemente – Instanzbeschreibung / Objekt – Werteangaben / Slots („identifier:typ = wert“) – Link („instance of an association“) 51 www.ambit.de
  • 52. Kapitel 3 www.ambit.de 3. Objektdiagramm (Object Diagram) Objekt Attributname: Datentyp = Wert Objektname:Classifiername Classifiername = Name der abstrakten Klasse oder der Basisklasse UML-Classifier = Menge von UML-Elementen, die etwas gemeinsam haben: Klasse, Komponente, Datentyp, Schnittstelle, Knoten, Signal, Subsystem 52 www.ambit.de
  • 53. Kapitel 3 www.ambit.de 3. Objektdiagramm (Object Diagram) Student Mitarbeiter Arbeitsverhältnis Firma martrikelnummer: String vorname: String Arbeitnehmer Arbeitgeber name: String geburtsdatum: Date vorlesungBesuchen() pruefungSchreiben() Arbeitsverhältnis einkommen: Geld Studentischer Mitarbeiter zugeordneterProfessor: String 53 www.ambit.de
  • 54. Kapitel 3 www.ambit.de 4. Kompositionsstrukturdiagramm (Composite Structure Diagram) Das Kompositionsstrukturdiagramm gibt die Möglichkeit die interne Struktur von z.B. einer Klasse sowie seine Interaktionsbeziehungen zu anderen Systemteilen zu beschreiben. 54 www.ambit.de
  • 55. Kapitel 3 www.ambit.de 4. Kompositionsstrukturdiagramm (Composite Structure Diagram) • Notationselemente – Part – Konnektor („verbindet Parts“) – Port („angebotene und benötigte Schnittstellen“) – Kollaboration – Kollaborationsanwendung 55 www.ambit.de
  • 56. Kapitel 3 www.ambit.de 4. Kompositionsstrukturdiagramm (Composite Structure Diagram) Strukturierte Klasse (Classifier) Fahrzeug Part FahrerFenster: 1 FahrerSchalter: 1 Fenster Kippschalter Part- oder Rollenname BeifahrerFenster: 1 BeifahrerSchalter: 1 Fenster Kippschalter Konnektoren FondFenster: 2 (sind Verbindungen zwischen Parts, Fenster ähnlich wie Assoziationen zwischen Klassen.) Klassenname eines Parts Multiplizität eines Parts 56 www.ambit.de
  • 57. www.ambit.de Literatur Literatur Literatur 57 www.ambit.de
  • 58. www.ambit.de UML verwendete und weiterführende Literatur 1. Wolfgang Zuser, Thomas Greching, Monika Köhle: „Software Engineering mit UML und Unified Process“; Pearson Studium, München, 2004 2. Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle, Barbara Zengler: „UML 2 glasklar“; Hanser, München, 2005 3. Heide Balzert: „UML 2 kompakt“; Spektrum, Heidelberg, 2005 58 www.ambit.de