【しーけんすず】

シーケンス図 とは?

💡 「誰が誰にいつ何を頼んだか」を時間軸で描く
📌 このページのポイント
シーケンス図 ― メッセージ交換の流れ クライアント サーバー データベース リクエスト送信 データ取得クエリ 結果返却 レスポンス返却 同期メッセージ 戻り値
シーケンス図のイメージ
ひよこ ひよこ

シーケンス図の基本要素は?

ペンギン先生 ペンギン先生

①ライフライン(上に四角い箱=オブジェクト名、下に伸びる縦の点線=時間軸)、②メッセージ(ライフライン間の矢印=メソッド呼び出しやAPIリクエスト)、③実行指定(ライフライン上の細い四角=処理中であることを示す)、④戻り値(点線の矢印=レスポンス)。これだけでほとんどの処理フローを表現できるよ

ひよこ ひよこ

どんな場面で使う?

ペンギン先生 ペンギン先生

APIの設計(クライアント→APIゲートウェイバックエンド→DBの流れ)、認証フロー(ユーザー→フロント→認証サーバ→トークン返却)、マイクロサービス間の通信など、「複数のコンポーネントが連携する場面」を説明するのに最適だよ。PRのレビューで添えると説明が格段に楽になるね

ひよこ ひよこ

PlantUMLで描くのが楽?

ペンギン先生 ペンギン先生

めちゃくちゃ楽だよ。テキストで「Browser -> Server: GET /api/users」と書くだけで図が生成される。GitHubMarkdownならMermaidも使える。ドローイングツールで矢印を引くより10倍速いし、差分管理もできるから、今はテキストベースが主流だね

ひよこ ひよこ

IPA試験での出題パターンは?

ペンギン先生 ペンギン先生

基本情報・応用情報の両方で出るよ。「シーケンス図の穴埋め」「シーケンス図から処理の順序を読み取る」「メッセージの方向を答える」が定番。同期メッセージ(塗りつぶし矢印)と非同期メッセージ(開いた矢印)の違いも押さえておこうね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「シーケンス図」って出てきたら「オブジェクト間の処理の流れを時系列で描く図」と思えればだいたいOK!
📖 おまけ:英語の意味
「Sequence Diagram」 = シーケンス図
💬 Sequence(順序)の名前の通り、メッセージの送受信を時間順に並べて描くUMLの図だよ
← 用語集にもどる