こんにちは、プレイライフの熊崎です!
本日2本目の記事はシーケンス図をテーマにしようと思います。
なぜシーケンス図をテーマに取り上げたのか?
- 言葉だけよりも図を使って説明した方が双方の認識のズレが起こりにくく、結果開発の効率化につながると考えたため。
シーケンス図とは
シーケンス図とは、クラスやオブジェクト間のやりとりを時間軸に沿って表現する図です。機能ごとに相互作用(Interaction)と呼ばれる下記のようなフレーム内に処理内容を記述します。
引用元:https://www.itsenka.com/contents/development/uml/sequence.html
どんな時に使うのか?
- プログラムの処理や流れなどを設計する際に使用
- 設計書のない既存システムの分析に使用
書き方
以下のイベントの検索システムのフローを例に挙げる。
- お客さんがイベント検索画面に遷移する。
- 検索したいイベント名を入力して、検索ボタンを押す。
- 検索システムがイベントの一覧が格納されているデータベースに問い合わせる。
- データベースから、検索システムへ対象のイベントデータが渡される
- 検索システムがイベント検索画面に対象のイベントデータを渡し、それが表示される。
このフローを示すシーケンス図は以下のようになる。
シーケンス図の構成要素
引用元:https://www.itsenka.com/contents/development/uml/sequence.html
補足
実行仕様
生成されているライフラインが実行状態であることを意味します。
→ 生成されたオブジェクトで処理が起こっている状態
停止
生成されたライフライン自体の消滅を意味します。
→ 生成されたオブジェクトで処理が行われていない状態
非同期メッセージ
送り先のライフラインの実行に同期されないメッセージを意味します。メッセージ名には具体的な関数やINCLUDEディレクティブ等を記入します。
引用元:https://www.itsenka.com/contents/development/uml/sequence.html
→ 一つのタスクを実行中に、他のタスクを実行できること。
例:メール機能など(メールが送られてから画面を表示するのではなく、メールの送信を待つことなく画面の表示が行われるため)
参考記事
最後に
インプットしても、実際に使わないと覚えないため、日々の業務でどんどん使っていきたいと思います。
今回は構成要素など、基本的なところしか書いていないので、次回は複合フラグメントなどについてまとめます。