
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
図書館の図書の貸出を記録するユースケースに基づくシーケンス図(貸出インタフェース、会員、貸出、蔵書の各オブジェクト間のメッセージ)から想定されるクラス図に関する記述のうち最も適切なものを選ぶ問題。
シーケンス図のメッセージの流れから、クラス間の関連を読み取る問題。
① シーケンス図の読み方: メッセージを送る側のクラスは、受け取る側のクラスとの関連を持つ。やり取りがなければ直接の関連は要らない
② 蔵書にメッセージを送るのは貸出だけで、会員→蔵書の矢印はない。①はokを返している、⑤会員はfind・borrow・okToBorrowを持つ
③ ④
シーケンス図では、貸出インタフェースが会員にfindとborrowを送り、会員が自分自身にokToBorrowを送り、会員が貸出にborrow(会員, 蔵書No)を送り、貸出が蔵書にfindを送る。メッセージを送るオブジェクトのクラスは、受け取るオブジェクトのクラスへ関連(誘導可能)をもつ。ここで、蔵書へメッセージを送るのは貸出だけで、会員から蔵書への直接のメッセージはない。したがって、会員クラスと蔵書クラスの間に直接の関連はないと考えられ、④が最も適切である。
シーケンス図でオブジェクトAがBにメッセージを送るとき、AのクラスからBのクラスへの関連(誘導可能性)と、Bのクラスのメソッドが必要になる。直接メッセージのないクラス間には関連は不要。
キーワード: シーケンス図、クラス図、メッセージ、関連、誘導可能性、UML、情報工学部門