品質勉強会-第２回：品質の種類

# 過去の品質勉強会
 1. [品質勉強会-第１回：品質って何？](https://qiita.com/shohei-y/items/6ecf8a4d6008d319e04f)


---


# 本セクションの目的

品質の種類を理解する。


---


# 品質のイメージ

`品質/クオリティ` と聞いたときに、どのようなことをイメージしますか？
どのような項目が対象か考えてみてください。

---

## 例えば
- `品質` と聞くと、 `不具合・バグ` のイメージを強く感じる。
-  `クオリティ` と聞くと、 `機能性・使用性` のイメージを強く感じる。

# 品質の種類

- プロダクト品質
    - 当たり前品質
    - 一元的品質
    - 魅力的品質
- プロセス品質
    - 作業手順
    - 企業倫理

---

## プロダクト品質
プロダクトに対する品質です。
先ほどの例の、`不具合・バグ`  `機能性・使用性`は、プロダクト品質になります。

---

- 当たり前品質
    - できて当たり前の品質。
    - ユーザが「この製品は最低限この品質を満たしているはずだ。」「この製品はこの品質を持っていて当たり前だ。」と思っている品質のことです。
    - 例えば、自動車であれば、「安全に走行することができる」といった品質となります。当たり前品質が満たされていても、お客様は特に満足を感じることはありません。ただし、**満たされていないと不満を感じる要因**となります。

---

- 一元的品質
    - ないと不満で、あるとウレシイ品質です。
    - 例えば、ショートカットキーなどの操作を楽にする機能などがこれに相当します。

---

- 魅力的品質
    - なくても不満にならないが、使ってみて充足感が高いと手放せなくなるような品質です。
    - ユーザによって、何に魅力を感じるかは異なります。市場分析やユーザ分析を常に行って磨いていく必要があります。

---

## プロセス品質

製品やサービスを生み出すのに関与する全ての要素

---

- 作業手順
    - 申込〜利用、サポートなどのサービス提供手順や、プロダクト品質を作り込む手順の品質のことです。
- 企業倫理
    - 企業自らが社会の一員として活動し、価値のある一員として認められる為の基本的な行動範囲。


# 品質特性

「品質要素を客観的に評価するための性質」を定義した物が、品質特性です。
品質特性には、機能性、信頼性、使用性、効率性、保守性、移植性があり、この6つの特性から、外部品質、内部品質を評価していきます。

---


- 機能性(functionality)
    - ソフトウェアがユーザからの機能的な要求(明示的機能と暗示的機能)を満たす度合い。
       ユーザ目的に合った正確な動作を満たすか。外部IFや規格、セキュリティ基準を満たすか。
    - 副特性
        - 合目的性(suitability)
        - 正確性(accuracy)
        - 相互運用性(interoperability)
        - 機密性(security)
        - 標準適合性(compliance)

---

- 信頼性(Reliability)
    - 様々な使用条件のもとで、ソフトウェアの機能が正常に稼働し続ける度合い。
       必要な期間、正常に動作を続け、イレギュラーに対する耐久力を持ち、障害時に速やかに回復できるか。
    - 副特性
        - 成熟性(maturity)
        - 障害許容性(fault tolerance)
        - 回復性(recoverability)
        - 標準適合性(compliance)

---

- 使用性(Usability)
    - 分かりやすく使いやすいソフトウェアであるかどうかの度合い。
       簡単に理解でき使いこなすことができるか。再び使用したくなるか。
       インストール作業や運用時が容易か。
    - 副特性
        - 理解性(understandability)
        - 習得性(learnability)
        - 運用性(operability)
        - 魅力性(attractiveness)
        - 標準適合性(compliance)

---

- 効率性(Efficiency)
    - アプリケーションのレスポンスや、ハードウェア資源(メモリ/CPU使用率/ハードディスク等)に対して適切な性能を提供する度合い。
    - 副特性
        - 時間効率性(time behaviour)
        - 資源効率性(resource behaviour)
        - 標準適合性(compliance)

---

- 保守性(Maintainability)
    - ソフトウェアに対する機能追加、改修、環境変化等に対する対応の容易性の度合い。
        障害等の問題の把握、切り分けなどの解析のしやすさ、変更作業の容易さ、
        保守作業が必要な頻度の少なさ、保守によるテスト作業の行いやすさ等。
    - 副特性
        - 解析性(analyzability)
        - 変更性(changeability)
        - 安定性(stability)
        - 試験性(testability)
        - 標準適合性(compliance)

---

- 移植性(Portability)
    - ソフトウェアを ある環境から他の環境に移すための容易性の度合い。
        OSやハードウェア等の環境変更に対してスムーズに移植できるか、どの程度の作業量にて移植できるか。
    - 副特性
        - 環境適応性(adaptability)
        - 設置性(installability)
        - 共存性(co-existence)
        - 置換性(replaceability)
        - 標準適合性(compliance)


---


#  関係性

- 「品質の種類」と「品質特性」の関係図
   <img width="2200" alt="image.png (1.0 MB)" src="https://img.esa.io/uploads/production/attachments/6882/2021/02/28/66117/97b5e1bd-faa7-4832-9066-83a467badd19.png">
- 種類で分ける
    <img width="1784" alt="image.png (72.3 kB)" src="https://img.esa.io/uploads/production/attachments/6882/2021/02/28/66117/6939c305-f344-4072-9079-9bb6d1a9bf5b.png">


「プロセス」の結果が「プロダクト」であり、「プロダクト」の良し悪しを評価する物が、「品質特性・フィードバック」となる。
よって、「プロダクト品質」を高めるためには、「プロセス品質」を高めることが必要不可欠と言える。「プロセス品質」の最低ラインは、「当たり前品質（品質６特性）」の確保である。


---


# 次回予告

今回は、「品質の種類」について学びました。
次回は、「プロセス品質」について、考えていきましょう。