第3章 システム コンテキスト図
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
C4モデルを構成する図の解説は、システムコンテキスト図から始める。これは、ソフトウェアアーキテクチャを図示し、文書化するための有用かつ論理的な出発点である。要約すると、この図は、記述対象のソフトウェアシステムを、それを利用する人々ややり取りする他のソフトウェアシステムに囲まれた形で浮き彫りにする手段を提供する。 ここでは、ソフトウェアシステムとその直近の環境の「全体像」を示す俯瞰的なビューであるため、細部まで重要ではない。この図の焦点は、技術やプロトコル、その他の低レベルの詳細ではなく、人々(アクター、役割、ペルソナ)やソフトウェアシステムにあるべきだ。これは、技術者にも非技術者にも等しく提示できるような図である。
システムコンテキスト図の重要な側面
この図をなぜ、どのように使うのかを理解するには、その意図、範囲、コンテンツ、ユースケース、対象読者を念頭に置いておくと役立つ。
意図
システムコンテキスト図は、以下の質問に答えるのに役立つ。
-
私たちが構築している(あるいは構築した)ソフトウェアシステムとは何か。
-
誰がそのソフトウェアシステムを使用しているのか?
-
さまざまなタイプのユーザは、そのソフトウェアシステムで何を行っているのか?
-
ソフトウェアシステムは、既存のシステム環境にどのように適合しているか?
範囲
システムコンテキスト図の範囲は、単一のソフトウェアシステムである。つまり、システムコンテキスト図は1つのソフトウェアシステムに焦点を当て、それとの関係を持つ人々や他のソフトウェアシステムを示すものである。
コンテンツ
システムコンテキスト図には、2種類の要素(人およびソフトウェアシステム)と、それらの間の関係が含まれる。
人々
これらは、ソフトウェアシステムを利用するユーザだ。私は通常、ユーザがソフトウェアを使用する際に果たすさまざまな役割を通じてユーザをモデル化するが、ユーザを個人、役割、アクター、あるいはペルソナとしてモデル化するかは、あなた次第だ。私はユーザについて、以下の情報を把握する:
-
名前:人物、役割、アクター、またはペルソナの名前
-
説明:その人物に関する簡単な説明
私は通常、特定のビジネスゴールを達成するためにソフトウェアシステムを利用するなど、「機能的」な観点からシステムを使用している人だけを対象に含める。システム管理者や運用スタッフを含めることも可能だが、私は一般的に、彼らが自分たちのために特別に構築されたシステムの一部を使用している場合にのみ、そうする。例えば、ソフトウェアシステムに管理用ユーザインタフェースが含まれている場合は、システム管理者を含めるだろう。 ログファイルを確認するだけの運用スタッフは、おそらく含めないだろう。とはいえ、選択はあなた次第だ。伝えたいストーリーを伝えるために適切だと感じる人数を含めればよい。また、システムコンテキスト図を複数バージョン作成することも可能だ。例えば、機能ユーザ向けと、システム管理者/運用スタッフ向けのものをそれぞれ用意するといった具合だ。
ソフトウェアシステム
これは、あなたが記述しているソフトウェアシステムに加え、それに関連する他のソフトウェアシステムを指す。ここでも、各ソフトウェアシステムについて以下の情報を把握する:
-
名前:ソフトウェアシステムの名前
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access