シーケンス図(Sequence Diagram)は、UML(Unified Modeling Language)の一部で、システム内のオブジェクトやクラス間のやり取りを時系列に沿って示す図です。
シーケンス図を使うことで、システムの動作やプロセスの流れを視覚的に理解しやすくなります。
シーケンス図って何?
シーケンス図は、お話の流れを絵で表したものだと思ってください。登場人物が誰で、誰が誰にどんなことをするかを、順番に描いた図です。
どうやって描くの?
-
登場人物を決める:
- お話に出てくる人やキャラクターを決めます。これを「アクター」や「オブジェクト」と呼びます。
-
登場人物を並べる:
- 画面の上の方に、登場人物を横に並べて描きます。
-
登場人物の行動の流れを描く:
- 登場人物がどんな順番で何をするかを、矢印でつなげます。
実際に描いてみよう
例として、ログインするお話を描いてみましょう。
-
登場人物:
- ユーザー(お話を進める人)
- ログインページ(ユーザーが見る画面)
- 認証サービス(ユーザーが正しい人かどうかチェックする人)
-
登場人物を並べる:
- ユーザー、ログインページ、認証サービスの順に並べます。
-
行動の流れを描く:
- ユーザーがログインページを開く。
- ログインページがユーザーにログインフォームを見せる。
- ユーザーがユーザー名とパスワードを入力してログインボタンを押す。
- ログインページが認証サービスに「この人正しい?」と聞く。
- 認証サービスが「この人は正しいよ!」と返す。
- ログインページがユーザーに「ログイン成功!」と教える。
シーケンス図の例
+--------+ +----------+ +--------------+
| ユーザー | | ログインページ | | 認証サービス |
+--------+ +----------+ +--------------+
| | |
|---ログインページを開く--->| |
| |---ログインフォームを見せる--->|
|<---ログインフォームを見る-| |
| | |
|---ユーザー名とパスワードを入力してログインボタンを押す--->|
| | |
| |---認証サービスに確認する--->|
| | |
| |<---認証結果を返す--------|
|<---ログイン成功を見る---|
| | |
ユーザーがログインページにアクセスし、ユーザー名とパスワードを入力してログインボタンをクリックします。
システムは認証を行い、結果をユーザーに返します。
説明
- ユーザーがログインページを開く。
- ログインページがログインフォームをユーザーに見せる。
- ユーザーがユーザー名とパスワードを入力してログインボタンを押す。
- ログインページが認証サービスにユーザー名とパスワードを送って「この人が正しいか教えて!」と言う。
- 認証サービスがログインページに「この人は正しいよ!」と教える。
- ログインページがユーザーに「ログイン成功!」と教える。
シーケンス図の基本要素
-
アクター(Actor):
- システムとやり取りする外部エンティティ(ユーザー、他のシステムなど)。
- スティックフィギュアで表される。
-
オブジェクト/クラス:
- システム内でメッセージをやり取りする要素。
- 長方形のボックスで表される。
-
ライフライン(Lifeline):
- オブジェクトの存在期間を示す垂直の点線。
- オブジェクトの下に続く線で表される。
-
メッセージ:
- オブジェクト間で送受信される操作や情報。
- 矢印で表される。同期メッセージは実線の矢印、非同期メッセージは破線の矢印で示される。
-
アクティベーションバー(Activation Bar):
- オブジェクトが操作を実行している期間を示す縦の長方形。
- ライフライン上に表示される。
-
メッセージ戻り:
- メソッドの呼び出しの戻り値を示す。
- 破線の矢印で表される。
シーケンス図の書き方
1. システムのシナリオを決定
- シナリオとは、システム内で特定の機能がどのように動作するかを示すものです。
2. アクターとオブジェクトを識別
- シナリオに関与するアクター(ユーザーや外部システム)とオブジェクト(システム内のクラスやインスタンス)をリストアップします。
3. オブジェクトのライフラインを描く
- 各オブジェクトのライフラインを垂直の点線で描きます。
4. メッセージを追加
- アクターとオブジェクト間、およびオブジェクト同士のメッセージの送受信を矢印で示します。
5. アクティベーションバーを追加
- 各オブジェクトがアクティブになっている期間を示すために、アクティベーションバーをライフライン上に描きます。
まとめ
シーケンス図は、お話の流れを順番に絵で表したものです。登場人物が誰で、誰が誰にどんなことをするかを、矢印を使ってわかりやすく描きます。
これを使うと、システムがどんなふうに動くかをみんなで共有できます。
質問があれば、どんなことでも聞いてくださいね!
スポンサーリンク