開発技術 - 12.システム開発技術 - 4.ソフトウェア方式設計・ソフトウェア詳細設計 - 11.コンポーネントの設計

Last Update : January 02 2021 16:00:31

     

a. コンポーネント分割の考え方

コンポーネントとは、ある機能を実現するために部品化されたソフトウェアのことであり、 明確なインターフェースを装備した再利用可能なソフトウェア部品のこと。

コンポーネントへの分割は、機能ごとに行うことが多いが、処理パターンや処理の周期・タイミングの違いによる分割、処理効率の違いによる分割、使用する資源の違いによる分割、入出力装置の利用の違いによる分割などが可能。
コンポーネントに分割する際には、わかりやすさ、安全性、開発の生産性や運用性、保守性や再利用性、処理能力などに考慮して行う。


b. プログラム分割基準

モジュールを分割するときに考慮しなければいけない点は、

  • 大きさの尺度(プログラミング)
    モジュールを管理することができる大きさにしないといけません。 一般的にソースプログラム(プログラミング)だと1ページということがありますが、あまり小さいと小単位の機能を実現することができない場合があります。
  • インターフェース(プログラミング)
    モジュールを細分化したら個々のモジュールが簡単になってしまいますが、インターフェースが複雑になってしまうのでモジュールを制御する「プログラム構造」の設計に負担が掛かってしまいます。 逆に細分化が浅いときは、インターフェースの設計が少なくて済むのですが、モジュール単体の機能が増加し汎用性が少なくなってしまいます。 理想としては「単一データが単一の入口から」「単一データが単一の出口に」というのが、現実的に複数データをやり取りすることが多くなるので、できればインターフェース要素は2~3要素ぐらいが良いと思われます。
  • 結合の尺度(プログラミング)
    モジュール間のインターフェースを簡単にすれば、モジュールの独立性を高めることができるので「モジュール間のインターフェース」を結合の尺度として分類することができます。 結合度の弱い「データ結合」が一番良いでしょう。
  • 強度の尺度(プログラミング)
    モジュールは明確な機能1つを持つように分解することが良く、もしも複数の機能を1つのモジュールにまとめるなら、個々の機能は互いに関連性がないといけません。 「モジュール内部の関連性」をモジュール強度として分類することができ、強度が強い程、モジュールの機能が明確で独立性が高くなります。

  [ 例題 ] 
  1. 平成15年度春期 問50  良いプログラム


     

www.it-shikaku.jp