機能要件と非機能要件 設計機能(その5)

【設計機能 連載目次】

 前回のその4に続いて解説します。
 
 機能要件および非機能要件は、主にソフトウェア開発、システム開発で使用されている専門用語です。システムのインフラを支える、サーバ設計や、ネットワーク設計等に使われています。それらの関係を端的に表現すると図1のようになります。
 
図1. 機能要件と非機能要件
 

1. 機能要件とは

 
 システム開発では「要件定義」➡「設計」➡「製造」➡「検査」のような工程で制作が進行します。その最初の工程が「要件定義」になります。この要件定義では、製作するシステムに対し、主目的となる実装すべき機能や満たすべき性能などを明らかにしていきます。要件定義の中で特に実装すべき機能に関する要件のことを「機能要件」と呼びます。機能要件は、クライアントが実装してほしいと望んでいる事項になります。そのため直接のヒアリングでリストアップします。例えば「現行システムで利用している機能を盛り込んで欲しい。」、「・・をできるようにして欲しい。」等のような内容になります。達成しなければならない基本となる部分が機能要件なのです。
 

2. 非機能要件とは

 
 要件定義のうち、機能要件に当てはまるもの以外を「非機能要件」と呼びます。非機能要件はクライアントの満足度に直結します。非機能要件とは、主目的となる機能要件以外の機能であり、機能面以外の要件全般を指します。例えば、ユーザビリティ、性能、拡張性、セキュリティなどの機能を示し、製品にとって不可欠な質の部分です。非機能要件はクライアントから確実な要望があるわけではなく、ヒアリングした内容をベースに、開発側が考える要件と言えます。考えられるすべての非機能要件を盛り込むと、予算と合わなくなってしまうため、どこまで含めるかを判断しなければならない点が課題と言えるでしょう。
 

3. 非機能要件がなぜ重要なのか?

 
 非機能要件は、機能要件を満たした上で付加される要件です。システム開発において、機能要件がメイン機能だとすると、非機能要件はオプションのような機能となります。非機能要件を満たせば満たすほど、クライアントの満足度は高まります。システム拡張、数年後のシステムの置き換え、新たなシステムの発注や運用等、クライアントとの継続的な付き合いを求められます。そのため、非機能要件を満たしてクライアントの満足度を高めることが非常に重要な作業になるわけです。
 

4. 非機能要件の具体的項目

 
 一般的には、非機能要件は以下の6つの大項目で要求グレードを定義されています。
 
(1)可用性:いつでも使えるのか?どれ...
だけ安定感があるのか?
(2)性能/拡張性:どれだけ快適に使えるのか?利用者が増えても大丈夫か?
(3)運用/保守性:アフターサービスはきっちりとされているか?
(4)移行性:引っ越しや、乗り換えは簡単にできるのか?
(5)セキュリティ:ウイルス対策など、セキュリティ対策がしっかりされているか?
(6)システム環境/エコロジー:そのモノを置く設置環境は適切か?また環境保護に役立っているか?
 
  
◆関連解説『技術マネジメントとは』

↓ 続きを読むには・・・

新規会員登録


この記事の著者