【基本情報技術者の実務】依頼メモの要望を「機能要件」と「非機能要件」に仕分けする
システム開発の受付担当から、依頼メモの整理について相談が届く。
「受付を楽にするクエスト管理システムを作りたくて、要望をメモにまとめました。冒険者がIDでログインして受けたいクエストを選んで申し込める、受付長が新しいクエストを登録・修正・削除できる、朝の混雑時でも画面が3秒以内に表示される、機密情報が漏れないよう通信を暗号化する、日中はほとんど落ちない。これを機能要件と非機能要件に分けて整理したいのですが、どこで線を引けばよいでしょうか?」
基本情報技術者の知識は、こうした要望の一覧を機能要件と非機能要件に仕分けして筋道立てて整理できたときに力になる。この記事では、その仕分けの軸を整理する。
まず結論:軸は「何をするか」と「どう動くか」
仕分けの軸はシンプルで、機能要件はシステムが何をするか(提供する機能・振る舞い)、非機能要件はどの程度の品質で動くか(性能・セキュリティ・可用性など機能以外の品質)で分ける。
| 区分 | 問い | メモの例 |
|---|---|---|
| 機能要件 | システムが何をするか | ログイン/クエスト申込/登録・修正・削除 |
| 非機能要件 | どの程度の品質で動くか | 3秒以内の表示/通信の暗号化/落ちにくさ |
この2つの軸を先に置くと、5つの要望がきれいに2列へ収まる。
1つずつ仕分けして理由を添える
軸が決まったら、要望を1行ずつ当てはめる。理由を一言添えると、整理が相手にも伝わる。
- 機能要件:冒険者がIDでログインしてクエストを一覧から選び申し込む。受付長がクエストを登録・修正・削除する。どちらも「システムが提供する動き」なので機能要件に入る。
- 非機能要件(性能):朝でも画面が3秒以内に表示される。これは応答速度という品質の話なので非機能要件。
- 非機能要件(セキュリティ):通信を暗号化して情報漏えいを防ぐ。守り方の品質なので非機能要件。
- 非機能要件(可用性):日中はほとんど落ちない。止まりにくさという品質なので非機能要件。
とくに非機能要件は見落とされやすい。表示速度・暗号化・止まりにくさは機能そのものではないため機能要件の陰に隠れがちだが、ここを拾えると仕分けが正確になる。
プロならこう伝える
いただいたメモを、機能要件と非機能要件の2つに分けて整理しました。分ける軸は「システムが何をするか」か「どの程度の品質で動くか」です。
機能要件は、冒険者がIDでログインしてクエストを一覧から選び申し込むこと、受付長がクエストを登録・修正・削除できることの2つです。どちらもシステムが提供する動きなので、ここに入ります。
非機能要件は、朝でも3秒以内に表示される(性能)、通信を暗号化して情報漏えいを防ぐ(セキュリティ)、日中はほとんど落ちない(可用性)の3つです。これらは機能そのものではなく、どのくらいの品質で動くかを表すので、機能要件とは別に置いておくと、後の設計やテストで扱いやすくなります。
説明で外したくないポイント
- 軸を先に示す:機能要件は「何をするか」、非機能要件は「どの品質で動くか」の2軸を最初に置く。
- 非機能を3種で拾う:性能(3秒)・セキュリティ(暗号化)・可用性(落ちにくさ)を漏らさず非機能側へ。
- 理由を一言添える:なぜその区分に入るのかを書くと、仕分けが整理として伝わる。
この場面で効いている基本情報技術者の知識
- 機能要件:システムが提供する機能・振る舞い(何をするか)
- 非機能要件:機能以外の品質(性能・セキュリティ・可用性など)
- 性能・可用性:応答速度や、止まりにくさといった動き方の品質
「機能要件と非機能要件を軸で分ける」という知識が、そのまま依頼メモを整理する仕分け作業になっている。
自分でやってみる
学習アプリ「シカクエ」の実務クエストでは、この相談に自分で仕分けを書いて採点を受けられる(架空の練習用)。どの要望がどちらの区分に入り、なぜそうなるのかを理由付きで書けるか、試してみると定着が進む。