1 Identifikation/Definition der Methode
/ Booch, Rumbaugh, Jacobson, 97 /
2 Kurzcharakteristik der Methode
Ziel und Zweck
Die Methode dient zur objektorientierten Systementwicklung. Zielsetzung ist es, Interaktionen zwischen Objekten und ihre Reihenfolge in Interaktionsmodellen zu beschreiben. Durch Interaktionen kann das Auftreten von Ereignissen bzw. der Austausch von Nachrichten ausgedrückt werden.
Die Methode kann zur Formalisierung von Szenarien (Folgen von Ereignissen und das damit verbundene Systemverhalten) und zur Modellierung des dynamischen Ablaufs von Operationen eingesetzt werden. Mit Zeitliniendiagrammen ("Sequence Diagrams") wird dabei das Ziel verfolgt, schwerpunktmäßig die ablauforientierte Reihenfolge der Interaktionen zwischen den Objekten zu modellieren und zu visualisieren. Um die Interaktionsbeziehungen detaillierter zu modellieren und um die Softwarestruktur zu betonen, werden vorwiegend Interaktionsgraphen ("Collaboration Diagrams") eingesetzt.
Der für die Kommunikation benötigte Zeitbedarf wird in der Interaktionsmodellierung nicht direkt betrachtet, jedoch können Zeitbeschränkungen modelliert werden. Nebenläufigkeiten sind abbildbar.
Durch die Modellierung von Signaturen, synchronen und asynchronen Abläufen, Zeit-, Ablauf- und Synchronisationsbedingungen, Verzweigungen, Iterationen, Rekursionen sowie des Erzeugens und Löschens von Objekten können Entwicklungsergebnisse verfeinert werden.
Darstellungsmittel
In der Unified Modeling Language (UML) / Booch, Rumbaugh, Jacobson, 97 / kommen als Darstellungsmittel der Interaktionsmodellierung Zeitliniendiagramme ("Sequence Diagrams") und Interaktionsgraphen ("Collaboration Diagrams") zum Einsatz, die durch textliche Beschreibungen in Spezifikationen und "Data Dictionaries" ergänzt werden können.
In Zeitliniendiagrammen werden die beteiligten Objekte durch vertikale, gestrichelte Linien dargestellt, die die Lebensdauer der Objekte repräsentieren. Die Identifikation der Objekte wird oberhalb dieser Linien angegeben. Durch horizontale Pfeile zwischen den Linien können Ereignisse bzw. Nachrichten zwischen Sender- und Empfängerobjekten dargestellt werden. Ereignisse bzw. Nachrichten werden benannt. Hierzu können beispielsweise die Namen der Operationen verwendet werden, durch die sie zu realisieren sind. Die zeitliche Reihenfolge der Ereignisse bzw. Nachrichten wird von oben nach unten angegeben. Die Abstände der Pfeile sind ohne Bedeutung und repräsentieren keine Zeitdauer.
Mit den "Sequence Diagrams" wurden die vorher von Booch ("Interaction Diagrams" / Booch, 94 /), Rumbaugh ("Event Trace Diagrams" / Rumbaugh, 91 /) und Jacobson ("Interaction Diagrams" / Jacobson, 92 /) verwendeten Ausprägungen der Zeitliniendiagramme vereinheitlicht und weiterentwickelt. Die Notation wurde so verfeinert, daß Signaturen, synchrone und asynchrone Abläufe, Zeit-, Ablauf- und Synchronisationsbedingungen, Verzweigungen, Iterationen, Rekursionen sowie das Erzeugen und Löschen von Objekten modelliert werden können. Diese Modellierungsmöglichkeiten bieten auch die nachfolgend beschriebenen "Collaborations Diagrams". Eine Besonderheit, die nur die "Sequence Diagrams" bieten, ist die Darstellung der Zeiten, in denen Objekte aktiv sind, in Form von Balkensymbolen.
Die Interaktionsgraphen sind als eine spezielle Form der Objektmodelle anzusehen. Die Objektmodelle sind in der Elementarmethode "Klassen-/Objektmodellierung" beschrieben. Neben der relevanten statischen Struktur der Objekte, die durch Beziehungslinien miteinander verbunden sind, werden in den Graphen die Interaktionen zwischen Objekten als gerichtete Kanten, welche parallel zu den Beziehungslinien verlaufen, dargestellt. Die Ereignisse bzw. Nachrichten werden in der Benennung der gerichteten Kanten spezifiziert. Zusätzlich wird diesen Interaktionen durch eine Sequenznummer eine Reihenfolge gegeben. Über die Sequenznummer können auch Nebenläufigkeiten ausgedrückt werden.
Zusätzlich zu den bereits in den "Sequence Diagrams" beschriebenen Modellierungsmöglichkeiten erlaubt die Notation der "Collaboration Diagrams" die Darstellung des Aufbaus zusammengesetzter komplexer Objekte ("Composite Objects") und die Darstellung von Implementierungsdetails.
Mit den "Collaboration Diagrams" wurden die vorher von Booch ("Object Diagrams" / Booch, 94 /) und Rumbaugh ("Object Interaction Graphs" / Rumbaugh, 95b /) verwendeten Ausprägungen der Interaktionsgraphen vereinheitlicht und weiterentwickelt. Eine weitere spezifische Ausprägung wurde für die komplexe Methode "Fusion" ("Object Interaction Graphs" / Coleman, 94 /) eingeführt.
Funktioneller Ablauf
Zeitliniendiagramme werden vorwiegend in der Analyse verwendet, während Interaktionsgraphen zur detaillierten Modellierung herangezogen werden.
Die Interaktionsmodellierung erfolgt auf iterative Weise, wobei bei jedem Durchlauf detailliertere, verfeinerte oder auch neue bzw. geänderte Modelle entstehen. Grundsätzlich sind folgende Punkte zu bearbeiten:
3 Grenzen des Methodeneinsatzes
- entfällt -
4 Detaillierung der Methodenzuordnung
4.1 IAM in Aktivität SE 1.1 "Ist-Aufnahme/-Analyse durchführen"
Mit Hilfe der Methode kann der Ist-Zustand des Altsystems durch die Darstellung von signifikanten Szenarien und von dynamischen Abläufen in komplexen Operationen erfaßt werden. Die Detaillierung ist dabei einzugrenzen, da nur wesentliche ablauforientierte Aspekte zu erfassen sind.
Die Methode deckt im Produkt "Anwenderforderungen" das Teilprodukt "Ist-Aufnahme und Ist-Analyse" aus ablauforientierter Sicht ab.
4.2 IAM in Aktivität SE 1.2 "Anwendungssystem beschreiben"
Mit Hilfe der Methode können im Rahmen der groben Systembeschreibung signifikante Szenarien beschrieben werden. Systemexterne Objekte können einbezogen werden.
Die Methode deckt im Produkt "Anwenderforderungen" das Teilprodukt "Grobe Systembeschreibung" aus ablauforientierter Sicht ab.
4.3 IAM in Aktivität SE 1.4 "Randbedingungen definieren"
Mit Hilfe der Methode können die sich durch technische, organisatorische und weitere Randbedingungen ergebenden ablauforientierten Anforderungen spezifiziert werden.
Die Methode deckt im Produkt "Anwenderforderungen" das Teilprodukt "Randbedingungen" aus ablauforientierter Sicht ab.
4.4 IAM in Aktivität SE 1.5 "System fachlich strukturieren"
Mit Hilfe der Methode können in Interaktionsmodellen bis auf Segmentebene fachlich begründete Szenarien und Abläufe in komplexen Systemfunktionen spezifiziert werden.
Die Methode deckt im Produkt "Anwenderforderungen" das Teilprodukt "Beschreibung der Funktionalität" aus ablauforientierter Sicht ab.
4.5 IAM in Aktivität SE 2.1 "System technisch entwerfen"
Mit Hilfe der Methode können technische Abläufe als Interaktionen zwischen definierten Architekturelementen spezifiziert werden. Dabei sind die Architekturelemente als Objekte zu behandeln.
Die Methode deckt im Produkt "Systemarchitektur" das Teilprodukt "Erläuterung der Zusammenarbeit technischer Elemente" aus ablauforientierter Sicht ab.
4.6 IAM in Aktivität SE 2.5 "Schnittstellen beschreiben"
Mit Hilfe der Methode können ablauforientierte Anforderungen an die Systemschnittstellen spezifiziert werden. Zur Darstellung von Kommunikationsprotokollen können Interaktionen zwischen systemexternen und systeminternen Objekten modelliert werden.
Die Methode deckt im Produkt "Schnittstellenbeschreibung" das Teilprodukt "Beschreibung der Schnittstellen" aus ablauforientierter Sicht ab.
4.7 IAM in Aktivität SE 3.2 "Anforderungen an die externen Schnittstellen der SW-/HW-Einheit präzisieren"
Mit Hilfe der Methode können ablauforientierte Anforderungen an die SW-Schnittstellen spezifiziert werden. Zur Darstellung von Kommunikationsprotokollen können Interaktionen zwischen externen und internen Objekten modelliert werden.
Die Methode deckt im Produkt "Technische Anforderungen" das Teilprodukt "Technische Anforderungen an die Schnittstellen" aus ablauforientierter Sicht ab.
4.8 IAM in Aktivität SE 3.3 "Anforderungen an die Funktionalität definieren"
In bezug auf Abläufe in der SW-Einheit können Interaktionsmodelle verfeinert bzw. neu erstellt werden.
Die Methode deckt im Produkt "Technische Anforderungen" bezogen auf die SW-Einheit das Teilprodukt "Gesamtfunktion des Elements" aus ablauforientierter Sicht ab.
4.9 IAM in Aktivität SE 4.1-SW "SW-Architektur entwerfen"
Mit Hilfe der Methode können dynamische Ablaufmodelle für Prozeß-Ensembles spezifiziert werden.
Die Methode deckt im Produkt "SW-Architektur" das Teilprodukt "Dynamisches Ablaufmodell" ab.
4.10 IAM in Aktivität SE 4.2-SW "SW-interne und -externe Schnittstellen entwerfen"
Mit Hilfe der Methode können ablauforientierte Aspekte an die SW-Schnittstellen spezifiziert werden. Zur Darstellung von Kommunikationsprotokollen können Interaktionen zwischen externen und internen Objekten modelliert werden.
Die Methode deckt im Produkt "Schnittstellenbeschreibung" das Teilprodukt "Beschreibung der Schnittstellen" aus ablauforientierter Sicht ab.
4.11 IAM in Aktivität SE 5.1-SW "SW-Komponente/-Modul/Datenbank beschreiben"
Dynamische Abläufe in komplexen Operationen können bei Bedarf in detaillierten Interaktionsmodellen spezifiziert werden.
Die Methode deckt im Produkt "SW-Entwurf" das Teilprodukt "SW-Komponenten-/ SW-Modul-Beschreibung" aus ablauforientierter Sicht ab.
5 Schnittstellen
5.1 Schnittstelle IAM - KOM
Die Modellierung von Interaktionen in der Methode IAM ist mit der Modellierung von Klassenoperationen in der Methode KOM abzustimmen. Werden in der Methode KOM komplexe Operationen definiert, können ihre dynamischen Abläufe in der Methode IAM modelliert werden. Die Modellierung von Objekten in der Methode KOM ist mit der Modellierung von Objekten in der Methode IAM abzustimmen.
Während mit der Methode KOM der statische Aufbau von Schnittstellen spezifiziert werden kann, sind mit der Methode IAM ablauforientierte Anforderungen an Kommunikationsprotokolle darstellbar.
5.2 Schnittstelle IAM - UCM
Die mittels der Methode UCM definierten Anwendungsfälle können mittels der Methode IAM in Form von Zeitliniendiagrammen bzw. Interaktionsgraphen konkretisiert werden.
5.3 Schnittstelle IAM - ZUSTO
Als Ausgangspunkt für die Definition von Zustandsmodellen können mittels der Methode IAM definierte Szenarien verwendet werden.
6 Weiterführende Literatur
/
Booch,
94 /,
/
Coleman,
94 /,
/
Jacobson,
92 /,
/
Rumbaugh,
91 /,
/
Rumbaugh,
95b /