2016-08-15 5 views
0

Ich kartiere ein Stück Software mit einem Klassendiagramm, das ich jetzt in Pakete in einem Paketdiagramm trennen möchte.Klassendiagramm in Pakete in UML zerlegen

Mein Problem ist das: Wie repräsentieren Sie Verbindungen zwischen Klassen aus zwei verschiedenen Paketen?

Zum Beispiel habe ich eine Klasse in meinem "Database" -Paket, das eine Verbindung zu einer anderen Klasse in meinem "View" -Paket herstellt. Wenn ich sie jedoch in zwei separate Klassendiagramme zerlege (eines für jedes Paket), wird diese Verbindung nicht dargestellt. Ist das okay?

+0

Siehe Beispiele aus [uml-diagrams.org] (http://www.uml-diagrams.org/package-diagrams-overview.html) – xmojmr

Antwort

0

Pakete sind nur eine Möglichkeit, UML-Elemente zu gruppieren, und sie implizieren in erster Linie keine Beziehungen zwischen den Elementen. Um Beziehungen zwischen Elementen darzustellen, verbinden Sie diese einfach miteinander, unabhängig davon, wo sie in Paketen platziert sind. Natürlich sollte es innerhalb eines Pakets mehr Relationen von Elementen geben als zu denen außerhalb. Elemente in einem Paket weisen darauf hin, dass sie eine stärkere Beziehung zueinander haben als zu Elementen außerhalb.

Sie können eine Pakethierarchie oben auf der Paketebene anzeigen.

Wenn Sie Diagramme innerhalb des Pakets erstellen, können Sie verschiedene Arten erstellen: rein Paket internal, so mit Beziehungen außerhalb oder eine Mischung. Dies hängt davon ab, was immer am besten passt.

0

Eine gute Verwendung von Paketen ist in einem Domain-Diagramm, das Abhängigkeiten zwischen verschiedenen Problembereichen zeigt. Jeder Problembereich wird durch ein Paket repräsentiert. Die Pakete sind durch Abhängigkeitslinien verbunden. Dies bedeutet, dass jedes Paket den Paketen, die über die Abhängigkeiten miteinander verbunden sind, eine Schnittstelle zur Verfügung stellt.

Es klingt für mich wie Sie ein bisschen Domain-Verschmutzung haben. Vielleicht sollte die Datenbank die Ansicht nicht kennen. Vielleicht sollte es einen Controller geben, der die Datenbank liest und die Ansicht aktualisiert. Die Klasse, die auf die Funktionalität innerhalb des Pakets zugreift, würde auf eine Paketschnittstelle zugreifen.

Der Vorteil dieser Technik für das Systemdesign besteht darin, dass diese Kapselung und Entkopplung das Wechseln der Einbauten in einer Klasse erleichtert, ohne dass die Änderung durch das System rollt.

0

Es ist absolut in Ordnung, Elemente aus verschiedenen Paketen in einem Diagramm darzustellen. In diesem Fall sollten Sie daran denken, dass das Paket einen Namespace erstellt und daher Elemente mit einem qualifizierten Namen angezeigt werden sollten. Hinweis: Wenn Sie ein Klassendiagramm für Elemente aus Paket A erstellen, müssen Sie nur für Elemente aus anderen Paketen (z. B. Paket B) qualifizierte Namen verwenden.

Verwandte Themen