Überblick
In diesem Toolmentor werden die folgenden Schritte für die Anwendungsfälle ausgeführt, die in der aktuellen Iteration
entworfen werden sollen:
Zusätzliche Toolinformationen
Architektonisch relevante Designelemente können in einer gesonderten logischen Sicht verwaltet werden, die im Einklang
mit den identifizierten Designelementen verwaltet wird. Es wird empfohlen, die <<Perspective>>-Pakete zu
verwenden. Nähere Informationen zu diesem Thema finden Sie im White Paper Model Structure Guidelines for RSx.
Die Merkmale von Ereignissen, die in UML 2.0 auch als Auslöser bezeichnet werden, sollten gegebenenfalls erfasst
werden, um die Identifizierung der Designelemente zu steuern, die diese Ereignisse verarbeiten. Diese Informationen
können formlos, z. B. in einem gesonderten Dokument, jedoch nicht im Rahmen eines Modells erfasst werden.
Asynchrone Kommunikationsereignisse können als Signale modelliert werden, um die Daten zu veranschaulichen, die sie
übertragen, oder um Beziehungen zwischen Signalen, z. B. eine Generalisierungsbeziehung, auszudrücken. Die folgenden
Teilschritte beschreiben, wie Signale modelliert werden:
-
Erstellen Sie bei Bedarf Klassendiagramme. Nähere Informationen finden Sie im Onlinehilfethema
Klassendiagramme zu
Modellelementen hinzufügen.
-
Fügen Sie Signale hinzu. Nähere Informationen finden Sie im Onlinehilfethema
Klassendiagramme erstellen
und modifizieren.
-
Fügen Sie jedem Designelement eine Kurzbeschreibung hinzu. Nähere Informationen finden Sie im Onlinehilfethema
Modellelemente
dokumentieren.
-
Fügen Sie, sofern angebracht, Generalisierungsbeziehungen zwischen Signalen hinzu.
Nähere Informationen zu Klassendiagrammen finden Sie im Onlinehilfethema Statische Struktur mit Klassendiagrammen modellieren.
Designelemente werden in der Regel mit den folgenden drei Methoden erstellt:
-
Erweiterung eines Musters
-
Modellierung
-
Codierung und Rückentwicklung (Reverse-Engineering)
Diese Methoden werden in den folgenden Abschnitten beschrieben.
Erweiterung eines Musters
Ein Muster ist eine besondere Form der Umsetzung. Es ist für die interaktive, schrittweise Ausarbeitung hauptsächlich
in einem einzigen Metamodell und auf derselben Abstraktionsebene, oftmals innerhalb desselben Modells optimiert. Nähere
Informationen finden Sie im Abschnitt Analysemechanismen.
Nähere Informationen finden Sie in der Onlinehilfe Muster erstellen und Muster anwenden.
Modellierung
Dieses Tool unterstützt die modellorientierte Softwareentwicklung (siehe MDD (Model
Driven Development) und MDA (Model Driven Architecture) und Analysemechanismen). Hierbei entwickeln Sie eine Reihe von Modellen, zu denen auch ein
Designmodell gehört und generieren Implementierungsartefakte (3GL-Code, Deskriptoren etc.). Diese werden aus dem
Designmodell unter Verwendung von Umsetzungen abgeleitet. In einigen Fällen werden bei den Umsetzungen, die Code
generieren, Analyseklassen als Eingabe verwendet. Hauptsächlich orientieren sie sich jedoch an Designelementen. Nähere
Informationen finden Sie im Onlinehilfethema Umsetzungen anwenden.
Bei einem traditionellen Entwicklungsansatz erstellen Sie Klassendiagramme im Designmodell, um Designelemente zu
erfassen. Wenn Sie die Analyseklassen verwalten möchten, können Sie Rückverfolgbarkeitsabhängigkeiten zu den
Analyseklassen einrichten.
-
Erstellen Sie bei Bedarf Klassendiagramme. Nähere Informationen finden Sie im Onlinehilfethema
Klassendiagramme zu
Modellelementen hinzufügen.
-
Fügen Sie Subsysteme und Klassen hinzu. Nähere Informationen finden Sie im Onlinehilfethema
Klassendiagramme erstellen
und modifizieren.
-
Fügen Sie jedem Designelement eine Kurzbeschreibung hinzu. Nähere Informationen finden Sie im Onlinehilfethema
Modellelemente
dokumentieren.
-
Fügen Sie Rückverfolgbarkeit zu Analyseklassen hinzu (optional). Verwenden Sie die Rückverfolgbarkeitabhängigkeiten
Ihrer Designelemente auf die Analyseklassen, auf denen sie basieren. Nähere Informationen finden Sie im
Onlinehilfethema
Abstraktionsbeziehungen in der UML-Modellierung.
-
Fassen Sie die Designelemente in Subsystemen und Paketen zusammen. Nähere Informationen finden Sie im White Paper
Model Structure Guidelines for RSx.
Nähere Informationen zu Klassendiagrammen finden Sie im Onlinehilfethema Statische Struktur mit Klassendiagrammen modellieren.
Codierung und Reverse-Engineering (Rückentwicklung)
Anmerkung: Einige der in diesem Abschnitt genannten Tool-Funktionen werden in RSM nicht unterstützt.
Ein anderer Ansatz stellt den Code an erste Stelle. Der Code ist die treibende Kraft, da er entweder bereits vorhanden
ist (z. B. in einem Entwicklungszyklus, der kein Green-Field-Entwicklungszyklus ist) oder das Team muss ein bestimmtes
Projektrisiko in den Griff bekommen und hierfür einen Prototyp entwickeln, um ein komplexes Konzept zu validieren. Als
Teil der Unterstützung für Architekturerkennung und -wiederherstellung (siehe Architekturerkennung, Analyse und Steuerung) können mit der
Codevisualisierungsfunktion des Tools Themendiagramme, z. B. Paketstrukturen, Klasseninterna, Vererbungsbäume und
Kollaborationen, automatisch gefüllt werden. Das Ziel dieser Aufgabe besteht nicht nur darin, den vorhandenen Code zu
verstehen, sondern auch ein Modell der Anwendung zu extrahieren, das zusammen mit bestimmten anderen Modellen unter
Verwendung von Umsetzungen für die Generierung der neuen Anwendungsversion verwendet werden könnte.
Nachdem Sie ein UML-Diagramm generiert bzw. erstellt haben, stehen Ihnen folgende Optionen für die Verwendung der
Codedarstellungen als Teil Ihres Designmodells zur Verfügung:
-
Erzeugen Sie mittels Harvesting eine UML-Darstellung eines Codeelements in Ihrem Designmodell (als echtes
semantisches Modell). Dabei wird in Ihrem Designmodell ein neues UML-Element erstellt, das keinen Bezug mehr zu dem
Codelement hat, aus dem es mit Harvesting erzeugt wurde. Es hat jedoch Eigenschaften (zum Beispiel Attribute und
Operationen), die die Eigenschaften des Codeelements widerspiegeln, aus dem es mittels Harvesting erzeugt wurde. Da
es sich bei dem Element um ein echtes semantisches UML-Element handelt, kann daraus neuer Code generiert werden.
(Anders ausgedrückt hat es im Designmodell denselben Status wie die Designelemente, die zuvor durch den
Green-Field-Modellierungsprozess definiert wurden.)
-
Fügen Sie eine visuelle Referenz auf das Codeelement in ein Diagramm ein, das sich in Ihrem Designmodell befindet.
Diese Referenz selbst hat keine semantische Bedeutung innerhalb des Designmodells und es wird kein neuer Code
daraus generiert. Mit der Referenz wird lediglich auf das eigentliche Codeelement verwiesen. Sie können aber
Beziehungen zwischen der Codereferenz und den semantischen Designelementen in das Designmodell einzeichnen. Diese
Beziehungen haben im Designmodell semantischen Wert und beeinflussen die Codegenerierung.
Nähere Informationen finden Sie im Onlinehilfethema Statische Struktur mit Klassendiagrammen modellieren.
Die folgenden Schritte beziehen sich auf größere Subsysteme:
-
Identifizieren Sie für jedes Subsystem eine Reihe geeigneter Schnittstellen. Wenn Sie bereits Analyseklassen
erstellt und Anwendungsfälle auf Analyseebene realisiert haben, können Sie jetzt entscheiden, wie diese Operationen
gruppiert und als Schnittstellen bestimmter Komponenten oder Services zugänglich gemacht werden müssen. Fügen Sie
einem vorhandenen Komponentendiagramm Schnittstellen hinzu oder erstellen Sie bei Bedarf neue Komponentendiagramme.
Nähere Informationen finden Sie im Onlinehilfethema
Schnittstellen zu Modelldiagrammen hinzufügen.
-
Fügen Sie Schnittstellenabhängigkeiten hinzu.
-
Ordnen Sie den Schnittstellen Subsysteme hinzu, indem Sie eine Realisierungsbeziehung vom Subsystem zur
Schnittstelle einrichten.
-
Dokumentieren Sie die Schnittstelle, einschließlich des erforderlichen Verhaltens. Nähere Informationen finden Sie
im Onlinehilfethema
Modellelemente dokumentieren.
-
Fügen Sie Operationen zur Schnittstelle hinzu. Nähere Informationen finden Sie im Onlinehilfethema
Operationen zu
Klassifikationsmerkmalen in Diagrammen hinzufügen.
-
Fügen Sie jeder Operation eine Beschreibung hinzu. Nähere Informationen finden Sie im Onlinehilfethema
Modellelemente
dokumentieren.
-
Fügen Sie jeder Operation Parameter hinzu. Nähere Informationen finden Sie im Onlinehilfethema
Operationen zu
Klassifikationsmerkmalen in Diagrammen hinzufügen.
-
Fassen Sie die Schnittstellen in Paketen zusammen.
In UML 2.0 sind Subsysteme große Komponenten, die in strukturierten Klassen mit Ports und/oder Schnittstellen
dargestellt werden können. Informationen hierzu finden Sie in der Onlinehilfe in den Themen zu UML 2.0.
Die Modellierung von Kapseln und Protokollen wird nicht unterstützt.
Lernprogramme:
-
Muster
anwenden
Beispiele:
-
Muster -
Einfaches UML-Modell
|