モジュール分割
概要
モジュール分割とは、コンピュータプログラムを設計する際に、全体を何らかの基準に則って複数の部品(モジュール)に分割すること。部品は特定の機能や構造を表す適切な大きさのプログラムのまとまりであり、これを組み合わせてプログラム全体を構成していく。解説 一定の方針に基いてモジュール分割を行うことにより、開発者にとってプログラムの構造が見通しやすくなり、複数人での分担や大規模開発、問題発生時の原因の発見、コードの再利用などが行いやすくなる。古くから様々な技法が提唱されている。
共通機能分割
プログラム中の様々な箇所で共通して行われる処理をモジュールとして切り出す方式を「共通機能分割」という。
プログラム中にはエラー処理のように、様々な処理の中で同じか似たような処理を行う箇所が存在する場合があり、これを共通の機能として分離して一つのモジュールにまとめ、必要な時に呼び出すようにする。
最初から複数の箇所で同じ処理を行うことが分かっている場合はあらかじめモジュールとして用意することもあるが、ある程度開発が進んだ後、全体を他の手法でモジュール分割し、複数のモジュールに共通する部分を共通機能分割で取り出す場合もある。
TR分割 (トランザクション分割)
データの種類とその処理内容に応じてプログラムをモジュールに分割する方式を「TR分割」(トランザクション分割)という。
対象となるデータの種類と、そのデータに対する関連する一連の処理を「トランザクション」(トランザクション処理のトランザクションとは異なる)という単位にまとめ、プログラムをトランザクション単位で分割していく。データの種類などによって処理の流れが複数に分岐する場合などに用いられる。
STS分割
プログラムをデータの「入力」(Source:源泉)、「変換」(Transformation)、「出力」(Sink:吸収)の3つに分割する手法を「STS分割」という。
プログラム中でのデータの流れに着目し、プログラムへのデータの入力や取得、読み込みなどを行うモジュールと、データの計算や加工、変換などを行うモジュール、データの出力や表示、印刷、書き出しなどを行うモジュールに分割する。
これらのモジュールを直に繋いで、流れ作業的に連続して実行する場合もあるが、これらの上位に制御用のモジュールを配置して、データの流れや実行状態の管理を行う場合もある。
ワーニエ法 (Warnier method)
入力データの構造を分析してプログラムの構造を決定していく手法を「ワーニエ法」という。1970年代にフランスのコンピュータ科学者ジャン・ドミニク・ワーニエ(Jean-Dominique Warnier)氏によって考案された。
ワーニエ法では、データがいつ、どこで、何回使われるかを分析し、これを元に、順次構造、選択構造、繰り返し構造の3種類の制御構造を組み合わせて制御の流れを決めていく。これを図示したものをワーニエ図という。
ジャクソン法
入出力データの構造からプログラムの構造を決定していく方式を「ジャクソン法」という。1975年にイギリスのコンピュータ科学者マイケル・ジャクソン(Michael A. Jackson)氏が発表した。
プログラムの入力データと出力データの対応関係を把握し、入力から出力が得られるようプログラムの構造を決定していく。その際、データやそれを扱うモジュールを、基本、連接、選択、反復の4つの要素を組み合わせて表現する。