基本情報技術者試験の過去問で勉強した内容についてです。
<モジュール分割を行うときの方法として,モジュール結合度を最も弱くできるものはどれか。>
①一つのモジュールで,できるだけ多くの機能を実現する。
②二つのモジュール間で必要なデータ項目だけを引数として渡す。
③他のモジュールとデータ項目を共有するためにグローバルな領域を使用する。
④他のモジュールを呼び出すときに,呼び出されたモジュールの論理を制御するための引数を渡す。
問題文は上記のようになります。
では、分解して考えていきましょう😉
1)そもそもモジュールとは
これは、交換可能な構成要素のことです。コンポーネントとも言います。
ざっくりしすぎたので、詳しく説明していきます。
主に、モジュールはハードウエアとソフトウェアで使われます。
①ハードウエアとは
目に見える形あるもののことをいいます。主に、パソコン・モニター、キーボード、マウスなどがあります。
パソコンの主要部品がモジュール化されます。あとから部品が交換できるようにされています。
②ソフトウェアとは
目に見えない形のないものです。これは、主にosソフトや、計算ソフト、ゲームソフトを指します。
あとから別の開発者が追加開発できるようにモジュールを組み込めるようになインターフェースが用意されています。
2)モジュール結合度とは
モジュールの独立性を表すものです。モジュールの結合度が低いほどいいとされています。
なぜかというと、他のモジュールの実装を気にせずに開発することができるためです。
1つのモジュールを変更しても他のモジュールに影響がなく、またそれを再利用することができるのが理想的とされています!
モジュール結合度は以下のようになります。
①データ結合 ▶データ項目を引数として受け渡すモジュール
②スタンプ結合 ▶データ構造を引数として受け渡すモジュール
③制御結合 ▶他のモジュールを制御するために制御パラメータを受け渡すモジュール
④外部結合 ▶外部宣言した共通のデータを受け渡すモジュール
⑤共通結合 ▶外部宣言した共通のデータ構造を受け渡すモジュール
⑥内容結合 ▶他のモジュールのデータを参照するモジュール
上記の中で最も、①と②の独立性が高いのが結合度が弱いとされています。
問題に戻ると、答えは②になるかなと思います!!👍