Serie Software Engineering für Embedded Systeme, Teil 3

Nichtfunktionale Anforderungen systematisch erheben

07.09.2010 | Autor / Redakteur: Jörg Dörr* / Hendrik Härter

Nichtfunktionale Anforderungen sind wichtig für die Kundenbindung: Viele Unternehmen wissen nicht, wie NFA effizient erhoben und dokumentiert werden können
Nichtfunktionale Anforderungen sind wichtig für die Kundenbindung: Viele Unternehmen wissen nicht, wie NFA effizient erhoben und dokumentiert werden können

Im dritten Teil unserer Serie Software Engineering für Embedded Systeme mit dem Fraunhofer IESE Kaiserslautern erfahren Sie, wie sich nichtfunktionale Anforderungen systematisch und effizient erheben und spezifizieren lassen.

Immer mehr Unternehmen werden sich der Bedeutung nichtfunktionaler Anforderungen (NFA) bewusst. Sie sind wichtig für eine dauerhafte Kundenbindung und den Geschäftserfolg. Viele wissen jedoch nicht, wie sie NFA effizient erheben und dokumentieren können. Zusätzlich können die NFA als Qualitätsmerkmale der Software verwendet und entsprechend gemessen werden.

Wir stellen in diesem Artikel eine pragmatische Methode vor, wie sich NFA systematischen und effizienten erheben und spezifizieren lassen. Diese Methode entstand in Kooperation mit Industriepartnern und wurde mehrmals nutzbringend für Software- und Hardwareanforderungen in verschiedenen Domänen in der Industrie angewendet.

Kurzbeschreibung der NFA-Methode nach IESE

Bild 1: Gesamtprozess zur systematischen Erhebung und Spezifikation von NFAs
Bild 1: Gesamtprozess zur systematischen Erhebung und Spezifikation von NFAs

Hauptziel der NFA-Methode ist es, eine minimale, vollständige und fokussierte Menge von messbaren und verfolgbaren NFAs zu erhalten. Die Vorgehensweise zur Erhebung von NFA basiert auf Erfahrungswerten durch Verwendung allgemeingültiger Hilfsmittel (Bild 1). Mittlerweile wurde diese Methode in etlichen Projekten eingesetzt, daher können diese Erfahrungen dazu verwendet werden, um die Basis für die im jeweiligen Projektkontext notwendigen NFA zu ermitteln.

Im ersten Schritt werden alle abstrakten Qualitätsattribute (QAs) identifiziert und gewichtet (Zuverlässigkeit, Wartbarkeit, Effizienz). Dafür können gängige Priorisierungstechniken wie die HCV-(Hierarchical-Cummulative- Voting)Methode, der AHP (Analytical Hierarchical Process) oder einfache Verfahren wie die Likert-Skalen-Methode verwendet werden.

Im nächsten Schritt werden erfahrungsbasierte Referenz-Qualitätsmodelle auf die Bedürfnisse des aktuellen Kontexts und des Projekts zugeschnitten. Dazu werden Qualitäten, welche in dem Projekt nicht benötigt werden aus den Qualitätsmodellen eliminiert und Qualitäten, welche speziell für dieses Projekt relevant sind hinzugefügt. Hierbei werden auch Metriken wie beispielsweise die Antwortzeit in Millisekunden oder Kapazitäten in kByte in den Qualitätsmodellen hinterlegt um die spätere Messbarkeit der NFA zu ermöglichen.

Die Abhängigkeiten zwischen Qualitätsattributen müssen ebenfalls ermittelt und dokumentiert werden So können sich Wartbarkeits-Qualitäten und Performanz-Qualitäten (übersichtliche Kodestrukturen vs. optimierte Antwortzeiten) wechselseitig beeinflussen. Dieses zuschneiden der Qualitätsmodelle ist auch wichtig, um allen Beteiligten zu einem einheitlichen Begriffsverständnis zu verhelfen, das erfahrungsgemäß zu Beginn nicht vorhanden ist.

Bild 2: Auszug aus einer projektspezifischen Checkliste zur systematischen Erhebung von Effizienz NFAs
Bild 2: Auszug aus einer projektspezifischen Checkliste zur systematischen Erhebung von Effizienz NFAs

Falls keine Qualitätsmodelle im Unternehmen als Referenz existieren, kann der Standard ISO 9126 eine gute Ausgangsbasis darstellen. Die resultierenden Qualitätsmodelle (QMs) werden dann dazu verwendet, Referenz-Checklisten und das Anforderungstemplate anzupassen. Mit Hilfe der Checklisten (Bild 2) werden daraufhin, basierend auf einer anfänglichen Beschreibung der funktionalen Anforderungen (FA), konkrete NFA ermittelt und spezifiziert.

Bild 3: Zusammenhang zwischen Qualitätsmodellen, Checklisten und konkreten NFAs
Bild 3: Zusammenhang zwischen Qualitätsmodellen, Checklisten und konkreten NFAs

Bestandteil dieses Erhebungsprozesses ist auch eine Abhängigkeitsprüfung zwischen den NFA, die Inkonsistenzen zwischen den NFA aufdeckt. Der Zusammenhang zwischen Qualitätsmodellen, den Checklisten und den NFA ist in Bild 3 dargestellt: Aus Qualitätsattributen mit Metriken werden Checklistenfragen abgeleitet. Durch systematische Abarbeitung der Checklistenfragen werden die konkreten Projekt NFAs erhoben.

Bei der Erhebung der NFAs mit der Checklisten wird von folgender Typisierung der Qualitätsattribute gebrauch gemacht:

  • Generelle QAs wie „Recoverability” werden nur zum Strukturieren der QAs auf niedereren Ebenen genutzt. Für diese QAs werden keine konkreten NFAs erhoben, diese wären wahrscheinlich nicht messbar.
  • Die NFAs der System-QAs, wie „Capacity”, welche das Gesamtsystem oder dessen vordefinierte Komponenten betreffen (Speicher) werden für die jeweilig vordefinierten Komponenten oder lediglich einmal für das Gesamtsystem erhoben.
  • Nutzeraufgaben-QAs, wie „Ease of Recover” beziehen sich auf Aufgaben bei denen der Nutzer und das System involviert sind. Solche Qualitätsattribute werden pro Nutzeraufgabe, also abgeschlossener Interaktionssequenz mit dem Nutzer erhoben. Werden z.B. Use Cases zur abstrakten Verhaltensspezifikation eingesetzt, so werden NFAs dieses Typs für die jeweiligen Use Cases erhoben. Hat das Elektroniksystem keine Endnutzerinteraktion, können diese Qualitäten komplett entfallen.
  • Systemaufgaben-QAs, wie „Response Time” beziehen sich auf die Systemfunktionen, d.h. Aufgaben die ohne Beteiligung des Nutzers ausgeführt werden. NFA zu diesen Qualitätsattributen werden pro Systemfunktion erhoben.
  • Daten-QAs, wie z.B. „Data Precision“ beziehen sich auf Datenobjekte, d.h. auf Qualitäten der Daten bzw. Datenhaltung und werden dementsprechend pro Datum erhoben.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 359503 / Software-Entwurf & Echtzeit-Design)