UMLの手軽で有効な利用方法

2010年9月7日(火)
中原 慶近藤 寛喜

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モデルを気軽に使っていただけるようになれば幸いです

株式会社チェンジビジョン

生年月日: 1977年1月6日 大阪市出身。ソフトハウスにて大規模データベースシステムからCTIシステム、WEBシステム等、多種多様なシステム開発に従事する。しかし、次々に登場する理想的な技術と、実際の開発現場で使われる技術に温度差を感じる。そして、自分自身がよりよい技術を実際の開発現場に浸透させる橋渡しなろうと考え、株式会社豆蔵に入社。現在は、株式会社チェンジビジョンにて、理想的なコンセプトを現場に浸透させるためのツール開発に従事している。

株式会社チェンジビジョン

株式会社チェンジビジョンにて製品開発を行うかたわら、Eclipseプラグイン開発など、オープンソース活動に従事。OSGiなどアプリケーションのモジュール化技術に興味があり、趣味で実践し、仕事に生かしている。また、かんばんとスクラムなど、ソフトウェア開発に役立つ記事や書籍の翻訳活動にも従事している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています