■PM Tools A to Z_No.12
品質マネジメント(4)
2004.11.17
今日はソフトウェアの品質特性について解説します。
一般にソフトウェアを開発する場合、その品質を定義して評価するために、何らかの品質の尺度を設定しそれを測定します。このために用いられるソフトウェアの属性の集まりを「品質特性」といいます。ソフトウェアの持つ品質特性には様々な視点がありますが、ここでは「JIS X 0129:ソフトウェア製品の評価−品質特性及びその利用要領」(*)で定められている品質特性を紹介します。
(*)JIS X 0129は「ISO/IEC9126: Information technology software product evaluation- Quality characteristics and guidelines for their use」に基づいた規格です。
- 品質特性
JIS X 0129では品質特性として「機能性」、「信頼性」、「使用性」、「効率性」、「保守性」、「移植性」の6種類、及びその下位概念である品質副特性21種類が定義されています。(表1及び表2参照)
<表1> 品質特性

<表2> 品質副特性

品質特性と品質副特性は、主に「利用者の視点から見た特性」であり、これを「外部特性」と呼びます。外部特性はソフトウェアの作りそのものを見ることなく、使用の結果に基づいて評価される特性です。
一方、開発者の視点からソフトウェアを評価したり、さらにソフトウェアを開発するプロセス自体を評価したりする必要性から、それを目的とした特性として「内部特性」または「内部品質特性」と呼ばれるものがJIS X 0129に定義されています。これは、ソフトウェアの作りを見ることによって品質を評価するものです。
内部特性については次回に掲載する予定です。
- 品質の測定
ソフトウェアの品質は、その定義によってユーザのニーズを満足するさまざまな特性の総合化されたものですので、品質自体を直接測定する方法はありません。
そこで、ソフトウェアのさまざまな「品質特性」を何らかの方法で測定したり、特性に影響を与える要因を測ってその結果により特性を推定したりする必要が生じます。
ただし、開発される個々のソフトウェアに望まれる品質特性とその品質水準はそれぞれ異なっているので、ソフトウェアに合った品質目標の設定が重要になります。
このソフトウェアの品質を測る尺度のことを品質メトリクスと呼びます。
例えば、「信頼性」(品質特性)の中の「成熟性」(品質副特性)を測定するメトリクスの一つに「残存障害密度」というものがあります。
算出式としては次のようになります。
| |
残存障害密度 = 検収後の検出累積障害件数 ÷ 最終成果物の量
※成果物の量としては、KSLOC(Kilo Source Lines of Code)やFP(Function Point)値などを用います。 |
なお、同じ「成熟性」のメトリクスとしては、よく知られているものとして「平均故障間隔」(MTBF:Mean Time Between Failure)が有名ですね。
このように、各々の品質副特性を推測するためにはメトリクスを設定しておく必要があります。メトリクスにはよく使用される一般的なものも多くありますが、各企業のソフトウェア開発部門固有のノウハウとされているものも少なくありません。
プロジェクトにおいては、開発する成果物の品質を可視化するために、品質計画書にその成果物に合った品質特性と品質副特性を適宜定めて、それを測定するメトリクスを決めておくことが必要になります。その選定の適切性はプロジェクト計画審査時の重要なレビュー対象の一つです。
| 参考文献: |
- JIS X 0129:ソフトウェア製品の評価−品質特性及びその利用要領
- ソフトウェア品質工学 Michael S.Deutch, Ronald R.Willis著 日経BP社
- ソフトウェア開発の定量化手法 Capers Jones著 構造計画研究所発行 共立出版
|