Das Potenzial von generativer KI in der Anforderungsspezifikation – Teil 4
Das Anforderungsmanagement ist ein zentraler Bestandteil der Softwareentwicklung und umfasst alle Aktivitäten, die sich mit der Erhebung, Analyse, Dokumentation und Verwaltung von Anforderungen an ein System beschäftigen. Eine der wichtigsten Disziplinen innerhalb dieses Prozesses ist die Anforderungsspezifikation. Sie hat die Aufgabe, die ermittelten Anforderungen in einer strukturierten, nachvollziehbaren und überprüfbaren Form festzuhalten. Dabei ist entscheidend, dass Anforderungen verständlich, eindeutig, widerspruchsfrei und vollständig beschrieben sind, um spätere Missverständnisse, teure Korrekturen oder Projektabbrüche zu vermeiden.
Generative Künstliche Intelligenz (GenAI) eröffnet neue Möglichkeiten, diese Aufgabe zu unterstützen. Sprachmodelle können dabei helfen, unstrukturierte Eingaben zu analysieren, konsistente Anforderungstexte zu formulieren und die Dokumentation zu standardisieren. Ziel dieses Beitrags ist es daher, zu untersuchen, wie GenAI konkret bei der Anforderungsspezifikation eingesetzt werden kann und welche Chancen und Grenzen sich daraus ergeben.
Ausgangslage
Als Beispiel dient ein fiktives Softwaresystem aus dem Bereich der Warenwirtschaft. Dieses umfasst drei zentrale Komponenten:
Die Eingaben für die Spezifikation bestehen aus einer Vielzahl an manuell erstellten, fiktiven Dokumenten in unterschiedlichen Formaten, darunter Projektvorschläge (docx), Beobachtungsprotokolle (pdf), Schnittstellenspezifikationen (yaml), Mockups (png) sowie unvollständige Use-Case-Diagramme. Diese Daten werden einem generativen Sprachmodell (ChatGPT-4o) übergeben, um daraus Anforderungen in einem standardisierten, sowohl lesbaren als auch maschinell auswertbaren CSV-Format zu erzeugen.
Vorgehen
Um die Qualität der durch die KI erzeugten Anforderungen möglichst objektiv zu bewerten, werden etablierte Kriterien aus der Anforderungsanalyse herangezogen. Dazu zählen insbesondere:
Jede identifizierte Anforderung wird auf einer Skala von 0 (= nicht zutreffend) bis 2 (= zutreffend) in den genannten Kategorien bewertet und der Erfüllungsgrad in Prozent zu der jeweils maximal erreichbaren Punktzahl ausgedrückt. Anschließend wird die KI erneut eingesetzt, um erkannte Schwachstellen gezielt zu korrigieren.
Ergebnisse
Verständlichkeit
88 % der Anforderungen wurden als verständlich eingestuft.
Korrektheit
95 % der Anforderungen gaben die Sachverhalte korrekt wieder.
Eindeutigkeit
73 % der Anforderungen werden als eindeutig bewertet.
Vollständigkeit
71 % der Anforderungen sind vollständig beschrieben.
Widerspruchsfreiheit
52 % der Anforderungen sind widerspruchsfrei.
Verfolgbarkeit
Die im Prompt geforderte Struktur (ID, Titel, Anforderungstext, Priorität, Kategorie, Modul, Status, Autor, Modelle, Quellen, Testfälle, Stakeholder und Änderungen) hat die generative KI eingehalten ist vollständig ausgefüllt ausgefüllt worden.
Erneuter Prompt für Verbesserungen
Betrachtet man die Anforderungsspezifikation im Lichte des Standards IEEE 830 – Recommended Practice for Software Requirements Specifications, so wird deutlich, dass die erzeugten Anforderungen noch weiter verfeinert werden sollten, um eindeutiger, überprüfbarer und verständlicher zu sein. Eine nach IEEE 830 strukturierte Spezifikation umfasst über die Anforderungen hinaus typischerweise:
Eine vollständige Umsetzung nach IEEE 830 ist im vorliegenden Szenario zwar nicht gefordert gewesen, dennoch zeigt sich, dass ein entsprechender Prompt, wie Anforderungen nach IEEE 830 aussehen würden, das Ergebnis erheblich verbessert. So erzeugt die KI bei explizitem Bezug auf den Standard bereits Vorschläge für Eingaben, Ausgaben, den Zweck einer Anforderung sowie mögliche Verifikationsmethoden. Allerdings bleiben diese Angaben auf einer sehr abstrakten Ebene, sind nicht vollständig oder frei erfunden. Zum Beispiel leitet die KI ab, dass die Verarbeitung des Verkaufs in weniger als 2 Sekunden abgehandelt sein soll. Eine nichtfunktionale Anforderung, die nicht aus den Quellen hervorgeht. Als Testfall hat die KI beispielsweise generiert, das ein Kassiervorgang mit Barzahlung erfolgreich abgeschlossen sein soll. Was jedoch den Erfolg hier kennzeichnet bleibt unkonkret. Jedoch fordern die generierten Testfälle den Anforderungsspezialisten heraus, die gefundenen Anforderungen zu hinterfragen und sie unter Umständen zu verfeinern.
Fazit
Die Ergebnisse zeigen, dass generative KI in der Lage ist, Anforderungen in einer gut strukturierten und konsistenten Form zu erzeugen, selbst ohne die Verwendung vordefinierter Textschablonen (z. B. nach den Sophisten). Funktionalitäten, Systeme oder Stakeholder können aus den strukturierten Texten leicht identifiziert werden. Zudem werden sämtliche Metadaten – wie IDs, Prioritäten, Kategorien, Herkunft und Quellen sowie Verknüpfungen mit Diagrammen oder Modellen – zuverlässig dokumentiert.
Herausfordernd bleibt jedoch, dass viele Anforderungen nicht atomar formuliert sind und Aufzählungen mehrerer Funktionen enthalten. Auch uneinheitliche Benennungen führen zu Mehrdeutigkeiten, welche die Verständlichkeit mindern.
Darüber hinaus lassen sich folgende weiterführende Erkenntnisse ableiten:
Insgesamt zeigt sich, dass generative KI ein wertvolles Werkzeug zur Unterstützung in der Anforderungsspezifikation darstellt, jedoch kein Ersatz für die fachliche Expertise und die kritische Bewertung durch Anforderungsspezialisten ist.