Anforderungen zu erfassen und zu verwalten ist ein wesentlicher Schlüssel zum Projekterfolg. Die Embedded-Software-Funktionalität lässt sich einfacher in Anforderungen beschreiben als die Qualitätsmerkmale. Dennoch: Qualitätsmerkmale lassen sich nicht am Ende einfach “hineintesten”. Je abstrakter sie sind, desto aufwendiger ist ihre Erfassung. Welche Herausforderung stellt das für ein Projekt dar?
In einem Beispiel führt unser Autor durch die wichtigsten Schritte der Erfassung von Qualitätsanforderungen.
Bild 4: (Abstraktes) Qualitätsmerkmal festlegen
Das Qualitätsmerkmal „änderbar“ wird in diesem Beispiel auf die Software eines Kaffeevollautomaten angewandt, lässt sich aber auf beliebige Produkte übertragen.
Bezogen auf Bild 1 (Beitrag Teil 1) gelten für das Qualitätsmerkmal Änderbarkeit die Subqualitätsmerkmale Analysierbarkeit, Modifizierbarkeit, Stabilität und Prüfbarkeit.
Zu jedem Qualitätsmerkmal formuliert der Anforderungsanalyst erschließende Fragen:
Änderbarkeit
Welche Kenngrößen definieren Änderbarkeit in der Software?
Zu jedem Subqualitätsmerkmal formuliert der Anforderungsanalyst weiterführende Fragen:
Analysierbarkeit
Welche Kenngrößen definieren Analysierbarkeit in der Software?
Modifizierbarkeit
Welche Kenngrößen definieren Modifizierbarkeit in der Software?
Stabilität
Welche Kenngrößen definieren Stabilität der Software?
Prüfbarkeit
Welche Kenngrößen definieren Prüfbarkeit in der Software?
Bild 5-1: Quantisierung 1 (Referenzteil für Produkt) festlegen: Softwaremetriken
Das folgende Beispiel basiert auf der Veröffentlichung der DSF Deutsche Flugsicherung GmbH und Brandenburg Technische Universität Cottbus: „Pieper: Definition von Software-Qualitätsmerkmalen“ und „Bennicke, Dörr: New Metric Application“.
Die oben dargestellten Metriken sind ein Beispiel für einen Auszug aus der Referenzdatenbank zum Qualitätsmerkmal Änderbarkeit. Die Metriken und Grenzwerte können zur Quantisierung der Subqualitätsmerkmale Analysierbarkeit, Modifizierbarkeit, Stabilität und Prüfbarkeit herangezogen werden.
Bild 5-2: Quantisierung 1 (Referenzteil für Produkt) festlegen: Zuordnung und Gewichtung
Nach Bestimmung der Metriken müssen diese den Submerkmalen zugeordnet werden:
Analysierbarkeit = a + b + c + …
Modifizierbarkeit = a + b + c + …
Stabilität = a + b + c + …
Prüfbarkeit = a + b + c + …
Nach Zuordnung der Metriken müssen diese gewichtet werden:
Analysierbarkeit = a * x + b * x + c * x + …
Modifizierbarkeit = a * x + b * x + c * x + …
Stabilität = a * x + b * x + c * x + …
Prüfbarkeit = a * x + b * x + c * x + …
Die Summe aller Gewichtungsfaktoren pro Subqualitätsmerkmal muss 100 ergeben.
Beim Errechnen der Änderbarkeit wird eine Metrik mit „1“ bewertet, wenn der Messwert innerhalb des Wertebereichs liegt. Ist der Wertebereich nicht erfüllt, wird die Metrik mit „0“ bewertet.
Für das konkrete System werden im Regelungsteil die Wertebereiche der einzelnen Metriken und deren Gewichtung angepasst.
Bild 5-3: Quantisierung 1 (Referenzteil für Produkt) festlegen: Bewertungsschema für jedes (Sub-) Qualitätsmerkmal
Im Referenzteil ist auf Basis der berechenbaren Ergebnisse die Quantisierung in [Erfüllungsgrad] festgelegt. Beim Subqualitätsmerkmal ist die Bedeutung der Quantisierung eindeutig.
Definition: Beim Qualitätsmerkmal muss sich der Grad der Erfüllung auf jedes Subqualitätsmerkmal übertragen. Ist also der Erfüllungsgrad 4 auf Qualitätsmerkmalebene gefordert, so müssen alle Subqualitätsmerkmale ebenfalls diesen Grad erfüllen.
Bild 6-1: Quantisierung 2 (Regelungsteil für Projekt) festlegen: Wertebereiche der Softwaremetriken definieren
Im Regelungsteil erfolgt die projektspezifische Anpassung der Wertebereiche der Metriken.
Bild 6-2: Quantisierung 2 (Regelungsteil für Projekt) festlegen: Gewichtung der Softwaremetriken
Im Regelungsteil erfolgt die projektspezifische Anpassung der Gewichtung der Metriken für jedes Qualitätsmerkmal.
Bild 6-3: Quantisierung 2 (Regelungsteil für Projekt) festlegen: Quantisierung
In diesem Beispiel sind der Erfüllungsgrad für alle Subqualitätsmerkmale und das Qualitätsmerkmal identisch.
Bild 7: Konkrete Anforderung mit Test-Case erfassen
Auf Basis dieser konkreten Software-Anforderung weiß der Softwareentwickler, welche Metriken er bei der Implementierung zu beachten hat. Der Softwaretester kann die Metriken ermitteln und damit verifizieren, ob eine Änderbarkeit von mindestens 2 erreicht ist.
In der Anforderung und im Test-Case ist der Begriff „änderbar“ zum Referenz- und Regelungsteil in der Datenbank verlinkt.
Fazit
Schaffen Sie in Ihrem Unternehmen bei Ihren Mitarbeitern das Bewusstsein und Verständnis von Qualitätsanforderungen.
Auch wenn der Aufwand für die Quantisierung von abstrakten zu konkreten Qualitätsmerkmalen erst mal hoch ist – Sie profitieren davon in allen nachfolgenden Projekten!
Alles zu Requirements Engineering und Qualitätsanforderungen
Holen Sie sich im MicroConsult Seminar zu Requirements Engineering und Management das notwendige Wissen, um qualitativ hochwertige Anforderungen und dazu passende Abnahmekriterien zu entwickeln und zu dokumentieren. Die aktuell überarbeitete Version des Seminars fußt auf über 10 Jahren Coaching- und Seminarerfahrung aus der Praxis.
Erfahren Sie im Seminar, wie Sie die Qualität von bereits bestehenden Anforderungen bewerten und verbessern, einen Requirements-Prozess in Ihrer Firma einführen, bewerten, optimieren, verstehen und ihn leben und zudem fundierte Tool-Entscheidungen zur Verwaltung von Anforderungen treffen können.
Teil 1 des Beitrags zu Qualitätsanforderungen beleuchtet die unterschiedlichen Arten von Anforderungen.
In Teil 2 gibt einen Überblick über die verschiedenen Erfassungsmethoden für Qualitätsanforderungen.
Weiterführende Informationen
MicroConsult Fachwissen zum Thema Projektmanagement
MicroConsult Training & Coaching zum Thema Projektmanagement
Training: Requirements Engineering und Requirements Management
Weitere relevante MicroConsult-Trainings zum Thema:
Funktionale Sicherheit (Fusi) von Elektronik und deren Software nach IEC 61508 und ISO 26262
Security-Fundamente für eingebettete Systeme (Embedded Systems)
Software-Usability-Praxisseminar: Produkte benutzerfreundlich entwickeln
Modellbasierte Systemanalyse und Systemdesign mit der Systems Modeling Language