機能要件・非機能要件の充足
しばしば、システム開発の場では、「ユーザーが求めている機能を実装できているか」という「機能要件」が重視されがちである。
しかし、安定的に機能を提供し続ける上では、「システムダウンの頻度を下げる」「応答を返す時間を遅くなるのを防ぐ」「ユーザーが求める機能追加を迅速に行えるようにする」といった、「非機能要件」も重要となる。
「機能要件」や「非機能要件」として、具体的にどのようなものが存在するのかは、国際規格ISO/IEC 9126(JIS X 0129)によって定義されている。
この規格では、6つの「主特性」と、そこから更に細分化された「副特性」が定義されており、この規格を参照することで、「機能要件」や「非機能要件」に関する観点が漏れることを防ぐことができる。
この記事では、この国際規格について、簡単に紹介する。
(1)国際規格ISO/IEC 9126(JIS X 0129)による品質特性の定義
ISO/IEC 9126では、以下の6つの主特性が定義されている。
「機能性」が「機能要件」に、他の5つの主特性が「非機能要件」に相当する。
機能性
システムの目的を満たす上で必要な機能の実装の度合い。
外部システムとの連携やデータの保護も含めた機能面の実装を指し示す。信頼性
システムが正常に動作し続ける度合い。
故障の頻度や影響の小ささ、故障からの回復の容易さを指し示す。使用性
システムの使いやすさの度合い。
ここで言う「使いやすさ」には、「ユーザーにとってのシステムの魅力」を含む。効率性
システムの動作に必要な時間や資源の効率の度合い。保守性
将来のシステムの改修の容易さを示す度合い。
改修作業について、解析から修正、試験に至るまでの作業の容易さを指し示す。移植性
システムの別環境への移行のしやすさを示す度合い。
ここで言う「環境」は、他のソフトウェアも考慮したものである。
上記の「主特性」と、そこから細分化された「副特性」、それぞれの特性を確保する手段の例を以下の表にまとめる。
6つの主特性とそれらの副特性に書かれている観点を網羅的に確認し、要件を作り上げることで、「機能要件」や「非機能要件」を抜け漏れなく考慮することができる。
現場に要件定義書のテンプレートがあるのであれば、その現場のテンプレートに従って非機能要件を記述すれば良いが、そのようなテンプレートが無い場合は、この規格が助けになるだろう。
この記事が気に入ったらサポートをしてみませんか?