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.
zen, wenn die Arbeitsschritte durch den Prozess so gesteuert werden, dass möglichst schnell ein<br />
hinreichender Modell-Reifegrad erreicht wird.<br />
Ein geeignetes Vorgehensmodell muss somit:<br />
• eine schrittweise Anreicherung des Modells mit Informationen ermöglichen<br />
• schnell und flexibel auf Modifikationen reagieren können<br />
• möglichst früh eine Modellausführung ermöglichen<br />
Diese Anforderungen grenzen die Menge möglicher Vorgehensmodelle ein und legen den Fokus<br />
auf iterativ-inkrementelle, flexible Methodiken.<br />
6.1.2. Auswahl des Vorgehensmodells<br />
Basierend auf den im vorherigen Abschnitt beschriebenen Anforderungen sollen im Folgenden<br />
verschiedene Arten von Vorgehensmodellen vorgestellt und auf ihre Eigenschaften hin untersucht<br />
werden. Das nahe liegendste Vorgehensmodell für sicherheitskritische Systeme und insbesondere<br />
für Systeme im Bahnbereich ist das V-Modell [KBS06], das in der DIN EN 50126<br />
[EN50126, S. 26] für die Beschreibung des Lebenszyklus eines Systems verwendet wird. Daher<br />
liegt es nahe, dieses Vorgehensmodell auch für die Erstellung der vorgelagerten <strong>Anforderungsspezifikation</strong><br />
zu verwenden. Das V-Modell basiert auf der schrittweisen Verfeinerung eines Entwurfs<br />
von den groben Systemanforderungen bis hin zum Coding der Software und dem ebenso<br />
schrittweisen Validieren des Systems vom Code über die einzelnen Module bis hin zum Gesamtsystem.<br />
In der Urform, in der die beiden Schenkel des V jeweils nur einmal für das gesamte zu<br />
entwickelnde System durchlaufen werden, ähnelt das V-Modell dem Wasserfallmodell [ROY70]<br />
und übernimmt damit auch dessen Probleme:<br />
• Der gesamte Funktionsumfang muss auf einmal implementiert werden<br />
• Der Prozess ist wegen seiner Linearität unflexibel, da Änderungen in Artefakten einer späteren<br />
Phase nicht einfach auf Artefakte früherer Phasen zurückübertragen werden können.<br />
• Ausführen und Testen der erstellten Artefakte ist erst in sehr späten Phasen möglich<br />
• Fehler werden somit sehr spät erkannt<br />
Bereits der erste Punkt disqualifiziert dieses Vorgehensmodell für die Erstellung von <strong>Anforderungsspezifikation</strong>en,<br />
da dort naturgemäß niemals alle Informationen von Anfang an und auf<br />
einmal verarbeitet werden können.<br />
Aus den genannten Gründen wird dieses Vorgehensmodell auch bei der Systementwicklung kritisch<br />
gesehen. Dies führte zur Entstehung neuer Ansätze, wie beispielsweise dem Spiralmodell<br />
von Boehm [BOE88], das eine inkrementelle Entwicklung eines Systems erlaubt. Dabei werden<br />
die Entwicklungsphasen nicht einmal für das Gesamtsystem, sondern mehrfach für kleine<br />
Untereinheiten des Gesamtsystems durchlaufen. Nach jedem Durchlauf wird das Ergebnis evaluiert<br />
und daraus Schlüsse für die Bearbeitung des nächsten Inkrements gezogen. Wie Cockburn<br />
in [COC93] beschreibt, müssen sich Spiralmodell und V-Modell dabei nicht zwangsweise ausschließen.<br />
Vielmehr kann ein inkrementeller Prozess als eine Abfolge vieler „kleiner” V-Prozesse<br />
verstanden werden, die pro Inkrement jeweils einen Teil des Systems implementieren.<br />
Aus dem grundlegenden Spiralmodell wurden mittlerweile zahlreiche iterativ-inkrementelle Software-<br />
und Systementwicklungsprozesse abgeleitet. Diese stellen die einzelnen Spiraldurchläufe<br />
als wiederholte, lineare Durchläufe durch die gleichen Prozessschritte dar. Beispiele dafür sind<br />
der Rational Unified Process (RUP) [RUP98], der Object Engineering Process (OEP) [OSK06]<br />
91