要求と仕様
僕なりの要求、仕様、設計、実装の流れの解釈をまとめます。
いきなり例題です。
顧客の要望として「取引先情報の一覧を出力したいんだ」が出たとします。
これを要求として定義します。
- 要求
- 取引先情報の一覧を出力したい*1
次に、要求から仕様を抽出します(逆にいうと、要求を満たすための仕様を定義します)。
このときのポイントは仕様は検証可能であること。
- 仕様
- 取引先名による絞り込みが行えること(指定なしの場合は全件出力すること)
- 取引先情報には取引先名、所在地、電話番号、住所を表示すること
- 一覧の出力順序は、取引先名、あるいは取引の多い順にソートできること
- 帳票(PDF)形式で出力すること
次に、仕様を満たすべく設計作業を行います。
- 設計
- 最適な画面イメージ、帳票イメージをデザインする
- 画面と機能の連携(イベント)を定義する
- 帳票に出力するデータの取得方法を検討する
最後に、設計作業に従い実装します。
- 実装
- 画面、帳票プログラムの実装
- イベント、ビジネスロジックの実装
目的と手段の関係
要求と仕様は、目的と手段の関係にある。
仕様と設計は、目的と手段の関係にある。
設計と実装は、目的と手段の関係にある。
要件定義の仕事
要件定義の仕事は、要求だけを定義するんじゃなくて、仕様まで定義する。*2