品質とは
そもそも品質とは、「ユーザーが要求している性質や性能のこと」のことを言います。
例えば、食品であれば味、産地、安全性などが品質を計る値になっています。
ところで、ソフトウェアの品質とはなんでしょうか。
ソフトウェアには外部品質と内部品質の2つの観点の品質があります。
外部品質
外部品質とは、「システムが実行される時の品質」のことを指し、実際にシステムを利用した際の動作などのことを言います。
一般的にいう品質は、こちらの外部品質を指します。
食品でいうと、味や量などがこれに当たります。
内部品質
内部品質とは、「内部的な特徴」のことを指し、ソースコード・仕様書・設計書などのことを言います。
内部品質は外部品質に大きな影響を与えます。
また、内部品質は静的な測定がしやすいといった特徴を持ちます。
品質の測定
品質には測定する基準が必要になります。
基準が存在しないと、ユーザーはなにを基準に商品を選択すればよいかわからなくなってしまいます。
ソフトウェアには明確に基準となる規格として、ソフトウェアの品質特性が存在します。
以降でソフトウェア品質特性について深堀りしていきます。
ソフトウェア品質特性
ソフトウェア品質特性とは、国際規格ISO/IEC 9126(JIS X 0129)が定めた規格であり、機能性,信頼性,使用性,効率性,保守性,移植性の6つの特性と、さらに細分化した21の副特性を用いて品質を評価します。
それぞれの特性について解説して行きます。
機能性
ソフトウェアを利用する目的に対して、どれだけ必要な機能が実装出来ているかを示します。
服特性として、下記5つの特性を持ちます。
- 合目的性
ユーザーの目的に対して、適切な機能の集合を提供出来ているか。 - 正確性
必要な精度で正しく実行出来ているか。 - 相互運用性
必要なシステムと相互作用することが出来ているか。 - セキュリティ
セキュリティが担保されているか。 - 機能性標準適合性
機能性に関連する規格や規約、法律上の規則を厳守出来ているか。
信頼性
正常に動作し続けることや、障害の発生の起こりにくさを示します。
服特性として、下記4つの特性を持ちます。
- 成熟性
潜在する障害が原因で起こる故障を回避できるか。 - 障害許容性
障害が発生した場合に、最低限の品質を担保できるか。 - 回復性
障害発生時に、影響を受けたデータを回復できるか。 - 信頼性標準適合性
信頼性に関連する規格や規約、法律上の規則を厳守出来ているか。
使用性
ソフトウェアの分かりやすさ、使いやすさを示します。
服特性として、下記5つの特性を持ちます。
- 理解性
ユーザーが使用方法を理解できるか。 - 習得性
ソフトウェアの適用をユーザーが習得できるか。 - 運用性
ユーザーが運用、運用管理を行うことができるか。 - 魅力性
ユーザーにとって魅力的なソフトウェアであるか。 - 使用性標準適合性
使用性に関連する規格や規約、法律上の規則を厳守出来ているか。
効率性
ユーザーが目的達成の為に使用する、時間や資源を示します。
服特性として、下記3つの特性を持ちます。
- 時間効率性
適切な応答時間・処理時間を提供出来ているか。 - 資源効率性
適切な資源量・資源の種類を使用して実行することが出来ているか。 - 効率性標準適合性
効率性に関連する規格や規約、法律上の規則を厳守出来ているか。
保守性
保守に必要な労力を示します。
服特性として、下記5つの特性を持ちます。
- 解析性
故障の原因の追究、修正箇所の識別ができるか。 - 変更性
指定された修正を行うことができるか。 - 安定性
修正により、予期せぬ影響を受ける部分があるか。 - 試験性
修正箇所の妥当性を確認することができるか。 - 保守性標準適合性
保守性に関連する規格や規約、法律上の規則を厳守出来ているか。
移植性
移植のしやすさ・別環境での動作移植のしやすさを示します。
服特性として、下記5つの特性を持ちます。
- 環境適用性
異なる環境でも適応することが出来るか。 - 設置性
指定された環境に設置することが出来るか。 - 共存性
資源を共有する環境の中で、他のソフトウェアと共存することが出来るか。 - 置換性
同じ目的で使用されていた、他のソフトウェアから置き換えて使用することが出来るか。 - 移植性標準適合性
移植性に関連する規格や規約、法律上の規則を厳守出来ているか。
コメント