ObectSquare

[オージス総研の本]


UMLモデリングのエッセンス
標準オブジェクトモデリング言語の適用

原題:UML DISTILLED
    : Applying the Standard Object Modeling language
Martin Fowler, Kendall Scott 著 羽生田栄一 監訳
アジソン・ウェスレイ・パブリッシャーズ・ジャパン 2,520円 (税抜き 2,400円)

『訳者あとがき』より 『訳者あとがき』より
『目次』より 『目次』より

REFERENCE

書籍紹介 書籍紹介:『UMLモデリングのエッセンス』

『訳者あとがき』より

本書は、Martin Fowler氏のオブジェクト指向開発のエッセンスを抽出したすばらしいテキストUML Distilled(「精製済みUML」の意。誤っても「UMLの上澄み」などと言わないように!)の日本語訳である。できるだけ、マーティン氏の明快でユーモアに富む文体が引き継がれるように心がけたが、成功しているかどうかは読者に判定してもらうしかない。

題名からするとUMLの入門的紹介本という印象を持たれると思うが、あのAnalysis Pattern(「分析パターン」)の著者であり、現実のプロジェクト経験豊富な彼のことであるから、ただのUMLの紹介と思って読み進めると、うれしい驚きを読者の皆さんは覚えることと思う。本書においては、UMLはあくまでも脇役であり、著者の真の狙いが、オブジェクト指向分析設計におけるモデリング上の心得を簡潔に、しかし重要なポイントは漏れなく持ち運びに便利な小冊子にまとめることにあると発見されたことだろう。

確かにUML(統一モデリング言語)は、その名前のとおり、オブジェクト指向でシステムを開発する際の一般的なモデル文書記述言語として、OMGにおいても97年11月に標準として認定され、現場レベルでも急速に普及しつつある。しかし、UMLは所詮は単なるモデル記述言語でしかない。それで書いた(描いた)オブジェクト指向モデルに心を入れ、ユーザーの意図を的確に反映させ、開発者にシステムの本質を明確に伝える責任を持っているのはモデリングを行う分析設計者自身に他ならない。その意味で、マーティン氏のUML解説は、各モデル記述がそうあることの背景に含まれる深い意味、ニュアンスを開発時の注意点とともに伝えてくれる点でモデリングする側も読み取る側も必読である。

特に、マーティン氏が提案している、概念モデル、仕様モデル、実装モデルという3つの異なるレベルの観点をモデルに対して使い分けるというノウハウは今後、実践的な場でモデル開発を行う上で非常に重要である。また、ユースケースを具体的にどのように利用してプロジェクトを推進していくかについても簡潔だが重要な示唆がいくつもなされている。さらに「契約による設計」といった現場からは疎かにされがちなテーマもその重要性を得々と説いてその有効性を納得させられる一方で、著者のホームグランドの1つである医療情報システムの例を引きながら、システムアーキテクチャの基本を「アプリケーション・ファサード」という具体的なノウハウとして(もちろんオブジェクトの世界におけるノウハウの標準的な記述言語であるパターンとして)示してくれる。また、UML解説に紛れて、CRCカードの重要性やリファクタリング技法の紹介をしてくれたり、と次世代のソフトウェアエンジニアの教育にも抜かりない。

今述べたような実践的なモデリング作業にどうしても必要なUML要素を厳選してその実用的な利用法を具体例で提示してくれているのが、本書である。したがって、UMLでも大局的な観点、現実的な視点に立って、必要ないと思われるものは切り捨てられている。たとえば、システムのソフトウェア構成を表現するためのコンポーネント図は、パッケージとその依存関係で代用されている。コンポーネントは実行時のシステム構成を表現する配置図においてのみ用いられている。これは必ずしもUMLを否定しているわけではなく、実用上必要なダイアグラムを増やさない(パッケージ図はクラス図の1変種であり、UMLで認められている正当な図である)という著者の親ごごろである。読者もUMLに対するこのような著者のスタンスを学んで欲しい。必要最低限のモデル要素を、読者やプロジェクトの事情に合わせてステレオタイプや制約を用いて随時カスタマイズして用いるのである。そういったことが可能なのもUMLがメタモデルとして規定されているおかげである。

本書で、著者の考えるオブジェクト指向開発の基本的なポリシーに賛同されたら、ぜひ読者の皆さんも、自分たちのプロジェクトでUMLの適用とともに実践して欲しい。

ページのトップへ戻る

『目次』より

第1章 UMLの概要
第2章 開発プロセスの概要
第3章 ユースケース
第4章 クラス図:基本的要素
第5章 クラス図:拡張的概念
第6章 相互作用図
第7章 パッケージ図
第8章 状態図
第9章 アクティビティ図
第10章 配置図
第11章 UMLとプログラミング
付録A いくつかの技法とその使用法
付録B UML1.0 から 1.1 への変更点にかかわる注釈

ページのトップへ戻る

© 1998 OGIS-RI Co., Ltd.
HOME HOME TOP オブジェクトの広場 TOP