Mermaid記法で、Markdown形式のテキストで簡単にシーケンス図を描けます。
本記事では、Mermaid記法でシーケンス図を書く方法について詳しく解説します。Mermaidで基本的なシーケンス図の書き方、色やループ、改行、コメントを含む詳細な記述方法、そしてAIツールを利用したより簡単なシーケンス図の作成方法などについても触れます。
Mermaidを勉強する必要がない、シーケンス図作成に役立つEdrawMindを無料ダウンロード
Mermaid記法を使ってシーケンス図を作成するには、まずシーケンス図の基本構成を理解したうえで、「sequenceDiagram」ブロック内に参加者とメッセージの流れを記述します。この記事では、大きく4つの流れで、構成要素の理解から基本記法、記述例、さらにドラッグ&ドロップで作成する方法までを整理しています。
- Step1:シーケンス図の構成要素(アクター、ライフライン、メッセージ、ガード条件)を理解する
- Step2:Mermaidで使う基本記法を確認する
- Step3:実際の記述例を参考に、シーケンス図を書いてみる
- Step4:より簡単に作成したい場合は、ドラッグ&ドロップ対応ツールを活用する
1.シーケンス図の構成
シーケンス図は、システム内のオブジェクト間でのメッセージのやり取りを視覚的に表現するための図です。この図を用いることで、システムの動作やフローを理解しやすくなります。特にソフトウェア開発やシステム設計において重要な役割を果たします。シーケンス図の構成要素には、以下の要素が含まれます。

| 項目 | 内容 |
|---|---|
| アクター | システムの外部からアクセスするユーザーや他のシステムを表す要素です。たとえば、アプリケーションを利用するユーザーが該当します。(図中赤枠) |
| ライフライン | アクターやオブジェクトの存在期間を表す要素です。上から下へ流れる時間軸に沿って、やり取りの流れを整理できます。(図中青枠) |
| メッセージ | アクターやオブジェクト間でやり取りされるアクションや要求を示します。図では矢印で表され、同期メッセージや非同期メッセージなどがあります。(図中緑枠) |
| ガード条件 | メッセージが送信される条件を表す要素です。特定の条件下でのみアクションが実行されることを視覚的に示せます。 |
2.シーケンス図作成に必要なMermaid記述方法
シーケンス図の構成をMermaidでどのように記述しますか?
Mermaid記法でシーケンス図を書く方法は非常にシンプルですが、基本的な構成を理解しておくことが重要です。Mermaidでは、「sequenceDiagram」ブロックを使用してシーケンス図を作成します。このブロック内で、エンティティ(例えば、ユーザーやシステム)の間のメッセージのやり取りを表現します。
具体的には、各エンティティはエンティティ名で宣言し、その後に矢印を使用してメッセージの流れを示します。例えば、ユーザーがシステムにリクエストを送る場合、次のように記述します。
| ユーザー->>システム: リクエスト |
このようにして、Mermaid記法では簡単にシーケンス図を作成することができます。

次に、色やループ、改行、コメントを含む高度な記述方法について説明します。
Mermaidでは、シーケンス図の視覚的な要素を強化するために色を使用することができます。色を指定するには、「note」タグを使ったり、メてスタイルを設定することが可能です。例えば、次のように記述します:
|
sequenceDiagram rect rgb(175, 238, 238) rect rgb(255, 2, 1) ユーザー->>システム: リクエスト1 システム->>ユーザー: レスポンス1 end ユーザー->>システム: リクエスト2 システム->>ユーザー: レスポンス2 end |

ループの処理を表現するためには、「loop」ステートメントを使用します。例えば、リクエストを何度も繰り返す操作を表現するには次のように記述します:
|
loop リトライ処理 ユーザー->>システム: リクエスト システム-->>ユーザー: レスポンス end |

そして、コードにコメントを挿入する場合、「%%」を使って行います:
%% これはコメントです
これにより、コードの一部を説明したり、後で参照するためのメモを残すことができます。
(コメントはコンパイル後の図には表示されません)
以上が、Mermaid記法でシーケンス図を作成する際の基本的な方法です。次は、具体的な例を使ってMermaid記法でシーケンス図を書く方法をさらに詳しく解説します。
より多くの知識を学びたい方はこちらのリンクを参考してください(英語版)
Mermaidの公式サイト:Sequence Diagram
3.Mermaid記法でシーケンス図を書く
ここでは、Mermaid記法でシーケンス図を書く方法について、簡単な例を使って紹介します。まず、MermaidをMarkdownファイルに組み込み、その記法を使用してシーケンス図を作成する基本的な方法を理解することが重要です。
例えば、以下のようなToDoアプリのシーケンス図を考えてみます。ユーザーがタスクを追加し、システムがタスクリストにその情報を保存する流れです。
Mermaid記法を使用する場合、以下のようにシーケンス図を記述します:
|
sequenceDiagram participant User as User participant System as System User->>System: Add new task System-->>User: Confirm task added System->>Database: Save task |
Mermaidのエディターにコードを入力すれば、シーケンス図が生成されます。

