<機能性>
機能性とは、「ソフトウェアがある目的を持って求められる、必要な機能を実装している度合い 」と言えるでしょう。
ここで注意が必要なのは、顧客からあるいは供給組織からの「明示された要求=機能」だけを捉えるのではなく、「暗に期待されている要求=機能」も含まれるということです。
そう考えると、どうやって「暗に期待されている要求」を捉えればいいのか?困りそうですが、それらを解決してくれるのが「品質副特性」のようです。それぞれの副特性のきちんとした定義は、参考書籍をご覧下さい。
●基本的に要求されるメイン機能の存在を表す副特性
【合目的性】
「明示された仕事に対する・・・・」と定義されていますが、簡単に言うと「ユーザ要求」と「ソフトウェア設計仕様」の合致度合いを指すと考えて下さい。ですから、合目的性は「設計品質」を問うものと言えます。
合目的性を測る場合、必要なものは「要求仕様書=ユーザ要求」と「ソフトウェア設計書類=ソフトウェア設計仕様」となり、例えば納品後顧客からの改良要求件数の経過時間に対する頻度(経過時間にどれだけ改良要求があったか?)があげられます。
改良要求が少ない(Zeroに近い)ということは、改良しなくてよいだけ十分「使用目的に合っている=合目的」ということになります。
ソフトウェアの使用者が単数の場合は、使用者側でも測定可能。ソフトウェア使用者が離れていて複数存在する場合は、供給者側でなければ測定できないでしょうね。
【正確性】
「正しい結果もしくは正しい効果、・・・・」と定義されていますが、「ソフトウェア設計仕様」と「プログラム」の合致度合いを指すと考えるといいでしょう。「正確性」は「プログラム品質」を問うものと言えます。
正確性を測る指標としての例は、操作説明書や使用マニュアルに記述された手順や機能が、実際のソフトウェアの操作・機能と一致する度合いがあります。また、ソフトウェア設計書記述の機能とソフトウェア本体に実装された機能との合致度合いもあるでしょう。
この場合、合目的性の測定指標例とは反対に「1」に近い数値の方が良いと評価できますね。
●メイン機能を補助・支援するために必要な機能に対する副特性
【相互運用性】
「同一システム内の他プログラム間や他のシステムのソフトウェアとの間で、データやコマンド等をやりとりできる度合い」を指します。実際に使用されるデータ形式(や文字コード・制御コード)の全体数と、相手のフォーマットに合致しているデータ形式(や文字コード・制御コード)の数の比率が代表的な測定指標となります。
【セキュリティ】
「ソフトウェアへの不正なアクセスを排除する機能や、ミスによる資源破壊の防止の度合い」を言います。
インターネット時代に突入した現在では、ネットワークを通じて組織外部からの不正なアクセスによる情報の漏洩、改竄、破壊等の事件が絶えません。また、外部からばかりに目が奪われがちですが、多くの不正アクセス(権限外のアクセス)は組織内部要員による犯行である(一説には全体の8割!!)ことが分かっています。
その意味で「セキュリティ」は、非常に重要な品質副特性であり、オープン系システム構築時には「必須」の要求事項と言えます。
評価指標の例としては、暗号化率(全データ数と暗号化されているデータ数の比)や権限外の不正なアクセスに対する対処の度合い(例えば全ファイル数とアクセス権限を設定して、利用者限定をしているファイル数の比)、時間単位の不正アクセス数等が考えられます。
【標準適合性】
「適合することが要求されるさまざまな規格や法律等への合致度合い」です。
例えば、データフォーマットが規格化・標準化されているような場合、実際にやりとりされているデータの全体数と、規格・標準に合致したフォーマットになっているデータ数の比率を取る方法があります。
OSI参照モデルの使用やEDI、全銀協手順等、共通的な規格に則ることが多くなってきましたので、標準適合性の利用価値がますます多くなってくると想像します。