arc42
arc42 は、ソフトウェアアーキテクチャをドキュメント化するための無料・オープンなテンプレートで、Dr. Peter Hruschka と Gernot Starke によって 2003 年に作成されました。ドイツ語圏 IT 業界ではアーキテクチャドキュメントの事実上の標準であり、ベンダー中立・技術非依存の構造として世界的に利用されています。
| 正本リンク | https://arc42.org/overview/ |
|---|---|
| メンテナ | Dr. Peter Hruschka、Gernot Starke(Aim42) |
| キット内の home | template/docs/arc42/ |
| pentaglyph 内のスロット | 5 つ中 #1 ― アーキテクチャ・スパイン |
arc42 は何を解決するのか
Section titled “arc42 は何を解決するのか”アーキテクチャ doc は典型的に 3 つの失敗モードのどれかに陥ります:
- 空 ― アーキテクチャ doc が存在しない。設計はシニアエンジニアの頭の中にだけ
- 肥大化 ― 200 ページの Word ドキュメント。誰も読まず、ハンドオーバー時に 1 度だけ更新されて二度と更新されない
- 即興 ― 1 つの
README.mdが ad-hoc にトピックを増やす。プロジェクト間で構造が共有されない
arc42 はモード 3 を解決します。12 セクションのテンプレート がすべてのアーキテクチャ関心事に 1 度だけ名前を与え、固定の home を与えます。不要なセクションは空スタブのまま残します(構造自体が情報的)。
12 セクション一覧
Section titled “12 セクション一覧”| # | セクション | 中身 |
|---|---|---|
| 1 | Introduction & Goals | システムが何をするか、最優先 2〜3 個の品質目標 |
| 2 | Constraints | 選択を制限する技術 / 組織 / 政治的制約 |
| 3 | Context & Scope | どのシステム / アクターが統合するか。スコープ外は何か |
| 4 | Solution Strategy | ビッグピクチャの技術選択と理由 |
| 5 | Building Blocks | 静的分解(L2+ は detailed-design/ へリンク) |
| 6 | Runtime View | 重要シナリオのシーケンス図 |
| 7 | Deployment View | システムが実際に動く場所 |
| 8 | Crosscutting | モジュール横断の関心事: security、observability、エラーモデル、i18n |
| 9 | Decisions | MADR ADRs ― 技術選択の なぜ |
| 10 | Quality | SLO、KPI、performance / 信頼性目標 |
| 11 | Risks | 技術負債、既知の脆さ |
| 12 | Glossary | ドメイン語彙 |
pentaglyph での arc42 の使い方
Section titled “pentaglyph での arc42 の使い方”pentaglyph は 12 セクションそれぞれを template/docs/arc42/ 配下のディレクトリにマップします:
template/docs/arc42/├── 01-introduction-and-goals/├── 02-architecture-constraints/├── 03-context-and-scope/├── 04-solution-strategy/├── 05-building-blocks/ ← ../detailed-design/ へリンク├── 06-runtime/├── 07-deployment/├── 08-crosscutting/├── 09-decisions/ ← MADR ADRs はここ├── 10-quality/├── 11-risks/└── 12-glossary/pentaglyph は各ディレクトリに AI が読める README.md を追加し、LLM がプロジェクト文脈ゼロで新コンテンツの配置先を決められるようにしています。
フルテンプレートを使うべきとき
Section titled “フルテンプレートを使うべきとき”- minimal profile: §1 (Goals)、§3 (Context)、§5 (Building Blocks)、§9 (Decisions) を埋める。それ以外は具体的な必要が出るまでスキップ
- standard / full profile: システム成長に応じて段階的にセクションを埋める。arc42 は部分カバーを明示的に許容
arc42 を使う べきでない とき
Section titled “arc42 を使う べきでない とき”- 単一ファイルスクリプト / 使い捨てプロトタイプ ― 過剰
- 純粋なドキュメントリポジトリ(Diátaxis を直接使う)
- 3 か月以内に削除されるコードベース
- 公式サイト: https://arc42.org/overview/
- 無料 PDF / Asciidoc / Markdown テンプレート: https://arc42.org/download
- 書籍(無料): arc42 by Example ― Gernot Starke & Michael Simons
- メンテナ組織: Aim42 ― アーキテクチャ改善メソッド
- なぜ 5 つの標準なのか ― arc42 を他 4 つと束ねる理由
- テンプレート目録 ―
1_architecture-overview.mdが arc42 整合テンプレート - C4 model ― pentaglyph が arc42 §3、§5、§6 と組み合わせる可視化記法