Unit 04-03(STAGE 04 の 3 / 8)

機能要件と非機能要件

学習状況:未着手

このユニットの結論

機能要件は「システムが何をするか」、非機能要件は「どのくらいの速さ・量・安全さ・止まりにくさで動くか」です。

機能要件だけで作ると、「動くが使えない」システムになります。非機能要件は、機能と同じ重さで決める必要があります。

1. 何の話か

要件には、大きく2つの種類があります。

2. なぜ必要か

業務部門は、機能要件については具体的に話せます。「この画面でこれを入力したい」と言えるからです。

一方、非機能要件は、聞かれないと出てきません。「速さ」や「止まりにくさ」は、当たり前に満たされると思われがちだからです。

その結果、

ということが、テストや本番の直前に分かります。

3. このユニットで分かること

4. 非機能要件の代表的な種類

種類 何を決めるか(一般的な例)
性能 画面の応答時間、処理にかかる時間、同時に使える人数
可用性 どのくらい止まらずに動くか、止まったら何時間で戻すか
データ保全 障害時に、どこまでのデータを失ってよいか
セキュリティ 誰が何を見て、何を変えてよいか、操作の記録を残すか
運用・保守 監視の方法、バックアップ、問い合わせ対応
移行 古いデータをどこまで、どの品質で移すか

具体的な数値は、業務の重要さと費用のバランスで決めます。数値を決めないまま「速く」「止まらない」と書いても、要件にはなりません。

CASE FACTFROZEN正本に記載されたアステリア案件の事実

アステリア案件に関係する記載

  • 約120人規模のプロジェクト
  • 約36本のシステム連携
  • 10年分のデータ移行
  • 成果物に REQ-003 非機能要件一覧 がある
  • Unit「06 壊れることを前提に設計する」に、利用人数・停止時間・データ損失・「絶対に止まらない」を扱うUnitがある

アステリア案件の非機能要件の具体的な数値(応答時間、停止時間、データ損失の許容範囲など)は、正本に記載がありません。未確定

5. THINK — 機能テストは全部合格

ある画面の機能テストが、すべて合格しました。

問題

この画面は、本番で使えると言えるでしょうか。

判断例を開く

判断

まだ言えません。

確認すること:

  • 本番と同じくらいのデータ量で試したか
  • 利用が集中する時期の利用人数で試したか
  • 応答時間の目標が決まっていて、それを満たしたか
  • 権限のない人が使えないことを確かめたか

機能が正しいことと、業務で使えることは別です。

6. よくある失敗

7. 成果物との接続

危機演習 CR06 性能目標2秒に対して32秒 では、性能の問題が見つかった場面を体験します(学習上の接続です。正式な対応関係ではありません)。

8. AI WORKFLOW — 抜けている非機能要件を探させる

指示例:

「次の要件一覧を、性能・可用性・データ保全・セキュリティ・運用・移行の観点で確認し、決まっていない項目を質問の形で挙げてください。数値の目標は提案せず、確認すべき点だけを示してください。」

9. REVIEW — AIの指摘を確認する

  • 指摘された抜けが、別の文書で決まっていないか
  • AIが一般的な数値を、このプロジェクトの目標のように書いていないか
  • 業務の重要さの違い(止まってよい業務・止まってはいけない業務)を無視していないか

ADVANCED深掘り — 実務者向けに一段深く

深掘り — 品質の分類と、特性どうしの引き合い

分類を借りる

非機能要件は、聞かれないと出てこないため、抜けを防ぐには「何を聞くか」の一覧が要ります。世界で共有されているソフトウェア品質の国際規格(ISO/IEC 25010)は、品質を、機能の適合性、性能効率、互換性、使用性、信頼性、セキュリティ、保守性、移植性の 8 つに分けています。この一覧を、要件の聞き取りの目次として借りると、「性能と可用性だけ聞いた」という抜けが減ります。すべてに数値を置く必要はなく、「この業務では問わない」と決めた記録も残します。

特性は引き合う

品質の特性は、独立ではありません。セキュリティを上げると使用性が下がる(認証の手順が増える)、性能を上げると保守性が下がる(特別な作りになる)、というように、片方を上げると片方が下がる組み合わせがあります。非機能要件を決めるときは、特性どうしの引き合いを一覧にし、どちらを優先するかを業務の重要さで決めます。全部を最高にする要件は、費用が見積もれず、作れません。

業務ごとに水準を変える

同じシステムの中でも、止まると会社の業務が止まる機能と、翌日に回せる機能があります。非機能の水準は、システム全体に 1 つではなく、業務の重要さで段階を分けて置きます。段階を分ければ、重要な機能に費用を集め、そうでない機能の費用を抑えられます。

測り方の例

  • 8 つの分類のうち、要件として決めた(または「問わない」と決めた)分類の数
  • 引き合う特性の組み合わせで、優先を決めて記録した数
  • 業務の重要さの段階の数と、段階ごとの機能の数

現場で確かめる問い

  • 非機能要件の聞き取りに、分類の一覧を使っているか。抜けている分類はどれか
  • 引き合う特性(セキュリティと使用性、性能と保守性など)で、どちらを優先するか決めたか
  • 非機能の水準は、システム全体に 1 つか、業務の重要さで段階を分けているか
  • 「この業務では問わない」と決めた分類について、記録が残っているか

アステリア案件の非機能要件の分類、特性の優先、業務の重要さの段階は、正本に記録がありません。記録なし

10. 人間が判断すること

  • 非機能要件の目標値と、それを満たす条件
  • 目標を上げたときの費用を、受け入れるか
  • 目標を満たせない場合に、業務側でどこまで許容するか

11. 判断演習

「検索画面は速く表示されること」という要件があります。

この要件を確かめられる形にするために、決める必要があることを挙げてください。

  • 何秒以内か
  • どのくらいのデータ量のときか
  • 何人が同時に使うときか
  • どの時期(普段・繁忙期)か

あなたの記録あなたの考え。事実ではありません

判断ノート

既定では保存しないため、ページを離れると消えます。

このユニットで覚えてほしいこと

機能要件は「何をするか」、非機能要件は「どのように動くか」です。

非機能要件は、数値と条件をそろえて決めて、初めて確かめられる要件になります。

次に読むもの

本文で参照している成果物:REQ-002 要件一覧、REQ-003 非機能要件一覧

関連成果物:未確定(baselineに対応表なし)

関連危機演習:未確定(baselineに対応表なし)

学習状況

状態:未着手