1 / 50

Diagrammtypen der UML 2.0

javen
Télécharger la présentation

Diagrammtypen der UML 2.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 1 DigInf 05/06 Diagrammtypen der UML 2.0

    2. 2 DigInf 05/06 Java-Praxiskurs I: Themenberblick Objektorientierte Analyse und Design Modellierung in UML und Java Java-Programmiertechniken Datentypen, Kontrollstrukturen, Interfaces, Exception Handling, ... Ein-/Ausgabe-Operationen Datei-System-Zugriffe, Streams, ... Grafische Benutzungsoberflchen Swing, Model-View-Controller-Paradigma, ...

    3. 3 DigInf 05/06 Java-Praxiskurs I: Organisatorisches zweiwchige Kompaktveranstaltung 20.03.-31.03.2006 (letzte zwei Wochen der Semesterferien) montags-freitags jeweils von 9-12 Uhr Vorlesung und Globalbung Ort: Hrsaal KH 2-07 (stdtisches Kaufhaus) freie bungsbearbeitung in Pools oder auf eigenem Rechner Anmeldung durch Eintragen auf der Mailingliste javakurs06i: http://ebus.informatik.uni-leipzig.de/mailman/listinfo/javakurs06i weitere Informationen www.lpz-ebusiness.de ? Lehre ? Sommersemester 2006 Malte Hlder (huelder@ebus.informatik.uni-leipzig.de) Vincent Wolff-Marting (wolff@ebus.informatik.uni-leipzig.de)

    4. 4 DigInf 05/06 Use-Case-Diagramm Problem: Das externe Verhalten des Systems soll aus Nutzersicht dargestellt werden. Diese zentrale Frage beantwortet das Diagramm: Was leistet mein System fr seine Umwelt (Nachbarsysteme, Stakeholder)? Diese Strken hat das Diagramm: prsentiert die Auensicht auf das System geeignet zur Kontextabgrenzung hohes Abstraktionsniveau, einfache Notationsmittel

    5. 5 DigInf 05/06 Notationselemente I Ein Use-Case beschreibt eine Menge von Aktionen, die zu einem fachlichen Ergebnis fhren. Ein Use-Case ist eine abgeschlossene Einheit, seine innere Struktur ist zunchst nicht relevant. Das System ist diejenige Einheit, die durch die Use-Cases beschrieben wird. Ein Use-Case wird immer von einem Akteur ausgelst.

    6. 6 DigInf 05/06 Notationselemente II Die <<extend>>-Beziehung zeigt an, dass ein Use-Case erweitert werden kann (durch A). Der erweiterbare Use-Case wird mit einer Linie in der Ellipse und dem Namen unter der Ellipse dargestellt. Generalisierung: B und C erben das Verhalten von A, das auch berschrieben werden kann. Import: A importiert die Use-Cases B und C (whrend der Ausfhrung von A werden B und C aufgerufen).

    7. 7 DigInf 05/06 Anwendungsbeispiel

    8. 8 DigInf 05/06 Use-Case-Diagramm nderungen gegenber frheren UML-Versionen Akteure mssen benannt werden Die <<extend>>-Beziehung kann Vorbedingungen und extension points besitzen. Besondere Hinweise Use-Cases sollten nicht zur detaillierten Beschreibung von Operationen oder Funktionen verwendet werden. Es sollten keine nicht-funktionalen Anforderungen beschrieben werden. Use-Cases sollten immer die Anwendersicht, nie die Entwicklersicht widerspiegeln.

    9. 9 DigInf 05/06 Diagrammtypen der UML 2.0

    10. 10 DigInf 05/06 Zustandsautomaten Diese zentrale Frage beantwortet das Diagramm: Welche Zustnde kann ein Objekt, eine Schnittstelle, ein Use-Case etc. bei welchen Ereignissen annehmen? Diese Strken hat das Diagramm: przise Abbildung eines Zustandmodells mit Zustnden, Ereignissen, Nebenlufigkeiten, Bedingungen, Ein- und Austrittsaktionen Schachtelung mglich

    11. 11 DigInf 05/06 Annahmen Das System befindet sich zu einem bestimmten Zeitpunkt genau in einem Zustand. Eine Transition ist der bergang von einem Ausgangs- zu einem Zielzustand. Der bergang (Transition) von einem Zustand in den nchsten erfolgt ohne zeitlich Verzgerung. Vorteile Es knnen parallel Ablufe modelliert werden.

    12. 12 DigInf 05/06 Anwendung Beschreibung des Verhaltens von Use-Cases Die formale Modellierung von Use-Cases hat folgende Vorteile: Sie sind eindeutig und weniger interpretierbar. Es knnen Testflle abgeleitet werden. Beschreibung des Verhaltens von Klassen Dem Attribut einer Klasse wird im Allgemeinen ein Datentyp zugeordnet. Wenn der Datentyp eine endliche Menge von gltigen Werten besitzt, dann ergeben sich die verschiedenen Zustnde der Klasse aus allen mglichen Kombinationen dieser Zustandsvariablen. Protokollzustandsautomaten Unter einem Protokoll versteht man hier die erlaubte Abfolge von Aufrufen der Operationen, die von einem Classifier angeboten werden.

    13. 13 DigInf 05/06 Notationselemente I Ein einfacher Zustand wird durch ein Rechteck mit abgerundeten Ecken dargestellt. Ein Zustandsautomat hat immer genau einen Start- und einen Endzustand. Ein Zustand wird durch ein Rechteck mit abgerundeten Ecken dargestellt. Die Bezeichnung des Zustands steht ber der horizontalen Linie. Es sind Aktivitten mit ihren Auslsern definiert: entry ? Eintrittsaktivitt exit ? Austrittsaktivitt do ? Andauernde Aktivitt

    14. 14 DigInf 05/06 Notationselemente II Zustandsautomaten sind in einem Rahmen mit Angabe des Namens untergebracht (sm = state machine). Trigger sind Auslser von Transitionen. Der Guard ist eine Bedingung, die wahr sein muss, damit die Transition ausgelst wird. Aktivitt ist die Aktivitt, die beim Durchlaufen der Transition ausgelst wird. Startzustand Endzustand

    15. 15 DigInf 05/06 Notationselemente III Pseudozustnde werden genutzt, um komplexe Beziehungen zwischen Zustnden einfach darzustellen. Das System kann sich nicht im Pseudozustand aufhalten (kein Zeitverbrauch). Eine Entscheidung ermglicht es, die Auswahl der nchsten Transition von einem aktuellen Ergebnis abhngig zu machen. Eine Kreuzung ermglicht es, Zustnde hintereinander zu schalten (im Gegensatz zur Entscheidung steht der Weg der Ausfhrung von Beginn an fest). Eine Gabelung teilt ein eingehende Transition auf mehrere parallel Ziele auf (Guards/Trigger an ausgehenden Verbindungen nicht erlaubt). Eine Vereinigung dient dazu, um aufgeteilte Transitionen wieder zusammenzufhren (Guards/Trigger an eingehenden Verbindungen nicht erlaubt).

    16. 16 DigInf 05/06 Anwendungsbeispiel

    17. 17 DigInf 05/06 Zustandsautomaten nderungen gegenber frheren UML-Versionen verbesserte Verknpfung von statischen Elementen und dahinter liegenden Zustandsmodellen Protokollzustandsautomaten wurden zur przisen Definition von Schnittstellen und Ports eingefhrt. Besondere Hinweise Es sollten niemals Zustnde existieren, die nur eingehende, aber keine ausgehenden Transitionen besitzen (ansonsten ist das Modell unvollstndig).

    18. 18 DigInf 05/06 Diagrammtypen der UML 2.0

    19. 19 DigInf 05/06 Sequenzdiagramm Diese zentrale Frage beantwortet das Diagramm: Wer tauscht mit wem welche Informationen in welcher Reihenfolge aus? Diese Strken hat das Diagramm: stellt detailliert den Informationsaustausch zwischen Kommunikationspartnern dar sehr przise Darstellung der zeitlichen Abfolge auch mit Nebenlufigkeiten Schachtelung und Flusssteuerung (Bedingungen, Schleifen, Verzweigungen) mglich

    20. 20 DigInf 05/06 Sequenzdiagramm Bedeutung des Diagramms Das Sequenzdiagramm ist das meistverwendeste unter den Interaktionsdiagrammen. Gegenstand des Diagramms Es zeigt den zeitlichen Verlauf der Interaktion zwischen mehreren Kommunikationspartnern (2 Dimensionen). Hufige Anwendungsflle Die Abfolge der Nachrichten ist wichtig. Die durch Nachrichten verursachten Zustandsbergnge sind kaum relevant. Die Interaktionen sind kompliziert. Die strukturelle Verbindung zwischen den Kommunikationspartner ist nicht relevant. Es stehen Ablaufdetails im Vordergrund.

    21. 21 DigInf 05/06 Notationselemente I Das Sequenzdiagramm (sd) ist in einem Rahmen gefasst, in der Kopfzeile wird der Name des Diagramms angegeben. Ein Kommunikationspartner wird durch einen Kasten mit dessen Namen und einer angeschlossenen Lebenslinie dargestellt. Auf der Lebenslinie werden Aktionssequenzen eingezeichnet, die eine Ttigkeit des Kommunikationspartners beschreiben. Eine Aktionssequenz wird durch ein Startereignis ausgelst, schliet mit einem Endereignis ab und kostet Zeit.

    22. 22 DigInf 05/06 Notationselemente II Eine Lebenslinie verluft immer bis an das Ende des Sequenzdiagramms. Soll der Kommunikationspartner vorher gelscht werden, kann das durch ein Kreuz an der Lebenslinie ausgedrckt werden (Destruktion). Eine asynchrone Nachricht wird versendet, ohne auf die Antwort des Empfngers zu warten. Eine synchrone Nachricht (durchgehende Linie) wird versendet, die Abarbeitung stoppt solange, bis eine Antwort vom Empfnger (gestrichelte Linie) eintrifft.

    23. 23 DigInf 05/06 Notationselemente III Eine Zustandsinvariante ist eine Bedingung fr eine Interaktion. Sie wird zur Laufzeit unmittelbar vor einem Ereignis ausgewertet. Gilt sie nicht (Lebenslinie nicht in angegebenem Zustand), ist die Interaktion fehlerhaft implementiert. Diese Bedingung wird durch das entsprechende oder durch geschweifte Klammern angegeben. Innerhalb der Sequenzdiagramms knnen andere Interaktionen referenziert werden (Interaktionsreferenzen), es handelt sich dabei um einen Interaktionsaufruf.

    24. 24 DigInf 05/06 Notationselemente IV Kombinierte Fragmente knnen verwendet werden, um fr einen Teil der Interaktion besondere Regeln anzugeben. Interaktionsoperatoren werden durch Interaktionsbedingungen (eckige Klammern) gesteuert. Interaktionsoperatoren sind z.B.: alt ? alternative Ablaufmglichkeiten, par ? nebenlufige Interaktionen, opt ? optionale Interaktionsteile ...und viele mehr.

    25. 25 DigInf 05/06 Anwendungsbeispiel

    26. 26 DigInf 05/06 Sequenzdiagramm nderungen gegenber frheren UML-Versionen ist strukturier- und zerlegbar Sequenzen knnen damit beliebig ineinander verschachtelt werden. viele Mglichkeiten zur Steuerung von Kontrollflssen und Nebenlufigkeiten Alle wesentlichen Konstrukte aus den beliebten Message Sequence Charts (MSC) wurden bernommen. Besondere Hinweise Es sollten hufig Interaktionsreferenzen genutzt werden, um das Diagramm bersichtlich zu gestalten. Es sollten an kritischen Stellen auch die falschen Ablufe mit den entsprechenden kombinierten Fragmenten modelliert werden.

    27. 27 DigInf 05/06 Diagrammtypen der UML 2.0

    28. 28 DigInf 05/06 Kommunikationsdiagramm Problem: Es soll modelliert werden, wie Interaktionspartner in einem komplexen System miteinander kommunizieren. Diese zentrale Frage beantwortet das Diagramm: Wer kommuniziert mit wem? Wer arbeitet im System zusammen? Diese Strken hat das Diagramm: stellt den Informationsaustausch zwischen Kommunikationspartnern dar berblick steht im Vordergrund (Details und zeitliche Abfolge sind weniger wichtig)

    29. 29 DigInf 05/06 Notationselemente Das Kommunikationsdiagramm wird mit einem rechteckigen Rahmen gefasst und mit dem Interaktionsnamen versehen (irrefhrenderweise steht sd fr sequence diagramm). Eine Nachricht wird als durchgezogene Linie dargestellt, ein Pfeil kennzeichnet die Richtung der Nachricht. Die zeitliche Reihenfolge der Nachrichten wird durch eine Gliederungshierarchie abgebildet (Sequenzbezeichner). Kommunikationspartner werden als Rechteck dargestellt.

    30. 30 DigInf 05/06 Anwendungsbeispiel

    31. 31 DigInf 05/06 Kommunikationsdiagramm nderungen gegenber frheren UML-Versionen war frher das Kollaborationsdiagramm sonst keine wesentlichen nderungen Besondere Hinweise Die Modellierung sollte nie aus Sicht eines bestimmten Kommunikationspartners erfolgen, sondern immer aus der Vogelperspektive. Fr nebenlufige und iterative Nachrichten sollte lieber das Sequenzdiagramm verwendet werden.

    32. 32 DigInf 05/06 Diagrammtypen der UML 2.0

    33. 33 DigInf 05/06 Timingdiagramm Problem: Das exakte zeitliche Verhalten eines Systems soll beschrieben werden. Diese zentrale Frage beantwortet das Diagramm: Wann befinden sich verschiedene Interaktionspartner in welchem Zustand? Diese Strken hat das Diagramm: visualisiert das exakte zeitliche Verhalten von Klassen, Schnittstellen etc. geeignet fr Detailbetrachtungen, bei denen es wichtig ist, zu welchem Zeitpunkt ein Ereignis eintritt

    34. 34 DigInf 05/06 Notationselemente I Das gesamte Timing-Diagramm wird von einem Rahmen umschlossen. Der Name des Diagramms und eine Zeitskala knnen angegeben werden. Eine Lebenslinie steht fr einen Teilnehmer der Interaktion. Die Zeitachse beginnt links und endet rechts. Jede Lebenslinie trgt den Namen des Interaktionspartners (es kann auch nur die Klasse oder beides angegeben werden).

    35. 35 DigInf 05/06 Notationselemente II Die Zeitverlaufslinie zeigt die Zustandsnderungen einer Lebenslinie an. Die Zustnde werden links untereinander notiert. Die Zeitverlauslinie gibt die zeitliche Reihenfolge der Zustnde an. Ein waagerechter Verlauf zeigt einen ruhenden Zustand an. Ein senkrechter Verlauf zeigt einen Zustandswechsel an. Semantik und Syntax der Nachrichten wie im Sequenzdiagramm Sprungmarken knnen an Nachrichtenlinien benutzt werden, um die Lesbarkeit zu verbessern.

    36. 36 DigInf 05/06 Anwendungsbeispiel

    37. 37 DigInf 05/06 Timing-Diagramm nderungen gegenber frheren UML-Versionen Das Timing-Diagramm wurde in UML 2.0 neu eingefhrt. Besondere Hinweise Dieses Diagramm ist besonders fr sicherheitskritische und technische Systeme geeignet (z.B. ABS-System, Auto-Waschstrae). Vor der Anwendung des Timing-Diagramms sollten Use-Case-, Klassen-, Aktivitts- oder Zustandsdiagramme angefertigt werden, damit die notwendigen Klassen, Objekte oder Aktionen bekannt sind.

    38. 38 DigInf 05/06 Diagrammtypen der UML 2.0

    39. 39 DigInf 05/06 Interaktionsbersichtsdiagramm Problem: Interaktionsdiagramme liegen oft in groer Zahl vor und werden schnell unbersichtlich. Diese zentrale Frage beantwortet das Diagramm: Wann luft welche Interaktion ab? Wie behalte ich die bersicht ber meine Interaktionen? Diese Strken hat das Diagramm: verbindet Interaktionsdiagramme auf Top-Level-Ebene hohes Abstraktionsniveau

    40. 40 DigInf 05/06 Interaktionsbersichtsdiagramm Idee Die leicht lesbare Notation der Aktivittsdiagramme wird mit der von kommunikationsorientierten Interaktionen kombiniert. Alternativen Das Diagramm kann auch komplett als Sequenzdiagramm dargestellt werden. Das Diagramm kann auch komplett als Aktivittsdiagramm dargestellt werden.

    41. 41 DigInf 05/06 Notationselemente Das Interaktionsbersichtsdiagramm wird in einem Rahmen dargestellt. Auch hier wird irrefhrenderweise die Bezeichnung sd verwendet. Interaktionen knnen geschachtelt werden. Innerhalb der Interaktionsbersichtsdiagramms knnen andere Interaktionen referenziert werden (Interaktionsreferenzen), es handelt sich dabei um einen Interaktionsaufruf. Kontrollelemente (Verzweigung, Synchronisation etc.) werden wie bei Aktivittsdiagrammen verwendet.

    42. 42 DigInf 05/06 Anwendungsbeispiel

    43. 43 DigInf 05/06 Zusammenfassung nderungen gegenber frheren UML-Versionen Das Interaktionsbersichtsdiagramm wurde in UML 2.0 neu eingefhrt. Besondere Hinweise Dieses Diagramm dient zur Wahrung von Klarheit und Kontrolle. Es sollte daher immer mit mglichst wenig Elementen und viel mit Schachtelung gearbeitet werden. Zur Erhhung der Lesbarkeit sollten besser Referenzierungen anstatt Inline-Interaktionen verwendet werden.

    44. 44 DigInf 05/06 Diagrammtypen der UML 2.0

    45. 45 DigInf 05/06 Methodik Vom Klassenmodell und den wichtigsten Anwendungsfllen zu Ergnzungen

    46. 46 DigInf 05/06 Datenstrukturen und Algorithmen Komplexitt und Effizienz bergangsstichwort zur nchsten Folie ist die Verbreiterung der Kompetenzen von adesso, um dem Anspruch des FSP wirklich gerecht zu werdenbergangsstichwort zur nchsten Folie ist die Verbreiterung der Kompetenzen von adesso, um dem Anspruch des FSP wirklich gerecht zu werden

    47. 47 DigInf 05/06 Datenstrukturen und Algorithmen Bestandteile von Programmen: Benutzerschnittstelle (Presentation Layer) Verarbeitungs- / Bearbeitungsteile / Business Logik (Application oder Business Layer) Persistenzteil (Persistence Layer) 2 wichtige Faktoren: Qualitt der Ergebnisse Laufzeit bergangsstichwort zur nchsten Folie ist die Verbreiterung der Kompetenzen von adesso, um dem Anspruch des FSP wirklich gerecht zu werdenbergangsstichwort zur nchsten Folie ist die Verbreiterung der Kompetenzen von adesso, um dem Anspruch des FSP wirklich gerecht zu werden

    48. 48 DigInf 05/06 berlegungen zur Laufzeit Typisches Problem: Datenmigration / Anwendung auf relevante Menge von Daten und/oder echte Daten. Hufig ist die Laufzeit auf echten Daten zunchst vllig inakzeptabel. Von mitentscheidender Bedeutung sind dabei die passenden Zugriffe auf gespeicherte Daten und das Einfgen in Datenmengen. Damit wird deutlich: Algorithmen mssen zur gewhlten Datenstruktur passen! Fr viele Standardprobleme sind geeignete Algorithmen und passende Datenstrukturen bekannt. bergangsstichwort zur nchsten Folie ist die Verbreiterung der Kompetenzen von adesso, um dem Anspruch des FSP wirklich gerecht zu werdenbergangsstichwort zur nchsten Folie ist die Verbreiterung der Kompetenzen von adesso, um dem Anspruch des FSP wirklich gerecht zu werden

    49. 49 DigInf 05/06 Wichtige Klasse von Algorithmen: Suchen und Sortieren Beispiel: Suchen im Telefonbuch Zur raschen Suche nutzen wir aus, dass die Eintrge alphabetisch sortiert sind nach Name, Vorname, Adresse. Intuitiv sucht man binr. Bei 1000 Eintrgen Umfang, brauchen wir hchstens 10 Schritte, bei 2000 Eintrgen auch nur 11. Nehmen wir mal an, dass wir feststellen wollen, ob in einem Telefonbuch eine Telefonnummer vorkommt. Dann muss linear gesucht werden. Im Schnitt bentigen wir bei 1000 Eintrgen 500 Schritte. Im schlimmsten Fall sogar 1000. Wenn man fter Telefonnummern sucht, macht es wohl Sinn, nach Telefonnummern zu sortieren. bergangsstichwort zur nchsten Folie ist die Verbreiterung der Kompetenzen von adesso, um dem Anspruch des FSP wirklich gerecht zu werdenbergangsstichwort zur nchsten Folie ist die Verbreiterung der Kompetenzen von adesso, um dem Anspruch des FSP wirklich gerecht zu werden

    50. 50 DigInf 05/06

    51. 51 DigInf 05/06

More Related