Startseite >> Wissen >> Techniken >> Tagging mit Planguage

Tagging mit Planguage

Ziel:

Diese Technik bietet eine semiformale Notation für präzise und quantifizierte nichtfunktionale Anforderungen und einen allgemeinen Vorschlag zur Bestimmung von geeigneten Metriken für nichtfunktionale Anforderungen.

Beschreibung:

Nichtfunktionale Anforderungen (NFR) werden in der Praxis der Anforderungsspezifikation oft als qualitative Merkmale behandelt und lediglich mit vagen Formulierungen beschrieben.

Für die adäquate Behandlung der NFRs in den Phasen der Softwareentwicklung, insbesondere Vertragsverhandlung, Testen, Konfigurationsmanagement und Softwaredesign, ist eine präzise Spezifikation von NFRs jedoch unerlässlich.

Die Technik Tagging mit Planguage bietet einen Ansatz, um NFRs in einer semiformalen Sprache exakt zu spezifizieren. 

Grundlegende Konzepte

Quantifizierung von nichtfunktionalen Anforderungen

Die Quantifizierung von NFRs umfasst folgende Aspekte:

  • Wahl einer geeigneten Metrik für eine NFR (z.B. Wartbarkeit: mittlere Zeit für das Bugfixing)
  • Operationalisierung der Metrik in ein handhabbares Messverfahren (z.B. systematische Erfassung der Zeit für das Bugfixing)
  • Bestimmung des Soll-Zustandes für die Entwicklung des Systems (z.B. das Bugfixing darf im Mittel nicht länger dauern als einen halben Tag)

Dabei wird der Grundsatz verfolgt, dass „unzureichende Zahlen besser sind als mehrdeutige Worte“ . Die Entwicklung geeigneter Metriken und Messverfahren wird ausdrücklich als evolutionärer Prozess verstanden.

Semiformale Spezifikation mit Planguage

„A Planning Language“ (kurz: APL oder Planguage) bietet ein festes Vokabular von Parametern („ Tags”), um NFRs präzise und quantifiziert zu spezifizieren. Die Basisparameter sind zeilenweise in der folgenden Tabelle dargestellt:

Konzept / Parameter Erklärung Zweck
Name Name der Anforderung Referenz und Konzeptwiederverwendung
Gist Grobe, informelle Umschreibung der Anforderung Zusammenfassung, Konsensbildung
Scale Definition der Metrik zur Anforderung Präzision und Klarheit; Definition des Konzepts
Meter Operationalisierung der Metrik durch ein handhabbares Messverfahren Konsens darüber, wie die Erfüllung der Anforderung in der Praxis bestimmt wird
Past Vergangener oder aktueller Ausgangszustand für die Anforderung Klarheit über Konzepte wie "verbessert"
Must Minimalziel für die Anforderung, im Sinn von "soeben hinreichend" Kriterium für minimale Vertragserfüllung
Plan Optimalziel für die Anforderung, im Sinne von erfolgreich und zufriedenstellend Kriterium für volle Vertragserfüllung


Die Parameter Past, Must und Plan sollten durch zeitliche, räumliche und ereignisbezogene Qualifier präzisiert werden.

Am Beispiel der Performanz:

Scale:         Response time (s)
Plan:          [alpha release, test hardware, 100 concurrent users] < 2s

Die Wiederverwendung von Konzepten wird durch zwei Konstrukte unterstützt:

  1. Konzepte (z.B. Metriken) können zentral definiert und in einzelnen Anforderungen referenziert werden.
  2. Die externen Quellen von Konzepten können referenziert werden. 

Vorgehen

Während die Quantifizierung von NFRs ein allgemeines Prinzip darstellt und die Planguage eine Notation ist, um quantifizierte NFRs zu spezifizieren, empfiehlt die Methode folgendes Vorgehen für das Bestimmen von Metriken und Operationalisierungsmöglichkeiten:

  1. Metriken werden gemäß dem gesunden Menschenverstand gefunden.
  2. Alternativ existiert ein großer Fundus an Metriken im Bereich der Softwareentwicklung in Büchern, Publikationen oder in vergangenen Projekten.
  3. Die Definition der Metrik wird an den speziellen Zweck angepasst und mit den Mitteln von Planguage formuliert.
  4. Für komplexe Eigenschaften wird das Zerlegen in handhabbare Teilkonzepte empfohlen.

Anwendungsmöglichkeiten

Die präzise Spezifikation von NFRs mit Planguage bietet vorteilhafte Anwendungsmöglichkeiten in mehreren Phasen der Softwareentwicklung. Diese werden im Folgenden skizziert:

Vertragsverhandlung

Bei der Vertragsverhandlung bieten sich folgende Anwendungsmöglichkeiten:

  • Durch die Spezifikation von Minimal- und Optimalausprägungen einer nichtfunktionalen Eigenschaft („Must“ und „Plan“), kann der Vertrag von vorneherein mit einem ergebnisorientierten Zahlungsmodell versehen werden. Dabei wird ein Basispreis für die Minimalerfüllung und ein Bonus für die Optimalerfüllung ausgehandelt.
  • Die Spezifikation unterstützt eine frühe Analyse von Trade-offs und Machbarkeit. Z.B. kann leicht erkannt werden, wenn eine Projektstrategie hohe Forderungen an mehrere nichtfunktionale Eigenschaften stellt (z.B. Performanz und Wartbarkeit) und damit ein Risiko darstellt.
  • Basierend auf der Analyse der Trade-offs können mehrere alternative Projektstrategien miteinander verglichen werden. Dazu schlägt die Methode sogenannte Impact Estimation Tables vor, die für mehrere Strategien eine vergleichende Kosten-/Nutzen-Abschätzung erlauben.

Testen

Indem die NFRs quantifiziert werden und schon während der Anforderungsspezifikation ein Konsens über das Messverfahren hergestellt wird, können Messungen während der Testphase unmittelbar und zweifelsfrei zur Bestimmung der Vertragserfüllung herangezogen werden.

Konfigurationsmanagement

Die präzise Spezifizierung von NFRs mit Planguage unterstützt insbesondere die Aktivitäten der Konfigurationsüberwachung und des Konfigurationsaudits.

  • Konfigurationsüberwachung: Indem die Spezifikation der NFRs mit Planguage die Änderung einer Eigenschaft explizit machen („Past“, „Must“/„Plan“) können sie im formalen Prozess der Konfigurationsüberwachung leicht in Betracht gezogen werden (Beispiel: Um den Durchsatz zu steigern, wird ein anderes DBMS eingesetzt. Welche Auswirkungen hat das auf andere Eigenschaften, wie z.B. Wartbartkeit?)
  • Konfigurationsaudit: Indem die Spezifikation der NFRs die zugehörigen Metriken und Messverfahren bereits enthält, können die Qualitätseigenschaften einer bestimmten Konfiguration unmittelbar und zweifelsfrei bestimmt und als Kriterium für die Vertragserfüllung herangezogen werden.

Softwaredesign

Die adäquate Umsetzung von NFRs erfordert im Allgemeinen klare Entscheidungen zwischen Alternativen im Softwaredesignprozess. Eine präzise Formulierung der NFRs erleichtert diese Entscheidungen, macht Konflikte zwischen Anforderungen sichtbar und ermöglicht die klare Begründung von Designentscheidungen.

Diese Technik erfüllt folgende Praktiken:

Nichtfunktionale Anforderungen erheben
Anforderungen messbar und testbar beschreiben
Standards und Dokumentenstruktur benutzen

Literaturverweis:

A planning language (a PLanguage)