Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Modellbasierte Anforderungsspezifikation sicherheitskritischer ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Auch die Sequenzdiagramme stellen somit eine Blackbox-Sicht auf das SuB des aktuellen Teilmodells<br />
dar. Dargestellt wird nur die nach außen sichtbare Interaktion, nicht aber die inneren<br />
Abläufe, die zur Erzielung dieser Interaktionen führen. Aus diesem Grund sollte auf die Verwendung<br />
von so genannten Nachrichten an sich selbst verzichtet werden, die innerhalb des SuB<br />
ablaufende Ereignisse beschreiben.<br />
Für die Inhalte der ausgetauschten Nachrichten können auch hier wieder bestimmte Konsistenzregeln<br />
abgeleitet werden: Alle Signale, die über Nachrichten zwischen den Objekten in einem<br />
Sequenzdiagramm ausgetauscht werden, müssen auch in den Diagrammen der Systemabgrenzung<br />
und der Anwendungsfalldefinition enthalten sein. Weiterhin muss gelten, dass die Menge<br />
der unterschiedlichen Signale über alle Szenarien und alle Anwendungsfälle genau der Menge<br />
der Nachrichten entspricht, die auch in der Systemabgrenzung abgebildet ist. Weiterhin muss<br />
die Menge der Akteure in der Szenariensicht - die hier durch Lebenslinien repräsentiert werden<br />
- der Menge der Akteure in den anderen betroffenen Sichten entsprechen. Details und eine<br />
formale Spezifikation dieser Bedingungen finden sich in 5.1.5.<br />
Wie weiter oben schon angedeutet, sind jedoch nicht alle Konstrukte für die Modellierung von<br />
Sequenzdiagrammen im Rahmen dieser Arbeit sinnvoll einsetzbar. Dies betrifft insbesondere<br />
die operators (Operatoren), durch die sich für bestimmte Teile von Abläufen Schleifen und Entscheidungskonstrukte<br />
aufbauen lassen. Grundelement dafür sind die so genannten combined<br />
fragments [OMG07-2, S. 465], bei denen es sich prinzipiell um Ausschnitte aus Sequenzdiagrammen<br />
handelt, die als Block in andere Sequenzen integriert sind und dabei bestimmten<br />
Operatoren unterworfen werden können. Es existieren nach [OMG07-2, S. 466 ff.] acht verschiedene<br />
Operatoren:<br />
• alternatives - es wird zwischen verschiedenen Teilabläufen ausgewählt<br />
• option - ein Teil des Ablaufs ist optional und wird nur unter bestimmten Bedingungen<br />
ausgeführt<br />
• break - wie Option, nur dass danach das umgebende Szenario nicht weiter ausgeführt wird<br />
• parallel - die in einzelnen combined fragments dargestellten Operationen laufen parallel<br />
ab<br />
• strict und weak sequencing - spezifizieren den Grad der Sequenzialität zwischen verschiedenen<br />
combined fragments<br />
• negative - beschreibt einen Ablauf der auf keinen Fall eintreten darf<br />
• critical - Nachrichten innerhalb des combined fragment werden nicht durch Nachrichten<br />
anderer Fragmente überlagert<br />
Einige dieser Fragmente widersprechen dem hier beschriebene Prinzip der strengen Szenarioorientierung<br />
und sollen deshalb nicht für die Modellierung verwendet werden. Dies betrifft insbesondere<br />
die Operatoren alternatives, option und break. Diese Konstrukte ermöglichen verschiedene<br />
Entscheidungspfade innerhalb eines Sequenzdiagramms. Da allerdings jedes Sequenzdiagramm<br />
genau einen möglichen Ablauf innerhalb eines Anwendungsfalls beschreiben soll, ist es<br />
sinnvoller für mehrere alternative Abläufe auch jeweils verschiedene Sequenzdiagramme zu erstellen.<br />
Dies erhöht zwar die Anzahl an erforderlichen Diagrammen, aber ebenso die Lesbarkeit<br />
und Verständlichkeit. Zudem werden die Sequenzdiagramme - wie oben angemerkt - auch als<br />
Testfälle eingesetzt. Für diese Anwendung sind einzelne „flache” Szenarien ohne Entscheidungsstrukturen<br />
erforderlich.<br />
Die für die Szenario-Erstellung geeigneten Sprachelemente sind in Tabelle 5.3 aufgeführt.<br />
50