令和2年度 10月 午前Ⅱ 問21
設計
結合度に関する問題
モジュールの結合度が最も低い,データの受渡し方法はどれか。
- ア単一のデータ項目を大域的データで受け渡す。
- イ単一のデータ項目を引数で受け渡す。
- ウデータ構造を大域的データで受け渡す。
- エデータ構造を引数で受け渡す。
答えと解説を見る
✓ これが正解イ単一のデータ項目を引数で受け渡す。
解説
単一のデータ項目を引数で渡す方法が、最も結合度が低いです。
モジュールの結合度は、モジュールどうしがどれだけ強く依存し合っているかの度合いで、低いほど独立性が高く、修正や再利用がしやすくなります。結合度を下げるには、受け渡すデータを必要最小限にし、受渡しの経路をはっきりさせることが大切です。引数で受け渡せば、何をやり取りしているかが呼出しの形から読み取れますが、大域的データを使うと、どのモジュールが読み書きしているのかが見えにくくなり、依存が強まります。また、データ構造をまるごと渡すと、使わない項目にまで依存が広がります。必要な単一のデータ項目だけを引数で渡すデータ結合が、最も結合度の低い受渡し方です。
ほかの選択肢はなぜ違うのか
- ア単一のデータ項目を大域的データで受け渡す…:単一のデータ項目でも、大域的データを通して受け渡すと、ほかのモジュールからも同じデータを読み書きできてしまいます。受渡しの経路が呼出しの形から見えず、引数で渡す場合より結合度が高くなります。
- ウデータ構造を大域的データで受け渡す。:データ構造を大域的データで受け渡すと、多くのモジュールが同じデータ構造を共有することになります。渡す量も経路も依存を強める方向で、四つの中では最も結合度が高い受渡し方です。
- エデータ構造を引数で受け渡す。:データ構造を引数で受け渡す方法は、経路ははっきりしていますが、受け取る側が使わない項目まで渡されるので、データ構造の形に依存します。必要な単一の項目だけを渡す場合より結合度は高くなります。
出典:令和2年度 10月 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問21
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)