UMLの手軽で有効な利用方法
3. UMLの問題点
筆者は日常的に、UMLモデルを用いてコミュニケーションを図り、UMLモデルを用いてソース・コードを読解しています。しかし、冒頭でも述べた通り、UMLモデルを使わない方が多くいることも事実です。
先日、筆者はとある勉強会で、ソース・コード・リーディングを実施しました。その際、ソース・コードを読む最中にUMLでメモを取っている人は、1~2人しかいませんでした。「UMLモデルを作成する」となると、構えてしまう人が多いようです。
UMLがあまり使われない理由は、UMLの仕様が大きいことにあると、筆者は考えています。
UMLの仕様は、とても量が多く、そのすべてを理解することは困難です。このため、「正しい記法を用いたUMLモデルを描くことができない」と思ってしまい、UMLモデルを書くことに抵抗を感じてしまうのです。
UMLの仕様が大きい理由は、大きく2つあります。1つは、汎用的なモデリング言語であるため、さまざまな分野に適用可能な仕様にする必要がある点です。もう1つは、OMGが提唱するMDA*1を実現するためです。
- [*1] MDAは、(a)プラットフォームに依存しない、ソフトウエアの機能を表すモデル(PIM: Platform Independent Model)と、(b)性能や信頼性などにかかわる、プラットフォームを表すモデル(PSM: Platform Specific Model)、以上の2つのモデルを切り離して考える開発手法です。この2つを切り離すことで、PIMを変えることなくプラットフォームだけを変える、といったことが可能になります。MDD(Model Driben Development)やモデル駆動開発などとも呼ばれます。
3.1. UML仕様について
UMLの仕様は、表1で示す通り、4つのパートに分かれています。
表1: UML仕様の4つのパート
仕様名 | ページ数 | 内容 |
---|---|---|
Superstructure Version 2.3 without change bars |
742 | UMLユーザーのためのダイアグラム(図)の仕様 |
Infrastructure Version 2.3 with out change bars |
214 | UMLの基盤についての仕様 |
Diagram Interchange Version 1.0 formal 06-04-04 |
76 | ダイアグラムの情報をツール間で交換するための仕様 |
Object Constraint Language Version 2.2 |
224 | 制約言語OCLについての仕様 |
2010年9月現在、UMLのカレント・バージョンは2.3であり、13種類の図が用意されています。この13種類の図は、大きく2つに分類できます。1つは、静的構造を表す構造図(Structure Diagram)です。もう1つは、動的な構造を表す振る舞い図(Behavior Diagram)です。この13種類の図を用いることで、ソフトウエアをさまざまな視点からモデリングすることができます。
しかし、必ずしもすべての図を使う必要はありません。それどころか、筆者の経験では、せいぜい5~6種類の図しか使わない場合がほとんどです。どの図を重点的に使うのかは、産業分野や技術分野、ソフトウエア開発の工程によって異なります。
3.2. UML仕様の使い方
本連載の目的は「UMLモデルの手軽で有効な利用方法」を紹介することです。特に、「コミュニケーションをサポートする」ことに着目しています。この場合、UML仕様の全体像と、必要最小限の表記法を知っていれば、それで事足ります。膨大なUML仕様やモデリングの難しさに悩む前に、まずは気軽にUMLモデルを使ってみましょう。
4. まとめと今後の予定
今回は、対象の本質を表したモデルが円滑なコミュニケーションを助ける、ということをお伝えしました。UMLの仕様の大きさにたじろがず、手軽にUMLモデルを作成し、利用してみましょう。
次回以降は、UMLモデルの有効的な利用方法を、具体的にご紹介していく予定です。本連載を読まれた後、UMLモデルを気軽に使っていただけるようになれば幸いです