機能要件と非機能要件
要件には,システムやソフトウェアが実行する業務処理に関する機能要件 (functional requirement) と,機能要件を条件面で支える非機能要件 (non-functional requirement) がある。
例えば,Web 販売システムであれば,「必要な商品を検索する」「カートに入れる」「決済を行う」などの機能が機能要件であり,その際のパフォーマンスやセキュリティなどの要件が非機能要件である。
機能要件の識別
機能要件とは、情報システムやソフトウェアの開発に際して定義される要件のうち、機能や挙動に関するもの。主に要求分析や要件定義などの工程で検討・決定される。
要件定義する場合,例えば次のような分析を行うことで,機能要件を識別し定義する。
- 業務を実現する機能間の情報(データ)の流れを明確にする。
- 利用者の要求をもとに,情報管理の観点,単位,形式などを分析する。
- 他システムとのインタフェースを定義する。
システムの機能要件を定義する上で,前提となる要件定義作業は,利害関係者からのニーズを整理し,新しい業務の在り方や運用をまとめた上で,業務上実現すべき要件を明らかにすることである。
共通フレームによれば,システム化計画の立案よりも後のプロセスでシステム化の対象となる業務要件の定義作業を実施する。
機能間のデータの流れを明確にするため,例えば DFD を作成する。DFD に現れるプロセスやデータストアをもとに外部とのインタフェースなどを機能として定義する。
非機能要件の識別
非機能要件とは、情報システムやソフトウェアの開発に際して定義される要件のうち、機能面以外のもの全般。性能や信頼性、拡張性、運用性、セキュリティなどに関する要件が含まれる。
非機能要件は,品質要件,技術要件,運用・操作要件等をもとに導出することができる。
品質要件
非機能要件のうち品質要件には,機能性,信頼性,使用性,効率性,保守性,移植性がある。
信頼性の例として,「故障率が 0.01 % 以下である」「稼働率が 99.9 % 以上である」などの要件がある。
技術要件
非機能要件のうち技術要件には,システムの実現方法,システム構成,システム開発方式,開発基準,標準,開発環境がある。
運用・操作要件
非機能要件のうち運用・操作要件には,システム運用手順,システム運用形態,運用スケジュール,システム監視方法,監視基準,サービス提供条件,災害対応策,業務継続策,データの保存周期・量,エンドユーザ操作方法がある。
サービス提供条件の例として,「サービスは 24 時間 365 日提供される」などの要件がある。
IPA の非機能要求グレード
IPA(独立行政法人 情報処理推進機構)が提唱する「非機能要求グレード」の中では,非機能要求を以下の 6 大項目に分類している。
ユーザとベンダーとの間で確認すべき項目が 200 以上リストアップされており,各項目についてレベル(0 から 5)とメトリクス(指標)が定義されている。
可用性 | システムやサービスを継続的に利用可能とするための要求 |
性能・拡張性 | システムの性能,および,将来のシステム拡張に関する要求 |
運用・保守性 | システムの運用と保守のサービスに関する要求 |
移行性 | 現行システム資産の移行に関する要求 |
セキュリティ | 情報システムの安全性の確保に関する要求 |
システム環境・エコロジー | システムの設置環境やエコロジーに関する要求 |
過去問題
受注管理システムにおける要件のうち,非機能要件に該当するものはどれか。
平成21年度 秋期 システムアーキテクト試験 午前Ⅱ 問14
- 顧客から注文を受け付けるとき,与信残金額を計算し,結果がマイナスになった場合は,入力画面に警告メッセージを表示すること
- 受注管理システムの稼働率を決められた水準に維持するために,障害発生時は半日以内に回復できること
- 受注を処理するとき,倉庫に在庫がある商品はリアルタイムで自動的に在庫引当を行うこと
- 出荷できる商品は,顧客から受注した情報を受注担当者がシステムに入力し,営業管理者が受注承認入力を行ったものに限ること
非機能要件に該当するものは,2. である。非機能要件の品質特性の信頼性に該当する。
“機能要件と非機能要件” に対して1件のコメントがあります。