Ontologien im Anforderungsmanagement nutzen: Eine Meta-Studie
Eine Ontologie ist ein formal aufgebautes Modell im Bereich des Wissensmanagements. Ontologien können uns auch im Anforderungsmanagement helfen. Aber wie genau? Das haben Diego Dermeval und seine Kollegen vor ein paar Jahren untersucht. Dabei haben Sie 67 Veröffentlichungen unter die Lupe genommen. Im Folgenden die interessantesten Ergebnisse.
Was ist eine Ontologie im Kontext von Anforderungen?
Was eine Ontologie ist hatte ich bereits in einem anderen Artikel beschrieben. Konkret ist eine Ontologie eine formale Beschreibung der von uns benutzten Begrifflichkeiten und der Beziehungen zwischen diesen.
Im Anforderungsmanagement müssen wir ein klares Verständnis der Begrifflichkeiten haben. Nicht nur das: Zwar gibt es nicht die eine „richtige“ Ontologie für ein Projekt; Die Struktur der Ontologie hat jedoch einen direkten Einfluss darauf, wie effektiv wir die Aktivitäten im Anforderungsmanagement durchführen können.
Um das beurteilen zu können, müssen wir uns die verschiedenen Aktivitäten anschauen. Die Autoren des Papers untersuchen Aktivitäten wie Erhebung, Anforderungsanalyse, Modellierung von Domäne und System, Testen und Wiederverwendung.
Das Paper
Das 2016 veröffentlichte und 33 Seiten lange Paper hat den Titel Applications of ontologies in requirements engineering: a systematic review of the literature. Die Autoren untersuchen insgesamt 67 Studien.
Bei solchen Papers stellt sich oft die Frage, wie relevant die Ergebnisse für die Industrie sind. Tatsächlich ist der Großteil der untersuchten Papers akademisch. Immerhin hatten 15 der Papers (22%) einen industriellen Kontext.
Wie üblich bei einer Meta-Studie dieser Art untersuchen die Autoren eine Reihe konkreter Fragen zu Ontologien im Anforderungsmanagement. Hier nun die interessantesten Ergebnisse:
Ontologien… für welchen Zweck überhaupt?
Ontologien können in verschiedenen Bereichen im Anforderungsmanagement eingesetzt werden. Die Autoren haben diese nach Zweck sortiert.
Sechs Studien befassten sich mit einer generischen Ontologie für das Anforderungsmanagement. Die Ontologie befasste sich also mit den Begrifflichkeiten, die später dann für die Beschreibung der Prozesse benutzt werden kann.
Fünf Studien befasste sich hingegen mit Ontologien des Problemraums (Domain Knowledge Ontology). So eine Ontologie stellt sicher, dass die Stakeholder präzise Aussagen über Aspekte des zu lösenden Problems machen können — das ist essentiell im Anforderungsmanagement.
Vier Studien befassen sich mit „Foundational Ontologies„, welche als Basis für angepasste Ontologien fungieren. Besonders interessant für uns Systems Engineers ist die Unified Foundational Ontology (UFO), für die es auch das UML-Profil OntoUML gibt.
Die restlichen zehn Ontologien lassen sich nicht in größere Kategorien zusammenfassen und sind spezialisiert für Sicherheit, Ziele, Design, etc.
Phasen von Anforderungsmanagementprozessen und die eingesetzte Ansätze
Mit Abstand am meisten werden Ontologien in der Spezifikationsphase eingesetzt (84%), gefolgt von Analyse (58%), Management (36%) und Elicitation (25%). Der Anteil in der Validierungsphase ist mit 6% eher gering.
Die Forscher setzten sich auch mit „Ansätzen“ auseinander, im Englischen mit „Requirements Modeling Styles“ bezeichnet. Gemeint sind dabei textuelle Notation, UML, BPML, usw. Interessanter als die Zahlen selbst ist die Relation der Ansätze zu den Phasen:

Es ist nicht überraschend, dass Text und UML dominierend. Der vergleichsweise hohe Anteil von eher akademischen Ansätzen ist sicher darauf zurückzuführen, dass knapp 80% der untersuchten Papers nicht im Industriekontext durchgeführt wurden.
Probleme, die nachgewiesenermaßen durch Ontologien entschärft werden
Frage RQ4 beschäftigte sich mit konkreten Vorteilen des Einsatzes von Ontologien. Dabei unterschieden die Autoren, ob diese Vorteile empirisch nachgewiesenen wurden oder nicht.
Der Löwenanteil der Papers fokussiert sich auf die folgenden drei Themen:
- Reduzierung von Mehrdeutigkeit, Inkonsistenzen und Unvollständigkeit
- Anforderungsmanagement und -pflege unterstützen
- Darstellung der Problemdomäne zur Unterstützung der Erhebungsaktivitäten
Für alle drei Themen zitieren die Autoren empirische Nachweise. Dies sind auch die Themen, mit denen wir als Systems Engineers durch die steigende Komplexität unserer Systeme kämpfen müssen.
Weitere Themen
Das umfangreiche Paper befasst sich mit weiteren Themen, die ich hier nicht explizit angesprochen habe, wie Wiederverwertung, V&V-Aktivitäten, usw. Das liegt unter anderem daran, dass die Autoren bei diesen Themen vergleichsweise wenig Informationen gefunden hatten. Interessierte Leser, die mehr wissen möchten, empfehle ich die Lektüre des Papers.
Nutzen in der Praxis
Bei diesem Paper handelt es sich um eine Metastudie. Teams, die Ontologien einsetzen wollen, empfehle ich, mit einem Problem oder Anwendungsfall zu starten. Liegt die Herausforderung in den Prozessen? Dann wäre vielleicht sinnvoll, sich Ontologien für das Anforderungsmanagement genauer anzuschauen.
Bestehen hingegen Probleme mit der Spezifikation, dann sind Ontologien für den Problemraum vielleicht hilfreicher.
Das Problem kann dann möglicherweise noch weiter verschärft werden, wie bspw. Probleme bei der Erhebung von Anforderungen. Auch der Scope könnte eine Rolle spielen (nur Software, Sicherheitsaspekte, etc.) Auf diese Weise gerüstet können wir dann die untersuchten Studien finden, die uns bei diesen Problemen helfen.
Fazit
Ontologien werden heute noch nicht viel im Anforderungsmanagement eingesetzt, sind jedoch ein mächtiges Werkzeug, langfristig die Komplexität der Produktentwicklung zu beherrschen. Heute an der richtigen Stelle Ontologien einzuführen kann das Fundament für den langfristigen Erfolg im Team legen.