Code-Visualisierung - Überblick
Nach oben zu Einführende Modellierungskonzepte
Dieser Abschnitt erläutert die Beziehungen zwischen Quelltext und den Code-Visualisierungs-Diagrammen.
Inhaltsverzeichnis |
Code-Visualisierung und statische UML-Strukturdiagramme
Die Code-Visualisierung von RAD Studio kann Ihren Quelltext analysieren, die darin enthaltenen Deklarationen in die UML-Notation umsetzen und dann diese Umsetzung in einer grafischen Ansicht darstellen. Die Code-Visualisierung präsentiert eine grafische Ansicht (Diagramme) Ihres Quelltextes, und diese Code-Visualisierungs-Diagramme spiegeln den Quelltext direkt wider. Code-Visualisierungs-Diagramme entsprechen statischen UML-Strukturdiagrammen. Die strukturelle Ansicht eines Projekts konzentriert sich auf UML-Packages, Datentypen, wie Klassen und Interfaces, sowie deren Attribute, Eigenschaften und Operationen. Ein statisches Strukturdiagramm zeigt auch die Beziehungen, die zwischen diesen Entitäten bestehen.
Code-Visualisierungs-Diagramme werden in RAD Studio in der Diagrammansicht angezeigt.
Wenn Sie im Quelltext-Editor Änderungen an dem Quelltext vornehmen, wird das Code-Visualisierungs-Diagramm in der Diagrammansicht automatisch aktualisiert. Das Diagramm ist also "live", in dem Sinne, dass es immer den aktuellen Zustand des Quelltextes widerspiegelt.
Die UML-Modellierung von RAD Studio ermöglicht auch, Anwendungen auf der Diagrammoberfläche zu entwerfen. Sie können das Code-Visualisierungs-Diagramm direkt in der Diagrammansicht ändern, und diese Änderungen werden sofort in Ihren Quelltext im Quelltext-Editor übernommen.
Beziehungen zwischen Quelltext und Code-Visualisierung
Die in RAD Studio enthaltenen Tools zur Code-Visualisierung verwenden für die grafische Abbildung der im Quelltext deklarierten Elemente die UML-Notation und die UML-Konventionen. Code-Visualisierungs-Diagramme zeigen die logischen Beziehungen (in der UML-Terminologie als statische Struktur bezeichnet) der Klassen, Interfaces und anderer in einem Projekt definierten Typen. Dazu wandelt die IDE bestimmte Quelltext-Konstrukte (zum Beispiel Klassendeklarationen und Interface-Implementierungen) in ihre UML-Gegenstücke um, die dann in einem Diagramm in der Diagrammansicht angezeigt werden.
Top-Level-Organisation: Projekte und UML-Packages
Die UML-Modellierung von RAD Studio besteht aus den beiden IDE-Features Diagrammansicht und Modellansicht, die zusammenarbeiten.
Die Modellansicht zeigt die logische Struktur eines Projekts in hierarchisch gegliederter Form und hebt sich dadurch von der auf Dateien beschränkten Darstellungsform der Projektverwaltung ab. Jedes Projekt in einer Projektgruppe ist in der Modellansicht ein Top-Level-Knoten.
In den einzelnen Knoten der Projektstruktur sind die UML-Packages verschachtelt. Ein UML-Package lässt sich erweitern, um die darin deklarierten Typen einzublenden.
Vererbung und Interface-Implementierung
Mit Generalisierung wird in der UML-Terminologie die Beziehung bezeichnet, die entsteht, wenn eine Klasse von einer Oberklasse erbt. Ermittelt die Modellierung eine Vererbungsbeziehung im Quelltext, erstellt sie in der Modellansicht im Knoten der untergeordneten Klasse eine Generalisierungsbeziehung. Im Code-Visualisierungs-Diagramm wird die Generalisierungsbeziehung in der Standard-UML-Notation mit einer einfachen Linie plus einem ungefüllten Pfeil dargestellt, der auf die Oberklasse zeigt.
Mit Realisierung wird in der UML-Terminologie eine Interface-Implementierung bezeichnet. Ähnlich wie im Fall der Vererbung erstellt die Modellierung eine Realisierungsbeziehung, wenn sie eine Klassendeklaration ermittelt, die ein Interface implementiert. Die Realisierungsbeziehung wird in der Modellansicht in der Implementor-Klasse und im Diagramm mit einer gepunkteten Linie plus einem ungefüllten Pfeil dargestellt, der auf das Interface zeigt. Für jedes von der Klasse implementierte Interface ist eine derartige Realisierungsbeziehung vorhanden.
Assoziationen
In UML ist eine Assoziation eine Navigationsbeziehung, die erzeugt wird, wenn eine Klasse eine Referenz auf eine andere Klasse enthält (z.B. als Attribut oder Eigenschaft). Die Code-Visualisierung erstellt nur dann Assoziationsbeziehungen, wenn eine Klasse ein Attribut oder eine Eigenschaft enthält, die keine primitiven Datentypen sind. In einem Diagramm besteht die Assoziationsbeziehung zwischen der Klasse, die den nicht-primitiven Member enthält, und dem Datentyp dieses Members.
Klassen-Member: Attribute, Methoden, Eigenschaften und verschachtelte Typen
Die Code-Visualisierung kann auch Deklarationen von Klassen- und Interface-Membern ihren UML-Äquivalenten zuordnen. In der Diagrammansicht werden Member in vier verschiedene Kategorien unterteilt:
- Felder: Enthalten Felddeklarationen. Der Typ und die optionale Standardwertzuweisung werden im Diagramm angezeigt.
- Methoden: Enthalten Methodendeklarationen. Sichtbarkeit, Gültigkeitsbereich und Rückgabewert werden im Diagramm angezeigt.
- Eigenschaften: Enthalten Delphi-Eigenschaftsdeklarationen. Die Typen der Eigenschaften werden angezeigt.
- Klassen: Enthalten verschachtelte Klassentypdeklarationen.
Die UML-Deklarationen von Attributen, Methoden und Eigenschaften werden in der Standard-UML-Syntax angezeigt. Jede der vier Kategorien kann unabhängig von den anderen ein- und ausgeblendet werden.