UP関連本を整理

Rational Unified Process, The: An Introduction (Addison-Wesley Object Technology Series)』をチェックしたついでに、手元にあるUP関連本を整理してみた。

原典

Unified Software Development Process, The (Addison-Wesley Object Technology Series)

Unified Software Development Process, The (Addison-Wesley Object Technology Series)

翻訳:『UMLによる統一ソフトウェア開発プロセス―オブジェクト指向開発方法論 (Object oriented selection)

UPの原典。すべてはここから。

UML

Unified Modeling Language Reference Manual, The (2nd Edition) (Addison-Wesley Object Technology Series)

Unified Modeling Language Reference Manual, The (2nd Edition) (Addison-Wesley Object Technology Series)

Unified Modeling Language User Guide, The (Addison-Wesley Object Technology Series)

Unified Modeling Language User Guide, The (Addison-Wesley Object Technology Series)

Object Constraint Language, The: Getting Your Models Ready for MDA (Addison-Wesley Object Technology Series)

Object Constraint Language, The: Getting Your Models Ready for MDA (Addison-Wesley Object Technology Series)

翻訳:『UML/MDAのためのオブジェクト制約言語OCL 第2版

UPの基盤技術であるUMLはこの3冊が原典。いずれもUML 2.0に対応した第2版。

Unified Software Development Process, The (Addison-Wesley Object Technology Series)』と同時に出たのは第1版である『Unified Modeling Language Reference Manual, The (Addison-Wesley Object Technology Series)』(翻訳『UMLリファレンスマニュアル (Object Technology Series)』)、『The Unified Modeling Language User Guide (Addison-Wesley Object Technology Series)』(翻訳『UMLユーザーガイド (Object Technology Series)』)、『The Object Constraint Language: Precise Modeling With Uml (Addison-Wesley Object Technology Series)』。

プロジェクト管理

Software Project Management: A Unified Framework (Addison-Wesley Object Technology Series)

Software Project Management: A Unified Framework (Addison-Wesley Object Technology Series)

翻訳:『ソフトウェアプロジェクト管理―21世紀に向けた統一アプローチ (Object Technology Series)

UPのソフトウェア・プロジェクト管理としての側面はこれが原典。
Inception、Elaboration、Construction、Transitionのphaseから構成されるmacro processと、イテレーションとなるmicro processの二重構造はソフトウェア開発の本質的な枠組みであると思う。
計画駆動の対極にあるアジャイルにおいても、『Agile Project Management: Creating Innovative Products (Agile Software Development Series)』のようにmacro process/micro process的な枠組みを提案しているものもある。

入門

Rational Unified Process, The: An Introduction (Addison-Wesley Object Technology Series)

Rational Unified Process, The: An Introduction (Addison-Wesley Object Technology Series)

UPのIBM/Rationalによる商法版Rational Unified Process (RUP)の(公式)入門書。RUPの概要を的確に知ることができる。『Unified Software Development Process, The (Addison-Wesley Object Technology Series)』と比較すればRUPとしての拡張部も確認できる。

Unified Process Explained, The

Unified Process Explained, The

翻訳:『入門 統一プロセス (Kendall Scottの入門シリーズ)

UPのエッセンスが箇条書きにまとめてある本。入門書としては逆に分かりづらいような気がする。リファレンス・カード的な使い方がよいかもしれない。

解説

Rational Unified Process Made Easy, The: A Practitioner's Guide to the RUP (Addison-Wesley Object Technology Series)

Rational Unified Process Made Easy, The: A Practitioner's Guide to the RUP (Addison-Wesley Object Technology Series)

翻訳:『ラショナル統一プロセス“RUP”ガイドブック―RUP実践者を成功に導く

RUPの(公式)解説本。

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (Addison-Wesley Object Technology Series)

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (Addison-Wesley Object Technology Series)

最近はRUPの解説本が多いのだけれど、本書はUPそのものに対する貴重な解説本。UML2.0対応の第2版である。

拡張

Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process

Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process

翻訳:『アジャイルモデリング―XPと統一プロセスを補完するプラクティス (OOP Foundationsシリーズ)

UPとアジャイルは矛盾しない。プログラムではなくモデルを軸にプロジェクトを駆動するのならばそうなる。もちろん、UPには計画駆動という色合いが強いのだけれど、UPの構成要素はOOA/Dの基本部品であり、計画駆動の有無に関わらず有効である。つまり、UPを素材にしたアジャイルというのも原理的には可能で、大規模な企業システム開発ではXPのような極端なものは使えない以上、有力な選択肢となる。

Enterprise Unified Process, The: Extending the Rational Unified Process

Enterprise Unified Process, The: Extending the Rational Unified Process

RUPを企業システム向けに拡張したEnterprise Unified Process (EUP)。企業システム開発で必要なフェーズ(phase)や作業分野(discipline)が追加されている。

源流

UPの開発手法は、大枠ではOOSE、OMT、Booch法を足して3で割ったものである。

