シーケンス図とは?
シーケンス図は、オブジェクトやシステム間が時間軸でどのように通信するかを示すUMLインタラクションダイアグラムです。異なるアクター間のメッセージ交換の時系列を表示し、APIフロー、システムインタラクション、マルチステッププロセスの文書化に非常に役立ちます。各参加者は垂直のライフラインで表され、水平の矢印がメッセージ交換を示します。
編集とプレビュー
Mermaid構文でシーケンス図を作成し、変更を即座に確認。
一般的なユースケース
APIドキュメント
APIエンドポイントとそのインタラクションフローを文書化。クライアントとサーバー間のリクエスト-レスポンスサイクル、認証フロー、エラーハンドリング、データ交換を視覚化。
マイクロサービスアーキテクチャ
マイクロサービス、メッセージキュー、データベース間の通信パターンをマッピング。分散システムの動作を理解し、統合問題のデバッグに不可欠。
認証と認可
OAuth、SAML、JWTトークンフローなどの多段階認証プロセスをモデル化。リダイレクト、トークン交換、検証ステップのシーケンスを表示。
システム統合
複雑な統合シナリオで異なるシステムがどのように相互作用するかを視覚化。Webhookコールバック、イベント駆動アーキテクチャ、サードパーティサービス統合を文書化。
主な機能
参加者管理
エイリアスとアクティベーションボックスで複数のアクター、システム、サービスを定義し、コンポーネントがアクティブに処理している状態を表示。
メッセージタイプ
同期呼び出し、非同期メッセージ、戻り値、自己呼び出しを、明確さのために異なる矢印スタイルでサポート。
制御構造
直感的な構文でループ、条件分岐(alt/else)、オプションブロック、並列処理をモデル化。
ノートと注釈
シーケンス内の任意のポイントに説明ノートを追加し、コンテキスト、ビジネスロジック、エッジケースを文書化。
ベストプラクティス
1つのシナリオに集中
各シーケンス図は単一のユースケースまたはインタラクションフローを表すべき。すべてを組み合わせるのではなく、異なるシナリオには別々のダイアグラムを作成。
意味のある名前を使用
参加者に明確で説明的な名前を付ける。「システムA」や「コンポーネント1」のような汎用ラベルではなく、実際のサービス名やロールタイトルを使用。
エラーパスを表示
ハッピーパスだけを文書化しない。エラー条件、タイムアウト、例外処理の代替フローも含める。
時間は上から下へ
時間が上から下に流れる規約に従う。早い相互作用は後の相互作用より上に表示。
他のダイアグラムタイプを探す
フローチャート
ノードと方向矢印でプロセス、ワークフロー、アルゴリズムを視覚化。ビジネスプロセスやデシジョンツリーに最適です。
クラス図
クラス、属性、関係でオブジェクト指向システムをモデル化。ソフトウェアアーキテクチャ設計に不可欠です。
ステート図
システムやアプリケーションの状態遷移を表現。ライフサイクル状態やワークフローのモデリングに最適です。
ガントチャート
タスクと依存関係でプロジェクトのタイムラインを計画・追跡。プロジェクト管理やスケジューリングに最適です。
ER図
エンティティと関係でデータベーススキーマを設計。データベースモデリングやドキュメント作成に最適です。
ユーザージャーニー
タッチポイント全体のユーザー体験とインタラクションをマッピング。UXデザインやカスタマージャーニーマッピングに最適です。
Gitグラフ
Gitのブランチ戦略やコミット履歴を視覚化。バージョン管理ワークフローの説明に役立ちます。