機能要件と非機能要件とは、システムを作るときに「何ができるようにするか」と「どのくらい使いやすく、安全に動かすか」を分けて考えるための言葉です。
かんたんに言うと、機能要件は「できること」です。非機能要件は「使いやすさ、速さ、安全性などの条件」です。
この記事では、機能要件と非機能要件の違い、具体例、一覧、要件定義書での書き方を、初心者にもわかりやすく解説します。
ここだけ読めばOK
機能要件は「システムでできること」です。
非機能要件は「速さ、安全性、使いやすさなどの条件」です。
たとえば「ログインできる」は機能要件です。「2秒以内にログイン画面を表示する」は非機能要件です。
ほかのIT用語も知りたい方は、初心者向けのIT用語辞典もあわせてご覧ください。
機能要件と非機能要件とは何かをかんたんに解説
まずは、記事の中でよく出てくる言葉を整理します。
ここでいうシステムとは、Webサイト、スマホアプリ、会社で使う予約画面や管理画面などを指します。
要件とは、「これが必要です」と決める条件のことです。システムを作る前に、必要なことを整理するために使います。
機能要件とは「システムでできること」
機能要件とは、システムで何ができるようにするかを決めるものです。
たとえば、会員サイトなら「ログインできる」「商品を検索できる」「買い物かごに入れられる」などが機能要件です。
スマホアプリなら「写真を投稿できる」「通知を受け取れる」「メッセージを送れる」なども機能要件です。
一言でいうと
機能要件は「ボタンを押したときにできること」と考えるとわかりやすいです。
非機能要件とは「使いやすさ・速さ・安全性などの条件」
非機能要件とは、システムの動き方や使いやすさに関する条件です。
「非機能」という言葉は少しわかりにくいですが、「機能ではないけれど、使う人にとって大切な条件」と考えると理解しやすくなります。
たとえば「画面を2秒以内に表示する」「夜中も使える」「個人情報を守る」「データをバックアップする」などです。
バックアップとは、データの予備を別の場所に残しておくことです。パソコンの写真を別の保存先にも残しておくイメージです。
一言でいうと
非機能要件は「そのシステムをどのくらい快適に、安全に使えるか」です。
機能要件と非機能要件の違い
機能要件と非機能要件の違いは、見るポイントにあります。
機能要件は「何をするか」を見ます。非機能要件は「どのように動くか」を見ます。
機能要件は「何をするか」
機能要件は、システムに入れる機能そのものです。
たとえば、予約サイトなら「空き日を検索する」「予約する」「予約を取り消す」などです。
利用者から見ると、画面で実際にできることです。
非機能要件は「どのくらい使いやすく動くか」
非機能要件は、その機能をどのくらい使いやすくするかを決めます。
たとえば「検索結果を3秒以内に出す」「スマホでも見やすくする」「多くの人が同時に使っても止まりにくくする」などです。
機能そのものではありませんが、使う人の満足度に大きく関係します。
| 項目 | 機能要件 | 非機能要件 |
|---|---|---|
| 見るポイント | 何ができるか | どのくらい使いやすいか |
| 例 | ログインできる | 2秒以内に画面を表示する |
| 関係すること | 機能、画面、操作 | 速さ、安全性、使いやすさ、運用 |
| 考える時期 | 作るものを決めるとき | 安心して使える条件を決めるとき |
機能要件と非機能要件の具体例
ここでは、身近なシステムを例にして見ていきます。
例で見ると、機能要件と非機能要件の違いがわかりやすくなります。
機能要件の例
機能要件には、次のようなものがあります。
- 会員登録ができる
- ログインができる
- 商品を検索できる
- 商品を買い物かごに入れられる
- 予約を登録できる
- 予約を取り消せる
- メールを送れる
- 管理者が利用者の情報を確認できる
管理者とは、システムを管理する人のことです。たとえば、お店の予約サイトを管理する担当者などです。
これらは、システムが実際に行う動きです。
非機能要件の例
非機能要件には、次のようなものがあります。
- 画面を2秒以内に表示する
- スマホでも見やすくする
- 24時間使えるようにする
- 利用者の情報を安全に守る
- 毎日データをバックアップする
- 多くの人が同時に使っても止まりにくくする
- システムに問題が起きたときに早く元に戻せるようにする
- 操作方法をわかりやすくする
非機能要件は、目に見えにくいものも多いです。
しかし、使いやすさや安心感を支える大切な条件です。
非機能要件にはどんな種類がある?
非機能要件は、専門的にはいくつかの種類に分けて考えることがあります。
たとえば、システムが止まりにくいこと、画面の表示が速いこと、問題が起きたあとに元に戻しやすいこと、情報を守ることなどです。
初心者のうちは、まず「止まりにくさ」「速さ」「元に戻しやすさ」「安全性」「使いやすさ」に分けて考えると理解しやすいです。
| 初心者向けの言い方 | 意味 | 例 |
|---|---|---|
| 止まりにくさ | 使いたいときに使えること | 24時間使えるようにする |
| 速さ | 画面表示や処理が遅すぎないこと | 画面を2秒以内に表示する |
| 元に戻しやすさ | 問題が起きたあとに早く直せること | 毎日データをバックアップする |
| 安全性 | 大切な情報を守ること | 管理者だけが管理画面を使えるようにする |
| 使いやすさ | 読む人や使う人が迷いにくいこと | スマホでも文字を読みやすくする |
ログイン画面で見る機能要件と非機能要件の違い
ログイン画面を例にすると、違いがはっきりします。
| 内容 | 分類 | 理由 |
|---|---|---|
| メールアドレスとパスワードでログインできる | 機能要件 | ログインという動きそのものだから |
| パスワードを忘れたときに再設定できる | 機能要件 | 利用者ができる操作だから |
| ログイン画面を2秒以内に表示する | 非機能要件 | 速さに関する条件だから |
| 何度も失敗したら一時的に止める | 非機能要件 | 安全性に関する条件だから |
| スマホでも文字を読みやすくする | 非機能要件 | 使いやすさに関する条件だから |
このように、「できること」は機能要件です。
「速さ」「安全性」「使いやすさ」は非機能要件です。
機能要件と非機能要件の一覧表
機能要件と非機能要件を一覧にすると、次のようになります。
| 分類 | 内容 | 具体例 |
|---|---|---|
| 機能要件 | 入力する | 名前、住所、注文内容を入力する |
| 機能要件 | 検索する | 商品名や日付で検索する |
| 機能要件 | 登録する | 会員情報や予約情報を登録する |
| 機能要件 | 変更する | 住所や予約日を変更する |
| 機能要件 | 削除する | 不要なデータを削除する |
| 非機能要件 | 速さ | 画面を2秒以内に表示する |
| 非機能要件 | 安全性 | 個人情報を守る |
| 非機能要件 | 使いやすさ | スマホでも操作しやすくする |
| 非機能要件 | 止まりにくさ | 多くの人が使っても安定して動く |
| 非機能要件 | 元に戻しやすさ | 問題が起きたあと、早く元に戻せる |
要件定義で機能要件と非機能要件を決める理由
機能要件と非機能要件は、要件定義でよく使われます。
要件定義とは、システムを作る前に「何を作るか」「どんな条件で作るか」を整理する作業です。
作るものをはっきりさせるため
システムを作る前に、できることを決めておかないと、作る内容があいまいになります。
たとえば「予約サイトを作りたい」だけでは、何を作ればよいかはっきりしません。
「会員登録できる」「空き日を検索できる」「予約を取り消せる」と分けて書くと、作る内容が見えやすくなります。
あとから認識のずれを減らすため
システムを使う人と作る人の間で、思いこみがずれることがあります。
たとえば、使う人は「スマホで使えるのは当然」と思っているかもしれません。
しかし、作る人に伝わっていなければ、スマホで見づらい画面になることがあります。
そのため、機能要件と非機能要件を分けて書くことが大切です。
要件定義書での機能要件と非機能要件の書き方
要件定義書とは、システムに求める内容をまとめた文書です。
文書というと難しく聞こえますが、決めたことをあとから見返せるようにしたメモだと考えるとわかりやすいです。
書くときは、「何を」「どのように」「どのくらい」の形で整理すると伝わりやすくなります。
機能要件の書き方
機能要件は、利用者ができることを具体的に書きます。
「できる」「登録する」「検索する」「表示する」などの言葉を使うと伝わりやすくなります。
| よくない書き方 | よい書き方 |
|---|---|
| ログインをいい感じにする | 利用者はメールアドレスとパスワードでログインできる |
| 商品を見られるようにする | 利用者は商品名で商品を検索できる |
| 予約を便利にする | 利用者は予約日を選んで予約を登録できる |
非機能要件の書き方
非機能要件は、できるだけ数字や条件を入れて書きます。
「早く」「安全に」「使いやすく」だけでは、人によって受け取り方が変わります。
| よくない書き方 | よい書き方 |
|---|---|
| 画面を早く表示する | 通常時は画面を2秒以内に表示する |
| 安全にする | 管理画面は管理者だけが使えるようにする |
| データを守る | 毎日1回、データをバックアップする |
| 見やすくする | スマホ画面でも文字が読める大きさにする |
書くときの注意点
書くときは、あいまいな言葉をできるだけ減らしましょう。
「早い」「しっかり」「きれい」「使いやすい」だけでは、読む人によって意味が変わります。
次のように、確認できる形にするとよいです。
- 誰が使うのか
- 何ができるのか
- どのくらいの速さが必要か
- どの情報を守るのか
- 問題が起きたとき、どのくらいで元に戻すのか
業務要件・システム要件・機能要件・非機能要件の違い
機能要件と非機能要件は、似た言葉と一緒に使われることがあります。
ここでは、業務要件とシステム要件との違いを見ていきます。
業務要件とは
業務要件とは、仕事として実現したいことです。
たとえば「予約の電話対応を減らしたい」「注文ミスを減らしたい」「在庫をすぐ確認したい」などです。
システムの細かい機能よりも、仕事の目的に近い内容です。
システム要件とは
システム要件とは、システムに求める条件をまとめたものです。
機能要件と非機能要件は、このシステム要件の中に含めて考えられることがあります。
つまり、システム要件は広い言葉です。
機能要件・非機能要件との関係
流れで見ると、次のように考えるとわかりやすいです。
| 言葉 | 意味 | 例 |
|---|---|---|
| 業務要件 | 仕事として実現したいこと | 電話予約を減らしたい |
| システム要件 | システムに求める条件 | Webで予約を受け付ける |
| 機能要件 | システムでできること | 予約を登録できる |
| 非機能要件 | 使いやすさや安全性などの条件 | スマホでも予約しやすくする |
システムで「どこまで作るか」を決める考え方は、スコープとはの記事でも解説しています。
機能要件と非機能要件で初心者が間違えやすい点
ここでは、初心者がつまずきやすい点を整理します。
「機能があるか」だけで考えてしまう
システムを考えるとき、つい「何ができるか」だけに目が向きます。
しかし、実際に使う人にとっては、速さや見やすさも大切です。
「ログインできる」だけでなく、「すぐ表示される」「安全に使える」まで考えると、よりよいシステムになります。
非機能要件をあと回しにしてしまう
非機能要件は、画面やボタンのように見えにくいことがあります。
そのため、あと回しにされやすいです。
しかし、速さ、安全性、バックアップなどは、使いやすさに関わります。
あいまいな言葉で書いてしまう
「早くする」「安全にする」「使いやすくする」は、よくある表現です。
ただし、このままだと人によって意味が変わります。
「2秒以内」「管理者だけ」「毎日1回」のように、できるだけ確認しやすい書き方にしましょう。
機能要件と非機能要件の境目で迷うことがある
実際のシステム開発では、機能要件と非機能要件の境目で迷うことがあります。
たとえば「パスワードを何度も間違えたら一時的に止める」という条件は、安全性を高めるためのものです。そのため、考え方としては非機能要件に近いです。
一方で、それを実現するには「アカウントを止める」「あとで元に戻す」といった機能を作る必要があります。
つまり、非機能要件を満たすために、機能要件が追加されることもあります。
初心者のうちは、まず「目的は安全性か」「実際にできる操作か」に分けて考えると整理しやすいです。
機能要件と非機能要件に関するよくある質問
機能要件と非機能要件の英語は?
機能要件は英語で「Functional Requirements」と言います。
非機能要件は英語で「Non-functional Requirements」と言います。
ただし、初心者のうちは英語を暗記するより、意味の違いを理解することが大切です。
性能要件は機能要件と非機能要件のどちら?
性能要件は、基本的には非機能要件に入ります。
性能とは、システムの速さや、どのくらい多くの処理ができるかを表す言葉です。
たとえば「画面を2秒以内に表示する」「同時に100人が使える」などは非機能要件です。
セキュリティやバックアップはどちらに入る?
セキュリティやバックアップは、基本的には非機能要件に入ります。
セキュリティとは、情報を守るための考え方です。
バックアップとは、データの予備を残しておくことです。どちらも、安心して使うための条件です。
ITパスポートや基本情報技術者試験にも出る?
機能要件と非機能要件は、ITの学習でもよく出てくる考え方です。
ITパスポートでは、システム開発やマネジメント系の用語として理解しておくと役立ちます。
試験向けに用語を整理したい方は、ITパスポートのIT用語まとめも参考にしてください。
システム開発の流れをあわせて確認したい方は、ITパスポートのマネジメント系対策もあわせて読むと理解しやすくなります。
RFPにも機能要件と非機能要件を書く?
RFPにも、機能要件と非機能要件を書くことがあります。
RFPとは、システムを作ってくれる会社に「このような提案をしてください」とお願いする文書です。
初心者の方は、まず機能要件と非機能要件の違いを理解できれば十分です。
まとめ:機能要件と非機能要件とは、作るものと使いやすさを分けて考えるための言葉
機能要件と非機能要件とは、システムを作るときに必要な条件を分けて整理するための言葉です。
機能要件は「何ができるか」です。非機能要件は「どのくらい速く、安全に、使いやすく動くか」です。
- 機能要件は、システムでできること
- 非機能要件は、速さ、安全性、使いやすさなどの条件
- ログインできることは機能要件
- ログイン画面を2秒以内に表示することは非機能要件
- 要件定義書では、あいまいな言葉を避けて具体的に書く
- 性能、セキュリティ、バックアップは非機能要件として考えることが多い
- 非機能要件を満たすために、機能要件が追加されることもある
最初は「できること」と「使いやすく安全に動く条件」に分けて考えるだけで十分です。
この2つを分けて整理できると、システム開発の話がぐっと理解しやすくなります。
