Open3

【設計/開発図】アーキテクチャ図 / 開発構成図 / システム構成図を作成する📝

まさぴょん🐱まさぴょん🐱

アーキテクチャ図・開発構成図を作成する📝

アーキテクチャ図・開発構成図を作成する際には、ドラッグ&ドロップで直感的に描けるGUIベースの汎用ツール、コードによって図を定義しCI/CDと統合できるDiagram as Codeツール、リアルタイムコラボレーションに優れたホワイトボードツール、さらにC4モデルやクラウドアーキテクチャに特化した専門ツールなど、用途やチームのスタイルに応じて最適な選択肢があります。

GUIベースの汎用ダイアグラムツール

diagrams.net (旧 draw.io)

  • 特徴: フリー&オープンソースのオンライン図作成ツールで、リアルタイムコラボレーションとオフラインデスクトップ版を提供しています。
  • 連携: Google Drive、OneDrive、GitHubなど多彩なストレージと統合し、UMLやC4、AWS/Azure/GCPアイコンパックをサポートします。

Lucidchart

  • 特徴: クラウドベースでテンプレートや豊富な図形ライブラリを備え、リアルタイムコラボレーションとデータ連携機能を持ちます。
  • 統合: Google Workspace、Microsoft 365、Slack、Jira、Confluenceなど主要ツールと深く統合でき、プロセス図からクラウドアーキテクチャ図まで多彩な図を作成可能です。

OmniGraffle

  • 特徴: macOS/iOS向けデスクトップアプリとして、Visioインポート、レイヤー管理、Apple Pencilサポートなどを備えています。

コードベースのダイアグラムツール(Diagram as Code)

テキストベース定義で図を生成し、バージョン管理やCI/CD連携が容易です。

Mermaid

  • 概要: Markdownライクな構文でフローチャート、シーケンス図、クラス図、C4モデルなどを描画し、GitHubやNotion、Confluenceなどのドキュメントプラットフォームとシームレスに統合します。
  • 利点: ブラウザベースのリアルタイムプレビューを備え、軽量で導入が容易です。

PlantUML

  • 概要: Javaベースで完全なUML(クラス図、シーケンス図、コンポーネント図など)に加え、ワイヤーフレームやネットワーク図もサポートしています。
  • 利点: 詳細なスタイリングや条件レンダリング、高度なエンタープライズ機能(セキュリティ、プライベートリポジトリ)を備えています。

Diagrams (Python)

  • 概要: PythonライブラリとしてAWS/GCP/Azureなどクラウドインフラ図に特化し、コードベースでインフラ構成図をプログラム的に生成できます。
  • 利点: 実際のシステム状態に基づくダイナミックな図の生成やCI/CDパイプラインとの統合が可能です。

Structurizr

  • 概要: C4モデル用の「Models as Code」ツールで、DSLでモデルを定義し、コンテナ図やコンポーネント図、展開図など複数の図を自動生成できます。
  • 利点: 図はズームやアニメーションに対応し、AWS/Azure/GCPやKubernetesなどクラウドプラットフォーム向けテーマをプリセットで利用できます。

コラボレーション向けホワイトボードツール

Miro

  • 特徴: テンプレートやワークショップ支援ツールを備えたオンラインホワイトボードで、リアルタイム編集とコメント機能を持ちます。

Excalidraw

  • 特徴: 手書き風UIを特徴とするオープンソースのホワイトボードツールで、シンプルなインターフェースで素早くスケッチできます。

tldraw

  • 特徴: 柔軟な図形スケッチ機能とマルチプレイヤーコラボレーションを備えたオープンソースツールです。

Figma / FigJam

  • Figma: AWSやGCPの公式アイコンライブラリを活用したクラウドアーキテクチャ図テンプレートを提供し、ブラウザ上で共同編集が可能です。
  • FigJam: 図表作成に特化したホワイトボードツールで、C4モデルテンプレートやワークショップ用機能を備えています。

専門特化型ツール

CloudSkew

  • 特徴: AWS、Azure、GCP、Kubernetesなどクラウドアーキテクチャ図に特化し、多数の公式アイコンを備えたオンラインツールです。

Gliffy

  • 特徴: JiraやConfluenceと緊密に統合し、UMLやC4の描画にも対応するエンタープライズ向けダイアグラムツールです。

選び方のポイント

  • 利用シナリオ: 小規模プロジェクトならGUIベース、大規模・CI/CD連携ならDiagram as Code、ワークショップならホワイトボード、エンタープライズ全社利用ならEAツールを選定します。
  • 統合性: 既存のドキュメントや開発ツール(Git、Confluence、Slackなど)との連携がスムーズか確認します。
  • スケーラビリティ: チーム規模や図の複雑さの増大に耐えうる性能とライセンス形態を検討します。
  • コラボレーション: リアルタイム編集、コメント、バージョン管理などの共同作業機能を重視します。
  • コストと学習コスト: 無料/有料プランの差異、導入・習熟のしやすさを比較します。

以上のポイントを踏まえ、チームやプロジェクトの要件に最適なツールを選ぶと、生産性とドキュメント品質を大きく向上させることができます。