「システム構成図って何?」と疑問に思う方や「どうやって作ればいいの?」と思っている方は多いです。
本記事では、そんなシステム構成図の基本から応用、そしてその作成がもたらすメリットやコツについて分かりやすく解説します。
また、作成を支援する便利なツールも紹介するので、ぜひ最後までご覧ください。
![Nao Yanagisawa](https://xs691486.xsrv.jp/wp-content/themes/JITERA/images/director-nao-1.png)
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
システム構成図とは?
システム構成図とは、システムの全体や特定範囲の構成を図で表したものです。
複雑な機能を持つシステムやWebサービスの開発においては、情報の整理と共有は重要です。
システムの機能やネットワークの構成、サーバーの配置やサービスの連携状況などがグラフィカルに一覧でき、システムの全体像を把握しやすくなります。
システム構成図の作成は全体像を把握したり、プロジェクトを円滑に進めたりする上で欠かせません。
システム構成図の基本概念
ITシステムはそれぞれ異なる技術を用いた要素を組み合わせることで機能を発揮します。
しかしシステムの規模が大きくなると、個々の技術や要素は理解できてもシステム全体を把握することができなくなっていきます。
そのため、システム全体の中で個々の要素がどのように組み合わっているのかを明確に表現する手段、つまりシステム構成図が必要になります。
システム全体の繋がりが視覚的に一覧できることで
- 顧客やユーザーへの情報共有
- 現状や将来の変更点の共有
- 提案や要望に対する開発範囲の見える化
- 各担当者の役割範囲の明確化
- 各機能の目的の具体化
がしやすくなります。
アーキテクチャ図との違い
項目 | システム構成図 | アーキテクチャ図 |
視点 | 物理的な観点 | 論理的な観点 |
表現内容 | 具体的な機器やソフトウェア、接続関係 | システム全体の構成要素、関係性、機能、データの流れ |
目的 | システムの現状を把握する、具体的な変更を指示する | システム全体を理解し、設計や開発の指針とする |
使用対象者 | システム運用者、保守担当者 | システム開発者、アーキテクト |
システム構成図とアーキテクチャ図は、似た目的で使われる図面ですが少し違いがあります。
システム構成図は、ある特定のシステムを構成する機器や装置の接続関係を示す図面です。どのサーバー、ネットワーク機器、クライアントPCなどが使われているか、それらがどのように接続されているかが分かります。
一方アーキテクチャ図は、システム全体の設計構造や仕組みを抽象的に示した図面です。具体的な機器の種類は表現せず、各コンポーネントの役割や、それらがどのように連携して動作するかを概念的に示します。
システム構成図は具体的な「物理」の構成を表現しており、アーキテクチャ図は抽象的な「論理」の構造を表しているという違いがあります。システムを理解する際には、両方の図面を活用すると、より理解を深めることに役立ちます。
システム構成図のメリット
システム構成図を作る最も大きなメリットは「メンバーやクライアント間の情報共有」と「問題特定の効率化」です。
その他にも、システム開発者ならば「拡張性の担保」という魅力も忘れてはいけません。
情報の共有
システム構成図の存在は、関係者同士の「イメージの共有」と「情報の明確化」を後押しします。
クライアントと開発者の間で認識のすり合わせが効率的に行なえ、各機能を担当するチームメンバー同士の連携もスムーズになります。
システム構成図に描かれたシステムの全体像を全員が共有することで、システムの機能と潜在的な課題について誰もが把握することができます。
問題発見の効率化
システム全体を図面で一覧することができるようになれば、現在起こっている問題がどこで起きているのかを明確に把握することができます。
システム構成図によって、開発時に起きる課題や運用時に起きる問題を素早く特定でき、迅速な解決に繋がります。
また、情報が明確に区別されることで、開発サイクルの計画も立てやすくなります。
拡張性の担保(スケーラビリティ)
システム構成図を利用することで、将来起こりうる「追加要求」に対して効率的にシステムを拡張することが出来ます。
例えばシステム構成図があることで、絶対に変更できない機能と変更が可能な機能が明確に区別できます。
どこを更新または交換すべきかを構成図を見ながら議論することもできます。
その他にも、潜在的なボトルネックや、それを回避するために手を加えるべき機能も容易に特定できます。
お気軽にご相談ください!
システム構成図の種類
一言でシステム構成図といっても、どのシステムを重点に置くかによって
- ハードウェアの関係に主眼をおいたシステム構成図
- ネットワークの関係に主眼をおいたネットワーク構成図
- サーバーの繋がりに主眼をおいたサーバー構成図
- ソフトウェアの繋がりに主眼をおいたアプリケーション構成図
- SaaSなどの複数のサービスがどう連携するかを主眼においたサービス構成図
など、様々な書き方があります。
また、近年AWSなどのクラウドコンピューティングサービスが注目を浴びたため、ネットワーク構成図とサーバー構成図、場合によってはサービス構成図も含めて一括で描くインフラ構成図もよく使われています。
何れにせよ、どこまで詳細に書くかは資料の目的に合わせる必要があり、ニーズに合わせて載せる情報を取捨選択する必要があります。
ここでは代表的なシステム構成図、ネットワーク構成図、サーバー構成図について紹介します。
システム構成図
機能を支えるハードウェアの繋がりに主眼を置き、システム全体の構成を表す構成図です。
ニーズや要件によってどこまでの粒度で情報を記載するのかが変わります。
どちらかというとネットワーク情報は省略される傾向があり、システム内で「何が何処で何のために使われているか」を表現します。
システム構成全体のことを「統合システム構成図」、ネットワークを介する場合「Webシステム構成図」と呼ぶことも多いです。
ネットワーク構成図
ネットワーク内のデバイスやコンポーネント、サーバやPCなどの情報と接続関係を表す構成図です。
- ネットワーク機器
- ルータやスイッチなど
- ネットワーク構成要素
- ファイアウォールやDMZ
- プロトコルやポート、トンネリング情報などを書く場合もあります。
- 利用者情報
- ユーザーやクライアントがどのようにネットワークにアクセスしているかも表現します。
などのネットワークを構成する様々な情報を図面に描きます。
ネットワークの物理的な配置状況を明確にすることで、ネットワーク管理者やエンジニアに情報を共有し、ネットワークの設計やセキュリティ対策の確認、トラブルシューティングにも役立てることができます。
サーバー構成図
サーバーやVM、クラウドサービスなどの構成情報や設定、それらがどのように連携しているのかを表す構成図です。
- ハードウェア情報
- サーバーのcpu、メモリ、ストレージ容量などの情報を書きます。
- GPUの性能など目的に合わせた「どんなスペックをもつか」の情報も記載します。
- ソフトウェア情報
- OSやアプリケーションソフトウェアなどの情報を書きます。
- それぞれのバージョンも記載します。
- ネットワーク接続情報
- どのサーバーとどのサーバーが繋がっているか、ポートは何を使いどんなプロトコルで連携しているかなどの情報を記載します。
などのサーバー連携に関わる様々な情報を図面に描きます。
サーバー構成図があることで、システム管理者や運用チームが現状を理解しやすくなり、問題の解決やシステム更新、保守点検などがスムーズに行えるようになります。
システム構成図の書き方・作成手順
では実際にシステム構成図の書き方はどんなものになるでしょうか。
システムの洗い出しや、クライアントへの聞き取り、専門用語の解釈の共有などサービスによって事前準備は様々ですが、大まかな書き方は以下の3手順を踏みます。
- システムの全体像について、適切な情報粒度でまとめる
- イラストやアイコン、文字装飾を使ってわかりやすくする
- 詳細情報を纏めた別紙を作る
STEP1. システムの全体像を大まかにまとめる
システム構成図に書く情報の粒度は細かすぎても大雑把すぎても読みづらくなります。
必要に応じた粒度で、システムの全体像を簡潔にまとめましょう。
主に、
- システムへアクセスするPCやサーバーの情報
- 繋がっているデータベースなどのハードウェアや周辺機器情報
- 通信経路や外部サービスとの連携情報
などを記載します。
システムの全体像が一覧できることで現在の課題や状況が明確になり、プロジェクトに関わるすべての人と現状認識の共有ができます。
また、システム構成図を定期的に更新し共有することで、システム導入後の保守や点検がスムーズに行なえます。
STEP2. イラストやアイコンを利用する
大まかにシステムの全体像を記載し終わったら、次はよりシステムの関係性がつかめるようにイラストや装飾を追加していきます。
システム構成図は開発メンバーや専門家だけが見るものではありません。
クライアントとの情報共有に使うケースや、営業や企画などの別部署の人間が参照するケースもよくあります。
ですので、色やアイコンを使って視覚的に誰が見てもわかりやすい図にする必要があります。
- 重要な部分には枠や色をつけて強調する
- イラストやアイコンを用いてイメージしやすくする
- できるだけ簡潔な情報を書く
以上のような点に気をつけ、各要素の関係が把握しやすいシステム構成図を心がけましょう。かっこいいシステム構成図を目指すと、デザインもきれいにまとめることができます。
STEP3. 詳細は別紙にまとめる
すべての情報を記載すると、システム構成図が読みづらいものになります。
あくまでシステム全体の把握が目的であるため、全体図のみを記載しましょう。
細かい詳細情報は別紙にサンプルとともにしてまとめ、読みやすさに気をつけることが大切です。
どこまでの情報を図の中に盛り込むのか、参照する詳細情報はどう記載するのかなど、構成図を作る際は事前に記載方式のルールを決めておくと良いでしょう。
システム構成図作成のポイント
システム構成図を作成する際には、「何の情報を指すのか」を明確することが重要です。
特に、
- 各要素の役割はなにか
- それはデータなのか処理なのか
- それはデータの流れなのか制御の流れなのか
といった点は明確に区別しましょう。
抑えるべき各ポイントについて詳しく解説します。
役割が伝わるように書く
システム構成図の目的は、「異なるコンポーネントや要素の役割分担と関連性を視覚的に明確化する」ことです。
そのために、サーバやデータベース、クライアントや外部サービス、周辺機器やネットワーク機器がどのような役割でどこに配置されているのかを明確に記す必要があります。
「このシステムは何をしているのか」を簡潔に記し、「このシステムは何処に繋がっているのか」を矢印やアイコンを使って明瞭に示しましょう。
データと処理を書き分ける
ITシステムは、基本的に「入力データ」を「処理」して「出力データ」を作ることを繰り返しています。
つまりシステムの全体を把握するためには、
- 入力されるデータ
- 適用される処理
- 出力または保存されたデータ
の3つを区別して書けばよいわけです。
データの入力・収集と出力・保存・転送がどこで行われているのか、そしてどんな処理が適用されたのかを明確に区別しましょう。
データフロー図と処理フロー図を併用することで、データと処理の関連性を明確に表すことが出来ます。
データと制御の流れの表現を変える
役割とデータ、処理内容について明確に区分できたら、最後はそのシステムの流れを矢印やアイコンを使って描きます。
その際に、データや通信のフローと制御フローを混同しないように注意して描きましょう。
- データフロー
- データや通信がどの要素からどの要素に移動するかを示します。
- 通常は矢印などで表現することが多いです。
- 制御フロー
- ソフトウェアや処理プロセスが実行される際の流れや順序を示します。
- 通常は構成図の添付資料として、処理フロー図を別途用意して表現します。
- 添付を減らしたい場合は、図面内で別枠に囲って明確にデータフローと区別できるようにします。
システム構成図作成後の注意点
システム構成図を作成したならば、その後の取り扱いにも気をつけましょう。
多くの構成図が、作った時点で満足してしまい、そのまま放置されるという粗雑な扱いをされているケースが多いです。
構成図は言ってしまえば「わかりやすくした取扱説明書」であり、定期的に整備し共有することで真の価値を発揮します。
システム構成図の更新ルールを定める
システム構成図は、バージョン更新や新規導入、外部サービスの終了などで常に変化する可能性があるため、メンテナンスと更新のルールを準備しておくことが重要です。
最低限、以下の3点だけでも事前に決めておきましょう。
- 更新頻度
- 定期的な更新スケジュールを設けることで、システム構成図が最新のシステム状態を反映したものに保つことが出来ます。
- 担当者
- システム構成図のメンテナンスを担当する責任者やチームを決め、責任を明確にしておくことで、メンテナンスが確実に行えるようになります。
- 変更履歴とバージョンの管理方法
- システム構成図は異なるバージョンが混在することも少なく有りません。
- システム構成図のバージョンと変更履歴を適切に管理することで、問題が起きたときにどのような変更が行われたかを追跡できるようになります。
システム構成図を共有する
システム構成図は共有してこそ意味があり、システム開発者の備忘録で終わらせるのは勿体ないです。
そのためにも、誰にシステム構成図を共有するかをはっきり決めておきましょう。
開発者、運用チーム、営業や企画担当者、管理者、クライアントなど、共有すべきステークホルダーは様々です。
各ステークホルダーが必要な情報を入手できるようにしておくべきでしょう。
その際には以下の点に気をつけてください。
- 見る人が理解できるフォーマットか
- セキュリティを考慮しているか
- 変更後の通知を行なっているか
専門用語満載の図を渡してもわからないことが多いです。クライアントには、詳しい実装形態よりも、どのような機能と運用になるかを伝えたほうがよいでしょう。
また、システム構成図が更新された際は、関係者に通知しましょう。常に新しいバージョンを提供しておくことで、関係者全員の認識が共有できます。
その際、セキュリティの観点からアクセスする人間は適切に管理する必要があるので注意しましょう。
システム構成図を作成せず開発は可能か
中小規模のシステムであれば、構成図なしでも開発すること自体は可能です。
しかし、構成図がない開発は往々にして問題が発生し、多くの混乱を招くものです。
システムが属人化し保守が困難になる
例えば、用途不明のコンポーネントやライブラリの削除、ロードバランサの停止、新規デバイスの導入を行おうとしても、交換前のものがどのリソースから参照されているかが分からないため手が出せません。
各ソフトウェアのバージョンが明確になっていないため、新規システムとの互換性も確認できません。
全容を把握していた管理者がいなくなると誰もシステムに手を出せなくなり、新しい管理者を用意するためのコストが増大します。
バグやシステム不備の調査や修正ができない
問題が起こったときにまず行うべきは要因の切り分けと追跡です。
どことどこが繋がっているかが明確になっていない場合、問題が発生した経路の追跡が困難です。「単に顧客が回線を間違ってつなぎ直した」というよくある人的ミスですら発見できなくなります。
顧客との間に致命的なズレが発生する
システム構成図がないと、納品時に要件を満たしていないことがわかります。
顧客にシステム全域について確認することは不可能であるため、あらかじめ開発範囲とゴールを明確化しておかなくてはいけません。
「聞いてない」「知らない」「勘違いしていた」「コレぐらい言わなくてもわかっているだろう」が頻発し、最終的には意味のない道具が出来上がります。
他にも、様々な場面で「問題が起こったのに原因が特定できない」という地獄のような状況に陥ります。一枚も構成図がなくても開発自体は可能ですが、実際に現場で使えるものにはなりません。
これらのことを踏まえると、システム構成図は必要不可欠と言えるでしょう。
しかし、きちんと機能する構成図を作成するには、それなりのスキル・知識が必要となります。経験やスキルがあるからこそ、実際に起こりうる細かなリスクを踏まえた上で構成書の作成が可能です。
もしそれらのスキル等がない場合はどうしたらいいでしょうか?
そんな時は私たちJiteraにお任せください。
Jiteraは、最先端AIを使うことで通常より遥かに早いスピードでアプリ開発・システム開発を実現している会社です。システム構成図の作成はもちろんのこと、構成図を活用したシステム構築まで一貫して行うことができます。
それらの開発作業の際には、AIを導入しているため、今まで起きた問題の情報や起こりうるリスクの分析を行なった上での作成を可能にします。
Jiteraへの相談はいつでもできるので、ぜひ一度お問い合わせください。専属のエンジニよりご提案、アドバイスをさせていただきます。
【初心者におすすめ】システム構成図を作成できるおすすめツール
システム構成図の作成には、ブラウザで利用できるオンライン作図ツールがおすすめです。
使い方がわかりやすい、おすすめのツールを3つ紹介します。
ツール名 | 利用形態 | 特徴 | 価格 |
CaCoo | ブラウザ | 日本シェアNo1の作図ツール 日本語でのサポートが手厚く、チーム作成機能などが充実 |
月額660円(ユーザー1人毎) 無料トライアルあり |
Draw.io | ブラウザ ※オフライン環境で使えるデスクトップ版有り |
無料で使える高品質な作図ツール VScodeやoffice365、G Suiteなど様々なソフトがプラグインを用意 |
無料 オープンソース(Apache License 2.0) |
Cloudcraft | ブラウザ | AWSやAzureのネットワーク構成図に特化した作図ツール アイソメトリックな構成図が作れる |
機能制限プラン 無料 Proプラン 年額490ドル(ユーザー1人毎) エンタープライズプラン 要資料請求 ※いずれも無料トライアルあり |
CaCoo
ツール名 | 利用形態 | 特徴 | 価格 |
CaCoo | ブラウザ上で利用 | 日本シェアNo1の作図ツール 日本語でのサポートが手厚く、チーム作成機能などが充実している |
月額660円(ユーザー1人毎) 無料トライアルあり |
ブラウザ上で動く、日本語対応でインストール不要の作図ツールです。
個人やチームでの作図作業機能が充実しており、様々な作図を行なうことでアイデアを共有することが出来ます。
Draw.io
ツール名 | 利用形態 | 特徴 | 価格 |
Draw.io | ブラウザ上で利用 ※オフライン環境で使えるデスクトップ版有り |
無料でつかえる高品質な作図ツール VScodeやoffice365、G Suiteなど様々なソフトがプラグインを用意している |
無料 オープンソース(Apache License 2.0) |
オープンソースで使える高品質な作図ツールです。
無料とは思えないほど多機能な作図ツールで、ローカル環境で使えるデスクトップ版もあり、様々なサービスが連携プラグインを用意しています。
Cloudcraft
ツール名 | 利用形態 | 特徴 | 価格 |
Cloudcraft | ブラウザ上で利用 | AWSやAzureのネットワーク構成図に特化した作図ツール アイソメトリックな構成図が作れる |
機能制限プラン 無料 Proプラン 年額490ドル(ユーザー1人毎) エンタープライズプラン 要資料請求 ※いずれも無料トライアルあり |
AWSやAzureといったクラウドサービスでのネットワーク構成図に特化した作図ツールです。
3Dで立体的な構図が作れることや、特徴的なオブジェクトやアイコンが用意されていることなど、特化しているからこその特徴的な機能が使えます。
まとめ:システム構成図はコミュニケーションの架け橋
システム構成図は、システムの全体像を関係者で共有する上で大変便利な手段です。システムの開発や導入時には、情報共有のためにシステム構成図を作成し活用しましょう。
しかし、わかりやすい構成図を作成するのは意外と大変です。また、作成したものの運用ができていなければ意味がありません。複雑なシステムの場合は、実績のある開発業者に依頼するのがおすすめです。
もしどこに依頼したらいいか分からないという方は、株式会社Jiteraへご相談ください。開発の効率性やスピードを重視した3つの特徴を持ち、豊富な開発実績があります。
- プログラマーの作業効率が3倍に向上し、開発スピードが速い
- プロジェクト管理が行き届き、案件が円滑に進行する
- エンジニアの工数を削減できる
システム開発や導入でお悩みの方は、一度問い合わせてみることをおすすめします。