Methoden zur Formulierung von Anforderungen
Anforderungen in der Softwareentwicklung können durch verschiedene modellbasierte und sprachliche Methoden formuliert werden. Hier sind einige der gängigsten Ansätze und Beispiele von Satzschablonen, welche zur Hilfestellung herangezogen werden können.
Modellbasierte Methoden
Use Case Modellierung
Use-Case-Diagramme beschreiben die Interaktionen zwischen Akteuren und dem System.
Unified Modelling Language (UML)
UML bietet verschiedene Diagrammtypen zur Modellierung von Anforderungen:
- Anwendungsfalldiagramme
- Klassendiagramme
- Sequenzdiagramme
- Aktivitätsdiagramme
- Business Process Model and Notation (BPMN)
BPMN-Diagramme modellieren Geschäftsprozesse, die Anforderungen an das System definieren.
SysML (Systems Modeling Language)
SysML erweitert UML für komplexe Systeme und ermöglicht detaillierte Anforderungsmodellierung.
Entity-Relationship-Modell (ERM)
ER-Modelle werden zur Modellierung von Datenanforderungen und Datenstrukturen verwendet.
Sprachliche Methoden
Natürliche Sprache
Anforderungen werden in klarer, präziser und verständlicher natürlicher Sprache formuliert. Best Practices und Guidelines helfen dabei, Mehrdeutigkeiten zu vermeiden.
User Stories und Epics
In agilen Methoden werden Anforderungen häufig als User Stories formuliert, die kurz und prägnant die gewünschte Funktionalität aus Sicht des Endbenutzers beschreiben.
Use-Case-Beschreibungen
Textuelle Beschreibungen des Use Cases, die detaillierte Szenarien der Systemnutzung durch Akteure beschreiben.
Gherkin-Sprache (Behavior-Driven Development, BDD)
Gherkin ist eine domänenspezifische Sprache zur Beschreibung von Anforderungen in Form von ausführbaren Beispielen.
Formale Spezifikationssprachen
Formale Sprachen verwenden mathematische Notationen zur präzisen Definition von Anforderungen.
Zusammenführung von Modell- und sprachlichen Methoden
Model-Driven Requirements Engineering (MDRE)
MDRE kombiniert modellbasierte und textuelle Methoden zur umfassenden und konsistenten Anforderungsdefinition
Satzschablonen
Satzschablonen sind eine effektive Methode, um Anforderungen klar und einheitlich zu formulieren. Sie helfen dabei, die Struktur und Vollständigkeit der Anforderungsbeschreibung sicherzustellen. Wir haben einige Beispiele von Satzschablonen aufgelistet.
User Stories
User Stories sind kurze, prägnante Beschreibungen einer Funktionalität aus der Sicht des Endbenutzers. Die typische Satzschablone für User Stories lautet:
Als [Rolle] möchte ich [Funktion], um [Nutzen/Ziel].
Beispiel: Als Benutzer möchte ich mich mit meinem Benutzernamen und Passwort anmelden können, um Zugang zu meinem persönlichen Dashboard zu erhalten.
IEEE Satzschablone
Der Standard ISO/IEC/IEEE 29148 bietet eine einfache, einheitliche Vorlage für individuelle Anforderungen.
Eine [Bedingung] stellt eine [Funktionalität] mit einer [Einschränkung] bereit.
Beispiel: Wenn eine gültige Karte erkannt wird, soll das System die Meldung „Geben Sie Ihre Pin ein“ auf dem Dialogbildschirm anzeigen, und zwar innerhalb von 200 ms.
SMART-Kriterien
Die SMART-Kriterien bieten eine Methode zur Formulierung von Anforderungen, die spezifisch, messbar, erreichbar, relevant und zeitgebunden sind.
[Stakeholder] benötigt [spezifische Anforderung], die [messbares Kriterium] erfüllt, um [relevantes Ziel] bis [Zeitpunkt].
Beispiel: Der Marketingmanager benötigt ein Berichtssystem, das die Verkaufsdaten täglich aktualisiert und genaue Verkaufsprognosen liefert, um die Marketingstrategie bis zum Ende des Quartals anzupassen.
Volere-Satzschablone
Die Volere Satzschablone ist eine weitere Möglichkeit zur klaren Formulierung einer Anforderung.
Die [Systemname] muss in der Lage sein, [Funktionalität], [Leistungsmaßstab] zu erfüllen.
Beispiel: Die Buchungssoftware muss in der Lage sein, bis zu 1000 Buchungen pro Minute zu verarbeiten, ohne dass die Antwortzeit 2 Sekunden überschreitet.
Gherkin-Sprache (BDD)
Die Gherkin Sprache wird verwendet, um die Anforderungen in Form von ausführbaren Beispielen zu beschreiben.
Gegeben sei [Ausgangszustand]
Wenn [Aktion]
Dann [Ergebnis]
Beispiel: Gegeben sei, dass ein Benutzer auf der Anmeldeseite ist,
Wenn der Benutzer gültige Anmeldedaten eingibt und auf “Anmelden” klickt,
Dann wird der Benutzer auf die Startseite weitergeleitet.