Eine Methode für das Co-Design von Anforderungs- und Entwurfsartefakten
Klaus Pohl, Ernst Sikora Software Systems Engineering
Universität Duisburg-Essen 45117 Essen
klaus.pohl@sse.uni-due.de; ernst.sikora@sse.uni-due.de
Die Entwicklung innovativer Anforderungen und die Entwicklung innovativer Lösungs- strukturen (Architektur) sind zwei zentrale Aspekte der Entwicklung eines innovativen, softwareintensiven Systems (siehe z.B. [LR05]). Entscheidungen bzgl. der Anforderun- gen oder der Architektur, die in frühen Entwicklungsphasen getroffen werden, können später oft nur unter hohem Aufwand revidiert werden. Umso wichtiger ist es, dass die Anforderungen und die Architektur frühzeitig aufeinander abgestimmt werden. Einer- seits muss die Architektur zu den Anforderungen konform sein. Ebenso wichtig ist die Berücksichtigung der von einer innovativen Lösungsstruktur dargebotenen Möglichkei- ten in den Anforderungsdefinitionen. Die Abstimmung von Anforderungen und Entwurf bedingt die enge Verzahnung der Entwicklung beider Entwurfsartefakte. Für die enge Verzahnung spricht auch ein weiteres wesentliches Argument. Detaillierte Anforderun- gen können nur in Bezug auf eine (zumindest grob bekannte) Lösungsstruktur (Architek- tur) aufgeschrieben werden. Wird die Lösungsstruktur nicht gemeinsam mit den Anfor- derungen entwickelt, gehen die Stakeholder von impliziten Annahmen über eine Lö- sungsstruktur aus. Nach unserer Erfahrung werden solche Annahmen (meist unbemerkt) in die Anforderungsdefinitionen übernommen. In der Folge wird die Entwicklung inno- vativer Lösungsstrukturen (und innovativer Anforderungen) beeinträchtigt.
Wir bezeichnen die enge Verzahnung der Entwicklung von Anforderungs- und Ent- wurfsartefakten als Co-Design von Anforderungen und Entwurf. Die Notwendigkeit eines Co-Designs von Anforderungen und Entwurf ist zwar allgemein anerkannt (siehe z.B. [Nu01]), eine Methode zur systematischen Unterstützung des Co-Designs existiert jedoch derzeit nicht. Ziel der von uns entwickelten, ziel- und szenariobasierten Co- Design Methode ist es, diese Lücke zu schließen. Im Folgenden geben wir einen Über- blick über die Kernkonzepte unserer Methode.
Kernkonzepte unserer Co-Design Methode
Zur Strukturierung des Co-Designs basiert unsere Methode auf vier Abstraktionsebenen (siehe Abbildung 1). Auf der ersten Abstraktionsebene wird das Gesamtsystem betrach- tet. Auf der zweiten und dritten Abstraktionsebene erfolgt eine Dekomposition des Sys- tems, zunächst in funktionale und anschließend in Hardware- und Software- Komponenten. Die vierte Abstraktionsebene betrachtet die Zuordnung von Software- komponenten zu programmierbaren Hardwarekomponenten.
259
Abbildung 1: Vier Abstraktionsebenen
In jeder Ebene wird zwischen der Anforderungs- und der Entwurfsperspektive unter- schieden. Die Entwicklung von Artefakten der beiden Perspektiven erfolgt anhand der in Abbildung 2 gezeigten Teilprozesse, die in jeder der vier Ebenen ausgeführt werden. Die Teilprozesse beinhalten die zunächst voneinander unabhängige Entwicklung der Anfor- derungsperspektive (TP1) und der Entwurfsperspektive (TP2). Die aus TP1 resultieren- den Szenarien und Ziele (Ziele und Szenarien werden z.B. in [Po07] erläutert) werden anschließend zu der in TP2 entwickelten Lösungsstruktur in Beziehung gesetzt, um den Vergleich (TP3) und die Konsolidierung (TP4) der beiden Perspektiven zu unterstützen.
Die Definition detaillierter Anforderungen (TP5) erfolgt aufgrund dieses Vorgehens bereits auf der Grundlage von konsolidierten Szenarien, Zielen und Entwurfsartefakten.
TP1 Entwicklung
der Anforderungs-
perspektive
TP2 Entwicklung der Entwurfs- perspektive
TP3 Vergleich der Anforderungs- und
der Entwurfs- perspektive Ziele und Szenarien
Ziele und Szenarien
Lösungs- struktur
Inkonsistenzen konsolidierte Ziele,
Szenarien und Entwurfsartefakte TP4
Konsolidierung der Anforderungs- und der Entwurfs-
perspektive
EntwicklungTP5 detaillierter Anforderungen
Abbildung 2: Fünf Teilprozesse zur Unterstützung des Co-Design
Unsere Erfahrungen in der industriellen Anwendung der Methode zeigen u.a. die Not- wendigkeit einer geeigneten Werkzeugunterstützung. Wir arbeiten derzeit an der Forma- lisierung der Methode als Grundlage für eine Werkzeugunterstützung.
Literaturverzeichnis
[LR05] Liggesmeyer, P.; Rombach, D. Hrsg.: Software Engineering eingebetteter Systeme - Grundlagen, Methodik, Anwendungen. Elsevier, 2005.
[Nu01] Nuseibeh, B.: Weaving Together Requirements and Architectures. IEEE Computer; Vol.
34, Nr. 3, 2001, S. 115-117.
[Po07] Pohl, K.: Requirements Engineering - Grundlagen, Prinzipien, Techniken. dpunkt.verlag, Heidelberg, 2007.
260