ISO/IEC 9126

ISO/IEC 9126 は、ソフトウェア品質の評価に関する国際規格である。同じ概念についての新たな規格策定事業 SQuaRE(Software Quality and Evaluation) により、ISO/IEC 25000:2005 に置換した。 ISO/IEC 9126は、「品質モデル; quality model」、「外部測定法; external metrics」、「内部測定法; internal metrics」、「利用時品質測定法; quality in use metrics」の4つの部分から成る。 品質モデルは ISO/IEC 9126-1で規定しており、ソフトウェア品質を次のように構造的に定義した。 JISでは、ソフトウェア製品の品質に関わるJIS X 0129群と、ソフトウェア製品の評価に関わるJIS X 0133群とに分かれている。 JIS X 0133-1は、JIS X 0129-1よりも広く、評価支援、評価プロセス、内部測定法、外部測定法、利用時の品質を扱っている。 JIS X 0133-1:1999はISO/IEC 14598-1:1998の翻訳規格である。 ソフトウェアの品質特性モデルは以下の構造をしている。 機能性（functionality） - 機能とその特性に影響する特性群。機能には、必要性を明確に述べているものと、暗に示しているものがある。 合目的性（suitability） 正確性（accuracy） 相互運用性（interoperability） 機密性（security） 標準適合性（compliance） 信頼性（reliability） - ある状況がある時間続いたときにソフトウェアがどの程度機能するかに影響する特性群。 成熟性（maturity） 障害許容性（fault tolerance） 回復性（recoverability） 標準適合性（compliance） 使用性（usability） - 利用するのにかかる手間、個人の努力などに影響する特性群。 理解性（understandability） 習得性（learnability） 運用性（operability） 注目性 (attractiveness) 標準適合性（compliance） 効率性（efficiency） - ソフトウェアの性能やそれに要するリソース量に影響する特性群。 時間効率性（time behaviour） 資源効率性（resource behaviour） 標準適合性（compliance） 保守性（maintainability） - 何らかの変更を加えるのにかかる手間に影響する特性群。 解析性（analyzability） 変更性（changeability） 安定性（stability） 試験性（testability） 標準適合性（compliance） 移植性（portability） - 別の環境にソフトウェアを移行させる可能性に影響する特性群。 環境適応性（adaptability） 設置性（installability） 共存性 (co-existence) 置換性（replaceability） 標準適合性（compliance） また、利用時の品質特性モデル(ISO/IEC 9126-4)は以下のようになっている。 有効性 (effectiveness) 生産性 (productivity) 安全性 (safety) 満足性 (satisfaction) 個々の特性をソフトウェア製品について検証し、測定可能な実体を伴ったものとして定義している。対象となるソフトウェア製品は広範囲に渡る。実行ファイル、ソースコード、アーキテクチャ記述などを含む。従って、この標準における利用者(user)の概念には、オペレータやプログラマも含む。例えば、プログラマはソフトウェアライブラリの利用者となる。 ISO/IEC 9126 は、組織がソフトウェア製品のための品質モデルを定義する際のフレームワークを提供したものである。品質モデルの詳細を決定するのは規格を利用する各組織である。利用の際に、個々の品質特性が測定法によってどういう値になるべきかを指定したりする。 内部測定法とは、ソフトウェアの実行に依存しない静的な品質尺度である。外部測定法とは、実行中のソフトウェアを対象とした品質尺度である。利用時品質測定法とは、最終的な製品を実際の状況で使う際の品質尺度である。 内部品質が外部品質を決定し、外部品質が実働時の品質を決定するという考え方がある。 ISO/IEC 9126は、1977年、McCall らが構築したソフトウェア品質モデルから生まれた。McCall の品質モデルは、次の3つの品質特性に関するものであった。 要因（factors）: ソフトウェアの外部からの見た目（機能など）を記述したもの。利用者の視点。 標準（criteria）: ソフトウェアの内部からの見た目（実装）を記述したもの。開発者の視点。 測定法（metrics）: 測定のための尺度や手法を提供すべく定義したもの。 ISO/IEC SQuaRE シリーズはISO/IECが策定するシステム・ソフトウェア品質規格群である。正式名称は「Systems and software Quality Requirements and Evaluation (SQuaRE) 」である。 SQuaREにおいてソフトウェア品質（英: software quality）は次のように定義される。 明示された条件下で使用するとき，明示的ニーズ又は暗黙のニーズを満たすためのソフトウェア製品の能力。 — ISO/IEC 25000:2014 / JIS X 25000:2017 対象（ソフトウェア製品）が明示的・暗黙的ニーズを満たす度合い、という点でISO 9000における品質のソフトウェア版と見做せる。 SQuaREにおいて利用時の品質（英: quality in use）は次のように定義される。 特定の利用状況において，特定の利用者が特定の目標を達成するというニーズを満たすために，有効性，効率性，リスク回避性及び満足性に関して，ソフトウェア製品又はシステムを使用できる度合い。 — ISO/IEC 25000:2014 / JIS X 25000:2017 品質の定義は「誰のニーズか」を限定しない。例えば開発チームにとっては「継続した開発」というニーズを満たす「保守性」は品質に寄与するし、ユーザーサポートチームにとっては「明快な電話越しの操作指示」というニーズを満たす「運用操作性」は品質に寄与する。 利用時の品質は利用者にとっての品質である。利用者は「特定の利用状況」という明示された条件下で対象を使用し、「特定の目標を達成する」というニーズを持っている。有効性・効率性・リスク回避性・満足性の観点からこのニーズを満たせる能力の度合いが利用時の品質である。 平易な表現をするならば「ユーザーが対象を使って、効果的に・効率良く・安全に・満足感をもって目標を達成できる度合い」が利用時の品質である。 ^ 2010年以前の版では「Software product Quality Requirements and Evaluation (SQuaRE)」 ISO 9000 RASIS Scalet et al, 2000: ISO/IEC 9126 and 14598 integration aspects: A Brazilian viewpoint. The Second World Congress on Software Quality, Yokohama, Japan, 2000. The ISO 9126 Standard ISO/IEC 9126-1:2001 Software engineering -- Product quality -- Part 1: Quality model ISO/IEC TR 9126-2:2003 Software engineering -- Product quality -- Part 2: External metrics ISO/IEC TR 9126-3:2003 Software engineering -- Product quality -- Part 3: Internal metrics ISO/IEC TR 9126-4:2004 Software engineering -- Product quality -- Part 4: Quality in use metrics ISO/IEC 25000:2005 Software Engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Guide to SQuaRE 機能外要求とISO9126 オージス総研