モジュールの独立性(結合度と強度)とは?もじゅーるのどくりつせい
モジュールの独立性(結合度と強度)とは、分割の良否を、モジュール間の依存の強さ(結合度)と、モジュール内部のまとまり(強度・凝集度)という2つの尺度で測る考え方。結合度はデータ結合が最も弱く内容結合が最も強い、強度は機能的強度が最も高く暗号的強度が最も低い。低結合・高強度が保守しやすい分割の目安になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
分割そのものは誰でもできるが、良い分割かどうかを語る共通語が無いと、設計レビューは「なんとなく読みにくい」で終わってしまう。構造化設計の時代に、変更が他所へ波及する原因が依存の質にあると整理され、段階を持つ尺度が与えられた。方式設計の場で分割案を評価し、なぜその案を採るのかを関係者へ説明する必要がある立場では、感覚ではなくこの尺度で語れることが問われる。
具体例
OSSのcurlは、プロトコル処理をlibcurlとして切り出し、コマンドライン側は引数解析とlibcurlの呼出しだけを持つ。ライブラリ側は引数と戻り値だけで完結するデータ結合、かつ通信という単一の目的に閉じた機能的強度なので、コマンドの仕様追加がプロトコル実装まで波及しない。
試験での引っ掛け
尺度の向きを取り違えやすい。数値が高いほど望ましいのは強度だけで、結合度は低いほど望ましい。定番はもう一つ共通結合で、設定値や作業領域を大域に置いて全モジュールが読み書きする設計は、実装は楽でも1か所の型変更が全体の再テストを呼ぶ。他モジュールの内部を直接参照する内容結合はさらに強い。
関連用語
出た過去問
出典:平成28年度 秋期 システムアーキテクト試験 午前Ⅱ 問7(IPA)
プログラムの構造化設計におけるモジュール分割技法の説明のうち、適切なものはどれか。
正解:STS分割は、データの流れに着目してプログラムを分割する技法であり、入力データの処理、入力から出力への変換処理及び出力データの処理の三つの部分で構成することによって、モジュールの独立性が高まる。
要点:STS分割は入力・変換・出力の流れで分ける技法
STS分割は、プログラムを入力(Source)、変換(Transform)、出力(Sink)という三つの部分に分けるデータの流れに着目した技法で、各部分の役割が明確になるためモジュールの独立性が高まる。TR分割も同じくデータの流れに着目してトランザクションの種類ごとに分ける技法であり、データ構造に着目するのはジャクソン法である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。