KI-gestützte Analyse von Anforderungen

Der Brandschutz im neuen Gebäude entspricht nicht den gesetzlichen Vorgaben? Die ausgelieferte Software entspricht nicht dem Bedarf des Auftraggebers? Ein Grund für Mängel dieser Art können missverständliche Anforderungen gewesen sein. Das »Requirements and Architecture Analysis Toolkit (RA²T)« unterstützt Projektmitarbeitende dabei, nicht-eindeutige Anforderungen zu erkennen, umzuformulieren und damit Risiken und Kosten für beteiligte Unternehmen zu minimieren. Dies geschieht mittels der Analyse und Konsolidierung von Anforderungen und ihrer sprachlichen Qualitätssicherung.

Requirements and Architecture Analysis Toolkit (RA²T)

© Fraunhofer FKIE
Das »Requirements and Architecture Analysis Toolkit« (RA²T) unterstützt durch die Analyse, sprachliche Qualitätssicherung und Konsolidierung von Anforderungen dabei, nicht-eindeutige Anforderungen zu erkennen, umzuformulieren und damit Risiken und Kosten für Unternehmen zu minimieren.
© 123RF/baton72
Sich einen Überblick über den Anforderungsbestand eines Projekts zu verschaffen, kann eine große bis unmögliche Herausforderung darstellen. Einfach zu groß sind zuweilen die Datenbestände. Da technische Unterstützung zudem bislang fehlte, mussten die Mitarbeiter weitgehend manuell arbeiten. Das ändert sich mit RA²T: Das Tool liefert ab sofort wertvolle zeit- und kostensparende Unterstützung.

In einem Beschaffungsprozess sind die Erhebung, Analyse und Weiterverarbeitung von Anforderungen an ein benötigtes System bzw. Produkt zentrale Bausteine. Anforderungen müssen den Bedarf von zukünftig Nutzenden vollständig darstellen und dabei möglichst eindeutig und unmissverständlich formuliert sein, sodass Auftraggebende daraus eine Leistungsbeschreibung erstellen können. Diese darf für Realisierende keinerlei Interpretationsspielraum offenlassen und muss einen vereinbarten Leistungsrahmen genau und unmissverständlich definieren. Nur so ist sichergestellt, dass das gelieferte System wirklich dem Bedarf der Nutzenden entspricht. Sind die Anforderungen nicht eindeutig, entstehen hohe Risiken und Kosten durch spät erforderlich werdende Umplanungen im Projekt. Anforderungen sind also ein wichtiges Bindeglied zwischen Nutzenden, Auftraggebenden und realisierender Industrie.

Um das Risiko missverständlicher Anforderungen zu minimieren, wurde das »Requirements and Architecture Analysis Toolkit« (RA²T) entwickelt, das diese Eindeutigkeit durch verschiedene Bausteine fördert. So steht neben der sprachlichen Qualitätssicherung jeder einzelnen Anforderung auch die Analyse und Konsolidierung der Gesamtmenge der Anforderungen in Bezug auf eine konsistente Fachsprache und Dopplungen im Fokus. Zudem werden Anforderungen existierenden Elementen bzw. Komponenten in einem Unternehmensportfolio zugeordnet und Lücken so identifiziert. Zu diesem Zweck ist es ebenfalls notwendig, einen Anforderungsbestand nach verschiedenen inhaltlichen und formalen Kriterien zu klassifizieren, zu durchsuchen und zu ordnen. Nur so kann ein Überblick über den gesamten Anforderungsbestand gewonnen werden.

Da es für all diese Aufgaben bisher keine Tool-Unterstützung gab, mussten Projektmitarbeitende weitgehend manuell arbeiten. Das ist nicht nur sehr zeit- und kostenintensiv, sondern insbesondere bei großen Anforderungsbeständen auch nahezu unmöglich. Das ändert sich mit RA²T: Das Tool unterstützt Projektmitarbeitende dabei, möglichst eindeutige und unmissverständliche Anforderungen zu erhalten und diese bestehenden Portfolio-Elementen zuzuordnen.

Zielgruppe von RA²T sind insbesondere Organisationen, die Systeme an die Industrie oder Zulieferer beauftragen und gewünschte Leistungen somit eindeutig beschreiben müssen. Dies sind zum Beispiel Beschaffungsämter der öffentlichen Hand oder Beschaffungs- und Logistikabteilungen von großen Firmen bzw. der integrierenden Industrie.

RA²T bietet einen semi-automatischen Ansatz der Anforderungsbearbeitung. Zunächst werden Nutzende auf kritische Stellen in Anforderungen hingewiesen, die dann manuell von diesen umformuliert werden können. Anschließend macht RA²T Vorschläge für zu treffende Entscheidungen bei der Weiterverarbeitung, die dann interaktiv von Nutzenden bestätigt oder abgelehnt werden können.

