ObjectSquare

オージス総研の本[かんたんUML[増補改訂版]]





かんたんUML[増補改訂版]

かんたんUML[増補改訂版]

株式会社オージス総研 著
加藤正和 監修




1999年6月に出版された書籍「かんたんUML」が2003年11月に改訂されました。本記事では、「かんたんUML」の「監修者のことば」や「UMLの今後の動向」から抜粋し、新しい「かんたんUML」についてご紹介します。同時に、UMTPやUML2.0についても少し補足します。

「監修者のことば」からの引用

『かんたんUML』の初版が出たのが1999年6月でした。当時は米国においてもUMLが今後世界標準の表記法になるかどうかさまざまな議論がありました。しかしC++、JAVAの普及とともにオブジェクト技術がソフトウエア開発でのメインストリームとなり、その分析設計においてはUMLで表記することがグローバルスタンダードとなりました。このような動きの中、オージス総研の現場UML技術者が書き下ろした『かんたんUML』は予想以上の読者を得ることができました。また、弊社がUML普及の目的で開発した<UML認定制度>も受験者累積27万人、合格者約5万にも達しました。『かんたんUML』はこの試験のテキストしとしても利用されています。これは日本でもUML知識の普及期からソフトウエア開発の現場で使う実用化時期に入ったことを示すものと思われます。

