次のオブジェクト図が適合するクラス図として、最も適切なものはどれか。
┌─────┐ ┌───────┐
│ ├───┤ │
│ a:Circle │ │b:Relationship│
│ ├───┤ │
└──┬──┘ └───────┘
┌───┴───┐ ┌────┐ ┌───────┐
│ │ │ │ │ │
│c:Relationship├───┤d:Figure├───┤e:Relationship│
│ │ │ │ │ │
└───────┘ └────┘ └───┬───┘
┌──────┐ ┌───────┐ ┌──┴──┐
│ │ │ │ │ │
│i:Rectangle ├──┤j:Relationship├──┤ k:Figure │
│ │ │ │ │ │
└──────┘ └───┬───┘ └─────┘
┌───────┐ ┌──┴──┐
│ │ │ │
│m:Relationship├───┤ l:Circle │
│ │ │ │
└───────┘ └─────┘
A
Figure (図) と、Circle (円) や Rectangle (長方形) の関係は、特化-汎化の関係である。
@ 白抜きの三角形は汎化を意味する。Figureと、CircleやRectangleの関係は特化-汎化の関係であるが、a: Circle と b: Relationship の関係が多対多であるのに、Figuer 3 − 3 Relationship と限定されているため誤りである。
A 正しい。汎化-特化の関係は「子クラス is a 親クラス」 の関係であり、例えば、トラック is a 車、乗用車 is a 車 のような関係にある。
B 白抜きのひし形は集約を意味する。集約は、全体と部分の関係を示し、UMLクラス図では全体側の方に白のひし形で表す。
集約と分解の関係は、「子クラス is part of 親クラス」 の関係であり、例えば、アクセル is part of 自動車、ブレーキ is patr of 車 のような関係にある。
Figureと、CircleやRectangleの関係は集約-分解の関係ではない。
C Figureと、CircleやRectangleの関係は集約-分解の関係ではない。
D 塗りつぶしたひし形はコンポジションを意味する。コンポジションは集約の一種で、なくてはならない集約である。例えば自動車とタイヤのような関係である。
V−21 | 目次 | V−23 |