2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

シーケンス図について【基本編】

Posted at

こんにちは、プレイライフの熊崎です!
本日2本目の記事はシーケンス図をテーマにしようと思います。

なぜシーケンス図をテーマに取り上げたのか?

  • 言葉だけよりも図を使って説明した方が双方の認識のズレが起こりにくく、結果開発の効率化につながると考えたため。

シーケンス図とは

シーケンス図とは、クラスやオブジェクト間のやりとりを時間軸に沿って表現する図です。機能ごとに相互作用(Interaction)と呼ばれる下記のようなフレーム内に処理内容を記述します。

引用元:https://www.itsenka.com/contents/development/uml/sequence.html

どんな時に使うのか?

  • プログラムの処理や流れなどを設計する際に使用
  • 設計書のない既存システムの分析に使用

書き方

以下のイベントの検索システムのフローを例に挙げる。

  1. お客さんがイベント検索画面に遷移する。
  2. 検索したいイベント名を入力して、検索ボタンを押す。
  3. 検索システムがイベントの一覧が格納されているデータベースに問い合わせる。
  4. データベースから、検索システムへ対象のイベントデータが渡される
  5. 検索システムがイベント検索画面に対象のイベントデータを渡し、それが表示される。

このフローを示すシーケンス図は以下のようになる。

image.png

シーケンス図の構成要素

image.png
引用元:https://www.itsenka.com/contents/development/uml/sequence.html

補足

実行仕様

生成されているライフラインが実行状態であることを意味します。

→ 生成されたオブジェクトで処理が起こっている状態

停止

生成されたライフライン自体の消滅を意味します。

→ 生成されたオブジェクトで処理が行われていない状態

非同期メッセージ

送り先のライフラインの実行に同期されないメッセージを意味します。メッセージ名には具体的な関数やINCLUDEディレクティブ等を記入します。
引用元:https://www.itsenka.com/contents/development/uml/sequence.html

→ 一つのタスクを実行中に、他のタスクを実行できること。
例:メール機能など(メールが送られてから画面を表示するのではなく、メールの送信を待つことなく画面の表示が行われるため)

参考記事

最後に

インプットしても、実際に使わないと覚えないため、日々の業務でどんどん使っていきたいと思います。
今回は構成要素など、基本的なところしか書いていないので、次回は複合フラグメントなどについてまとめます。

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?