Startseite >> Wissen >> Techniken >> Perspektiven zur Inspektion von State Charts

Perspektiven zur Inspektion von State Charts

Ziel:

Die perspektivenbasierte Inspektion von Statecharts stellt die Qualität von High-Level-Statecharts sicher. Dazu wird das Statechart-Dokument mittels Szenarien und Checklisten auf uneingeschränkte Nutzbarkeit aus der Perspektive verschiedener Stakeholder überprüft.

Beschreibung:

Mit dem Einzug von objektorientierter Analyse und Design (OOAD, UML) sind Statecharts eine weit verbreitete Technik zur Spezifikation des dynamischen Verhaltens von Systemen geworden. Die Qualität dieser Spezifikationen ist besonders im Bereich der eingebetteten Systeme, wie etwa im Automobilbereich, von großer Bedeutung, da hier (a) oft sehr hohe Anforderungen an die Sicherheit (Safety) bestehen, (b) die Entwicklung oft von Auftragnehmern geleistet wird.

Inspektionen sind eine etablierte Qualitätsprüfungstechnik in der Softwareentwicklung, die es vor allem erlaubt, Schwachstellen im Code, aber u.a. auch in den Anforderungsdokumenten, sehr früh zu entdecken. Im Bereich der OOAD mit den zahlreichen verwendeten Diagrammtypen entstehen jedoch spezifische Anforderungen an Inspektionstechniken, die von den herkömmlichen Inspektionsansätzen nicht erfüllt werden. Die perspektivenbasierte Inspektion von Statecharts ist eine entsprechend maßgeschneiderte Technik, die es ermöglicht, frühzeitig auch subtile Schwachstellen in High-Level-Statecharts aufzudecken.

Grundlegende Konzepte

Schwachstellentaxonomie für Statecharts

Die Verwendung einer expliziten Klassifikation von Schwachstellen erleichtert die systematische Untersuchung auf Schwachstellen in konkreten Elementen. Die Schwachstellentaxonomie für Statecharts basiert auf im IEEE Standard 830 aufgeführten Qualitätskriterien für Anforderungsdokumente und leitet daraus spezifische Qualitätsmerkmale und Schwachstellentypen für Statecharts ab.

Perspektivenbasierte Leseszenarien

Um auch subtile Schwachstellen entdecken zu können, wird durch sogenannte perspektivenbasierte Leseszenarien der aktive Umgang des Inspektors mit dem inspizierten Dokument gefördert. Diese Szenarien beschreiben den Umgang eines typischen Stakeholders mit dem inspizierten Dokument.

Die wichtigsten Stakeholder bezüglich High-Level-Statecharts sind:

  • Maintainer: verantwortlich für Änderungen in Statecharts; daher besonderes Interesse an leichter Änderbarkeit
  • Low-Level Designer: verantwortlich für das Ableiten des detaillierten Systemdesigns; daher besonderes Interesse an guter Verständlichkeit, Vollständigkeit und Realisierbarkeit
  • Tester: verantwortlich für das Ableiten von Testplänen, Testfällen und deren Durchführung; daher besonderes Interesse an Testbarkeit und Vollständigkeit

Jedes Leseszenario besteht aus den folgenden drei Abschnitten:

  • Einleitung: beschreibt die spezielle Stakeholder-Perspektive und fokussiert den Inspektor auf die speziellen Qualitätsaspekte, die aus dieser Perspektive relevant sind
  • Detaillierte Anleitung: beschreibt die typischen Aktivitäten des Stakeholders, die der Inspektor während der Inspektion in einzelnen Schritten nachvollziehen soll
  • Fragen: werden vom Inspektor während der Durchführung bearbeitet, um seine Aufmerksamkeit auf relevante Qualitätsaspekte und damit potenzielle Schwachstellen zu lenken

Priorisierung von Use Cases

Ein häufiges Problem in der Praxis ist, dass Dokumente oft zu groß sind, um sie vollständig inspizieren zu können. Dazu sieht diese Inspektionsmethode einen Priorisierungsschritt vor. Damit wird es möglich, nur die besonders kritischen Teile der Spezifikation zu untersuchen.

Die Voraussetzung ist allerdings, dass die High-Level-Statecharts aus vorherigen Use Cases abgeleitet wurden und eine Verfolgbarkeit zwischen Elementen der beiden Spezifikationsdokumente vorliegt.

Die Priorisierung wird anhand der Use Cases vorgenommen und dann auf die entsprechenden Statechart-Dokumente übertragen. Die Priorisierung kann auf zwei Wegen erfolgen:

  • Nutzungsbasiert: Benutzer und Anwender priorisieren die Use Cases nach Relevanz
  • Risikobasiert: Use Cases werden nach ihrem Risikolevel für den Erfolg des Projekts priorisiert

Vorgehen

Das Vorgehen bei dieser Technik entspricht dem allgemeinen Ablauf der gängigen Inspektionstechniken:

  1. Planung: Zeitliche Planung des Prozesses, Auswahl der Inspektoren, Vorbereitung der zu inspizierenden Dokumente und der Hilfsmittel (insbes. der Leseszenarien)
  2. Schwachstellenentdeckung: Jeder Inspektor führt die Inspektion mit Hilfe der  perspektivenbasierten Lesetechnik durch und führt ein Protokoll mit allen entdeckten Schwachstellen, Fragen und Verbesserungsvorschlägen.
  3. Sammlung: Unter der Leitung eines Moderators werden die Ergebnisse aus den Einzelinspektionen zusammengeführt und mit den Verfassern der inspizierten Dokumente erörtert.
  4. Korrektur: Der Verfasser ist nun verantwortlich für die Korrektur des Dokuments

Einschränkungen

Die Inspektionsmethode lässt explizit Qualitätsaspekte außer Acht, die durch den systematischen Prozess der Ableitung aus Use Cases sichergestellt sind. Weiterhin werden Aspekte nicht behandelt, die i.A. durch moderne Modellierungstools sichergestellt werden. Sollten diese Voraussetzungen nicht gegeben sein, kann die Inspektion durch eine (existierende) Checkliste ergänzt werden, die diese Aspekte abdeckt.

Diese Technik erfüllt folgende Praktiken:

Anforderungen reviewen
Anforderungen messbar und testbar beschreiben