Output Diary

プログラミング × 読書 のアウトプットを発信しています

【システム開発】モジュールの分割

f:id:kina_kq:20210512082919j:plain

 

モジュールの分割とは、

コンピュータプログラムを設計する際に、

全体を何らか基準に従って、複数の部品(モジュール)に分割することをいいます。

 

モジュールは特定の機能や構造化を表すプログラムのまとまりであり、これらを組み合わせてプログラムの全体を設計していきます。

 

モジュールを分割することのメリット

 

モジュールを分割することのメリットは、

・作業が分担できる(複数人で並行してプログラミング作業を進められる)

・再利用が容易(共通する機能を部品として使い回すことができる)

・修正が一部で済む(欠陥のあるモジュールを修正するだけで、プログラムを改修できる)

といったことがあげられます。

 

ただなんでもかんでも分ければ良いというわけでもないので、

注意が必要です。

 

モジュールの分割技法

 

STS分割法

 

STS分割法では、

プログラムを「入力処理(源泉:Source)」、「変換処理(変換:Transform)」、「出力処理(吸収:Sink)」という3つのモジュール構造に分割します。

 

「データの流れ」に着目した技法で、

入力処理→変換処理→出力処理

と流れていきます。

 

入力処理では、プログラムのデータの入力や取得、読み込みなどを行うモジュール、

変換処理では、データの計算や加工、変換などを行うモジュール、

出力処理では、データの出力や表示、印刷、書き出しなどを行うモジュールに分割します。

 

トランザクション分割法

 

トランザクション分割法とは、

対象となるデータの種類と、そのデータに関連するプログラムを一連の処理(トランザクション)単位に分割する方法です。

 

共通機能分割法

 

共通機能分割法とは、

プログラムの中の共通機能をモジュールとして分割する方法です。

 

モジュールの独立性を測る尺度

 

モジュールの独立性を測る尺度として、

・モジュール強度

・モジュール結合度

があります。

 

モジュール強度

 

「強度」とは、分割された1つのモジュール内に、どんな要素が含まれており、どのように関連付いているかによって決まる指標です。どれだけ機能的に特化できているかを表しているものになります。強度が高いほど、「モジュールの独立性が高くて好ましい」となります。

f:id:kina_kq:20210512090701p:plain


モジュール結合度

 

他のモジュールとどのように結合するかを示す尺度です。

 

モジュールの結合度が弱いほど、

「モジュールの独立性が高くて好ましい」となります。

 

f:id:kina_kq:20210512091803p:plain

 

 

まとめ

 

モジュール強度は高いほど、「モジュールの独立性が高く好ましい」になりますが、

モジュール結合度は低いほど、「モジュールの独立性が高く好ましい」となります。

 

注意が必要ですね。 

            

 

参考

モジュール分割とは - IT用語辞典 e-Words

モジュール分割と独立性

キタミ式イラストIT塾 基本情報技術者 令和03年