Robustness Analysis

Robustness Analysis

Die Robustheitsanalyse ist ein Verfahren in der Softwaretechnik, mit dem man Use Cases auf verschiedene Aspekte untersuchen kann. Dabei wird der vorhandene Use Case Text analysiert und in seine Bestandteile zerlegt. Als Ergebnis der Analyse wird ein Robustheitsdiagramm erstellt, welches im Grunde einem vereinfachten Kollaborationsdiagramm entspricht.
Durch die Anwendung der Analyse wird in erster Linie ein Sanity Check des Use Cases durchgeführt. Es wird geprüft, ob der Text in sich schlüssig ist oder irrationale Abläufe möglich sind. Dabei können auch weitere Objekte im Domänenmodell gefunden werden, die vorher nicht im Fokus waren. Ebenfalls hilft die Robustheitsanalyse, fehlende Alternativrouten im Use Case Text aufzudecken, zum Beispiel wenn ein Vorgang fehlschlägt.

Die Robustheitsanalyse schließt die Lücke zwischen der reinen Analyse (Use Case – Was soll geschehen?) und dem Design (Sequenzdiagramm – Wie soll es geschehen?). Durch konsequente Analyse aller Use Cases wird aus dem ursprünglichen Domänenmodell ein Klassenmodell. Aus einem Klassenmodell wiederum kann von geeigneten Tools der Rumpfcode der Anwendung automatisch generiert werden.

Inhaltsverzeichnis

Bestandteile

Die Robustheitsdiagramme bestehen aus 3 unterschiedlichen Objekten und dem Akteur. Die Objekte werden mit einer einfachen Linie verbunden. Zwischen den Objekten kann allerdings auch eine Aggregation vorliegen, wenn zum Beispiel das Boundary Objekt „Ok Button“ Teil des Boundary Objektes „Homepage“ ist.

Boundary object

  • Bilden die Schnittstelle zwischen Akteur und dem System
  • Repräsentieren meistens Buttons, Eingabefelder, aber auch ganze Dialoge oder Menüs
  • Sollten leicht Use Case Texten entnommen werden können
  • Sind Substantive im Use Case Text

Entity object

  • Repräsentieren Objekte aus dem Domänenmodell
  • Oft entsprechen sie Datenbankeinträgen
  • Die Information die von dem Objekt gehalten wird, überlebt den Use Case
  • Sind Substantive im Use Case Text

Control object

  • Werden als Steuerungsobjekte zwischen Boundary und Entity verwendet und auch Controller genannt
  • Sind als Verben im Use Case Text zu finden
  • Oft werden Controller erst als Platzhalter benutzt, die später durch Methoden von Boundary / Entity Objekten ersetzt werden

Akteur

  • Der Akteur interagiert mit dem System
  • In der Regel stellt der Akteur den späteren Endanwender dar

Regeln

Es gibt vier grundlegende Regeln, die man bei Erstellung der Diagramme beachten muss:

  1. Akteure können nur mit Boundary Objekten kommunizieren
  2. Boundary Objekte können nur mit Akteuren und Controllern kommunizieren
  3. Entity Objekte können nur mit Controllern kommunizieren
  4. Control Objekte können mit Boundary, Entity und anderen Controllern kommunizieren, jedoch nicht mit Akteuren

Richtlinien

Im Allgemeinen sollte man die Analyse und den Modellierungsgrad nicht übertreiben. Es soll eher als integrierter Schritt nach dem Erstellen der Use Cases verstanden werden, anstatt einer eigenständigen und unabhängigen Analyse. In einem Artikel des "software development magazine" haben Kendall Scott und Doug Rosenberg die häufigsten / typischen Fehler analysiert und Vorgehensweisen beschrieben wie diese zu umgehen sind. Hier die wichtigsten als allgemeine Richtlinien, zum Erstellen von Robustheitsdiagrammen, formuliert:

  • Man sollte das statische Domänenmodell nach den Erkenntnissen der Robustheitsanalyse aktualisieren (neu gefundene Objekte eintragen)
  • Es sollte ein visueller Abgleich zwischen Use Case Text und dem Robustheitsdiagramm stattfinden (Lesen des Use Case Textes und gleichzeitige Nachvollziehung im Diagramm)
  • Man sollte nicht zu viele Controller Objekte in die Diagramme einbauen, die Robustheitsanalyse soll ein schneller "Sanity Check" für die Use Cases sein.
  • Alternative Wege aus dem Use Case (z.B. im Fehlerfall) sollten ebenfalls dargestellt werden

