Commit 21e2a847 authored by Blanke, Daniela's avatar Blanke, Daniela
Browse files

Update architecture-components.html

parent c72c3408
Pipeline #8039 passed with stage
in 1 minute and 11 seconds
......@@ -61,7 +61,7 @@
<img src="media/architecture_uml_component_model.png" style="width:720px">
<label>Notation des UML-Komponentendiagramms</label>
<p>Eine Komponente kann in der UML durch andere Teilkomponenten oder durch Klassen realisiert werden. Beides sind im Sinne der UML sogenannte <i>Classifier</i>. In der obigen Abbildung wird die Komponente <code>Provider</code> durch die Teilkomponenten <code>PartA</code> und <code>PartB</code> realisiert, wobei <code>PartA</code> wiederum durch die Klassen <code>ClassA1</code> und <code>ClassA2</code> realisiert wird. Weitere Realisierungen sind nicht angegeben. Die Komponente <code>Provider</code> wird manifestiert durch das ausführbare Artefakt <code>provider.jar</code>. Das Komponentendiagramm enthält keine Information darüber, in welcher Laufzeitumgebung und auf welchem Host dieses Artefakt bereitgestellt wird. Diese Information würde in der Sicht eines zum Gesamtmodell zugehörigen Verteilungsdiagramms dargestellt werden. Die Komponente <code>Provider</code> bietet nach außen die Schnittstelle <code>ProvidedInterface</code> an, die von der Komponente <code>Client</code> genutzt wird. Intern wird diese Schnittstelle in der Teilkomponente <code>PartA</code> realisiert. Eine anschauliche Notationsbeschreibung des UML-Komponentendiagramms findet sich in der <a href="https://docs.microsoft.com/visualstudio/modeling/uml-component-diagrams-reference?view=vs-2015#reading-component-diagrams">Dokumentation zu Microsoft Visual Studio</a> sowie in den UML-Lehrbüchern, die im Kapitel <a href="#unit-0-2" class="navigate">Objektorientierung und UML</a> referenziert werden.
<p>Eine Komponente kann in der UML durch andere Teilkomponenten oder durch Klassen realisiert werden. Beides sind im Sinne der UML sogenannte <i>Classifier</i>. In der obigen Abbildung wird die Komponente <code>Provider</code> durch die Teilkomponenten <code>PartA</code> und <code>PartB</code> realisiert, wobei <code>PartA</code> wiederum durch die Klassen <code>ClassA1</code> und <code>ClassA2</code> realisiert wird. Weitere Realisierungen sind nicht angegeben. Die Komponente <code>Provider</code> wird manifestiert durch das ausführbare Artefakt <code>provider.jar</code>. Das Komponentendiagramm enthält keine Information darüber, in welcher Laufzeitumgebung und auf welchem Host dieses Artefakt bereitgestellt wird. Diese Information würde in der Sicht eines zum Gesamtmodell zugehörigen Verteilungsdiagramms dargestellt werden. Die Komponente <code>Provider</code> bietet nach außen die Schnittstelle <code>ProvidedInterface</code> an, die von der Komponente <code>Client</code> genutzt wird. Intern wird diese Schnittstelle in der Teilkomponente <code>PartA</code> realisiert. Eine anschauliche Notationsbeschreibung des UML-Komponentendiagramms findet sich in der <a href="https://docs.microsoft.com/visualstudio/modeling/uml-component-diagrams-reference?view=vs-2015#reading-component-diagrams">Dokumentation zu Microsoft Visual Studio</a> sowie in den UML-Lehrbüchern, die im Kapitel <a href="#unit-0-2" class="navigate">Objektorientierung und UML</a> referenziert werden. </p>
<h4>Java Platform Module System (JPMS)</h4>
......@@ -138,7 +138,7 @@ public class SimpleRegressionModel {
</div>
<code></code>
</p>
<p>Die gezeigten Code-Beispiele zu JPMS finden sich im Verzeichnis <a href="/architecture/jpms" class="repo-link">/architecture/jpms</a> des Modul-Repository. Das folgende UML-Komponentendiagramm veranschaulicht die Abhängigkeiten der Module aus dem obigen Code-Beispiel. Es wird deutlich, wie das JPMS dazu beiträgt, Abhängigkeiten zwischen Komponenten explizit zu gestalten und ggf. einzuschränken.</p>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment