統一モデリング言語 (UML) と、他の OOA/D 方法論の中で (R)UP によって承認されているさまざまなモデリングの観点 (概念、仕様、および実装) との関係について、少し確信が持てません。
私が理解していることから、同じ表記法を使用した同じタイプの図は、使用されている視点*に応じて異なる意味を持つ可能性があります。たとえば、クラス図は、概念的な観点から実世界のシステム/現象の抽象化を表すことができ、後で観点が仕様/実装に変更されると、クラス図はコンピュータープログラムの構造を抽象化するために使用されます。
質問:
1) 一般に、UML クラス図には特定のルールが存在することを理解しています。たとえば、クラスは別のクラスを拡張できますが、関連付けを拡張することはできません。クラス図の実体と、それらがどのように関連付けられるかについての規則はどこで定義されていますか? すべては UML メタモデリング アーキテクチャの M2 層で行われますか (ウィキペディアのメタモデル アーキテクチャの図を参照) 。
2) 関連する質問。私の見方では、特定のダイアグラムの一般的なルールはモデリングの観点にまたがっていますが (クラスが関連付けを拡張するのはばかげています)、さまざまなモデリングの観点が特定のタイプのダイアグラムに特定の意味を重ね合わせます。たとえば、ドメイン モデルのクラス図 (概念の観点) での関連付けは本質的に双方向ですが、設計モデルのクラス図 (仕様/実装の観点) では双方向または単方向のいずれかになります。
先ほど説明したシナリオでは、スーパーインポーズされたルールが関連付けのプロパティを制限しています。パースペクティブによって重ね合わされたルールは、常に UML メタモデルによって定義されたルールのサブセット/制限であり、決してスーパーセットではないというのは正しい仮定ですか?
これらのルール/制限は、(メタモデルと同様の方法で) 形式化されたパースペクティブによって定義されていますか? それとも、OOA/D 文献で説明されている単なる規則ですか?
*
パースペクティブは、 10.8項で説明されています。