Übersicht Inhaltsverzeichnis Vorwort 1 Einführung 2 Klassendiagramme 3 Object Constraint Language 4 Objektdiagramme 5 Statecharts 6 Sequenzdiagramme 6.1 Konzepte der Sequenzdiagramme 6.2 OCL in Sequenzdiagrammen 6.3 Semantik eines Sequenzdiagramms 6.4 Sonderfälle und Ergänzungen für Sequenzdiagramme 6.5 Sequenzdiagramme in der UML 6.6 Zusammenfassung A Sprachdarstellung durch Syntaxklassendiagramme B Java C Die Syntax der UML/P D Anwendungsbeispiel: Internet-basiertes Auktionssystem Literatur |
6 SequenzdiagrammeEin Sequenzdiagramm stellt einen exemplarischen Ausschnitt aus dem Ablauf eines Softwaresystems dar. Es modelliert die dabei auftretenden Interaktionen und Aktivitäten und kann um OCL-Bedingungen erweitert werden. Dieses Kapitel stellt eine vereinfachte Version von Sequenzdiagrammen vor, die sich insbesondere für die Modellierung von Tests eignet. 6 Sequenzdiagramme6.1 Konzepte der Sequenzdiagramme 6.2 OCL in Sequenzdiagrammen 6.3 Semantik eines Sequenzdiagramms 6.4 Sonderfälle und Ergänzungen für Sequenzdiagramme 6.5 Sequenzdiagramme in der UML 6.6 Zusammenfassung Sequenzdiagramme werden zur Modellierung von Interaktionen zwischen Objekten eingesetzt. Ein Sequenzdiagramm beschreibt, in welcher Reihenfolge Methodenaufrufe durchgeführt und beendet werden. Ähnlich wie mit Statecharts werden daher Verhaltensaspekte modelliert. Es ergeben sich jedoch einige wesentliche Unterschiede:
Der methodische Einsatz von Sequenzdiagrammen erfolgt daher vor allem zur Anforderungserfassung sowie zur Definition von Tests während oder nach der Implementierung. Werden Sequenzdiagramme zur Modellierung eines Systems eingesetzt, so illustrieren sie immer spezielle, erwünschte oder unerwünschte Situationen oder Fehlerquellen und sind damit als Ausgangspunkte für Testfälle geeignet. Aus einer zur Entwicklung eingesetzten, notwendigerweise endlichen Menge von Sequenzdiagrammen muss eine vollständige Implementierung gewonnen werden. Um dies zu systematisieren, werden Sequenzdiagramme durch eine Reihe von Vorschlägen erweitert. Im Wesentlichen werden dabei Kontrollstrukturen hinzugefügt, die Alternativen, parallele Abläufe, Iteration und „rekursive Aufrufe“ von Sequenzdiagrammen erlauben. Diese Vorschläge werden zum Beispiel in [Krü00, Leu95, GRG95, BGH+98, SHB96] diskutiert und in unterschiedlichen Formen in die beiden wesentlichen Standards für Sequenzdiagramme umgesetzt. Neben dem UML-Standard [OMG10a] werden vor allem in der Telekommunikationsindustrie mit den Message Sequence Charts (MSC) [IT99] Dialekte von Sequenzdiagrammen eingesetzt. Die auf Automaten basierende Erweiterung in High-Level-MSCs erlaubt ebenfalls die Darstellung von Kombinationen von MSCs [IT99, Krü00, GGR01]. Eine weitere Variante der Sequenzdiagramme sind die Object-MSCs [BMR+96], in denen die Aktivitätsbalken eingeführt wurden. Besondere Aufmerksamkeit verdient auch der LSC („Live Sequence Charts“) Ansatz [DH01, HM03, HM08], der Sequenzdiagrammen deutlich mehr Ausdrucksstärke verleiht und so für vollständige Spezifikationen, Simulation verschiedenartigster Abläufe [KHK+03], konstruktive Codegenerierung oder Verifikationstechniken zugänglich wird. Im Vergleich zu den erwähnten Varianten ist die in diesem Kapitel vorgestellte Form der Sequenzdiagramme einfach gehalten. Dies liegt unter anderem daran, dass sich der methodische Einsatz der Sequenzdiagramme in dieser Arbeit auf die Modellierung von Testfällen beziehungsweise Testtreibern beschränkt. Für vollständige Ablaufbeschreibungen können bereits Statecharts eingesetzt werden. Dadurch wird eine redundante Beschreibung vermieden. Dies basiert auf der Erfahrung, dass es wesentlich aufwändiger ist, vollständige als exemplarische Beschreibungen zu erstellen und aus Gründen der Entwicklereffizienz Redundanz zu vermeiden ist. Daher reichen Sequenzdiagramme zur exemplarischen Ablaufbeschreibung aus. Der folgende Abschnitt 6.1 führt die grundlegenden Konzepte der Sequenzdiagramme ein. Abschnitt 6.2 diskutiert den Einsatz von OCL-Bedingungen in Sequenzdiagrammen. In Abschnitt 6.3 werden mehrere verschiedene Semantiken für Sequenzdiagramme vorgestellt und durch Stereotypen dem Entwickler die Auswahl darüber gegeben. Ergänzungen für Sequenzdiagramme und Sonderfälle werden in Abschnitt 6.4 diskutiert. Der Abschnitt 6.5 behandelt schließlich den Einsatz der Sequenzdiagramme im Kontext anderer UML-Diagramme. Anhang C.6 beschreibt ergänzend zu diesem Kapitel die abstrakte Syntax von Sequenzdiagrammen.
|
|||||||||