6月14日のレポート


このレポートの採点



1.モジュールの強度とは、どんな物か、またどのようにして強度を大きくするのか。
2.モジュールの結合度とはどんな物か、
   共通結合、データ結合を説明し、C言語で事例(部分的)を掲げよ


1、モジュールの強度とは、モジュールごとのステートメントの関連性の強弱である。
  これは、モジュールの独立性の高低の判断にも用いられる。
  モジュール内の強度は強さによって7つに分類される。
  
  普通モジュール分割すると、
  2〜6のいずれかに当てはまる。
  例えば、以下に当てはめると、論理的強度のモジュールができる。
   ・モジュールが関連した複数の機能を含む。
   ・呼び出し側が引数を使って機能を選択する。
   ・因数をチェックして選択された機能を実行する。
  しかし、論理的強度はブラックボックスではないため、
  あまり望ましくない。
  偶発的強度とはステートメントたびの関連性は全く無いものを言う。
    何も考えずただ単に分割すると偶発的強度のモジュールができる。
    例)90ステップのプログラム
  



  これでは機能ごとの
  相互の関連性は全く無い。





 
  機能的強度とは書くステートメントが明確な機能を持ったステートメントの集まりである。
  ブラックボックスであり強度としては最も強い。
  できるだけ多くのモジュールが機能的強度が有ることが望ましい。

  しかし、プログラム構造の設計上、あえて強度を弱くする場合も有る。
  例えば、ファイル処理では対応的に使われるため頻繁に変更があり必ずしも
  機能的強度が適切であるとは言えない。このような場合はあえて強度を弱くするのである。
  つまり、
  



  どっちを優先するかということである。




  一般的な考えではモジュールの強度は機能的強度に近ければ近いほうがよい。
  強度の強いモジュールを作るためにはトップダウン設計を用いるのがよい。
  トップダウン設計では機能が明確に分けられるまで、分割を続ける。
  そのため最終的には強度の強いモジュール、すなわち独立性の高い
  モジュールができる。

2、モジュールの結合度はモジュールの独立性を図るために用いられる。
  モジュールの結合度は強弱で6つに分けられる。


結合度を弱くするための法則
 ・共通領域をできるだけ使用しない
 ・データの量は必要最小限にとどめる
 ・データはモジュールの処理手順を意識しないものにする



  共通結合とは各モジュールをモジュールごとに参照するのではなく
  ある共通領域を用いて参照しているものである。




















データ結合とはもっとも結合度が低い結合である。

























結合度も強度と同じようにプログラムの構造の設計上
必ずしも結合度が弱いほどよいとは言えない。









どちらを優先するかということになる。

だが、これも一般的な考えではデータ結合に
近ければ近いほどよいということになる。


ソフトウェア設計学のTOPに戻る
2002年前期のツボプロジェクトのTOPに戻る