しかし、UMLはオブジェクト技術開発での分析設計表記法であり、実際にUMLを使いこなすには分析設計フェーズでの<モデリング技術>が必要不可欠です。また最近ではより上流のビジネスモデリングの分野や、従来独自のソフトウエア開発技術であった組み込み系分野なども、世界的にUMLで記述する方向にあります。このような状況のもと、2003年9月にNPOとして<UMLモデリング推進協議会(UMTP https://www.umtp-japan.org/index.html)>が設立され、多数の関連企業の参加を得ています。弊社も発起人としてUMTPに積極的に参加しています。同時に弊社の<UML認定制度>もUMTPに移行され、本格的な資格として大きく発展することが期待されています。

今回の改訂版は、ここ数年のUMLを取り巻く大きな変化に対応するために改訂版として出版することになりました。初版と同じく、弊社で日々UMLを駆使してソフト開発に従事している技術者が制作に参加しています。

オージス総研は1991年からシリコンバレーに技術開発オフィスを持ち、オブジェクト技術関連のベンチャー企業(その中にはUMLを開発したRational社も含まれます)、Stanford大学コンピュータサイエンス学科などと技術提携を行い、その技術を日本での実際のソフトウエア開発の現場に導入してきました。その経験をベースに現在ではUMLツール(Konesa)の開発&販売、UML技術のコンサルティング、トレーニング、SI事業を行い、UMLの総合技術ベンダーとして事業展開を行っております。

今回の『改訂版かんたんUML』がさらにUML技術者の裾野を広げ、日本のソフトウエア開発技術の底上げに貢献できることを願っております。

「UMLの今後の動向」からの引用

本書の執筆時(2003年10月末時点)でのUMLの最新バージョンは、UML1.5です。現在、UMLの次期バージョンである、UML2.0についても仕様が確定しつつあります。ここでは、UML2.0での改定ポイントについて説明し、UMLの今後の動向について考察したいと思います。

UML2.0での改定ポイント

UML2.0の仕様やOMGの見解を解釈すると、UML2.0では、主として、2つの観点からUMLの仕様が改定されています。1つは、UMLの利用者(モデリングを行う人)のための改定であり、もう1つは、ツールベンダーのための改定です。ここでは、この2つの観点から、UML2.0の改定ポイントを説明します。

UMLの利用者のための改定ポイント

まず、UMLの利用者のための改定としては、新しい図や表記が追加されています。例えば、実行時間を厳密に記述するために、タイミング図が追加されます。また、コンポーネントの入出力の"口"を記述するため、ポートという表記が追加されます。

ツールベンダーのための改定ポイント

UMLの定義の修正

これまでのUMLの仕様では、UMLのメタモデルについて曖昧な箇所がありました。UMLのメタモデルとは、UMLのモデル要素(クラス、属性、操作、関係など)を定義するモデルです。UML2.0の仕様を策定する際、UMLのメタモデルから、曖昧さを取り去る努力がなされています。メタモデルの曖昧さをなくすことにより、UMLで記述したモデルと実装コードとの対応づけが可能となります。特定の業務領域のモデルをUMLで厳密に記述できれば、モデルの情報が正確にソースコードに反映できるようになります。

このようにUMLそのものの定義を厳密にすることにより、MDA(Model Driven Architecture、モデル駆動型アーキテクチャ)という考え方を実現できるようになります。MDAとは、開発言語(プログラミング言語)やプラットフォーム(OSなど)に依存しないモデル(Platform Independent Model(PIM)と呼ぶ)を作成して、そのモデル(PIM)を特定の開発言語やプラットフォームに依存したモデル(Platform Specific Model(PSM)と呼ぶ)に対応づける手法です。つまり、MDAは、システム開発での成果物(モデル)について、実装技術に依存しない箇所(PIM)と、実装技術に依存する箇所(PSM)とを分離する考え方です。新技術は次々と登場します。しかし、そのような新技術に合わせて、特定の業務領域のモデルを逐一作成することは、システム開発者にとっては、非効率的な作業です。そこで、実装技術に依存しないモデル(PIM)と、実装技術に依存するモデル(PSM)を分離して、実装技術に依存しないモデル(PIM)だけを残します。その結果、実装技術に依存しないモデル(PIM)を新しい技術に切り替えることが可能になります。MDAの目的は、短期間で、システムを新技術に適合させることです。

このようなMDAを実現するためには、実装技術に依存しないモデル(PIM)を、実装技術に依存するモデル(PSM)に対応づけるためのツールが必要となります。

モデリングツール間でのモデルの交換に関する、UMLの仕様の強化

MDA、および、モデルの交換を目的とした、UMLの改定内容については、直接的には、ツールベンダーが考慮しないといけない内容です。しかし、最終的には、これらの改定は、UMLでモデリングを行う"UMLのエンドユーザ"にとっての利点であると考えることができます。

UMLの今後

最後に、UMLの今後について予測したいと思います。

まず、UML2.0において、図や表記が追加された点については、システム開発の成果物をできるだけUMLで記述したいという、開発者のニーズを満たしつつあると考えられます。今後も新しい図や表記が、UMLの仕様として追加される可能性があります。ただし、UMLの仕様が肥大化し、UMLを使いこなすのが難しくなる可能性もあります。そのため、UMLの仕様のうち、頻繁に使う箇所を選んで、UMLのサブセット(部分集合)を定義する動きが出てくる可能性もあります。システム開発を行う企業においては、UMLの仕様として、自社で使う図や表記のみを開発標準として限定する可能性もあります。UMLを利用する立場からすると、UMLの図や表記のうちで、必須の箇所と、あまり重要でない箇所を区別できるガイドラインが必要となるかもしれません。

次に、UMLをMDAの手法に適合させるための改定については、システムの開発者が既存のモデルを、より洗練された新しい技術に適合させることができるので、特定の業務領域に関するモデルの使用期間が、より長くなる でしょう。ただし、開発者がこの利点を享受するために必要な条件は、ツールの機能が向上することです。ツールが、実装技術に依存しないモデル(PIM)から実装技術に依存するモデル(PSM)を生成できないといけないからです。

また、モデルの交換に関する改定については、UMLの利用者にとって、2つの利点があります。まず、モデルの相互交換が可能になるので、モデリングツールの競争が促進されます。また、それぞれの企業や団体が個別に作成していたモデルが、各業界において流通しやすくなると思われます。

さらに、UMLのプロファイル(J2EEなどの特定の対象に対するUMLの拡張仕様)についても、次々と標準化されていくと考えられます。MDAや、ツール間でのモデル交換を発展させるためには、プロファイルの標準化が必要です。

補足

UMTP

オージス総研の策定したUML技術者認定制度は、UMTP(UMLモデリング推進協議会)に移管されました。UMTPは、UMLモデリング技能認定試験を実施しています。UMTPの試験の特長は、UMLの表記法よりもむしろモデリングを重視している点です。UMTPでは、モデリング技術者のスキルをL1からL4の4レベルに分類し、それらのレベルで必要とされる知識体系とスキルセットを以下のようにまとめています。
レベル モデリングスキル 説明
L4 実践に基づいてモデリングを指導できる ・L3のスキルを有し、開発プロジェクトでモデリングを一定数あるいは期間実践した経験を持つ
L3 実務でモデリングが実践できる ・拡張性や変更容易性の点で高品質なモデルを定義できる
・ ビジネスモデリング、分析、アーキテクチャ設計、組み込み開発を行うための専門的な知識を備えている(分野は選択)
L2 UMLモデルの読み書きが普通にできる(モデリングリテラシーがある) ・ 開発範囲の一部を担当し、モデリングができる
・ 他者のモデルの意味を理解できる
L1 簡単なUMLモデルの意味が分かる ・UMLなどを使ってモデリングを行う最低限の知識を持っている

詳しくは、UMTP(UMLモデリング推進協議会)の以下のWebページを参照してください。

UMTP
https://www.umtp-japan.org/

UML2.0の仕様書

UML2.0の仕様書は2003年12月末時点ではまだ確定されていません。つまり、UML2.0のFormal(正式版)は現時点ではありません。しかし、UML2.0の仕様書のFinal Adopted(最終的に採用された版)は、OMGの以下のWebページですでに公開されています。

https://www.omg.org/uml/

このWebページによると、UML2.0は以下の6つの仕様書から構成されています。

なお、UML2.0については今回は詳しく説明しませんが、UML2.0では、UML1.xと比べていくつか図が追加されています。UML2.0の図は以下のとおりです。

[UML2.0で定義されている図の種類](UML 2.0 Superstructure Final Adopted Specification 2003年8月2日版より抜粋)UML2diagrams

(注意) UML2.0では、上記のCollaboration Diagramが、Communication Diagramという名称に変わっています。

参考

文責: 林田幸司/筒井彰彦


© 2003 OGIS-RI Co., Ltd.
HOME HOME TOP TOP