Modellbasierte Arbeitsprodukte
In natürlicher Sprache dargestellte Anforderungen haben Grenzen [Davi1993], insbesondere im
Hinblick auf den Überblick über eine Menge von Anforderungen und das Verständnis der
Beziehungen zwischen Anforderungen. Die Modellierung von Anforderungen befasst sich mit
diesen Einschränkungen.
Die Rolle von Modellen im Requirements Engineering
Ein Modell ist eine abstrakte Darstellung eines bestehenden oder zu schaffenden Teils der
Realität. Der Begriff Realität umfasst jede denkbare Menge von Elementen, Erscheinungsformen
oder Konzepten, einschließlich anderer Modelle. In Bezug auf ein Modell wird der modellierte
Teil der Realität als das Original bezeichnet.
Im RE helfen Modelle, die Beziehungen und Zusammenhänge zwischen Anforderungen zu
verstehen und den Überblick über eine Menge von Anforderungen zu behalten. Dies wird in
erster Linie dadurch erreicht, dass man sich auf einzelne Aspekte — z.B. das Verhalten —
konzentriert, während man von allen anderen Aspekten abstrahiert. Die Verwendung einer
grafischen Notation für ein Modell hilft auch dabei, einen Überblick zu gewinnen. Modelle
können aber auch auf nicht-grafische Weise dargestellt werden, zum Beispiel mit Tabellen.
Anforderungsmodelle haben Vorteile im Vergleich zu den in natürlicher Sprache dargestellten
Anforderungen:
Beziehungen und Zusammenhänge zwischen Anforderungen sind mit grafischen
Modellen leichter zu verstehen als in natürlicher Sprache.Die Konzentration auf einen einzigen Aspekt reduziert die damit verbundene kognitive
Anstrengung zum Verstehen der modellierten Anforderungen.Modellierungssprachen für Anforderungen haben eine eingeschränkte Syntax, die
mögliche Mehrdeutigkeiten und Auslassungen reduziert.
Modelle haben auch ihre Grenzen:
Modelle, die sich auf einzelne Aspekte konzentrieren, konsistent zu halten, ist eine
Herausforderung.Informationen aus verschiedenen Modellen müssen zu einem besseren kausalen
Verständnis integriert werden.Modelle fokussieren hauptsächlich auf funktionale Anforderungen. Die meisten
Qualitätsanforderungen und Randbedingungen können nicht mit vertretbarem Aufwand
in Modellen ausgedrückt werden.Die eingeschränkte Syntax einer grafischen Modellierungssprache impliziert, dass nicht
jede relevante Information in einem Modell ausgedrückt werden kann.
Daher werden häufig Anforderungsmodelle und natürlichsprachige Anforderungen kombiniert.
Im RE können Modelle verwendet werden zum:
Spezifizieren von (primär funktionalen= Anforderungen, um textuell erfasste Anforderungen teilweise oder sogar vollständig zu ersetzten.
Zerlegen einer komplexen Realität in klar definierte und sich ergänzende Aspekte; jeder Aspekt wird durch ein spezifisches Modell dargestellt.
Umschreiben von textuell beschriebenen Anforderungen, um ihre Verständlichkeit zu verbessern, insbesondere im Hinblick auf die Beziehungen zwischen ihnen.
Validieren von textuell beschriebenen Anforderungen mit dem Ziel, Auslassungen, Mehrdeutigkeiten und Inkonsistenzen aufzudecken.
Modellierungssprachen werden verwendet, um Modelle auszudrücken. Einige Modellierungssprachen, zum Beispiel UML [OMG2017] oder BPMN [OMG2013], wurden standardisiert. Bei der Spezifikation von Anforderungen in einer nicht standardisierten Modellierungssprache ist eine Legende erforderlich, welche die Syntax und Semantik der verwendeten Modellierungssprache erklärt.
Es gibt viele Modelltypen, die im RE verwendet werden können. Ein Requirements Engineer muss verstehen, welcher Modelltyp am besten geeignet ist, die Anforderungen in einer gegebenen Situation zu spezifizieren.