https://www.mermaidchart.com/play より
この記述では、"sequenceDiagram"を使ってシーケンス図の開始を宣言し、その後に「Participant(登場人物)」としてユーザーとシステムを定義しています。そして、ユーザーがタスクを追加し、システムがそれを確認する一連のやり取りを示しています。

さらに、シーケンス図の美しい表示を実現するために色やスタイルを追加することもできます。しかし、まずは基本的な構成を理解することが重要です。
このように、Mermaid記法でシーケンス図を書く方法を習得することによって、複雑なシステムの動作を視覚的に理解しやすくなるでしょう。この技術は特にNotionのような多機能なドキュメントツールと組み合わせることで、その威力を発揮します。
4.より簡単な作成方法!ドラッグ&ドロップでシーケンス図を書く
Mermaid記法でシーケンス図を書く方法を学んだ後、さらに簡単にシーケンス図を作成したい方には、EdrawMaxの使用がおすすめです。EdrawMaxはドラッグ&ドロップ機能を持つ非常に直感的なツールで、専門知識なしでもシーケンス図を描くことができます。

シーケンス図をEdrawMaxで作成する手順を紹介します。
まず、EdrawMaxを起動し、検索窓で「シーケンス」で検索します。(図中赤枠)

検索結果から「UMLシーケンス図」で絞り込み(図中青枠)、「新規作成UMLシーケンス図」を選択します(図中赤枠)。

次に、シーケンス図のテンプレートから目的の図形をドラッグ&ドロップで配置し、必要な要素を追加していきます。テキストやラベル、矢印なども簡単に追加できるため、細かい調整もスムーズです。

EdrawMaxを利用するメリット
EdrawMaxは非常に多機能なツールで、初心者からプロフェッショナルまで幅広いユーザーに対応しています。以下にその主要なメリットを紹介します。
1.操作が直感的
ドラッグ&ドロップ機能により、複雑なシーケンス図も簡単に作成できます。Mermaidのような記法を知らなくても、視覚的に操作が完結します。
2.多機能なテンプレートと図形ライブラリ

シーケンス図だけでなく、フローチャートやネットワーク図、UMLなど幅広いテンプレートが利用可能です。どんな業務にも対応できる柔軟性があります。
3.高い互換性
EdrawMaxはPDF、PNG、JPG、SVGなど多様なフォーマットで出力できるため、他のツールやプレゼン資料との互換性が抜群です。また、クラウド機能を使えば、複数のデバイスからアクセスと編集が可能です。

4.AI自動生成機能
最新バージョンでは、プロンプトを入力すればシーケンス図が自動生成されます。
これらのメリットを活用することで、シーケンス図作成の効率が飛躍的に向上します。Mermaid記法が難しいと感じる方や、もっと簡単にシーケンス図を作りたい方にはEdrawMaxが最適です。ぜひ一度試してみてください。
5.よくある質問
Mermaidのシーケンス図で改行はできますか。
はい、Mermaidのシーケンス図では改行を含む表現を使いたい場面があります。特にメッセージ名や注釈が長くなる場合は、表示の見やすさを意識して記述方法を整理することが大切です。コードを書く前に、どの部分を短くまとめるか、どの部分を分けて見せたいかを決めておくと、図全体の読みやすさが保ちやすくなります。
Mermaidのシーケンス図で条件分岐はどのように考えればよいですか。
シーケンス図で条件分岐を表したい場合は、処理がどの条件で変わるのかを先に整理しておくことが重要です。記事内でもガード条件に触れられており、特定の条件下でだけアクションが実行される流れを視覚的に示せる点が紹介されています。まずは、通常の流れと条件によって変わる流れを分けて考えると理解しやすくなります。
同期メッセージと非同期メッセージの違いは何ですか。
同期メッセージは、送信後に相手側の処理や応答を意識しながら流れを追う場面で使われます。一方で、非同期メッセージは、送信後も処理が独立して進む流れを表したい場面で使われます。まずは、処理を順番に待ちながら進めるのか、それとも並行して進めるのかを整理すると、使い分けを理解しやすくなります。
まとめ
以上、Mermaid記法を用いたシーケンス図の描き方について詳しく解説しました。Mermaidはシーケンス図の作成に非常に役立つツールであり、手軽に美しく、わかりやすい図を作ることができます。特にNotionなどの多機能なドキュメントツールと連携させることで、より効率的に情報共有ができ、企業の生産性向上にも役立つことでしょう。
シーケンス図の基本構成やMermaid記法の具体的な書き方、そして実際にシーケンス図を描く手順について紹介しました。さらに、EdrawMaxのようなドラッグアンドドロップツールを使用した、シーケンス図作成の簡便さにも触れました。
