HOME > ソフテックだより > 第505号(2026年9月2日発行) 技術レポート「テキストベース文書によるドキュメント作成」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ

「ソフテックだより」では、みなさまのご意見・ご感想を募集しています。ぜひみなさまの声をお聞かせください。


ソフテックだより 第505号(2026年9月2日発行)
技術レポート

「テキストベース文書によるドキュメント作成」

1. はじめに

私は入社して約30年になり、主に組み込み系のソフトウェア開発を担当しています。

ソフトウェア開発では、仕様書や設計書、試験項目書、議事録など、さまざまなドキュメントを作成します。これらは、Microsoft WordやExcel、Visioなどのオフィスソフトを用いて作成することが多く、私自身も長年これらのツールを利用してきました。

4〜5年ほど前、ある顧客の担当者が議事録をMarkdown(テキストベースの文書記述言語)で作成しているのを見かけました。Markdownについて詳しくは知りませんでしたが、プレーンテキスト(文字情報のみのテキスト)に簡単な記号を加えることで、見出しや箇条書きなどを表現できることに興味を持ちました。しかし当時は、WordやExcelで特に困っていなかったこともあり、自分の業務でMarkdownを使うことはないだろうと考えていました。

数年後、あるソフトウェア開発会社から開発協力の依頼を受けました。提示された資料はWord、Excel、PowerPointが中心でしたが、その中には少数ながらMarkdown形式のファイルも含まれていました。また、設計書の状態遷移図やシーケンス図にはPlantUMLやMermaid(どちらもテキストから図を生成するツール)が使用されていました。

この案件の開発当初は設計書をWordで作成していましたが、開発が進む中で「ドキュメントもGit(ソースコードなどの変更履歴を管理するバージョン管理システム)で管理し、変更内容を確認しながらレビューしたい」という要望があり、設計書をMarkdownへ移行することになりました。

実際に使ってみると、MarkdownはGitで差分や変更履歴を確認しながら管理でき、PlantUMLやMermaidは図をテキストで記述するため、修正や保守がしやすく、従来のオフィス文書にはない利点があることを実感しました。以前は「自分には関係ない」と思っていた技術でしたが、実際の開発を通じて、自分の業務でも十分活用できることが分かりました。

本稿では、この経験を踏まえ、テキストベース文書の概要を説明するとともに、Markdown、PlantUML、Mermaidなどの代表的なツール、活用が広がっている背景、メリット・デメリットについて紹介します。

2. テキストベース文書とは

2.1. プレーンテキスト

テキストベース文書とは、プレーンテキストで記述された文書です。プレーンテキストは、文字コードに基づく文字や改行のみで構成されたテキスト形式のことで、文字の装飾や画像、レイアウト情報などは含まれません。そのため、軽量で扱いやすく、差分比較や検索、再利用に適しています。

プレーンテキストは、メモ書きや、プログラムの説明を記述したREADMEファイルなどで広く利用されてきました。また、プログラムのソースコードもプレーンテキストで記述されており、ソフトウェア開発では最も身近なファイル形式の一つと言えます。

ただし、プレーンテキストだけでは文字の装飾やレイアウトを表現できないため、仕様書や設計書などのドキュメント作成では、Wordをはじめとするオフィスソフトが広く利用されてきました。

しかし近年では、プレーンテキストに簡単な記法を追加することで、読みやすく構造化された文書を作成できるようになり、テキストベース文書の活用が広がっています。

2.2. Markdown

プレーンテキストの扱いやすさを維持したまま、読みやすい文書を作成できるようにしたものがMarkdownです。

Markdownは軽量マークアップ言語の一つであり、見出しや箇条書き、表、コードブロックなどを簡潔な記法で記述できます。記述したテキストは、Markdown対応エディタやGitHub(Gitを利用したソースコード共有サービス)などで整形された文書として表示されるため、プレーンテキストでありながら、構造化された読みやすい文書を作成できます。

そのため、READMEファイルや技術資料、設計書など、ソフトウェア開発におけるさまざまなドキュメントの作成に活用できます。

以下に、左側へテキストエディタで作成したMarkdown文書、右側へその文書をMarkdownビューワーで表示した結果を示します。

テキストエディタで作成したMarkdown文書 Markdownビューワーで表示した結果
# UART通信仕様

## 通信規約

