C4モデルとは?
Simon Brownが考案したC4モデルは、ソフトウェアアーキテクチャを階層的に記述し伝えるための手法です。System Context(レベル1)、Container(レベル2)、Component(レベル3)、Code(レベル4)という4段階の抽象度を用い、チームが高レベルの俯瞰図から実装の詳細まで段階的にズームインできるようにします。地図のような考え方であり、各ダイアグラムは明確な目的・対象読者・詳細度を持ちます。これにより、すべての関心事を1枚のボックスと線の図に詰め込もうとしてしまう、よくある問題を回避できます。
別名: c4, c4 diagrams.
関連用語
- システムコンテキスト図 — ソフトウェアシステムと、それを利用するユーザーや他の外部システムとのやり取りを示すC4レベル1のダイアグラム。
- コンテナ図 — ソフトウェアシステムを構成するデプロイ可能/実行可能な単位(アプリケーション、サービス、データベース)を示すC4レベル2のダイアグラム。
- コンポーネント図 — 1つのコンテナを、関連する機能のまとまり(コンポーネント)とその連携に分解して示すC4レベル3のダイアグラム。
- コード図 — あるコンポーネントの実装レベルの詳細(クラス、インターフェース、関数)を示すC4レベル4のダイアグラム。