Anforderungen

Marcel Lüthi
Departement Mathematik und Informatik

Anforderungen

Anforderungen legen fest, was man von einem Softwaresystem als Eigenschaften erwartet.

Zwei Fragen:

  1. Wer ist "man"?
  2. Was sind "Eigenschaften"?

Stakeholders

  • Stakeholder bezeichnet alle Partien die
    • Ein Interesse an der Software haben
    • Von der Entwicklung/Einsatz der Software betroffen sind
  • Verallgemeinert den traditionellen Kundenbegriff

Eigenschaften

  • Welche Eigenschaften müssen für ein neues Softwaresystem festgelegt werden?
    • Funktionale Eigenschaften
    • Nichtfunktionale Eigenschaften
    • (Designeigenschaften)
    • (Prozesseigenschaften)

Funktionale Anforderungen

Legen eine vom System bereitzustellende Funktion fest.
  • Was soll ein System tun?
  • Beispiele:
    • Das System soll den PIN vom Kunden prüfen.
    • Das System soll den Rechnungsbetrag erfragen, und falls genügend Geld vorhanden ist, das Konto belasten.

Nichtfunktionale Anforderungen

Alle Anforderungen die nicht funktional sind.
  • Beispielkategorien:
    • Qualitätsmerkmale (Performance, Wartbarkeit, ...)
    • Sicherheitsanforderungen
    • Ethische oder regulatorische Anforderungen
  • Betreffen meistens alle Funktionen des Systems

Strukturieres Ermitteln der Anforderungen

  • Visionen und Ziele
  • Rahmenbedingungen
    • Restriktionen für das System
  • Kontext
    • Umgebung des Systems
  • Funktionale Anforderungen
  • Nichtfunktionale Anforderungen

Visionen & Ziele

  • Vision: Realitätsnahe Vorstellung der gewünschten Zukunft.
  • Ziel: Verfeinert und operationalisiert die Vision.
Kriterien für Anforderung:
    • Hilft es meine Vision zu erfüllen?
    • Trägt es bei das Ziel zu erreichen?

Rahmenbedingungen

Legt organisatorische und technische Restriktionen für das Softwaresystem oder den Prozess fest.
  • Organisatorisch
    • Anwendungsbereich
    • Zielgruppe
    • Betriebsbedingungen
  • Technisch
    • Software (OS, DBMS,...)
    • Hardware

Kontext und Überblick

Abbildung nach: Helmut Balzert. Lehrbuch der Softwaretechnik, Abbildung 14.0-3

Kontext und Überblick

Kontext bezeichnet materielle und imaterielle Umgebung der Software.
  • Materielle Umgebung:
    • Sensoren
    • Gebäude
    • Personen
  • Immaterielle Umgebung
    • Schnittstellen zu anderen Softwaresystemen
    • Internet

Anforderungen ermitteln

Nach: Helmut Balzert, Lehrbuch der Softwaretechnik, Abb 21.0.1

Anforderungen an Anforderungen

  • Korrekt
  • Eindeutig (unambiguous)
  • Vollständig
  • Konsistent
  • Klassifizierbar nach Wichtigkeit
  • Klassifizierbar nach Stabilität
  • Überpüfbar / testbar

Testbare Anforderungen

Anforderungen sollten testbar sein.
Beispiel:
  • Nicht testbar: Der Kunde soll nicht lange auf Systemantwort warten müssen.
  • Testbar: Überprüfung des PINs soll nicht länger als 3 Sekunden dauern
Geeignet für automatisierte Tests und als Abnahmekriterien.