- 通信速度:9600bps
- データ長:8bit
- パリティ:奇数
- ストップビット:1bit

## 通信フレーム

|制御キャラクタ|コード(HEX)|内容|
|---|---|---|
|STX|02|フレーム先頭|
|ETX|03|フレーム終端|

## サンプルコード

```c
void Uart_Send(uint8_t data)
{
  ...
}
```

図 1 Markdown文書の記述例と表示例

2.3. PlantUML・Mermaid

Markdownが文書を構造化して記述するための軽量マークアップ言語であるのに対し、PlantUMLやMermaidは図をテキストで記述するためのツールです。

PlantUMLとMermaidは、どちらも専用の記法を記述するだけで図を自動生成でき、フローチャートやシーケンス図、状態遷移図など、さまざまな種類の図を作成できます。

PlantUMLはクラス図などを含むUML図(ソフトウェア設計を表現するための標準的な図)に幅広く対応しています。また、Mermaidもフローチャートやシーケンス図、状態遷移図などを作成できるほか、Markdown文書へ直接記述でき、対応したツールでは図として表示できるため、文書と図を一体で管理しやすいことが特徴です。

図をテキストとして記述できるため、仕様変更時にはテキストを修正するだけで図を更新でき、設計書の保守性向上や更新作業の効率化にも役立ちます。

以下に、左側へシーケンス図を記述したPlantUMLコード、右側へそのコードをPlantUMLビューワーで表示した結果を示します。

PlantUML形式で記述したテキスト 生成された図
@startuml
title UART通信シーケンス

participant マイコン
participant UARTドライバ
participant 外部機器

マイコン -> UARTドライバ : 送信要求
UARTドライバ -> 外部機器 : コマンド送信
外部機器 --> UARTドライバ : 応答
UARTドライバ --> マイコン : 受信通知

@enduml

図 2 PlantUMLによるシーケンス図の記述例と生成結果

続いて、PlantUMLと同じ内容のシーケンス図をMermaid形式で記述した例を示します。左側へMermaidコードを記述したMarkdown文書、右側へその文書をMarkdownビューワーで表示した結果を示します。

Mermaid形式で記述したテキスト 生成された図
# UART通信シーケンス

```mermaid
sequenceDiagram
     participant マイコン
     participant UARTドライバ
     participant 外部機器

     マイコン->>UARTドライバ: 送信要求
     UARTドライバ->>外部機器: コマンド送信
     外部機器-->>UARTドライバ: 応答
     UARTドライバ-->>マイコン: 受信通知
```

図 3 Mermaidによるシーケンス図の記述例と生成結果

3. テキストベース文書が注目される背景

近年、このようなテキストベース文書が注目されるようになった背景には、ソフトウェア開発環境の変化や生成AIの普及があります。本章では、その背景とあわせて、テキストベース文書の主な利点について紹介します。

3.1. バージョン管理システムとの親和性

Gitをはじめとするバージョン管理システムは、ソースコードの変更履歴を管理するために広く利用されています。テキストベース文書はソースコードと同じプレーンテキストで構成されるため、ソースコードと同様にバージョン管理できます。

そのため、変更履歴の記録や差分比較、レビューを効率よく行えます。また、ソースコードとドキュメントを同じリポジトリ(Gitで管理するプロジェクト単位の保存場所)で管理できるため、設計書とソースコードの整合性を維持しやすいという利点もあります。

以下に、GitHubでMarkdown文書の変更点(通信速度とパリティを変更)を差分表示した例を示します。

 Markdownの変更点をGitHub上で確認

図 4 GitHubによるMarkdown文書の差分表示例

3.2. 編集・保守のしやすさ

プレーンテキストは特定のアプリケーションに依存しないため、Windows標準のメモ帳をはじめ、多くのテキストエディタで編集できます。そのため、WindowsやmacOS、Linuxなど異なる開発環境でも同じ文書を容易に共有・編集できます。

また、テキストエディタでは文書の追記や修正だけでなく、検索や置換も容易に行えるため、大量のドキュメントの保守にも適しています。

PlantUMLやMermaidでは、図をテキストで記述して生成するため、仕様変更時にはテキストを修正するだけで図を更新できます。図形の位置合わせや線の引き直しを行う必要がなく、変更履歴もGitで管理しやすいことが特徴です。

