Klassisch, agil, und dann? – Teil 1

Klassische Ansätze im Requirements Engineering

Seite: 4/6

Firma zum Thema

Klassendiagramm

Ein Klassendiagramm gehört zu den Strukturdiagrammen und ist ein grundlegendes Element der Unified Modeling Language (UML) für die Modellierung von Klassen, Schnittstellen und Beziehungen. Klassendiagramme werden z.B. in der Entwicklungsphase bei Analysen, Entwürfen und Implementierungen eingesetzt.

Bildergalerie
Bildergalerie mit 13 Bildern

Vorzugsweise bestehen Klassen aus drei Bereichen wie in Abbildung 7 (Bildergalerie) zu sehen ist. Der obere Bereich enthält den Namen der Klasse. Im mittleren Bereich werden die Attribute angegeben und im unteren Bereich stehen die Operationen oder Methoden der Klasse. Laut UML-Spezifikation kann die Darstellung einer Klasse zusätzliche Bereiche enthalten.

Wichtige Eigenschaften der Bereiche hat Rumpe (2011) wie folgt beschrieben:

Klassenname: Definiert den Namen der Klasse, muss immer angegeben werden, möglichst eindeutig/sprechend.

Attribute: definieren die Eigenschaften. Die Sichtbarkeit wird mit (+) „public“, (#) „protected“ und (-) „private“ angegeben. Der String dient der Notierung von Zusicherungen und Eigenschaftswerten.

Operation: Definieren das Verhalten. Die Sichtbarkeit entspricht der Sichtbarkeit von Attributen. Zusätzliche Arten von Sichtbarkeiten können definiert werden. Sie sollten durch Werkzeugkonventionen oder den String dargestellt werden. Klassenoperationen werden unterstrichen dargestellt. Methoden einer Operation können als Notiz an die Operation geheftet werden.

Klassen:Die Klasse ist ein abstrakter Oberbegriff in der Objektorientierung. Sie beschreibt gemeinsame Strukturen und Verhalten von Objekten. Sie dient dazu Objekte zu abstrahieren. In Verbindung mit anderen Klassen ermöglichen sie die Modellierung eines Systems in der objektorientierten Analyse und Entwurf. Klassen werden meist als Rechtecke dargestellt, die den Klassennamen enthält wie in Abbildung 8 (Bildergalerie) gezeigt wird.

Bildergalerie
Bildergalerie mit 13 Bildern

Attribute und Operationen

Die Definition eines Wertebereichs einer Klasse wird durch Attribute festgelegt. In Abbildung 9 (Bildergalerie) wird eine Klasse „Straße“ mit den Attributen „Name“, „Kaufpreis“ und „Hypothek“ beschrieben. Die Darstellung von Attributen muss nicht immer die vollständige Deklaration haben. Es liegt in der Verantwortung des Werkzeugs, bestimmte Eigenschaften darzustellen. Bezogen auf „Default“ Werte für bestimmte Eigenschaften, wie beispielsweise die Sichtbarkeit, die einzelne Attribute und Operationen einer Klasse in einem Klassendiagramm auszublenden und den Detaillierungsgrad der Darstellung von Attributen und Operationen festzulegen. Die Operationen spezifizieren eine Fähigkeit oder Verantwortlichkeit in einer Klasse, sie verändern den Zustand eines Objektes oder können von anderen Objekten aufgerufen werden. In Abbildung 9 wird in der Klasse „Straße“ die Operationen „kaufen“, „zahleMiete“ und „verkauft“ gezeigt.

Objekte

Die Objekte werden ebenfalls wie die Klasse als Rechteck dargestellt. Der Name des Objektes wird unterstrichen und für evtl. anfallende Attribute werden diese mit Werten eingesetzt. Die Darstellung eignet sich für Diskussionen der Klassenstrukturen während der Entwurfsphase oder zur Dokumentation.

Assoziationen

Eine Assoziation wird verwendet um Objekte zwischen Klassen in eine Beziehung zu setzten, sie wird als Linie modelliert. Die Assoziation kann benannt und mit einem Stereotyp versehen werden. Mit Assoziationen können komplexe Datenstrukturen gebildet und benachbarte Methoden mit deren Objekten aufgerufen werden. In Abbildung 10 (Bildergalerie) ist ein Beispiel eines Auktionssystem zusehen, mit Klassen, Interfaces und Assoziationen.

Bestandteile einer Assoziation sind: Assoziationsnamen, Assoziationsrolle, Kardinalitäten, Navigationsrichtungen

Eine spezielle Form von Assoziationen sind Aggregation oder Komposition. Sie drücken eine sogenannte Teil-Ganzes-Beziehung aus. Eine Aggregation beschreibt eine stärkere Beziehung zwischen Objekten, das heißt ein Objekt ist Teil von einem anderen Objekt und kann ohne nicht existieren. Eine Komposition ist die Abhängigkeit vom Ganzen und kann aber als Teil-Objekt ohne das Aggregat-Objekt existieren. In Abbildung 11 (Bildergalerie) wird dies mit einer einfachen Darstellung zwischen Klasse A und B gezeigt

Zustandsdiagramm

Ein Zustandsdiagramm zeigt Zustände von Zustandsautomat, die aus Transitionen, Ereignissen und Aktionen bestehen. Sie werden zur Modellierung des Verhaltens von Modellelementen eingesetzt. In einem Zustandsdiagramm nehmen Objekte während der Ausführung verschiedene Zustände an, deshalb haben sie ein Gedächtnis. Durch die Möglichkeit, dass sich ein Zustandsdiagramm zu jedem Zeitpunkt in einer Menge endlicher Zustände befinden kann, beschreibt es einen endlichen Automaten.

Bildergalerie
Bildergalerie mit 13 Bildern

Die wichtigsten Modellelemente werden in Abbildung 12 (Bildergalerie) gezeigt. Die Zustände in einem Zustandsdiagramm werden durch Rechtecke mit abgerundeten Ecken dargestellt. Ein Startzustand (das Diagramm kann nur einen besitzen) ist ein gefüllter Kreis, die Endzustände sind gefüllte Kreise mit einem zusätzlichen Ring. Die Zustandsübergänge (Transitionen) werden durch Richtung gebende Pfeile zwischen den Zuständen symbolisiert. Sie sind mit den Ereignissen oder Effekten beschriftet, die zu dem jeweiligen Zustandsübergang führen.

Zustandsdiagramme werden z.B. für die Spezifikation von Verhalten von dynamisch aktiven Objekten benutzt oder auch zur Beschreibung von Protokollen einer Klasse.

Modelle und Modellierung

Modelle: Modelle haben eine wichtige Rolle im Bereich des Requirements Engineering und sie können wie folgt beschrieben werden: „Ein Modell ist ein abstraktes Abbild einer existierenden oder einer noch zu schaffenden Realität.“(Pohl und Rupp, 2011) . Modelle wie in Abbildung 13 (Bildergalerie, schematisch dargestellt) haben drei charakteristische verpflichtende Merkmale.

  • Abbildungsmerkmal: Abbildung von natürlichen oder künstlichen Originalen.
  • Pragmatisches Merkmal: Erfassung von Attributen die für das Verständnis des Originals relevant sind.
  • Verkürzungsmerkmal: Ersetzungsfunktion des Originals für relevante Attribute.

Im Requirements Engineering werden Modelle auf verschiedenen Abstraktionsebenen verwendet. Alle diese Modelle sind Teil der Dokumentation und müssen laufend aktualisiert werden bzw. auf den neusten Stand sein, dies ist wichtig für die Modellierung da das Modell das ganze System darstellt.

Modellierung: Ziel der Modellierung ist es, eine ausreichende Spezifikation des zu erstellenden Systems zu erhalten. Das daraus resultierende Ergebnis ist ein Modell bzw. sind Modelle, die ein vereinfachtes und lesbares System darstellten. Der Umfang einer Modellierung lässt sich wie in Abbildung 14 (Bildergalerie) in einer dreidimensionalen Darstellung zeigen:

  • Ebenen: Anwendungslogik, Benutzerschnittstelle
  • Aspekte: Struktur, Verhalten
  • Phasen: Analyse, Entwurf, Implementierung

In der ersten Dimension ist die Ebene. Hier wird festgelegt, was das System wie können muss, bezogen auf die Anwendung der Schnittstellen. Die zweite Dimension bildet die Aspekte Struktur und das Verhalten in Anlehnung der ersten Dimension ab. Die Phase bildet die dritte Dimension. Dabei wird bei der Modellierung eine Analyse durchgeführt, die jene Anforderungen der Anwendung ermittelt, danach wird ein Entwurfsmodell erstellt. Mit dem Entwurfsmodell wird die Implementierung gebildet.

Artikelfiles und Artikellinks

(ID:42691850)