🪓
ソフトウェア品質(JIS X 25010:2013)が何を言っているのかわからなかったため斧で例えてみたらわかりやすかった話
DBスペの勉強してたら、ソフトウェア品質の項目がありました。読んでてもよくわからなかったので斧の品質を考えて比べてみたところ一緒だなと思いました。皆さんに共有します。
ソフトウェア品質について定めたJIS規格 JIS X 25010:2013
ソフトウェア品質について定めたJIS規格があります。
そちらによると、システム/ソフトウェア製品品質は以下の項目があるみたいです。
-
機能適合性 ニーズを満足させる機能を提供する度合い
- 機能完全性
- 機能正確性
- 機能適切性
-
性能効率性 資源の量に関係する性能の度合い
- 時間効率性
- 資源効率性
- 容量効率性
-
互換性 他の製品やシステムなどと情報交換できる度合い
- 共存性
- 相互運用性
-
使用性 明示された利用状況で、目標を達成するために利用できる度合い
- 適切度認識性
- 習得性
- 運用操作性
- ユーザーエラー防止性
- ユーザーインターフェイス快美性
- アクセシビリティ
-
信頼性 機能が正常動作し続ける度合い
- 成熟性
- 可用性
- 障害許容性
- 回復性
-
セキュリティ システムやデータを保護する度合い
- 機密性
- インテグリティ
- 否認防止性
- 責任追跡性
- 真正性
-
保守性 保守作業に必要な努力の度合い
- モジュール性
- 再利用性
- 解析性
- 修正性
- 試験性
-
移植性 別環境へ移してもそのまま動作する度合い
- 適応性
- 設置性
- 置換性
目が滑りますね😅😅 うーん、重要そうな項目並んでるけど何言ってるのかわからない...
斧の品質
斧の品質ってなんでしょうか? 僕は代表的なものは以下の項目だと思います。
-
切れ味の鋭さ
- 木を切ることができる
- 木をより少ない労力で切ることができる
-
壊れにくさ
- 雨や直射日光にさらされても壊れにくい
-
手入れのしやすさ
- 切れ味を維持できる方法がある
- 切れ味をより少ない労力で維持できる
- 壊れても直しやすい
-
使いやすさ
- 手のなじみやすさ
これらの項目が高いものほど品質は高そうですね。あとはプラスアルファの品質として
-
安全性
- 手を怪我しにくい
-
他の道具との相性のよさ
- 一般的な道具箱に収納できる設計
があると思います。まぁ斧は単体で使う事が多いので「他の道具との相性のよさ」はあまりピンと来ませんね。
ソフトウェアの品質を斧で例えると...
これをソフトウェアで例えると、
-
切れ味の鋭さ
- 機能がその目的を達成できる(
機能適合性
) - 機能がより少ないリソースでその目的を達成できる(
性能効率性
)
- 機能がその目的を達成できる(
-
壊れにくさ
- インフラ障害がおきても利用可能(
信頼性
) - バグが起きにくい(
信頼性
) - いろんな環境で使える(
移植性
)
- インフラ障害がおきても利用可能(
-
手入れの容易さ
- コードの把握のしやすさ(
保守性
) - コードの変更にしやすさ(
保守性
) - バグの検知のしやすさ(
保守性
) - インシデントの検知のしやすさ(
保守性
)
- コードの把握のしやすさ(
-
使いやすさ
- 人間の直感と一致するデザイン(
使用性
)
- 人間の直感と一致するデザイン(
-
安全性
- データを守る(
セキュリティ
)
- データを守る(
-
他の道具との相性のよさ
- 他製品から利用可能、他製品を利用可能(
互換性
)
- 他製品から利用可能、他製品を利用可能(
となります。こっちのがわかりやすいかも??
おまけ
品質に関しては、あとは狩野モデルが有名ですね。
Discussion