要件定義とは?Webアプリの具体例で学ぶ、要求の整理と要件の書き方|確認問題の回答例
要件定義とは?Webアプリの具体例で学ぶ、要求の整理と要件の書き方の確認問題の回答例です。依頼内容を具体的な条件へ書き直し、その条件をどう確認するかまで整理しましょう。
問題1:入力できる値を決める
「学習時間を入力できる」とだけ書かれています。実装前に依頼者へ確認したいことを3つ挙げ、この記事の条件を使って要件の文章に書き直してください。
確認例は、時間の単位、入力できる範囲、小数を許すかです。必須かどうかや、範囲外のときの扱いも確認します。
記入例:「ログイン済みの利用者は、学習時間を分単位の整数で1以上480以下として登録できる。未入力、整数でない値、範囲外の値では理由をエラー画面に表示し、記録を保存しない。」これはこの記事で合意した条件の例であり、上限を確認なしに決めてよいという意味ではありません。
問題2:表示と保存結果を別々に確認する
「不正な時間ならエラーを表示する」という要件で、0分を登録するとエラー画面は出ますがDBにも1件追加されました。何を書き足し、何を確認する必要がありますか。
「入力条件を満たさない場合、記録を保存しない」を明記します。確認時は他の項目を有効にして0分を送り、エラー表示と、DBの件数が実行前から増えていないことの両方を確かめます。エラー画面だけを確認しても、誤って保存した不具合を見逃します。
問題3:他の利用者の記録も用意する
「自分の記録だけを表示する」を確認するため、田中さんの記録だけを用意しました。どのようなデータを追加し、何が表示されないことを確かめますか。
田中さんに紐づく記録と、佐藤さんに紐づく記録を用意します。田中さんでログインして一覧を開き、田中さんの記録が表示され、佐藤さんの記録が含まれないことを確かめます。別の利用者へ切り替えた場合や記録0件の場合も、別ケースとして整理できます。
問題4:変更した条件と確認例をそろえる
学習時間の上限を480分から720分へ変更することになりました。更新する記録と、変更後に確認する境界付近の値・期待結果を答えてください。
変更理由と合意内容を残し、入力ルール、R-03/R-04を参照する設計、画面の説明、入力確認の実装、対応するテストを更新します。変更前後の版を区別します。
| 確認する値 | 他の入力が有効な場合の期待結果 |
|---|---|
| 0 | 下限未満。エラーを表示し保存しない。 |
| 1 | 下限。登録できる。 |
| 480・481 | どちらも新しい範囲内なので登録できる。旧上限の直後を誤って拒否していないか確かめる。 |
| 719・720 | 上限直前と上限。登録できる。 |
| 721 | 上限超過。エラーを表示し保存しない。 |
未入力・小数・文字列を拒否する条件は、今回の上限変更だけでは変わりません。境界の確認だけで全テストが完了するわけではありません。
問題5:測定条件を質問し、未決事項を管理する
依頼者から「一覧は速く表示してほしい」と言われました。勝手に数値を決めずに、何を質問し、決まらない場合はどのように残しますか。
対象の一覧画面、保存件数、1回に表示する件数、同時利用者数、端末・通信環境、計測の開始と終了、許容できる時間を確認します。「速い」を測定できる条件に変えるための質問です。
すぐ決まらなければ、未決事項として「確認したい条件」「判断する担当者」「具体的な期限」「性能検証や環境選定への影響」を残します。仮の2秒という目標を置く場合も、提案なのか合意済みなのかを明記します。