Beispiel

Beispieldiagramm

Hier ein Beispiel Use Case in verkürzter Form:
Use Case Name: Anmeldung
Beschreibung: Nutzer meldet sich an Mitgliederseite an
Beteiligte Akteure: Mitglied, Webserver, Nutzerdatenbank
Ablaufschritte (normal flow):

  • Der Benutzer gibt seine User ID und Passwort auf der Anmeldeseite ein und betätigt den OK Button.
  • Das System vergleicht die eingegebenen Daten mit denen in der Benutzerdatenbank und liefert die Mitgliederseite.


Der Abgleich zwischen Text und Diagramm sollte parallel ablaufen. Den Text lesen und die Aktionen im Diagramm verfolgen. An dieser Stelle wird auch sichtbar, dass man keine Alternative modelliert hat, falls die Daten des Benutzers nicht korrekt eingegeben wurden.

Quellen / WebLinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Robustness Diagram — Die Robustheitsanalyse ist ein Verfahren in der Softwaretechnik, mit dem man Use Cases auf verschiedene Aspekte untersuchen kann. Dabei wird der vorhandene Use Case Text analysiert und in seine Bestandteile zerlegt. Als Ergebnis der Analyse wird… …   Deutsch Wikipedia

  • Analysis of variance — In statistics, analysis of variance (ANOVA) is a collection of statistical models, and their associated procedures, in which the observed variance in a particular variable is partitioned into components attributable to different sources of… …   Wikipedia

  • Failure mode and effects analysis — A failure modes and effects analysis (FMEA) is a procedure for analysis of potential failure modes within a system for classification by severity or determination of the effect of failures on the system. It is widely used in manufacturing… …   Wikipedia

  • Principal component analysis — PCA of a multivariate Gaussian distribution centered at (1,3) with a standard deviation of 3 in roughly the (0.878, 0.478) direction and of 1 in the orthogonal direction. The vectors shown are the eigenvectors of the covariance matrix scaled by… …   Wikipedia

  • Sensitivity analysis — (SA) is the study of how the variation (uncertainty) in the output of a mathematical model can be apportioned, qualitatively or quantitatively, to different sources of variation in the input of a model Saltelli, A., Ratto, M., Andres, T.,… …   Wikipedia

  • Cluster analysis — The result of a cluster analysis shown as the coloring of the squares into three clusters. Cluster analysis or clustering is the task of assigning a set of objects into groups (called clusters) so that the objects in the same cluster are more… …   Wikipedia

  • Dynamic network analysis — (DNA) is an emergent scientific field that brings together traditional social network analysis (SNA), link analysis (LA) and multi agent systems (MAS) within network science and network theory. There are two aspects of this field. The first is… …   Wikipedia

  • Detrended correspondence analysis — (DCA) is a multivariate statistical technique widely used by ecologists to find the main factors or gradients in large, species rich but usually sparse data matrices that typify ecological community data. For example, Hill and Gauch (1980, p. 55) …   Wikipedia

  • Detrended Correspondence Analysis — (DCA) is a multivariate statistical technique widely used by ecologists to find the main factors or gradients in large, species rich but usually sparse data matrices that typify ecological community data. For example, Hill and Gauch (1980, p. 55) …   Wikipedia

  • Frame analysis — is a multi disciplinary social science research method used to analyze how people understand situations and activities. The concept is generally attributed to the work of Erving Goffman and his 1974 book Frame analysis: An essay on the… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”