ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ
目次
- 目次
- はじめに
- C4モデルとは?
- Level 1: System Context Diagram
- Level 2: Container (Process) diagram
- Level 3: Component Diagram
- Level 4: Code Diagram
- C4モデルで図を書くときに注意すべきこと
- 参考資料
- MyEnigma Supporters
はじめに
ソフトウェアの図を書くときに、
いつも抽象度をどのようにすればいいか、
悩むことがあるのですが、色々調べていたら、
C4モデルという考え方があることを知ったので、
そちらを調べたときのメモです。
C4モデルとは?
C4モデルはこちらの記事で提案されている、
ソフトウェアのアーキテクチャを、
Context
Containers
Component
Code
の4つレベルのの解像度で図示する方法です。
Level 1: System Context Diagram
ユースケース図に近いですが、どんなユーザが、どんなシステムを
どのように使うかを図示したものです。
最も解像度が粗く、
エンジニア以外の人にも理解できる抽象度でシステムを図示します。
Level 2: Container (Process) diagram
コンテナやプロセス(アプリケーション)毎にシステム全体を図示します。
DBなども別のアプリとして図示します。
それぞれのアプリ間がどのような情報をやり取りするかも記述します。
Level 3: Component Diagram
各アプリの中のコンポーネント(モジュール)間の関係を表す図です。
Level 4: Code Diagram
いわゆるUMLのクラス図などです。
ただ、このレベルの図はIDEで自動生成できるので、
C4モデルを提案した記事では
このレベルの図の作成を手動で実施することは進めていません。
C4モデルで図を書くときに注意すべきこと
提案者は下記のようなことを注意点としてあげています。
図と言いながらも、ちゃんと説明を文章で書くこと
特に箱や線の意味、各要素の名前や種類などをちゃんと書くこと
図全体にもちゃんとタイトルをつけること
C4の図を考えるときは、まずLevel1の抽象度が高い部分から考えること
参考資料
ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。