「このシステム、品質が高いですね」と言われたとき、何をもって”品質が高い”と判断していますか?速い?落ちない?使いやすい?──実は、ソフトウェアの品質は国際規格できっちり8つの観点に整理されています。それが「ソフトウェア品質特性」です。
対象試験と出題頻度
ソフトウェア品質特性は、基本情報技術者試験(FE)・応用情報技術者試験(AP)の午前問題で繰り返し出題されているテーマです。
ISO/IEC 25010(旧ISO/IEC 9126)に基づく8つの品質特性の名称と定義、そして「機能適合性」「信頼性」「使用性」など各特性の意味を区別できるかが問われます。
個別の特性を扱う記事は別途用意していますので、本記事ではまず全体像を押さえてください。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★★☆☆
ランクB(標準)覚えておくと有利
用語の定義
情報処理試験を勉強していると、「ソフトウェア品質特性って結局なに?8つもあって覚えきれない…」と混乱しがちです。まずは一言で押さえてしまいましょう。
ソフトウェア品質特性(Software Quality Characteristics)とは、一言で言うと
「ソフトウェアの良し悪しを客観的に評価するための、国際規格で定められた観点のチェックリスト」
のことです。
イメージとしては、「家を買うときの物件評価シート」です。
家を買うとき「立地」「広さ」「耐震性」「断熱性」「メンテナンスしやすさ」など、複数の観点で評価しますよね。一つだけ満点でも他がダメなら住みにくい家になります。
ソフトウェアも同じで、「機能はあるか」「速いか」「安全か」「使いやすいか」など複数の観点で総合評価する必要があります。その観点を国際的に統一したものが品質特性です。
📊 ソフトウェア品質特性の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Software Quality Characteristics |
| 準拠規格 | ISO/IEC 25010(SQuaREシリーズ)/旧ISO/IEC 9126 |
| 特性の数 | 8つ(製品品質モデル) |
| 主な利用工程 | 要件定義・設計・テスト・運用評価 |
| 関連用語 | 非機能要件、SQuaRE、品質副特性 |
解説
ソフトウェア開発の現場では、発注側と開発側で「品質が高い」の意味がズレることがよくあります。発注側は「使いやすさ」を重視し、開発側は「処理の速さ」を重視する。
こうした認識のズレを防ぐために、国際標準化機構(ISO)と国際電気標準会議(IEC)が共同で品質の評価軸を整備しました。それがISO/IEC 25010です。
かつてはISO/IEC 9126で6つの特性が定義されていましたが、2011年に発行されたISO/IEC 25010で「セキュリティ」「互換性」が独立し、現在の8特性体系になっています。
8つの品質特性(製品品質モデル)
ISO/IEC 25010で定義される8つの特性を、それぞれ「何を評価するか」とともに整理します。
各特性の詳細は個別記事を用意しているので、ここでは全体像を掴んでください。
| 特性 | 英語名 | 何を評価するか |
|---|---|---|
| 機能適合性 | Functional Suitability | 必要な機能が過不足なく備わり、正確に動くか |
| 性能効率性 | Performance Efficiency | 応答時間・スループット・資源使用量が適切か |
| 互換性 | Compatibility | 他システムと共存・データ交換ができるか |
| 使用性 | Usability | 利用者が学びやすく操作しやすいか |
| 信頼性 | Reliability | 期待通りに動き続け、障害から回復できるか |
| セキュリティ | Security | 情報を不正アクセスから守れるか |
| 保守性 | Maintainability | 修正・改良・テストがしやすいか |
| 移植性 | Portability | 別の環境(OS・HW)に移しやすいか |
図解:8特性の全体マップ
8つの特性は、用途によって「動作系」「使う側の体験」「作る側・運用側の都合」の3グループに大別できます。試験でも全体構造を把握しておくと、選択肢を絞り込みやすくなります。
ISO/IEC 25010 製品品質モデル
⚙️ 動作・性能系
👤 利用者の体験系
🛠 開発・運用系
▲ 8特性は用途別に大きく3つのグループで把握できる
各特性の概要と関連記事
ここからは8つの特性について、試験で問われる定義の核と覚えるコツだけを示します。詳細は個別記事をご参照ください。
①機能適合性:仕様で定めた機能が、過不足なく、正確に提供されるかを評価する観点です。副特性に「機能完全性」「機能正確性」「機能適切性」が含まれます。
②性能効率性:レスポンス、スループット、CPU・メモリなどの資源消費量が適切かを評価します。「速さ」だけでなく「リソースの使い方の上手さ」も含む点がポイントです。
③互換性:他のシステムと同居しても干渉せず、データ交換ができるかを示します。「共存性」と「相互運用性」の2つが副特性です。
④使用性:UI/UXに関する観点です。学習しやすさ、操作のしやすさ、ミスの起こりにくさなどを評価します。「ユーザビリティ」と訳されることもあります。
⑤信頼性:故障せずに動き続ける性質です。副特性として「成熟性」「可用性」「障害許容性(耐故障性)」「回復性」を含みます。
⑥セキュリティ:情報を不正な利用や漏えいから守る能力です。機密性・インテグリティ(完全性)・否認防止・責任追跡性・真正性が副特性として整理されています。
⑦保守性:修正・改良のしやすさです。「モジュール性」「再利用性」「解析性」「修正性」「試験性」が副特性です。
⑧移植性:別の環境にスムーズに移せるかを示します。「適応性」「設置性」「置換性」が副特性です。クラウド移行やマルチプラットフォーム対応で重視されます。
非機能要件との関係
実務でよく混同されるのが「非機能要件」との関係です。非機能要件は要件定義の成果物の一区分で、品質特性は評価の観点という違いがあります。下の対応関係を押さえておきましょう。
| 観点 | 非機能要件 | 品質特性 |
|---|---|---|
| 位置づけ | 発注側が求める要求事項 | 成果物を評価する物差し |
| 規定するもの | IPA非機能要求グレードなど | ISO/IEC 25010 |
| 使う場面 | 要件定義書の作成 | テスト計画・受入評価 |
💡 ソフトウェア品質特性の核心を3行で
・ISO/IEC 25010で定義される、ソフトウェアを評価する8つの観点
・8特性は「機能適合性/性能効率性/互換性/使用性/信頼性/セキュリティ/保守性/移植性」
・旧ISO/IEC 9126では6特性、25010から「セキュリティ」「互換性」が独立して8特性に
では、この用語が試験でどのように出題されるか見ていきましょう。
試験ではこう出る!
FE・APの午前問題では、品質特性の名称と説明文を結びつける形式が定番です。出題パターンは大きく3つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| AP R元秋 午前 問46 |
JIS X 25010の品質特性「使用性」の説明として正しいものを選ぶ問題。 | ・利用者が満足して使えるかが正解 ・信頼性・効率性・保守性の説明がひっかけ |
| FE H30秋 午前 問45 |
「保守性」に該当する評価項目を選ぶ問題。 | ・「モジュール性」「修正性」が保守性の副特性 ・応答時間(性能効率性)と混同させる選択肢に注意 |
| AP H29春 午前 問46 |
「信頼性」の副特性に含まれるものを選ぶ問題。 | ・成熟性・可用性・障害許容性・回復性が正解候補 ・「学習性」(使用性の副特性)がひっかけ |
| FE H27春 午前 問46 |
ISO/IEC 9126の品質特性として適切でないものを選ぶ問題。 | ・旧6特性(機能性・信頼性・使用性・効率性・保守性・移植性)の知識 ・「セキュリティ」を9126の主特性とする誤答がひっかけ |
📝 IPA試験での出題パターン
パターン1:「特性名と説明文のマッチング」
「使用性とは何か」「保守性とは何か」のように、特性名に該当する説明を選ばせる形式。キーワード(学習性→使用性、修正性→保守性、回復性→信頼性)で即答できるよう副特性まで紐づけて覚えてください。
パターン2:「副特性がどの主特性に属するか」
「成熟性」「障害許容性」が信頼性の副特性であることなど、副特性レベルでの所属を問う形式。特に「セキュリティ」は25010から独立した点が頻出のひっかけです。
パターン3:「規格名と特性数」
ISO/IEC 9126は6特性、ISO/IEC 25010は8特性という違いを問う形式。古い問題では9126ベースで出題されているため、過去問演習時はバージョンを意識する必要があります。
試験ではここまででOKです。さらに細かい副々特性まで深追いする必要はありません。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. ISO/IEC 25010で定義されるソフトウェア品質特性の説明として、最も適切なものはどれでしょうか?
- A. ソフトウェアのソースコードを静的に解析し、コーディング規約違反やバグの可能性を自動検出する手法を体系化したもの。
- B. プロジェクト管理におけるコスト・スケジュール・スコープのバランスを評価するための、PMBOKに基づく指標。
- C. 機能適合性・性能効率性・互換性・使用性・信頼性・セキュリティ・保守性・移植性という8つの観点で、ソフトウェアの品質を評価する国際規格に基づく枠組み。
正解と解説を見る
正解:C
解説:
ソフトウェア品質特性は、ISO/IEC 25010で定められた8つの評価観点の総称であり、ソフトウェアの品質を多面的に評価するための国際的な枠組みです。8特性の名称をすべて挙げているCが正解となります。
選択肢Aは静的解析ツール(Lintなど)の説明であり、品質特性そのものではなく品質を測る手段の一つにすぎません。選択肢BはPMBOKにおけるプロジェクト管理の三大制約の話で、ソフトウェアの品質評価ではなくプロジェクト運営の指標です。どちらも品質特性とは目的・対象が異なります。
よくある質問(FAQ)
Q. ISO/IEC 9126とISO/IEC 25010、試験ではどちらで答えればいいですか?
問題文に明記されている方に従ってください。問題文に「ISO/IEC 9126」とあれば6特性(機能性・信頼性・使用性・効率性・保守性・移植性)、「ISO/IEC 25010」または「JIS X 25010」とあれば8特性で考えます。最近のFE・APでは25010ベースが主流ですが、古い過去問を解く際は規格バージョンの違いに注意してください。
Q. 製品品質モデル以外に、品質モデルはありますか?
あります。ISO/IEC 25010では「製品品質モデル(8特性)」のほかに「利用時の品質モデル」が定義されており、有効性・効率性・満足性・リスク回避性・利用状況網羅性の5特性で構成されます。前者は成果物そのものの品質、後者は実際にユーザーが使ったときの品質という違いです。FE・APでは製品品質モデルが中心に出題されますが、AP午後の論述系では利用時品質に触れることもあります。
Q. 「SQuaRE」という言葉を見かけますが、品質特性とどう関係しますか?
SQuaRE(Software product Quality Requirements and Evaluation)は、ISO/IEC 25000シリーズの総称で、ソフトウェア品質に関する国際規格群です。品質モデル(25010)、品質測定(25020シリーズ)、品質要求(25030)、品質評価(25040)など複数の規格でセットを構成します。品質特性は、このSQuaRE群の中核である25010で定義されている、と理解してください。
Q. 実務で品質特性はどう使われますか?
RFP(提案依頼書)の非機能要求の整理、テスト観点の網羅性チェック、システム監査のチェックリストなどで活用されます。例えばテスト計画では「機能適合性のテストはユニットテストでカバー」「性能効率性は負荷試験で確認」「保守性はコードレビューで担保」といった形で各特性を観点別に分担させ、テスト漏れを防ぎます。発注側と受注側の品質定義を揃える共通言語としての役割が大きいです。
Q. 8特性の覚え方のコツはありますか?
頭文字をつなげる語呂合わせが定番です。「機・性・互・使・信・セ・保・移(き・せい・ご・し・しん・せ・ほ・い)」をリズムで覚える方法、または記事中の「動作系(機能適合性・性能効率性・信頼性)/体験系(使用性・セキュリティ・互換性)/開発運用系(保守性・移植性)」の3グループ分けで覚える方法が効率的です。試験直前は副特性の代表キーワード(学習性=使用性、修正性=保守性、回復性=信頼性、適応性=移植性)まで紐づけておくと得点源になります。