アスペクト指向ソフトウェア開発の会議であるAOSD 2011で、デザインとモジュラリティに関する基調講演があり、そのスライドが公開されていました。タイトルは、A Design Perspective on Modularity (PDF)です。

ソフトウェア開発の分野からみた講演ですので、他の分野の方にとっては、簡単でない内容かもしれません。

今回のブログでも少しデザインとモジュラリティについて考えてみます。

モジュラリティの定義は様々です。実際、AOSD2011では、ソフトウェア分野の9名に聞いた各自の定義が紹介されています

私の見方では、モジュラリティは、あるモノの構造に対する性質の一つです。
modularity1


構造の構成要素とそれらの間の依存関係がモジュラリティの度合いを決めます。

modularity2

モノの作り手が構造のあり方について気にする理由は、どのような構造なのかが、その構造と作り手との関わり方を左右する要因の一つだからです。特に、一人の作り手が必要な作業が多くなるほど、次のようなことが関心となります。
(1) 構造全体の把握が難しく感じるようになります。
(2) 「一人だけで行うことが最善なのだろうか。二人以上で行えないだろうか」という問いが意味を持ちはじめます。
この視点で見た場合、モジュールとは、部分的な理解で十分であったり、並行して作業ができるように割り当てられた作業の単位です。

modularity3

モジュール化とは、特定の基準により、モジュールを作成することです。

さて、ここまで、デザインの観点からは、モジュラリティについて述べないできました。私の疑問としては、「デザインとモジュラリティはどんな関係か?」というものです。もう少し具体的に言えば「どのデザインにもモジュラリティは関わるのか?」というものです。というのも、キャラクターデザインやグラフィックデザイン、情報デザインなど、モジュラリティがあまり関係のないように感じるデザインがあるからです(そう感じるのは単に私の専門でないためかもしれません)。そして、関係ないのであれば、モジュラリティはデザインを考える上での必須のトピックではないかもしれません。

下記の図は、以前の記事で紹介したデザインの枠組みです。この枠組みを使ってデザインとモジュラリティを考えていこうと思います。

fw6
モジュラリティとは、あるモノの構造に関する性質であるとしました。したがって、この枠組みにおける「構造」の要素を明確にする必要があります。

モジュールとは、作業の単位であるとしました。したがって、この枠組みにおける「作業」の要素を明確にする必要があります。


次に続く。

参考図書としては、『デザイン・ルール』があります。最終的には、この本と同じことを紹介することになるかもしれません。