Qualitätssicherung im Prozess der Anforderungsdefinition
- Fehler: Nichterfüllung einer festgelegten Anforderung
- Qualitätssicherung: Summe aller Maßnahmen welche garantieren, dass ein Produkt die Anforderungen erfüllt.
- sowohl Managementmaßnahmen
- als auch technische Aktivitäten
- Konstruktive Qualitätssicherung: geeignete Maßnahmen
- Analytische Qualitätssicherung: Maßnahmen um Fehlerwirkung zu entdecken und erreichte Qualität bewerten
Kriterien für Softwarequalität
Produktqualität
- betrachtet Software als Menge aller Produkte über den Gesamten SE Prozess
- charakterisierbar durch
- Korrektheit der Software
- Verständlichkeit
- Änderbarkeit
- Wiederverwendbarkeit
Gebrauchsqualität
- Fähigkeit der Software die gestellten Anforderungen im Einsatzkontext zu erfüllen
- charakterisierbar durch
- Korrektheit
- Zuverlässigkeit
- Effizienz
- Aufgabenmanagement
- Erwartungskonformität
- Fehlerrobustheit
Probleme und Fehler bei der Anforderungsdefinition
- 83% sprachliche Fehler
- Unverständlichkeit
- Missverständlichkeit
- 75% logische Fehler
- Redundanz
- Widersprüchlichkeit
- 73% inhaltliche Fehler
- falsche Sachverhalte
- Unvollständigkeit
Qualitätssicherung im RE
- gibt Qualität an, wie eine Anforderung den messbaren und definierten Qualitätskriterien entspricht
- Ziel: Wünsche der Stakeholder in Anforderungen abbilden, sodass es deren Ansprüchen entspricht
- Ziel: Auffälligkeiten in Erzeugnissen finden und beheben
Konstruktive QS
- Einsatz von Techniken und Verfahren um Auffälligkeiten in den Anforderungen von vornherein zu vermeiden
- Direkt beim ermitteln der Anforderungen
- Qualitätsziele festlegen und abstimmen
- Methoden auswählen, so früh wie möglich
- QS Zeitpunkte und Prüfer ernennen
- Prüfen sobald Anforderungen eine gewissen Stabilität haben
- Wichtig Prüfen und Behebung von gefundenen Fehlern trennen
Prüftechniken
- Reviews
- Stellungnahmen
- Walkthrough Inspektionen
- Testfall
- Erfüllung der Anforderungen im erstellten Produkt
- Analysemodell
- besteht aus UML-Diagrammen
- zeigt statische oder dynamische Sicht
- Parallel zu Anforderungen eine andere Sicht
- Prototyp
- Anforderungen teilweise umsetzen um Realisierbarkeit zu prüfen
- zeigen auch fehlende oder unzureichende Funktionen
Arbeit mit Testfällen
abstrakte Testfälle
- keine konkreten Werte
- Detaillierung grober Anforderungen
Konkrete Testfälle
- helfen Anforderungen zu veranschaulichen
- auch später noch anwendbar
lassen sich natürlich-sprachlich, semiformal oder formal beschreiben
natürlich-sprachlicher Testfall besteht aus drei Elementen
- Ausgangssituation
- Zustand des Prüfgegenstandes
- Ereignis
- wodurch die Prüfung ausgelöst wird
- Erwartetes Ergebnis
- Sollzustand bei korrektem Verhalten
Testfälle und Abnahmeszenarien
- Abnahmeszenario
- chronologische geordnete Sammlung von Testfällen
- Formulierung von Testfällen und Abnahmezehnarien
- zeigt Unvollständigkeiten und Lücken
- insgesamt Qualitätsverbesserung
- Sollten von Fachexperten geschrieben werden (Personen in der Anwenderdomäne)
- und vom Requirements Engineer geprüft werden
Analytische QS
- Beheben von Auffälligkeiten im Nachhinein
- Nach der Dokumentation oder Umsetzung