12.07.2015 Aufrufe

Entwicklung und Anwendung eines Bezugsrahmens zur ...

Entwicklung und Anwendung eines Bezugsrahmens zur ...

Entwicklung und Anwendung eines Bezugsrahmens zur ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Abbildung 69: KomponentendiagrammVollständigkeitEin Komponentendiagramm kann zwar mit Komponenten, Paketen <strong>und</strong> Schnittstellen sowie denbeiden oben beschrieben Beziehungsarten erstellt werden, allerdings fehlt die Möglichkeit der Darstellungder eine Komponente realisierenden Klassen sowohl innerhalb <strong>eines</strong> Komponentensymbolsals auch an anderer Stelle des Diagramms. Auch kann eine Komponente keine anderen Komponentenenthalten. Ebenso enthalten Pakete analog zu deren Verwendung im Klassendiagramm keineanderen grafischen Element.Für Komponenten sind den Sprachumfang der UML ergänzend einige Stereotype vordefiniert, welchedie verschiedenen Ausprägungen einer Komponente in Programmiersprachen berücksichtigen.Diese sind Subprogram Specification, Subprogram Body, Main Program u.a. Weitere Stereotypeohne gesonderte grafische Darstellung stehen ebenfalls <strong>zur</strong> Verfügung.Semantik <strong>und</strong> Umsetzung der Elemente im QuellcodeSchnittstellen können nicht direkt in ein Komponentendiagramm eingetragen, sondern nur bereits imModell existierende eingefügt werden. Sie sind der Logischen oder <strong>Anwendung</strong>sfallsicht zugeordnet<strong>und</strong> können nur dort erzeugt werden. Wenn eine Schnittstelle einer Komponente in derenEigenschaftendialog zugeordnet wurde, wird sie automatisch im Komponentendiagramm angezeigt<strong>und</strong> mit der entsprechenden Komponente durch eine Realisierungsbeziehung verb<strong>und</strong>en. In einemKomponentendiagramm dargestellte Pakete, die Klassen enthalten, welche in der Logischen oder<strong>Anwendung</strong>sfallsicht durch eine Abhängigkeitsbeziehung mit der Schnittstelle verb<strong>und</strong>en sind, werdenauch an dieser Stelle mit einer Abhängigkeitsbeziehung mit der Schnittstelle verknüpft. Komponentenwerden dabei nicht berücksichtigt. Realisierungen können nur auf diese Art dargestellt werden, wogegenAbhängigkeiten auch explizit modelliert werden können.Pakete innerhalb der Komponentensicht werden bei der Abbildung auf die ProgrammiersprachenC++ bzw. Java prinzipiell unterschiedlich interpretiert. Pakete, die in der Komponentensicht definiertsind, werden in dem Fall auf die Konzepte der Programmiersprache umgesetzt, wenn sie eine odermehrere Komponenten enthalten, denen wiederum eine oder mehrere Klassen zum Zwecke derQuellcodeerzeugung zugeordnet sind. In diesem Falle wirkt sich dies auf C++-Quellcode dahingehendaus, daß im Zielverzeichnis, das als Ablageort für den Quellcode festgelegt wurde, namentlichden Paketen entsprechende Unterverzeichnisse erstellt <strong>und</strong> die C++-Dateien diesen physisch untergeordnetwerden. Analog zum Vorgehen bei C++ werden auch die Java-Quellcodedateien Unterverzeichnissenzugeordnet, die namentlich den Paketen entsprechen. Weiterführend verfügt Java imGegensatz zu C++ über ein logisches Paket-Konzept, so daß bei der Codeerzeugung eine Strukturierungdes Quellcodes gemäß der Paketdeklarationen dahingehend erfolgt, daß die einzelnen Dateienmit den korrespondierenden package- <strong>und</strong> import-Anweisungen versehen werden.Abhängigkeiten haben bei ihrer Verwendung im Modell keine Auswirkungen auf die Codeerzeugungim Rahmen des Forward Engineering. Allerdings wird beim Reverse Engineering von Java-Quellcodedas Schlüsselwort import, durch das der Namensraum <strong>eines</strong> anderen Java-Pakets zugänglich gemachtwird, in die entsprechende Abhängigkeit im Modell zwischen den Paketen umgesetzt. Um eine- 130 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!