Wikipedia · einfach zusammengefasst · Stand
Anforderung (Informatik)
Im Verlauf der Anforderungsanalyse werden auch Geschäftsprozesse und Geschäftsobjekte modelliert, die zur Formulierung von Anforderungen herangezogen werden …
Inhalt5 Abschnitte
Begriff und Umgang mit Anforderungen
In der Softwaretechnik ist eine Anforderung (englisch requirement) eine Aussage über eine zu erfüllende Eigenschaft oder eine zu erbringende Leistung eines Produkts, Systems oder Prozesses. Sie legt also fest, was erwartet wird und woran sich später beurteilen lässt, ob das Ergebnis passt.
Anforderungen werden in der Anforderungserhebung aufgenommen, anschließend analysiert, spezifiziert und verifiziert, also auf ihre Erfüllung geprüft. Diese Tätigkeiten gehören zum Anforderungsmanagement. Dokumentiert werden Anforderungen zum Beispiel in einem Lastenheft oder einer Tabellenkalkulation. In der agilen Softwareentwicklung unterstützen Werkzeuge das Management, etwa ein Backlog in Scrum oder Jira.
Funktionale Anforderungen und Randbedingungen
Anforderungen können als Qualitätskriterien nach ISO/IEC 25000 beziehungsweise den Qualitätsmodellen der ISO/IEC 25010 klassifiziert werden. Die verbreitetste Einteilung unterscheidet funktionale und nichtfunktionale Anforderungen.
Eine funktionale Anforderung bestimmt, was ein Produkt tun soll. Beispiel: „Das Produkt soll den Saldo eines Kontos zu einem Stichtag berechnen.“
Eine nichtfunktionale Anforderung (non-functional requirement, NFR) ist in der Literatur nicht einheitlich definiert. Gemeinsam ist den Definitionen, dass sie über die eigentliche Funktion hinausgeht: Sie beschreibt, wie gut das System eine Leistung erbringen soll, und wird oft als Qualitätseigenschaft oder Randbedingung verstanden. Beispiel: „Das Produkt soll dem Anwender innerhalb von einer Sekunde antworten.“
Zusätzlich werden häufig Randbedingungen (Constraints) als eigener Anforderungstyp genannt. Typische Randbedingungen sind eine Kostenobergrenze und ein einzuhaltender Projektabschluss-Termin.
Ausführungsqualität
Ausführungsqualität umfasst nichtfunktionale Anforderungen, die während des Betriebs, also zur Laufzeit, beobachtbar sind. Dazu gehören:
- Zuverlässigkeit: Systemreife, Wiederherstellbarkeit und Fehlertoleranz.
- Aussehen und Handhabung: Look and Feel.
- Benutzbarkeit: Verständlichkeit, Erlernbarkeit und Bedienbarkeit.
- Leistung und Effizienz: etwa Antwortzeiten, Ressourcenbedarf und Wirtschaftlichkeit.
- Sicherheit: Vertraulichkeit, Informationssicherheit, Datenintegrität und Verfügbarkeit.
- Korrektheit: Ergebnisse müssen fehlerfrei sein.
Für nichtfunktionale Anforderungen gibt es typische Gliederungen, beispielsweise Volere oder DIN 66272; funktionale Anforderungen werden dagegen je nach Projekt unterschiedlich geordnet.
Weiterentwicklungsqualität
Weiterentwicklungsqualität oder Evolutionsqualität ist nicht primär im laufenden Betrieb sichtbar, sondern in der statischen Struktur des Systems verkörpert. Sie betrifft die Möglichkeit, das System in seiner Umgebung zu betreiben, anzupassen und langfristig weiterzuentwickeln.
Wichtige Aspekte sind Betrieb und Umgebungsbedingungen, Wartbarkeit und Änderbarkeit mit Analysierbarkeit, Stabilität, Prüfbarkeit und Erweiterbarkeit. Hinzu kommen Portierbarkeit und Übertragbarkeit, also Anpassbarkeit, Installierbarkeit, Konformität und Austauschbarkeit. Weitere Kriterien sind Flexibilität durch Unterstützung von Standards, Skalierbarkeit zur Bewältigung von Änderungen des Problemumfangs sowie Randbedingungen.
Aufbau, Priorisierung und Beziehungen
Eine Anforderung enthält typischerweise einen eindeutigen Identifikator, eine kurze und prägnante Beschreibung, die Problembeschreibung (Rationale), eine Quelle (Originator) sowie ein Abnahmekriterium (Fit Criterion). Das Abnahmekriterium ist eine messbare Bedingung, mit der später geprüft wird, ob die Anforderung erfüllt ist. Schienmann unterscheidet Kurz- und Langbeschreibung; Robertson und Robertson sehen nur ein Feld vor, das der Kurzbeschreibung entspricht.
Bei konkurrierenden Anforderungen ist Priorisierung wichtig, wenn Zeit, Geld oder Personen nicht für alle Anforderungen reichen. Das Vorgehensmodell Volere von Robertson und Robertson nennt dafür Kundenzufriedenheit und Kundenunzufriedenheit als numerische Werte für die Folgen von Erfüllung beziehungsweise Nichterfüllung, außerdem eine numerische Priorität und Konflikte mit widersprechenden Anforderungen. Schienmann ergänzt Produktrelease, also die Produktversion für die Umsetzung, und Baustein, den zuständigen Produktteil.
Weiterführendes Material, Zielsetzung, Anmerkungen und Nomenklatur können die Beschreibung verständlicher machen und Missverständnisse vermeiden. Weil Anforderungen sich im Projekt verändern, werden auch Versionsgeschichte, Status und offene Punkte festgehalten. Geschäftsobjekte und Geschäftsprozesse benennen den Gegenstand beziehungsweise Prozess, auf den sich eine Anforderung bezieht. Über Requirements Traceability werden Beziehungen zu anderen Anforderungen oder Entwicklungsartefakten dokumentiert, etwa Verfeinerungen einer groben Anforderung in mehrere genauere Anforderungen oder Konflikte zwischen Anforderungen.
Lernvideos zu Anforderung (Informatik)
4:34
Wahlsysteme 1 - Mehrheitswahl & Verhältniswahl + Anforderungen an Systeme einfach erklärt - Politik
Die Merkhilfe · 168.048 Aufrufe
9:29
Operatoren in Englisch - Übersicht & Beispiele - Anforderungsbereiche, Erwartungen & Beispiele
Die Merkhilfe · 32.289 Aufrufe
6:09
Operatoren fürs Abitur einfach erklärt I Anforderungsbereich I und II der Operatoren
Study History · 9.729 Aufrufe