Das UML-Modell (Unified Modeling Language) stellt eine formatunabhängige Beschreibung Ihrer Daten dar. Ihr Hauptvorteil besteht darin, dass sie die Datenelemente und ihre Beziehung zueinander definiert und beschreibt. Bei diesem modellbasierten Ansatz ist es wahrscheinlicher, dass die Daten gut strukturiert und änderungstoleranter sind.
UML-Klassenbeziehungen
Die Hauptklassen im UML-Modell werden im XML-Schema als Hauptelemente dargestellt. Die verschiedenen Arten von Beziehungen zwischen den UML-Klassen bestimmen, wie Ihre XML-Elemente im Schema strukturiert sind.
Es gibt drei Klassenbeziehungen:
- Komposition
- Das ist der Fall, wenn eine Klasse aus einem oder mehreren Unterelementen besteht. Wenn Sie beispielsweise einen Wahlbericht erstellen, besteht dieser aus Wahlen. In Ihrem XML-Schema wird das Element
Election
als Unterelement des ElementsElectionReport
generiert. - Einen „Typ von“ oder „Instanz von“
- Das ist der Fall, wenn eine abstrakte Klasse eine konkrete Klasse implementiert. Wenn Sie beispielsweise einen Wettbewerb erstellen, wird dieser von seiner konkreten Klasse implementiert. Ein Teilnehmerwettbewerb ist also eine Art von Wettbewerb. In Ihrem XML-Schema wird
Contest
als abstraktes XML-Element generiert und dient als Erweiterungsbasis für das ElementCandidateContest
. - Geleitete Verknüpfung
- Dies ist der Fall, wenn ein Element ein anderes Element mit einer mit dem zweiten Element verknüpften Kennung enthält. Dies ist beispielsweise der Fall, wenn Sie
einen Kandidaten mit einer Partei verknüpfen oder verknüpfen. In Ihrem XML-Schema enthält das Element
Candidate
einPartyId
-Element, das eine Kennung enthält, die mit einemParty
-Element verknüpft ist.
Das folgende Diagramm veranschaulicht die drei Arten von Beziehungen:
Beispiele für UML-Modelle
Das folgende Diagramm zeigt eine Contest
-Entität und zwei Typen von Contest
: CandidateContest
und PartyContest
.
Das folgende Diagramm zeigt eine allgemeine Ansicht des Klassendiagramms für ein CandidateContest
:
Das folgende Diagramm zeigt eine allgemeine Ansicht des Klassendiagramms für ein PartyContest
: