
257
導
入
編
1
設
計
編
ア
キ
テ
ク
チ
ャ
編
2
3
4
5
6
7
5
合目的性とは、ソフトウェアが機能要件を実現しているかということで
す。ユースケースなどで記述された機能要件を、ソフトウェアで漏れなく正
しく実装したかどうかです。当然ながら、実装されていない機能があれば、
ユーザーの満足どころか、まず利用に耐えられないでしょう。
「機能が実装されないなんてことが本当にあるのか?」と思うかもしれま
せんが、大きなシステムを構築するプロジェクトでは起こり得る問題です。
特に、従来のようなウォーターフォール型の開発プロジェクトでは、機能仕
様書などといった曖昧なフォーマットのドキュメントで記述していたので、
十分に起こり得る問題だったのです。
そうであれば、「ドキュメントのフォーマットを改善すればいいのでは?」
と思うかもしれません。確かに、UMLなどの定義の明確なフォーマットで
記述すれば、以前ほどこの問題は起きません。ただ、それだけでは不十分で
す。
本書の「設計編」で述べた内容とも関係しますが、設計の目的は「要件定
義の内容をシステムでどのように実現するかを検討する」ことです。ユース
ケースなどで記述された外部仕様を、漏れなく正しくプログラムに実装する
ためには、インプットである要件と、アウトプットであるプログラムが明確
に定義され、マッピングされることが重要です。このように、あるユース
ケースで定義された機能要件が、どのクラスで実現されているかを確認でき
ることをトレーサビリティと呼びます。トレーサビリティを実現するには ...