機能設計のモジュール化

 モジュール化とは、取り組みの対象を扱いやすくするためにいくつかのモジュールに分け、それらの境界のインタフェース・ルールを明確に定義することである。適切なモジュール化が実施されていない場合に発生する不具合としては、大きく2つある(図1)。同図の(a)と(b)はそれぞれ、6つのモジュールから成る製品を表しており、顧客が指定できる3つの仕様(A、B、C)に基づいて設計されている。双方とも適切にモジュール化されておらず、仕様(A)を変更したために4つのモジュールを変更しなければならない例だ。

図1●モジュール化の課題
1つの仕様が複数のモジュールに影響を与える場合(a)と、モジュール間の相関関係が強く、インタフェースが不適切なために他のモジュールに影響を与えるケース(b)が考えられる。機能設計のモジュール化では、(a)の課題を解決する。
[画像のクリックで拡大表示]

 同図(a)では、仕様(A)によって直接的な影響を受けるモジュールが4つもある。このため、4つのモジュール(モジュール1、同2、同4、同5)を変更しなければ、仕様変更に対応できない。

 一方、同図(b)では仕様(A)に影響を受けるモジュールは1つに集約できているので、仕様変更に対して直接的に変更しなければならないのはモジュール1だけだ。ところが、モジュール1は隣接するモジュール2や同4と相関関係が強く、モジュール1を変更するとモジュール2や同4も変更する必要がある。さらに、モジュール4とモジュール5の間のインタフェースが適切ではないため、変更したモジュール4に対応するモジュール5を用意しなければならない。このため、結局、モジュール1以外の3つのモジュールも交換することになるわけだ。

 これらのような問題を解決するために、筆者らは2種類のモジュール化を段階的に行う。機能設計のモジュール化は前者(仕様とモジュールの因果関係)、形状設計のモジュール化は後者(モジュール間の相関関係)の問題解決を念頭に置いたものだ。