・情報処理試験では、「オブジェクト間のメッセージの送受信を時系列で表す(H17共通16)」と述べられています。
・シーケンス図 に関して過去問(H18NW午前 問13)では、「UMLで用いる図のうち、オブジェクト間で送受信するメッセージによる相互作用が表せるもの」と述べられています。
H20アプリケーションエンジニア試験 午後1問4にシーケンス図があるので、これをもとに解説します。
凡例の解説を引用しながら補足します。
シーケンス図は、アクタ、オブジェクト間の動作を時系列を加味して表します。
◆アクタ
ユースケース図で登場しますが、基本的には人です。ただ、人以外にもシステムなどの場合もあります。
■クラス名
・「:」があるのが気になると思いますが、本来は「オブジェクト名:クラス名」を書くべきですが、オブジェクト名が省略されています。※オブジェクト=インスタンスと考えれば、個別のインスタンスではなく、クラス全体を表した図なので、オブジェクト名が省略されます。
・凡例には「オブジェクトを表す」とあります。クラスではありません。多少違和感を感じる人もいるかもしれませんが、実際に動作するのはクラスではなくオブジェクトなので、オブジェクトです。
■縦の破線
・生存線で、オブジェクトが生存している期間を表します。
■長方形
・活性区間であり、オブジェクトが操作を実行している区間。長いものはその間、ずっと実行している。
■矢印
・メッセージを表し、()内は引数を表す。
・(あまり重要ではないが)メッセージには同期メッセージと非同期メッセージがある。上図のように矢印が黒く塗りつぶされているものは同期メッセージであり、メッセージが終わらないと次に進めません。よって、1番2番と順番に進むしかなく、いきなり5番のメッセージを実行することはない。
・点線の矢印は戻り値を表す。
・シーケンス図 に関して過去問(H18NW午前 問13)では、「UMLで用いる図のうち、オブジェクト間で送受信するメッセージによる相互作用が表せるもの」と述べられています。
H20アプリケーションエンジニア試験 午後1問4にシーケンス図があるので、これをもとに解説します。
凡例の解説を引用しながら補足します。
シーケンス図は、アクタ、オブジェクト間の動作を時系列を加味して表します。
◆アクタ
ユースケース図で登場しますが、基本的には人です。ただ、人以外にもシステムなどの場合もあります。
■クラス名
・「:」があるのが気になると思いますが、本来は「オブジェクト名:クラス名」を書くべきですが、オブジェクト名が省略されています。※オブジェクト=インスタンスと考えれば、個別のインスタンスではなく、クラス全体を表した図なので、オブジェクト名が省略されます。
・凡例には「オブジェクトを表す」とあります。クラスではありません。多少違和感を感じる人もいるかもしれませんが、実際に動作するのはクラスではなくオブジェクトなので、オブジェクトです。
■縦の破線
・生存線で、オブジェクトが生存している期間を表します。
■長方形
・活性区間であり、オブジェクトが操作を実行している区間。長いものはその間、ずっと実行している。
■矢印
・メッセージを表し、()内は引数を表す。
・(あまり重要ではないが)メッセージには同期メッセージと非同期メッセージがある。上図のように矢印が黒く塗りつぶされているものは同期メッセージであり、メッセージが終わらないと次に進めません。よって、1番2番と順番に進むしかなく、いきなり5番のメッセージを実行することはない。
・点線の矢印は戻り値を表す。
コメント