Unified Software Development Process, The (Addison-Wesley Object Technology Series)』は、開発プロセスの定義の比重が高く、開発プロセスを構成する開発技法についての解説はあまり充実していない。このためUPの理解にはOOSE、OMT、Booch法の理解が必要であり、これらの方法論の解説書は"源流"とはいえ引き続き重要参考図書である。(とはいえ日本語版はアマゾンでは見つからないようである。すでに手に入らない状況になっているのかもしれない。)

Object-Oriented Modeling and Design: International Edition

Object-Oriented Modeling and Design: International Edition

超有名なOMT。オブジェクト指向分析・設計をメジャー技術にした本である。(↑はまぞう君で出てくる上の赤い表紙は国際版のもの。)
今の目で見るとデータ・モデリングにオブジェクトを継ぎ足しているという感じで、過渡期の趣がある。とはいえ、ユースケース技術以外の分析技術はこのOMTが今でも十分に参考になる。

最近、改版版が『Object-Oriented Modeling and Design with UML (Alternative Etext Formats)』として出た。引き続き教科書として利用できるバランスのよい内容となっている。これから買うならもちろんこちらがお勧め。

Object-Oriented Analysis and Design with Applications (2nd Edition) (Addison-Wesley Object Technology Series)

Object-Oriented Analysis and Design with Applications (2nd Edition) (Addison-Wesley Object Technology Series)

研究所的な切り口だとどうしても"分析"技術までで終わってしまうのだけれど、現場では"設計"技術が必要である。分析とオブジェクト指向プログラミングの間を繋ぐオブジェクト指向設計という技術分野を確立した本。
ボクはこの本を読んでOOA/Dが実用フェーズに入ったことを感じてOOA/Dを調べ始めたので、ボクにとって思い出深い本である。

Object Oriented Software Engineering: A Use Case Driven Approach (ACM Press)

Object Oriented Software Engineering: A Use Case Driven Approach (ACM Press)

現在のOOA/Dはユースケース技術を抜きに語ることはできない。その嚆矢となった本。

Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)』で言うところのユースケース・スライスの元となる概念が解説されており、衝撃を受けた。ユースケース技術の焦点の一つは今も昔もユースケース・スライスである。

マニア向け

The Unified Process Elaboration Phase: Best Practices in Implementing the UP

The Unified Process Elaboration Phase: Best Practices in Implementing the UP

The Unified Process Inception Phase

The Unified Process Inception Phase

The Unified Process Construction Phase (R & D Developer Series)

The Unified Process Construction Phase (R & D Developer Series)

The Unified Process Transition and Production Phases (Masters Collection (Lawrence, Kan.).)

The Unified Process Transition and Production Phases (Masters Collection (Lawrence, Kan.).)

以上の本は、とにかくマニア向け。ボクも買っただけで手をつけていない。

その他

その他、UPとの関連で思い浮かぶ本。案外こういうのが重要だと思うので挙げておきます。

Use Case Driven Object Modeling with UML: A Practical Approach (Addison-Wesley Object Technology Series)

Use Case Driven Object Modeling with UML: A Practical Approach (Addison-Wesley Object Technology Series)

翻訳『ユースケース入門―ユーザマニュアルからプログラムを作る (Object Technology Series)

前述したようにUPの開発手法は、大枠ではOOSE、OMT、Booch法を足して3で割ったものである。
同じOOSE+OMT+BoochアプローチでUPとは独立して教育向けのお手軽版として開発された開発プロセスが本書のテーマとなっているICONIXである。このため図らずもUPの入門書として優れたものになっている。

サンプルアプリケーション開発をテーマにした本書の続編が『Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example (Addison-Wesley Object Technology Series)』(翻訳『ワークブック形式で学ぶUMLオブジェクトモデリング―「ユースケース駆動」でソフトウェアを開発する』)として出ている。

Designing Object-Oriented Software

Designing Object-Oriented Software

ユースケースの技術的な基盤はシナリオから責務を抽出し、オブジェクトに割り当てる技法にある。その技法の原典ともいえる本。「シナリオから責務を抽出し、オブジェクトに割り当てる技法」はユースケースに限らず、オブジェクト指向そのものの基盤技術なので、そういう意味で超原典と言っても過言ではない。

これから買うなら、実質的な改版版の『Object Design: Roles, Responsibilities, and Collaborations (Addison-Wesley Object Technologiey Series)』がよいでしょう。

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2nd Edition)

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2nd Edition)

OOA/Dの入門書として有名な本。日本的な感覚では入門書というより解説書と考えた方がよいでしょう。

この本の第3版は『Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development』として出版されているのだけれど、そこからは「Unified Process」の文言が落ちている。進化してUPを超えたということかもしれない。

Writing Effective Use Cases (Agile Software Development Series)

Writing Effective Use Cases (Agile Software Development Series)

翻訳:『ユースケース実践ガイド―効果的なユースケースの書き方 (OOP Foundations)

UPの成否はユースケースにかかっている。ユースケースは非常に難しい技術であるけれど、その最重要解説書。本書の登場によってユースケース技術のステージが一つ上がった。
ユースケース本は他にも色々あるのだけれど、いずれまとめてみたいと思っている。