「ソフトウェア品質」は時代とともに変化している。本連載では、「品質」というものをもっと分かりやすく理解してもらうために、あらためて「品質」について再考していく。今回は「品質モデル」の基礎知識について。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「ソフトウェア品質」は時代とともに変化している。「品質」というものをもっと分かりやすく理解してもらうために、あらためて「品質」について再考していく本連載『変わる「ソフトウェア品質」再考』。前回の『品質と愛情はよく似ている、ソフトウェアの「当たり前品質」は時代とともに変わる』では、ソフトウェアの品質を工学的なアプローチで考えることはずいぶん昔から行われていること、「当たり前」と考えている品質は時代とともに変化していることを説明しました。今回はもう少しソフトウェアの品質について説明を続けます。
皆さんは「品質の何を重視するか」と聞かれた場合、どんな回答をしますか? よくある回答としては、「機能」「性能」「操作性」「使いやすさ」「安心」などが挙げられると思います。購入する場合は、●×表を作って比較したりする人もいますね。
ソフトウェアの場合だとどうでしょうか。個人が使う製品の場合、「機能」よりも「使いやすさ」にこだわる人や、とにかく「性能」にこだわる人もいるかと思います。企業向けの場合では「企業が改善したいことや利益向上のための効率化を実現できるか」ということになるので、その要求を満たすものが「品質」といえるでしょう。
では、あなたが他の誰かに、ある製品の品質について聞かれた場合、どのように答えますか?
おそらく先ほど挙げた品質の質問へのよくある回答に出てきた単語を使って、「機能は〜」または「性能は〜」と説明すると思います。知らず知らずに品質を「分類」していることになります。この分類方法がすでに決まっているとしたら、便利だと思いませんか。
「JIS規格」と一般に呼ばれている「日本産業規格」(2019年7月1日に「日本工業規格」から名称が変わりました)や「ISO規格」で、ソフトウェアの品質の考え方、品質の評価プロセスの考え方、品質の測定方法などが定義されています。ソフトウェア関連のJIS規格の多くはスイスのジュネーブに本部がある非営利団体「ISO(International Organization for Standardization:国際標準化機構)」で策定されたISO規格をベースにしています。
ソフトウェアの品質については、ISOのJTC 1/SC 7の中のWG(Working Group) 6で取り扱われています。また、ソフトウェアのテストに関する規格はWG 26となっています。
「JTC 1」とは、国際標準化機構(ISO)と国際電気標準会議(IEC:International Electrotechnical Commission)の「第一合同技術委員会(Joint Technical Committee 1)」の略称です。情報技術(IT)分野の標準化を行う組織として1987年に設立されました。そのため、ISO JTC 1とは書かずに、IECとの合同技術委員会のため、「ISO/IEC JTC 1」と表記しています。
SCは「SubCommittee」の略で小委員会を示します。ソフトウェア技術(Software and systems engineering)に関する委員会は第7委員会なので、「SC 7」と表記されています。
品質マネジメント「JIS Q 9001」や情報セキュリティ「JIS Q 27001」といった認証などのJIS規格も、JTC 1が策定したISO/IEC規格をベースにしています。
なお、ソフトウェア品質に関する規格については、ISO規格ですが、実は日本が主導して策定していることを皆さん知っていますか?
ソフトウェア品質に関する規格は、ISO/IEC 25000〜25099の番号が割り当てられており、「SQuaRE(Software Quality Requirements and Evaluation)」と呼ばれています。こちらの規格は早稲田大学 名誉教授の東先生が提案し、新しいソフトウェアおよびシステム品質の国際標準SQuaREシリーズの体系を提示されたものです。
「なぜ、日本が主導となっているか」などについて説明すると、数回の記事が必要になってしまうので、下記を読んでいただければと思います。規格の歴史とこれまでのいきさつを知ることができます。
日本人が常にソフトウェア品質の規格を先導していることをぜひ皆さんに覚えておいてほしいと思います。
「SQuaREには、どのようなソフトウェア品質に関する規格があるのか」については本連載で少しずつ説明しています。今回は、前回も説明した、品質を分類する「品質モデル」を紹介します。
ソフトウェア品質モデルは「ISO/IEC 25010:2011」(末尾は発行された年)を基とする「JIS X 25010:2013」で定義されています。最新のものを除き、JIS規格は「kikakurui.com」というサイトで参照することが可能です。
JIS X 25010では、2つの品質モデルが定義されています。システムは、「利害関係者」と呼ばれる、システムを利用するさまざまな人々が持つ明示的なニーズと暗黙的なニーズを満たす必要があり、満たすことが品質であると考えられます。この品質を特性ごとに分類したのが品質モデルで、この規格では「製品品質モデル」(図1)と「利用時の品質モデル」(図2)の2つが定義されています。これ以外にも、システムで利用するデータの品質について定義された「JIS X 25012:2013」で定義されているデータ品質モデルがあります。
品質モデルは「主特性」と主特性を構成する「副特性」から構成されています。
製品品質モデルは、ソフトウェアまたはシステムの製品が持つ品質を8つの主特性に分類しています。筆者はこの製品品質を、製品そのものが持っている品質なので、「モノの品質」と呼んでいます。
一方、利用時の品質は人がその製品を利用したときに「受け取る」、または「感じる」品質です。筆者は「利用者の品質」と呼んでおり、利用者を中心に感じる品質です。ただし、利用者といっても企業向けのソフトウェア製品であれば、管理者であったり、一般利用者(オペレーター)であったり、さまざまな役割(ロール)の利用者がいます。
ここでは、ソフトウェア品質は「モノの品質」と「利用者の品質」に大きく2つに分類されていると覚えてください。詳細は具体的な例を挙げながら本連載で説明していきます。
この2つの品質モデルでソフトウェア製品またはシステムの品質を分類していくことができます。つまり、この品質モデルで定義されている品質特性ごとに品質を説明すると客観的に品質を説明していくことが可能です。
この品質モデルについて先に詳しく知りたい方は、独立行政法人 情報処理推進機構(IPA)が2015年に発行した「つながる世界のソフトウェア品質ガイド」を参照することをお勧めます。書籍だけではなく、下記サイトからPDF版のダウンロードが可能です。
このガイドでは品質特性が詳細に解説されています。規格書を読むよりもずっと簡単に品質モデルを理解することができます。ぜひ、ダウンロードして活用してください。
Copyright © ITmedia, Inc. All Rights Reserved.