UML Sequenzdiagramm: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
Amanasiki (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Amanasiki (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 37: Zeile 37:
'''* Welche Elemente gibt es? Erkläre dies so detailliert und anschaulich wie möglich'''
'''* Welche Elemente gibt es? Erkläre dies so detailliert und anschaulich wie möglich'''


1. AKTEURE
'''1. OBJEKTE'''
Akteure nehmen im Sequenzdiagramm eine ähnliche Rolle wie im Anwendungsfalldiagramm ein. Anders als im Anwendungsfall müssen jedoch keine Akteure im Sequenzdiagramm vorkommen. Akteure stehen im Gegensatz zu Objekten für Außenstehende Personen, Objekte oder Systeme, welche nicht im eigenen Systemeinflussbereich stehen. Da die Akteure unberechenbar sind, sollten Akteure möglichst vermieden werden. Mit Akteuren lassen sich nur beispielhafte Idealabläufe darstellen.


[[Datei:11.jpg|mini|none|]]
Objekte sind die wichtigsten Elemente im Sequenzdiagramm und werden mit einem Rechteck dargestellt. Der Objektname wird unterstrichen. Objekte können als Klassenobjekte in der objektorientierten Programmierung verstanden werden.


Die meisten Sequenzdiagramme kommen ganz ohne Akteure aus.
[[Datei:12324324.jpg|mini|none|]]
 
Die Objekte repräsentieren Objekte aus Klassen im Klassendiagramm. Objekte können auch Lebewesen sein, z. B. das Objekt “Miau” der Klasse “Katze”.





Version vom 29. Januar 2021, 12:45 Uhr

* Was ist ein Sequenzdiagramm? Ein Sequenzdiagramm ist ein Verhaltensdiagramm, welches eine Interaktion im Sinne der UML grafisch darstellt.

* Wozu wird es benötigt? Sequenzdiagramme dienen zur dynamischen Modellierung von Kommunikationsabläufen und Interaktionen zwischen Systemkomponenten. Der zeitliche Verlauf bekommt in dieser Darstellungsform eine besondere Bedeutung. Die Leseflussrichtung in Sequenzdiagrammen erfolgt in der Regel von oben nach unten und von links nach rechts.

Auch Sequenzdiagramme haben unterschiedliche Usecases.

Verhaltensweise von Methoden: Während der Softwareentwicklung werden Sequenzdiagramme überwiegend verwendet, um die Funktionsweise von Methoden bzw. Funktionen zu modellieren. Die Modellierung kann reverse (nach dem die Software bereits entwickelt wurde) stattfinden, oder bereits zur Entscheidungsfindung zum Aufbau von Methoden verwendet werden.


Zeitlicher Ablauf von Testfällen: Auch die Dokumentation von Testfällen ist wichtig, um später Tests und mögliche Fehler reproduzieren zu können. Mithilfe des Sequenzdiagramms kann der zeitliche Ablauf der Tests beschrieben werden. Bilder sagen oft mehr als tausend Worte. Denken Sie aber daran, das Diagramm möglichst einfach zu gestalten, sodass es gut lesbar und leicht verständlich ist.


System Usecases: Auch in der obersten Modellierungsebene, der Systemebene, können Sequenzdiagramme verwendet werden, um die Usescases (z. dt. Anwendungsfälle) des Systems abzubilden. Besonders schwierige oder unklare Anwendungsfälle können so dokumentiert werden.


Nochmals eine (hoffentlich) verständliche Zusammenfassung:

Sequenzdiagramme gehören zur UML und sind in der Prozessmodellierung sowie in der Software-Entwicklung zur Darstellung der Interaktion von Objekten untereinander sehr verbreitet. In der Prozessmodellierung stellen Sequenzdiagramme die Interaktionen zwischen Akteuren und dem Geschäftssystem dar. Als Modellierungssprache sind Sequenzdiagramme insbesondere in der Informatik bzw. Wirtschaftsinformatik verbreitet. Die gegenseitigen Abhängigkeiten, Aufrufhierarchien und Lebenszeiten von Objekten können einem Sequenzdiagramm leicht verständlich entnommen werden.

Sequenzdiagramme zeigen:

  • Abhängigkeiten: Welche Objekte interagieren mit welchen anderen Objekten?
  • Aufrufhierarchie: Welche Objekte rufen das Objekt auf und welche werden vom Objekt aufgerufen?
  • Lebenszeiten: Wie lange existieren Objekte bzw. wie lange werden Objekte benötigt?
  • Aktivitätszeiten: Wie lange sind Objekte aktiv?


* Welche Elemente gibt es? Erkläre dies so detailliert und anschaulich wie möglich

1. OBJEKTE

Objekte sind die wichtigsten Elemente im Sequenzdiagramm und werden mit einem Rechteck dargestellt. Der Objektname wird unterstrichen. Objekte können als Klassenobjekte in der objektorientierten Programmierung verstanden werden.

Die Objekte repräsentieren Objekte aus Klassen im Klassendiagramm. Objekte können auch Lebewesen sein, z. B. das Objekt “Miau” der Klasse “Katze”.



• Option:

Optionen sind mit dem Struktogrammelement „einseitige Verzweigung“ vergleichbar. Der eingerahmte Bereich wird bei Nichterfüllung der Bedingung (genannt „Guard“) übersprungen. Es muss aus dem Kontext erkennbar sein, woher die Daten für die Bedingungsprüfung stammen. Zur Kennzeichnung wird in den oberen linken Bereich „opt“ notiert.


• Alternative:

Alternativen kann man am Besten mit einer Merhfachauswahl in der Struktogrammnotation vergleichen. Sie haben mindestens zwei Zweige, wobei für jeden Zweig eine eigene Bedingung („Guard“) Formuliert werden kann. Wichtig ist, dass diese Bedingungen sich nicht überschneiden („disjunkt sind“). Bspw. „errorCount <= 3“ und „errorCount >= 3“ währe eine Verletzung dieser Forderung.


• Schleife:

Struktogramme kennen drei verschiedene Schleifen – kopfgesteuerte, fußgesteuerte und Zählschleifen. Beim Sequenzdiagram unterscheidet nicht zwischen kopfgesteuerten und fußgesteuerten Schleifen – diese muss aus dem Kontext gelesen werden – bzw. mit der Annahme „kopfgesteuert“ kommt man meist gut hin.


  • Erstelle ein paar anschauliche Beispiele

Sequenzdiagramm für das Datenverwaltungssystem eines Krankenhauses:

Wie in vielen anderen Wirtschaftsbereichen auch hat der technische Fortschritt in der Medizin traditionelle Arbeitsabläufe und Berufsbilder einem grundlegenden Wandel unterworfen. Heute werden sämtliche Aktivitäten und Daten, die den Betrieb eines Krankenhauses ausmachen, mithilfe eines Datenverwaltungssystems gesteuert. Dazu zählen ärztliche Untersuchungen und andere klinische Verfahren, Verschreibungen für Medikamente, Termine, Krankenakten und weitere Informationen zu Patienten und ihren jeweiligen Betreuungspersonen. Das unten stehende Diagramm stellt die Beziehungen zwischen den Primärverfahren im Zeitverlauf in einer vereinfachten Übersicht dar. Mit Lucidchart können Sie das Diagramm beliebig anpassen und für Kollegen und Projektbeteiligte zur gemeinsamen Nutzung freigeben.


Sequenzdiagramm für Geldautomatensysteme:

Am Geldautomaten können Bankkunden über einen komplett automatisierten Prozess auf ihre Konten zugreifen. Die einzelnen Schritte, aus denen dieser Prozess besteht, lassen sich anhand eines Sequenzdiagramms auf übersichtliche Weise darstellen. Das nachstehende Beispiel veranschaulicht die Reihenfolge der einzelnen Interaktionen des Geldautomatensystems. Sie können diese Vorlage bearbeiten und das Sequenzdiagramm entsprechend Ihren eigenen Bedürfnissen anpassen.


Zusatzmaterial für die Füchsle unter uns: