統合モデリング言語(UML)モデルは、データの形式に依存しない記述を表します。データ要素とそれらの関連性が定義され、説明されることが主なメリットです。このモデルベースのアプローチでは、データが適切に構造化され、変更が許容される可能性があります。
UML クラスの関係
UML モデルのメジャークラスは、XML スキーマの主要要素として表されます。UML クラス間のさまざまな関係によって、スキーマ内での XML 要素の構造が決まります。
クラスの関係は次の 3 つです。
- ガイド付き楽曲
- これは、クラスが 1 つ以上のサブ要素で構成されている場合です。たとえば、選挙レポートを作成する場合、選挙レポートは選挙で構成されます。XML スキーマでは、
Election
要素はElectionReport
要素のサブ要素として生成されます。 - 「タイプ」または「インスタンス」
- これは、抽象クラスが具象クラスを実装する場合です。たとえばコンテストを作成する場合、コンクリートクラスによって実装されます。つまり、受験者コンテストは一種のコンテストです。XML スキーマでは、
Contest
は抽象 XML 要素として生成され、CandidateContest
要素の拡張ベースとして機能します。 - 有向関連付け
- これは、2 つ目の要素に関連付けられた識別子を含む別の要素が要素に含まれる場合です。たとえば、候補者をパーティーに関連付けるかリンクする場合などです。XML スキーマでは、
Candidate
要素にPartyId
要素が含まれ、この要素にはParty
要素に関連付けられた識別子が含まれます。
次の図は、3 種類の関係を示しています。
UML モデルの例
次の図は、Contest
エンティティと 2 種類の Contest
(CandidateContest
と PartyContest
)を示しています。
次の図は、CandidateContest
のクラス図の概要を示しています。
次の図は、PartyContest
のクラス図の概要を示しています。