Anforderungsanalyse Flashcards
Softwarelebenszyklus
Ist ein Prozess der Entwicklung und beinhaltet alle Phasen, die ein Software-Produkt von der ersten Idee bis zur Außerbetriebnahme durchläuft
Phasen im Softwarelebenszyklus
Entwicklung
Anwendung
Wartung
Mögliche Gründe für das Fehlschlagen von Projekten
- unvollständige Anforderungen
- unzureichende Ressourcen
- unrealistische Erwartungen
- Schwächen bei der Planung
- System wurde nicht mehr gebraucht
Qualität der Anforderungen entscheidend!
Gründe für mangelhafte Anforderungsanalyse
- Falsche Annahmen der Stakeholder
- “Fachsprache”
- Kommunikationsprobleme
- unterschiedlicher Erfahrungs- und Wissensstand bei den Projektbeteiligten
Was ist eine Anforderung?
Eine Bedingung oder Fähigkeit, die von einem Benutzer zur Lösung eines Problems oder zur Erreichung eines Ziels benötigt wird
Aktive Stakeholder
Aktive Stakeholder arbeiten direkt am Projekt mit oder sind direkt vom Projekt betroffen
- Leitung
- Projektmitarbeiter
Passive Stakeholder
Passive Stakeholder sind von der Projektdurchführung oder den Projektauswirkungen nur indirekt betroffen
- Interessenvertretung
- Verbände
Anforderungsanalyse
ist ein kooperativer, iterativer, inkrementeller Prozess, dessen ziel es ist zu gewährleisten, dass
- alle relevanten Anforderungen bekannt und in dem erforderlichen Detaillierungsgrad verstanden sind,
- die involvierten Stakeholder eine ausreichende Übereinstimmung über die bekannten Anforderungen erzielen,
- alle Anforderungen konform zu den Dokumentationsvorschriften dokumentiert bzw. konform zu den Spezifikationsvorschriften spezifiziert sind.
Vier Haupttätigkeiten der Anforderungsanalyse
Ermitteln
- Nutzung verschiedener Techniken und Methoden (Interviews, Beobachtung,…)
- Detaillierung und Verfeinerung
Dokumentieren
- Beschreibung der Anforderungen
- Textuelle Beschreibungen
- Modelle (UML)
Prüfen und abstimmen
- Prüfung dokumentierter Anforderungen
- Vielfältige Methoden: Reviews, Prototyping,…)
- Gewährleistung, dass sie geforderten Qualitätskriterien entsprechen
Verwalten
- Anforderungsmanagement
- Strukturierung, Aufbereitung
Arten von Anforderungen
Funktionale Anforderungen
- legt fest, was das Produkt tun soll
Beispiel: Programm soll den Saldo eines Kontos zum Stichtag berechnen
Qualitätsanforderungen,
nichtfunktionale Anforderungen
- geht über die funktionale Anforderung hinaus.
- beschreiben, wie gut das System die Leistung erbringen soll
Beispiel: Programm soll innerhalb einer Sekunde antworten
Randbedingungen (Rahmenbedingungen)
- ist eine organisatorische oder technologische Vorgabe, die die Art und Weise einschränkt, wie das betrachtete System realisiert werden kann.
Beispiel: Programm muss bis zur Messe am … fertig sein
Aufgabe der System- und Kontextabgrenzung
das System von dessen Umgebung abzugrenzen und den Teil der Umgebung zu identifizieren, der die Anforderungen an das zu entwickelnde System bestimmt
Systemkontext
ist der Teil der Umgebung eines Systems, der für die Definition und das Verständnis der Anforderungen des betrachteten Systems relevant ist
Systemkontext - Welche Aspekte müssen beachtet werden
Personen Systeme im Betrieb Prozesse Ereignisse Dokumente
Warum Systemkontext betrachten
- Falscher oder fehlender Systemkontext führt zu unvollständigen oder fehlerhaften Anforderungen
- Anforderungen kommen aus dem Systemkontext
> Ermittlung und Dokumentation des Systemkontextes ist überaus hilfreich
Prozessaktivität Überblick
- Software Spezifikation
- Software Design und Implementierung
- Überprüfung/Testen
- Software Weiterentwicklung