令和2年度 10月 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問21
テクノロジ/開発技術モジュールの結合度が最も低い,データの受渡し方法はどれか。
出典:令和2年度 10月 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問21
- ア単一のデータ項目を大域的データで受け渡す。
- イ単一のデータ項目を引数で受け渡す。
- ウデータ構造を大域的データで受け渡す。
- エデータ構造を引数で受け渡す。
正解:イ
解説
モジュール結合度は,データ結合(単一のデータ項目を引数で受け渡す)が最も低く,好ましい結合とされています。大域的データを介した受渡しは,どのモジュールがいつデータを変更したかが分かりにくくなるため結合度が高くなり,また,データ構造(複数の要素をまとめたもの)を丸ごと受け渡す方式も,本来不要な情報まで共有することになるため,単一のデータ項目の受渡しより結合度が高くなります。
選択肢ごとの解説
- ア誤り。大域的データを介した受渡しは,どのモジュールからでも変更できてしまうため結合度が高くなります(内容結合や共通結合に近い問題を抱えます)。
- イ正しい。単一のデータ項目を引数で受け渡す方法はデータ結合と呼ばれ,モジュール間で必要最小限の情報だけをやり取りするため,結合度が最も低くなります。
- ウ誤り。大域的データを介してデータ構造を受け渡す方法は,単一データ項目を大域的データで渡す場合よりも更に多くの情報を共有することになり,結合度が高くなります。
- エ誤り。データ構造を引数で受け渡す方法はスタンプ結合と呼ばれ,データ結合よりも結合度が高くなります(引数の中に不要な要素が含まれる可能性があるため)。