今回は、ソフトウェアの「品質特性」について紹介していくよ〜!
具体的には、8つの主要な品質特性と、それらをより深く理解するための31の品質副特性について詳しく見ていくよ!
品質特性と品質副特性を理解することは、ソフトウェアの品質を評価し、改善する上で非常に重要なの!
なぜなら、これらの特性を理解していると、ソフトウェアのどの部分が優れていて、どの部分が改善が必要なのかを明確にすることができるから!それでは見ていこう💫
ソフトウェア品質特性とは
まず初めに、私たちが理解すべきは「ソフトウェア品質特性」についての基本的な知識!
私たちが日々使っている様々なソフトウェアやアプリケーションの品質を評価するための重要な基準の一つ。
品質特性とは
品質とは一言で言えば、ソフトウェアがどの程度良いかを示すものですが、その評価基準は多岐にわたります。
それらを一つひとつ細かく見ていくことで、ソフトウェア全体としての品質を把握することが可能になります。
このように、品質を評価するための観点を「品質特性」と呼び、さらにそれらを細かく分割したものを「品質副特性」と呼びます。これらの品質特性と品質副特性をまとめて整理したものが品質モデルと呼ぶのよ!
利用しやすさの品質特性は、「使い方を覚えやすいか」「操作性が良いか」といった品質副特性があるようなもの!
これでもわからなければナンパを例にしてみるけど、
「ナンパのうまさ」の品質特性には、「声の掛け方が上手い」「容姿がいい」「清潔感がある」などナンパのうまさといっても一つの物差しで評価することができないからより細分化して評価しようよっていうこと!!
そこで、ソフトウェアの品質を評価する観点を細分化し、それぞれの品質特性や品質副特性に対する評価を個々に行うというアプローチが取られるようになったの。
この評価方法を体系化したものが品質モデルであり、品質モデルに含まれる観点が、具体的には品質特性となるわけです。
これを理解できれば、ソフトウェア品質特性の重要性とその役割がより明確になるのよ!!
品質特性の規格詳細
品質特性の取り込みというテーマになると、信用性が高い組織が設定した公式な基準を使うのが一般的な方法!
品質特性の規格の中で最も古いとも考えられるものが「ISO/IEC 9126」です。
なんなのこの暗号!!(みんなの気持ちを代弁しておいたわ⚡️)
ISO/IEC 9126とは、ソフトウェアの品質を評価するための国際的な規格で、6つの主要な品質特性と27の補助的な品質特性から構成されています。
その後の2010年代には、ISO/IEC 9126の更新版として「ISO/IEC 25010(日本語版:JIS X 25010)」が登場しました。ISO/IEC 25010はISO/IEC 9126の品質モデルをさらに発展させたもので、8つの主要な品質特性と31の補助的な品質特性で構成されているの!
品質特性を取り入れる際には、これらのどちらかを使用するのが通常となっています。
今回の記事では、最新のISO/IEC 25010(JIS X 25010)に基づいて、品質特性について詳しく説明していきます。
さらに付け加えると、ISO/IEC 25010はISO/IEC 25000シリーズの中の一部分となっています。
このシリーズには、品質モデル以外にも以下のような要素が含まれているのよ!
規格番号 | 規格の対象範囲 |
---|---|
ISO/IEC 25000~ | 品質管理 |
ISO/IEC 25010~ | 品質モデル(品質特性を含む) |
ISO/IEC 25020~ | 品質測定 |
ISO/IEC 25030~ | 品質要求 |
ISO/IEC 25040~ | 品質評価 |
ソフトウェア品質特性活用による2つの利点
ソフトウェア品質特性を活用する主なメリットは、次の2つ!!
・ソフトウェア品質の可視化
・テスト設計の漏れを減らすことができる
それぞれ見ていきましょう!
ソフトウェア品質の可視化
良質か否かという評価基準は、非常に主観的でかつ曖昧。
それぞれの人が持つ基準や視点によって、評価は変わってしまう可能性があるよね。このような曖昧さを排除するために、品質モデルという方法が存在するの!
このモデルでは、品質を評価する観点が細かく区分けされるため、より具体的かつ客観的な評価が可能となります。品質特性や品質副特性という要素を通して、具体的な評価ポイントが明示されます。その結果、ソフトウェアの品質を客観的に評価し、その結果を理解しやすい形で視覚化することができます。
テスト設計の漏れを減らすことができる
ソフトウェアの品質を担保する一環として、「テスト設計」が行われます。
テスト設計とは、ソフトウェアに何の問題があるかを明らかにするためのシナリオ、すなわち「テストケース」を作り出す過程であり、その中でも最重要課題の一つがテスト観点の明確化です。テスト観点とは、テストで確認すべき重要な事項を指し、テスト観点が抜け落ちると、邪魔なバグを見過ごす危険性が出てくるのです。
ここで、ソフトウェアの品質特性が大きな役割を果たします。品質特性とは、ソフトウェアが持つべき特性のことで、これを基にテストケースを作り出せば、テスト観点の漏れを最小限に抑えることが可能となります。そして、万が一テスト観点の漏れが生じてしまったとしても、品質特性を一種のチェックリストとして活用すれば、その漏れに早期に気づくことができるのよ!
ソフトウェア品質特性・品質副特性の種類と詳細(ISO/IEC 25010)
このセクションでは、8つの主要な品質特性とそれらに伴う31の品質副特性の詳細をお伝えします。それぞれの品質特性について丁寧に説明し、それらに関連する品質副特性を一覧表として提供する形で解説を進めていきます。
これにより、読者の皆様がソフトウェアの品質特性と品質副特性を深く理解することが可能となります。
機能適合性
ソフトウェアが持つ機能がユーザーの求めるニーズをどの程度満足させているかを指し示す指標のこと!
ここで言う「ニーズ」とは、ユーザーの具体的な要望や期待を示す要件定義書や仕様書に記載されている内容だけでなく、それを超えた部分にも及びます。
つまり、開発過程で作成される文書にはっきりと書かれていない、しかしユーザーにとっては重要な性能に関する部分も、評価の対象となるのです。
品質特性 | 品質副特性 | 観点 |
---|---|---|
機能適合性 | 機能完全性 | 機能がニーズをどれだけ網羅しているか |
機能正確性 | 機能を誤りなく正確に提供できるか | |
機能適切性 | 利用目的にふさわしい機能内容か |
性能効率性
CPUやメモリ、外部ハードディスクといった要素がどれだけ効率良く機能を果たせるかを表す指標のこと!
これらのIT資源が最大限に活躍でき、高いパフォーマンスを発揮するソフトウェアを用いることができれば、「性能効率性が高い」と評価することができるの!
性能効率性を評価する際には、以下の品質特性や観点が重要となります。
品質特性 | 品質副特性 | 観点 |
---|---|---|
性能効率性 | 時間効率性 | 応答時間や処理時間が適切か |
資源効率性 | ITリソースを無駄なく効率的に支えているか | |
容量満足性 | 入力値やデータ量の狭範囲が十分か |
互換性
さまざまな利用環境に対応できる能力のこと!
例えば、新しいバージョンのソフトウェアが登場したとしても、または新型のハードウェアが市場に出たとしても、その影響を最小限にとどめ、円滑に機能を維持し続けることができるソフトウェアやハードウェアのことを指します。互換性は、品質の一部として、特に重視される点であり、その具体的な観点については以下!
品質特性 | 品質副特性 | 観点 |
---|---|---|
互換性 | 共存性 | 他ソフトウェアに悪影響を与えたり、悪影響を受けたりせずに動作するか |
相互運用性 | 他ソフトウェアや他機器と連携できるか |
使用性
実際のユーザーや運用者がソフトウェアを操作する上での使いやすさのこと!
開発者の視点ではなく、一般のユーザーがどれだけストレスなく、効率的にソフトウェアを使えるかという視点を重視するのよ!
具体的には、ユーザーがソフトウェアを利用する際に、迷わず直感的に操作が可能で、必要な機能や情報にすぐにアクセスできるような設計が必要です。また、ソフトウェアがユーザーの要求を早く、正確に対応できるといったパフォーマンスも大切な要素になるの!
品質特性 | 品質副特性 | 観点 |
---|---|---|
使用性 | 適切度認識性 | ユーザーが「ニーズを満たしている」と感じられるか |
習得性 | ユーザーが使い方とストレスなく効率的に習得できるか | |
運用操作性 | 運用者が操作しやすいか | |
ユーザーエラー防止性 | ユーザーの誤操作を防止できるか | |
ユーザーインターフェース快美性 | ユーザーが満足できる色やデザインか | |
アクセシビリティ | 年齢や身体障害の有無に関わらず幅広い人が利用できるか |
信頼性
想定される時間帯や利用状況において、機能を提供し続けられる度合いのこと!
これをもう少しシンプルに表現すると、「ユーザーの期待を裏切らない程度に、どれだけ一貫して動作し続けるか」ということ!
これは、問題が起きにくいことや、もし問題が発生した場合の対策など、問題への対応力を重視した品質特性と言えます。
品質特性 | 品質副特性 | 観点 |
---|---|---|
信頼性 | 成熟性 | システムの信頼性はユーザーにとって満足か |
可用性 | ユーザーが使いたい時に利用できるか | |
障害許容性 | 障害の発生をどこまで許容できるか | |
回復性 | 障害発生前の状態に戻せるか |
セキリュティ
セキュリティリスクをどの程度軽減できるかを示す指標のこと!
まず、大切なことは、セキュリティリスクを完全にゼロにすることは不可能であるという認識です。
サイバー攻撃は日々新たな形を持ち、進化し続けています。それに対し、行うべきは、常に最新のセキュリティ対策を取り入れ、それを継続的に更新し続けることなの!
品質特性 | 品質副特性 | 観点 |
---|---|---|
セキリュティ | 機密性 | 許可されたデータだけにアクセスできるか |
インテグリティ | 不正なアクセスを防止できるか | |
否認防止性 | 事実を否認されないように対策されているか | |
責任追跡性 | 操作や事象を後から追跡できるか | |
真正性 | 偽りなく本物であると証明できるか |
保守性
システムやプログラムを維持し、適切に保守作業を行える程度を測る指標のこと!
保守作業とは、プログラムコードの修正や、設定ファイルの更新、それから継承や環境移行といった作業を含んでいの。さらに、新たな機能を加えたり、品質を向上させるための更新も、保守性の評価範囲に含まれるの!
品質特性 | 品質副特性 | 観点 |
---|---|---|
保守性 | モジュール性 | 構成ようができる限り独立し、他の構成要素への影響を抑えられているか |
再利用性 | 既存の構成要素を他システムへ再利用できるか | |
解析性 | 影響範囲や修正箇所、問題箇所などを解析できるか | |
修正性 | 品質を保ちつつ効率的にプログラムを修正できるか | |
試験性 | 品質を保ちつつ効率的にテストを行えるか |
移植性
ソフトウェアが新たな使用環境にスムーズに適応できるかどうかを測る指標のこと!
具体的には、ソフトウェアが異なるオペレーティングシステム(OS)やウェブブラウザなどの使用環境に迅速に移行できるか、新しい使用環境に問題なくインストールできるかなどが評価されるの!
品質特性に関するITパスポート試験の過去問!
Q:ソフトウェア製品の品質特性を,移植性,機能適合性,互換性,使用性,信頼性,性能効率性,セキュリティ,保守性に分類したとき,RPAソフトウェアの使用性に関する記述として,最も適切なものはどれか。
ア:RPAが稼働するPCのOSが変わっても動作する。
正解:エ
イ:RPAで指定した時間及び条件に基づき,適切に自動処理が実行される。
ウ:RPAで操作対象となるアプリケーションソフトウェアがバージョンアップされても,簡単な設定変更で対応できる。
エ:RPAを利用したことがない人でも,簡単な教育だけで利用可能になる。
正解は『RPAを利用したことがない人でも,簡単な教育だけで利用可能になる。』
RPAを利用したことがない人でも,簡単な教育だけで利用可能になるは、RPAソフトウェアの使用性に関する記述なので、正解!
アは、RPAソフトウェアの移植性に関する記述。
イは、機能適合性に関する記述。
ウは、RPAソフトウェアの互換性に関する記述。
ITパスポート試験をスマホで手軽に勉強!
「えろ勉」も戦略的に開発&運営しております。この記事が勉強になった!ためになったよ〜って思ったら、なんかアクションをお願い!!「えろの力で勉強するゲーム:えろ勉」
このように、品質特性を学んで正しくシステムを評価して質の高いアプリケーションを作っていこう!