3.3. 生成AIとの親和性

生成AIはプレーンテキストを扱うことを得意としており、Markdownなどのテキストベース文書は、そのまま生成AIへ入力して要約やレビュー、文章作成などに活用できます。

また、PlantUMLやMermaidについても、作成したい図の内容を生成AIに指示することで、図を生成するためのコードを作成できます。そのため、PlantUMLやMermaidの記法をすべて覚えていなくても、生成AIを活用することで効率よく図を作成するためのコードを生成できます。

以下は、生成AIへ「ストップウォッチの状態遷移図をPlantUMLで作成してください」と依頼した例です。左側へ生成AIとのやり取り内容、右側へ生成されたPlantUMLコードを対応ツールで表示した状態遷移図を示します。

生成AIとのやり取り 生成された状態遷移図

図 5 生成AIによる状態遷移図の作成例

4. オフィス文書との違いと課題

テキストベース文書にはさまざまな利点がありますが、すべての文書に適しているわけではありません。ここでは、導入時に考慮すべき主な課題を紹介します。

4.1. 導入・運用上の課題

MarkdownやPlantUML、Mermaidは専用の記法で記述するため、基本的な記法を習得する必要があります。学習コストは比較的低いものの、記法を知らない人にとっては、文書の編集や保守の負担となる場合があります。

テキストベース文書はソフトウェア開発では広く利用されていますが、テキストベース文書に馴染みのない利用者にとっては、WordやExcelの方が扱いやすい場合があります。そのため、社外へ提出する文書や、多くの関係者が扱う文書では、オフィス文書の方が適している場合もあります。

4.2. 編集・閲覧環境

Markdown文書を見やすく表示したり、プレビューを確認しながら効率よく編集したりするには、Markdown対応のエディタを利用することが一般的です。また、閲覧のみを行う場合でも、Markdown対応のビューワーが必要になることがあります。

なお、Windows標準のメモ帳もバージョン11.2504.52.0からMarkdown形式に対応しました。ただし、対応している機能は基本的なものに限られ、専用エディタと比べると編集支援機能などには制限があります。そのため、本格的な文書作成にはVisual Studio CodeなどのMarkdown対応エディタを利用することをおすすめします。

4.3. 機能や表現上の制約

Markdownは文書構造を記述することを目的としているため、WordやExcelのような自由なレイアウトや細かな位置調整には向いていません。また、Markdownでは基本的な表は作成できますが、セル結合や数式、複雑なレイアウトには対応できず、集計やグラフ作成などの機能も備えていません。そのため、表計算やデータ分析を行う用途ではExcelの方が適しています。

さらに、PlantUMLやMermaidでは、表現できる図の種類や表現方法には制約があり、複雑な図面やイラストを作成する場合には、Visioやdraw.ioなどのGUIツールの方が適しています。

また、Markdown文書はPDFへ変換できますが、改ページやレイアウトの細かな調整には限界があります。見栄えや印刷レイアウトが重視される文書では、WordやExcelの方が適しています。

5. おわりに

本稿では、テキストベース文書によるドキュメント作成について、Markdownを中心に、PlantUMLやMermaidなどの関連ツールを取り上げながら、その特徴や注目されるようになった背景について紹介しました。

テキストベース文書にはさまざまな利点がありますが、WordやExcelとは得意とする用途が異なるため、文書の目的や利用者、管理方法に応じて使い分けることが重要と考えます。

私自身も現在は、PlantUMLによる図の作成や、Gitで管理することで効果が得られる文書を中心に、テキストベース文書を取り入れています。今後も実際の開発を通じて、オフィス文書とテキストベース文書、それぞれの特長を生かしたドキュメント作成に取り組んでいきたいと考えています。
本稿が、テキストベース文書を活用するきっかけになれば幸いです。

(M.A.)

[関連サイト]

[1] Git公式サイト(日本語)
(https://git-scm.com/book/ja/v2)
[2] PlantUML公式サイト(日本語)
(https://plantuml.com/ja/)
[3] Mermaid公式サイト
(https://mermaid.js.org/)
[4] Visual Studio Code
(https://code.visualstudio.com/)


関連ページへのリンク

関連するソフテックだより

「ソフテックだより」では、みなさまのご意見・ご感想を募集しています。ぜひみなさまの声をお聞かせください。

ページTOPへ