システムが提供すべき具体的な機能に関する要件。
機能要件とは、システムが提供すべき具体的な機能に関する要件です。「ログインできる」「商品を検索できる」のように、システムが何をするかを一つひとつ書き出したものです。
身近な例で考えると、家電製品の「できることリスト」に似ています。電子レンジなら「温める」「解凍する」「タイマーで止まる」といった機能が並びます。機能要件は、これと同じようにシステムの「できること」を列挙したものだと考えると分かりやすいです。
上の図解では、通販サイトの機能要件として「会員登録」「商品検索」「カート」「注文」「決済」「注文履歴」という具体的な機能を並べています。
機能要件は、システムごとに「そのシステムが何をするか」を具体的に書き出します。通販サイトを例にすると、次のような機能が機能要件にあたります。
・会員登録 / ログイン:利用者を識別する
・商品検索:キーワードで商品を探す
・カート / 注文:商品を選んで購入する
・決済:代金を支払う
・注文履歴:過去の注文を確認する
ほかのシステムでも考え方は同じです。
・図書館システム:本を貸し出す・返却する・予約する
・勤怠システム:出勤を打刻する・残業時間を集計する・休暇を申請する
書き方のコツは、「〜できる」という形にそろえることです。こうすると、システムに必要な機能が抜け漏れなくそろっているかを確認しやすくなります。
要件には大きく2種類あります。機能要件と非機能要件(=性能や安全性など機能以外の品質に関する要件)です。違いは次のとおりです。
・機能要件:システムが何をするか(検索できる・注文できる)
・非機能要件:その機能がどの程度の品質か(3秒以内に表示・24時間使える・通信を暗号化)
自動車にたとえると、「走る・曲がる・止まる」が機能要件、「燃費がよい・故障しにくい・安全」が非機能要件です。機能だけそろっても、遅すぎたりすぐ壊れたりすれば実用になりません。
上の図解の右側に薄い青で示したのが非機能要件です。機能要件と非機能要件の両方がそろって、はじめて実際に使えるシステムになります。