集約関係
|
用語 |
集約関係 |
|
用語(英) |
Aggregation |
|
別名 |
- |
識別情報
-
Term ID:
src/main/doxsite/glossary/object-foundation/aggregation.dox -
English label: Aggregation
-
Japanese label: 集約関係
-
Japanese short label: 集約
-
Scope qualifier: Object Foundation / shared whole-part relationship
-
Bare-label linking: explicit-only
-
Category: Object Foundation
-
Status: normative
-
Definition authority: SimpleModeling BoK, aligned with UML 2.5.1 and narrowed for explicit modeling
定義
集約関係(Aggregation)とは、全体と部分を表す関連関係のうち、部分の排他的な構造上の所有やライフサイクル従属を伴わず、部分を複数の全体から共有し得る全体部分関係です。SimpleModelingでは、何を全体および部分とみなすか、共有を許すか、追加のライフサイクル制約があるかを明示した場合にだけ使用します。
UML
UML 2.5.1では、集約関係はAssociation EndのAggregation Kindを shared とする全体部分関係です。UMLはshared aggregationに一般化された強い意味を定めていないため、SimpleModelingでは、集約という記号だけに意味を委ねず、全体部分の役割、共有、多重度、ライフサイクル制約をモデルに記述します。
一般的な用法
一般語の「集約」は、情報を集めること、集計、サービス集約などにも使われます。この用語が表す集約関係は、モデル上の全体部分関係です。データを一画面へ集めることや、複数APIの結果をまとめることだけでは集約関係になりません。
CML
CML(Cozy Modeling Language)で集約関係を記述する場合、全体端と部分端、役割、多重度、共有可能性、および必要な制約を明示します。意味が通常の関連関係と変わらない場合は集約関係を使いません。
simplemodeling-lib
simplemodeling-libのCollection、Group、Schemaなどは集約された構造の実現に利用できますが、利用したライブラリ型だけでは共有可能な全体部分という意味は成立しません。
公開成果物での用法
日本語の記事と動画では、初出を「集約関係(Aggregation)」とし、同じモデル関係を扱う文脈が続く場合だけ「集約」と短縮します。一般語の「集約」は用語として自動リンクしません。
境界
-
集約関係は通常の関連関係と同義ではなく、明示された全体部分の意味を持ちます。
-
集約関係は合成関係と異なり、一つの全体による排他的な構造上の所有を意味しません。
-
コレクション、集計、同時表示、API集約だけでは、集約関係になりません。