オブジェクト指向分析・設計には,上級者でも陥りがちな「落とし穴」がたくさん存在する。代表的なものとしては,次のようなことが挙げられる。読者の方に当てはまる項目はないだろうか?

(1)UMLで図を描くこと自体が目的になってしまっている。

(2)ユースケースをよく理解せず,それをオブジェクト指向だと思い込んでいる。

(3)ユースケース図だけでユーザー・インタフェースからすべての業務フローまでカバーしようとしている。

(4)ロバストネス分析をせず,分析モデルを単純に詳細化すれば設設になると思い込む。

(5)オブジェクト指向でやるからにはシステムの汎用性・再利用性が重要だと考えすぎ,設計作業に時間を使い過ぎている。

 落とし穴に一度はまると,抜け出すのは容易ではない。結果として,開発コストの増大やプロジェクトの遅延を招いてしまう。しかもやっかいなことに,落とし穴というのは自分がはまっていることになかなか気づかないものなのだ。

 これらの問題は,ひとえにオブジェクト指向分析・設計の目的をきちんと理解していないことによる。

 筆者の経験からいくつかアドバイスをすると,まずは,自分がこれから作るシステムの対象となる業務の目標を「一言」で表現してみることだ。5W1H(When,Where,Who,What,Why,How)を使った一文だけで言い表し,それをUMLのクラス図で描いてみればよい。こうすることで自分の考えもクリアになるし,分析・設計作業で重視すべきポイントも把握しやすくなる。

 ユースケースの記述も簡潔を旨とし,あくまでも「要求管理台帳」として使うのが望ましい。詳細は目的に応じて,様々な図表を選択すればよい。

 落とし穴に陥らないためにもう1つ忘れてはならないことは,「モデリングを行うのは,あくまでシステムの全体像を関係者全員で共有し,コミュニケーション効率を上げるため」ということだ。全体像に影響しない個別の詳細情報に関しては,適度に“手抜き”をしたり,場合によってはユースケースの記述を最小限に抑え,詳細は従来手法での画面遷移を記述するなど,基本を押さえた上で柔軟な頭で臨むべきだ。

(鶴岡弘之,玉置亮太)