モジュール分割の一般的な方法として、プログラム(プログラミング)を機能部分に分ける「機能分割」があります。
プログラムに必要な機能を洗い出して、それぞれの機能の違いについて明示し、ここでは主機能(メイン)が主モジュールで、洗い出された要素機能がサブモジュールとなります。
分割された機能は「独立性」のある小単位の機能に分割し、これを繰り返して分割不能なところまで展開していきます。
機能分割によって分割された機能要素は「相互作用」が少ないので、機能要素を別々に設計することができ、こういった場合、ある部分の変更が生じたときに該当する所だけの修正で済むので、「変更容易性」が向上することになり、それと同時に「再利用性」や「テスト容易性」なども高まります。
機能分割のための項目を下記に示します。
1.機能の流れが連続的になるように分割すること。
2.機能が選択的になるように分割すること。
3.機能が繰り返し行うように分割すること。
4.入力や処理、出力を分ける易いように分割すること。
5.判断や決定機能は上位レベルや処理動作など機能は下位レベルになるように分割すること。
6.機能間でデータのやり取りを行う場合はできるだけ少なくなるように分割すること。
7.個々の機能は単一の入口、単一の出口があるように分割すること。
トランザクション(入力するデータ)の種類によって、異なった処理を行う際にそれぞれの処理単位に分割する方法であります。
これによって分割されるモジュールは、それにあてられたトランザクションの処理だけを行えばよく、他のトランザクションについて注意を向ける必要がなく、独立性の高いものになるのです。
データの流れに注意し、データのソースやトランスフォーム(変換)、シンク(吸収、結果出力)などに分割する方法であります。
最初に必要とされる部分の機能を洗い出し、データの流れに沿って部分機能をバブルで表して並べ、バブルの中に機能名を入れてデータの流れを矢印で表し、データ名を記入します。
そして、データ入力の最大抽象点とデータ出力の最大抽象点を見出し、最大抽象点を基準にした場合、3つのSTSモジュールが決まります。
入力の最大抽象点は入力データを左から右方向にし、処理データが入力データと異なるという点です。
出力の最大抽象点は出力データを右から左方向にし、処理データが出力データと異なるという点です。
このサイトはリンクフリーです。