1 / 18

Objektorientierte Konzepte und Notation in UML

Objektorientierte Konzepte und Notation in UML. Dynamische Konzepte: Anwendungsfall (use case) Botschaft Szenario. Anwendungsfall (use case). Anwendungsfallmodell: gesamte Systemfunktionalität Prozess innerhalb eines Systems Systemverhalten aus Sicht der Benutzer

paytah
Download Presentation

Objektorientierte Konzepte und Notation in UML

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. Objektorientierte Konzepte und Notation in UML Dynamische Konzepte: Anwendungsfall (use case) Botschaft Szenario

  2. Anwendungsfall (use case) • Anwendungsfallmodell: gesamte Systemfunktionalität • Prozess innerhalb eines Systems • Systemverhalten aus Sicht der Benutzer • Benutzer= alles was außerhalb des zu entwickelnden Systems ist • UML: Akteur (actor)= Rolle, die ein Benutzer spielt

  3. Wer ist Akteur?

  4. UML: Anwendungsfalldiagramm

  5. Beziehungen zwischen Anwendungsfällen • Include – Beziehung (<<include>>): Fall A hat immer Fall B zur Folge (A-->B) • Extend – Beziehung (<<extend>>): Fall B erweitert Fall A, wenn zusätzliches spezialisiertes Verhalten in A eingefügt wird (A<--B) Erweiterungspunkte (extension points): Geben an, wo der Erweiterungsfall eingefügt wird • Generalisierungsbeziehung (Vererbungspfeil): Erbender Fall erbt das gesamte Verhalten des vererbenden Falls und kann dieses modifizieren

  6. Beziehungen zwischen Anwendungsfällen

  7. Regeln für die Anwendung der Beziehungsarten: • Include: Der benutzte Use Case ist unbedingt notwendig, um die Funktionalität des benutzenden Falls sicherzustellen. • Extend: Der zu erweiternde Fall kann, muß aber nicht unbedingt vom erweiterten Use Case übernommen werden. • Generalisierung: Der spezialisierte Use Case soll das komplette Verhalten des generalisierten Falles übernehmen.

  8. Weitere Notationsmöglichkeiten/ Ergänzungen/ Einsatz • Anwendungsfälle können (sollten möglichst) beschrieben werden (z.B. Schablonen); Art der Beschreibung ist frei wählbar • Multiplizitäten ,Einschränkungen, Notizen können an eine Beziehung angetragen werden (nicht zu empfehlen/ sparsam verwenden) • Erste Anforderungen an ein System ermitteln; Einstiegsdiagramm; (SW:Use-Case-driven Design)

  9. Übung Ziel: Anwendungsfalldiagramm modellieren Es soll das System „Einweihungsfest“ aus der folgenden Beschreibung als Anwendungsfalldiagramm modelliert werden. Gehen Sie davon aus, dass Personen nicht Teil des Systems sind: Die Gäste der Feier werden vor allem Essen, Trinken und sich unterhalten. Der Gastgeber hat sich vorgenommen, jeden Gast persönlich zu empfangen. Außerdem hat er vor, selbst als DJ zu fungieren oder einen Gast zu bitten, dies zu übernehmen. Es soll also auch Musik abgespielt und dazu getanzt werden. Einige der Gäste werden sich melden, falls die Getränke ausgehen, um Nachschub zu ordern. Der Gastgeber wird dann für Nachschub sorgen. Es besteht die Möglichkeit, dass sich der Nachbar beschwert und direkt die Polizei ruft. Diese könnte dann veranlassen, die Party zu beenden. Der Gastgeber wird das Fest auflösen und die Gäste auf jeden Fall wieder persönlich verabschieden.

  10. Botschaft (Nachricht) - Verständigungsmechanismus zwischen Objekten • Aufforderung eines Senders an den Empfänger, etwas zu tun (Operationsaufruf, Operation ausführen) • Bezeichnung der Botschaft == zugehörige Operation

  11. Szenario • 1 Anwendungsfall= Bündel von Szenarios • 1 Szenario= Beschreibung eines Anwendungsfall-Objekts • Zeigt eine Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen sind • Beschreibt eine Folge von Ereignissen und Systemreaktionen, die bei der Ausführung eines System(-teil)s auftreten

  12. Beispiel: Szenarios eines Anwendungsfalls Anwendungsfall: Medium ausleihen 1. Szenario (normale Ausleihe): Ein Benutzer legt seinen Benutzerausweis und die auszuleihenden Medien dem Bibliotheksmitarbeiter vor. Die Benutzer-ID und die Signaturen werden aufgenommen, das Rückgabedatum errechnet und die Ausleihe verbucht. 2. Szenario (maximale Anzahl der Medien erreicht): Es wird festgestellt, dass der Benutzer bereits eine vorgegebene Maximalanzahl ausleihbarer Medien erreicht hat. Die Ausleihe wird verweigert. 3. Szenario (Ausleihfrist überschritten): Der Benutzer hat für ein Medium, das noch nicht zurückgegeben wurde, die Leihfrist überschritten. Die Ausleihe wird verweigert.

  13. Szenarios und UML • Darstellung in UML durch Interaktionsdiagramme: 1. Kollaborationsdiagramm (collaboration diagram) 2. Sequenzdiagramm (sequence diagram) - zeigt Interaktionen zwischen Objekten im Zeitverlauf - eignet sich zur exemplarischen Darstellung genau eines möglichen Ablaufs eines Use Case, es beschreibt also genau ein mögliches Szenario

  14. UML: Sequenzdiagramm • 2 Dimensionen:vertikal = Zeit, horizontal = Objekte • Objektlinie (lifeline): Existenz zu bestimmter Zeit • O-Linienanfang ist Objektsymbol • Aktivierungsbalken • Löschen = X • Botschaften = gefüllter Pfeil • Rücksprung=strichlierter Pfeil

  15. Beispiel

  16. Zusätzliche Notationsfeatures • Diagramm kann um 90° gedreht dargestellt werden • Linker Rand: Darstellung einer Zeitachse ; zusätzliche textuelle Angaben (auch Einschränkungen, Pseudocode), die sich auf die Botschaften (in Ausrichtung) beziehen • Nachrichten, bei deren Übermittlung ein Zeitverlust auftritt, können durch einen schräg abwärts gerichtetem Pfeil dargestellt werden • Aktive Objekte (=Objekte, die über eigenen Prozess verfügen) werden fett eingerahmt dargestellt • Überwachungsbedingung (guard condition) zwecks Sichtbarmachen von Fallunterscheidungen (Notation: [Bedingung] an Botschaft angetragen) • Kontrollflussvarianten (synchron, asynchron) Verzweigung, Gleichzeitigkeit, alternative Lifelines

  17. Übung Ziel: Sequenzdiagramm erstellen Beschreiben Sie folgende Problemstellung als Sequenzdiagramm. Legen Sie dabei das folgende Klassendiagramm zu Grunde: Ein neuer Kunde eröffnet bei einer Bank ein Sparkonto. Zuerst werden die Daten dieses Kunden erfasst. Bei der Kontoeröffnung muss der Kunde gleich eine Einzahlung vornehmen, d.h. es findet die erste Kontobewegung für dieses Konto statt. Kunde Sparkonto 1 1 1..* * Kontobewegung eröffnen() einzahlen() erfassen()

  18. Übung Ziel: Szenario als Sequenzdiagramm modellieren Ein mögliches Szenario für den Anwendungsfall „Buch entleihen“ soll modelliert werden. Das Szenario sei wie folgt umschrieben: Der Benutzer legt seinen Benutzerausweis und das auszuleihende Buch dem Bibliotheksmitarbeiter vor. Dieser gibt die Benutzer-ID in eine Maske ein. Das System überprüft die Benutzer-ID. Es sucht dabei in einer Liste, die alle User speichert. Die User-ID wird überprüft. Bei Gültigkeit der ID (davon gehen wir aus) wird die Signatur über das Systeminterface aufgenommen. Das System vermerkt für den entsprechenden Benutzer die Signatur des Buches. Tip: Versuchen Sie wie im vorherigen Beispiel zunächst die Objekte/Klassen zu identifizieren, die in Interaktion stehen.

More Related