あなたが Java プログラマだとして,大きなソフトウェアの設計をしたり,それを他人に説明したり,あるいは今解こうとしている問題を明確に定義しようとする時,どうしているだろうか. 一人で小さなプログラムを作るという作業においては,あまりこのような問題は起こらないかもしれない.しかし,プログラム開発を職業にしている場合,あるい はある程度の規模のソフトウェアをチーム開発する場合は,必ず他人とのコミュニケーションが必要になる.それは顧客との仕様打ち合せであったり,内部でのプログラム構造の設計ミーティングであったりするだろう. 一人で開発を行う場合でも,システム全体を見ながら考えをまとめ, 機能的で保守性が高いすっきりとした構造に仕上げるには,何らかのビジュアルな図が役に立つことが多い. UML(Unified Modeling Language)とは,オブジェクト指向分析, 設計においてシステ