torutkのブログ

ソフトウェア・エンジニアのブログ

UML2.0コンポーネント図について

@ITで「UML2.0のキホン:コンポーネント図の詳細解説」が公開されています。
http://www.atmarkit.co.jp/farc/rensai/redge31/redge31.html
図法は図法で、いつどんな設計の局面で使うかは開発次第なのですが、このコンポーネント図の記法によって、ソフトウェアを構成する際に重要ながら大抵の設計者が無視している実装パッケージ(C/C++ではライブラリファイルと実行モジュールファイル、JavaではパッケージをアーカイブしたJARファイル)の依存関係をより明確に記述できるのではないかと思いました。実装パッケージの依存関係がなぜうれしいかというと、ソースの修正の結果何を再度ビルドして配布(インストール)し直さねばならないかを明確にできる点です。これが明確でない場合、ソースのどれかを修正したら、念のため全て再コンパイルして全ての実装パッケージを置きなおす(配布しなおす)という愚行をしなければならないからです。C++の場合だと、ヘッダーファイルの修正時にどこまで利用側の変更が必要か判断するのが微妙かもしれませんが・・・(公開ヘッダーに手を入れると、バイナリ互換な変更と再コンパイルが必要な変更の判断が微妙)
ソースコードの構成管理はしても、実装パッケージの構成管理はされていないというのが現状です。特に統合開発環境IDE)で開発している人はビルドボタンを押したらあとは何がどうなったか知らないし知ろうともしません。