設計手法の参考書籍

 要件定義や基本設計において、ドメインモデリング(概念モデリング)、ユースケースモデリングを行いますが、そのために必要なモデリングの手法について参考になる本を紹介します。
 洋書(の翻訳)はあまり好きではないのですが、ダグ・ローゼンバーグとスコット・W・アンブラーの本は好きですね。

 ユースケースを書こうとすると、どのように書くのがよいのか非常に迷います。テンプレートや本を元に書くことはできても「本当にこれがシステム開発の設計として役に立つものになっているのだろうか?」という疑問が湧いてくるのは私だけでしょうか?その疑問に応える一つの解がユースケース駆動開発実践ガイド (OOP Foundations)です。
 なるべく要素技術を含めずにシステムの要件をユースケースによって記述した場合、実装する視点で見れば、非常に曖昧な情報となります。この要件と実装の間に横たわる大きなギャップをどのようにして埋めて行くのか?整合性を取りつつ、検証可能なユースケースを書くにはどうすればよいのか?について、非常に参考になります。特にユースケースロバストネス分析によって検証する点がポイントです。

ユースケース駆動開発実践ガイド (OOP Foundations)

ユースケース駆動開発実践ガイド (OOP Foundations)

 アジャイルという言葉は、アンチCMM/CMMIというイメージで一昔前に騒がれ、言葉だけが一人歩きしていたような感じを受けていました。本質的にはCMM/CMMIはシステム開発に必要な要素とプロセスを定義するものであり、アジャイルはマインドセットとその手法であると私は理解しています。そのアジャイルの活かし方の具体的な例を示すのが、アジャイルモデリング―XPと統一プロセスを補完するプラクティス (OOP Foundationsシリーズ)です。
 アジャイルは要件定義や基本設計をする際にこそ活きるマインドセット、手法であり、そのような理解の上ではCMMIとの親和性も非常に高くなると思います。要件定義、外部設計の作業をする際に行き詰まりを感じたら、アジャイルの基本原則を読んでみると効果的です。特に複数のモデルの効果的な使い方などがポイントです。

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

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

 私が開発するシステムは、一般的な業務系システムよりも、ミッションクリティカル系システムの方が多いため、こちらが非常に参考になります(組み込みではないのですが)。特に状態遷移表やデシジョンテーブル、アクティビティ図の使い方などがポイントです。