Hierfür wurde eine Reihe von Microservices implementiert, die innerhalb eines geschlossenen Tools verwendet werden. Diese Microservices dienen der Analyse, sprachlichen Qualitätssicherung und Konsolidierung von Anforderungen.

Im Rahmen der Analyse wird die Anforderung zunächst in ihre inhaltlichen und sprachlichen Bestandteile Systemwort, Prozesswort, Priorität/Modalverb, Bedingung, Art der Systemaktivität sowie Objekt und Ergänzung zerlegt. Diese Grundlage ermöglicht eine semantische Suche im Anforderungsbestand und die inhaltliche Klassifikation der Anforderungen, z. B. nach »funktional« und »nicht-funktional«. Weiterhin können Anforderungen u. a. nach den Kriterien »IT-relevant« oder »nicht IT-relevant« klassifiziert werden. Auch andere gewünschte Klassifikationen, beispielsweise nach individuell definierten Kategorien, sind möglich.

RA²T bietet zudem umfangreiche Sortier- und Filterangebote auf Wort- und Anforderungsebene. Sie erlauben die Exploration und die Bearbeitung des Anforderungsbestands nach selbstgewählten Kriterien. Somit ist es möglich, einen großen Anforderungsbestand zum Beispiel inhaltlich zu gruppieren. Unterstützte Sprachen sind Deutsch und Englisch.

Im Rahmen der Anforderungskonsolidierung können zudem Dubletten oder sehr ähnliche Anforderungen im Bestand gefunden und verschiedene Schreibweisen und Abkürzungen des gleichen Wortes oder verschiedene Begriffe mit gleichem Inhalt (z. B. »verschicken« und »versenden«) im Bestand vereinheitlicht werden. Um diesen Vorgang zu unterstützen, kann ein Projektglossar erstellt werden.

Die Qualitätssicherung von Anforderungen ist ein Herzstück von RA²T und beinhaltet die Prüfung sprachlicher Regeln, die die Formulierung eindeutiger Anforderungen unterstützen. Dazu gehören zum Beispiel die Identifizierung von Passivkonstruktionen, unvollständigen Bedingungen oder Weak Words im Anforderungstext wie z. B. »klein« ohne weitere Spezifikationen. RA²T identifiziert diese möglichen Regelverstöße, jedoch bleibt es die Aufgabe der Projektmitarbeitenden, die identifizierten Verstöße zu bewerten und gegebenenfalls zu korrigieren. RA²T nimmt keine selbstständige Korrektur vor.

RA²T basiert auf modernsten Techniken aus den Bereichen Natural Language Processing (NLP) und Machine Learning.

RA²T erleichtert Projektmitarbeitenden nicht nur die inhaltliche Analyse, Exploration und Konsolidierung eines Anforderungsbestands, sondern unterstützt zudem bei der Vermeidung früher Fehler im Beschaffungsprozess, die durch »schlechte« Anforderungen ausgelöst werden. Dies geschieht u. a. durch die Verbesserung der sprachlichen Qualität und damit der Eindeutigkeit der Anforderungen.

Der semiautomatische Ansatz von RA²T basiert auf automatisierten Hinweisen oder Vorschlägen, die aufgrund des Expertenwissens der Nutzenden entweder angenommen oder verworfen werden und dadurch gleichzeitig die kontinuierliche Verbesserung der KI-Algorithmen ermöglichen. RA²T unterstützt Projektmitarbeitende jeglicher Branche dabei, Fehler, Inkonsistenzen und missverständlich formulierte Anforderungen bereits früh im Beschaffungsprozess zu erkennen und sprachliche Defekte zu beheben. Auch das Durchsuchen eines Anforderungsbestands wird erheblich vereinfacht. Auf diese Weise wird eine optimale Grundlage für die Weiterverarbeitung der Anforderungen geschaffen.

RA²T ermöglicht weiterhin einen effizienten Abgleich von Projektanforderungen mit einem bestehenden Unternehmensportfolio, sodass neben der Identifizierung vorhandener Lücken bzw. eines Weiterentwicklungsbedarfs des Portfolios insbesondere die Wiederverwendung von bereits vorhandenen Portfolioelementen, Komponenten bzw. Funktionen gefördert wird. Das Toolkit RA²T existiert als Demonstrator und befindet sich derzeit in der Testphase mit Nutzern. Zukünftig wird RA²T kontinuierlich weiterentwickelt und an weitere Kundenkreise adaptiert. Individuelle Anpassungen an die spezifischen Bedarfe der Nutzer sind dabei, soweit technisch umsetzbar, selbstverständlich möglich.