平成25年度 秋期 午前 問46
ソフトウェア開発管理技術
汎化の関係を示したもの
UML のクラス図のうち,汎化の関係を示したものはどれか。
〔4つの肢はいずれも UML のクラス図です〕図の形を字に書き起こしたもの。どの肢も長方形(クラス)を線で結んだ図で、違うのは結び方(線の種類と端の印)です。
- ア「自動車」と「車検証」を実線で結び,両端に多重度 1 と 1 を書いたもの(線の端に印は無い)
- イ「自動車」の下に「スポーツカー」を置き,スポーツカーから自動車へ 白抜きの三角の矢印を実線で向けたもの
- ウ「自動車」から「タイヤ」と「エンジン」へ実線を引き,自動車の側の端に 黒く塗った菱形を付け,多重度を 1 と * としたもの
- エ「自動車」の下に「ドライバ」を置き,ドライバから自動車へ 破線で開いた矢印を向けたもの
答えと解説を見る
✓ これが正解イ「自動車」の下に「スポーツカー」を置き,スポーツカーから自動車へ 白抜きの三角の矢印を実線で向けたもの
解説
白抜きの三角の矢印が汎化の関係を表します。
UML のクラス図のうち、汎化の関係を示した図を選ぶ問いです。クラス図では、箱をどう並べたかよりも、箱と箱を結ぶ線の端に何が付いているかで関係の種類が決まります。ですから四つを見比べるときは、配置ではなく端の印だけを取り出して当てます。汎化に割り当てられている印は、実線の先に付く白抜きの三角です。矢印はより特殊なほうからより一般的なほうへ向き、スポーツカーから自動車へ三角の矢印が向いている図は、スポーツカーが自動車の一種であるという読み方になります。これが汎化に当たります。判定の軸は、線の端に付いている印が白抜きの三角であるかどうかです。上下の並びが似ていても、印が違えば表している関係は別のものになります。
ほかの選択肢はなぜ違うのか
- ア「自動車」と「車検証」を実線で結び,両端…:自動車と車検証を実線で結び、両端に多重度の 1 と 1 を添えただけの図です。線の端に印が無いので、互いに結び付きがあると示すにとどまり、一方が他方の一種であるとは読めません。
- ウ「自動車」から「タイヤ」と「エンジン」へ…:自動車の側の端に黒く塗った菱形を付け、タイヤとエンジンへ実線を引いた図です。全体とそれを構成する部分の結び付きを表す印であって、種類としての上下を表す印ではありません。
- エ「自動車」の下に「ドライバ」を置き,ドラ…:ドライバから自動車へ破線で開いた矢印を向けた図です。一方が他方を使っているという結び付きを表す印であり、一方が他方の一種であることを示すものではありません。
出典:平成25年度 秋期 基本情報技術者試験 午前 問46(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)