【基本情報】ソフトウェアの品質特性

こんばんは。あんみつです。

今日は「ソフトウェアの品質特性」についてまとめました。

ソフトウェアの品質特性モデル

ソフトウェアの品質特性モデルとは、ソフトウェアの品質に対する指標を分類したものです。

大きく分けると以下の6種類の「品質特性」に大分類され、
それぞれにさらに細分化された「品質副特性」というものがつきます。

基本情報技術者試験の午前問題で出題されるのは「品質特性」の部分までだと思いますが、
選択肢(誤答)の一部に副特性が入っていることもあるので知識としては入れておくと良いです。

機能性(functionality)

ソフトウェアが要求仕様を機能的に満たしているか。

品質副特性:合目的性(suitability)、正確性(accuracy)、相互運用性(interoperability)、機密性(security)、標準適合性(compliance)

信頼性(reliability)

ソフトウェアが正常に稼働し続けるか。
また、障害発生時にすぐに復旧できるか。

品質副特性:成熟性(maturity)、障害許容性(fault tolerance)、回復性(recoverability)、標準適合性(compliance)

使用性(usability)

利用者にとって使いやすいソフトウェアか。

品質副特性:理解性(understandability)、習得性(learnability)、運用性(operability)、注目性 (attractiveness)、標準適合性(compliance)

効率性(efficiency)

レスポンスやメモリなどのリソースに対して性能の効率が良いか。

品質副特性:時間効率性(time behaviour)、資源効率性(resource behaviour)、標準適合性(compliance)

保守性(maintainability)

機能追加や不具合対応のしやすいソフトウェアか。

品質副特性:解析性(analyzability)、変更性(changeability)、安定性(stability)、試験性(testability)、標準適合性(compliance)

移植性(portability)

他の環境に移植しやすいソフトウェアか。

品質副特性:環境適応性(adaptability)、設置性(installability)、共存性 (co-existence)、置換性(replaceability)、標準適合性(compliance)

ISO/IEC9126とJIS X 0129-1

補足ですが、そもそもこの品質特性モデルはいったい誰が決めたのか?
というのが気になったので調べました。

これらの品質特性モデルは、「ISO/IEC 9126」というソフトウェア品質の評価に関する国際規格が定めたものです。
なお、ISO国際規格であることに対してJIS日本国内の規格という位置づけで、
JISとしては「JIS X 0129-1」にて同じように定義されているという扱いです。

ISOが定めた英語版を、JISが日本に合うように翻訳した、という解釈で良いと思います。

過去問(品質特性)

少し古いですが平成22年春の基本情報技術者試験の問題を解いてみましょう。

 

 

 

 

 

 

答えは、、、

 

 

 

 

 

「ア」ですね!

 

機能要件と非機能要件

合わせて、品質特性と混同してしまいがちな機能要件と非機能要件についても簡単に解説します。

機能要件と非機能要件は、ソフトウェア開発の要件定義でよく使われる言葉です。

機能要件

その対象ソフトウェアに対して、搭載すべき機能のことです。

つまり、品質特性モデルでいうところの「機能性」とほぼ意味合いは同じです。

例えばブログサービスであれば、

・ブログが投稿できること
・投稿した記事を編集、削除できること

など、そのシステムが必ず満たすべき要件のことを指します。

非機能要件

前述の機能要件はそのシステムに対して出来て当たり前の大前提ですので、
機能要件を満たしているだけではユーザーは満足しません。

これに対し、そのシステムの差別化を図るための要件が非機能要件になります。

品質特性モデルの「機能性」以外の5項目もそうですし、
「セキュリティ」「運用」「エコロジー」などより具体的に定められる場合もあります。

非機能要件に関しては対象システムの趣旨に応じて重要視されるポイントが違いますので、
実際の要件定義でユーザーや顧客と話し合って定義していくことが重要です。

おわりに

いかがでしょうか。

ソフトウェアの品質特性モデルに関しては、
単に基本情報技術者や応用情報技術者の試験に出るからという以上に、
どんな形であれサービスやソフトウェアを開発する立場からすると、
意識しておくと高品質なモノづくりができるようになる知識です。

言うは易しとはまさにこれで、知っただけでは何の役にも立たず、
実践できるようになるべく努力していかなければならないと…と、
記事を書きながらも耳が痛いです。。。

ひさびさの更新にしてテーマが重い(笑)

私自身、がんばります!

最後に基本情報技術者試験の対策本で標準的なものを紹介しておきます。

 

なお、当ブログのカテゴリ「情報処理」で絞っていただくと基本情報に関する記事がまとめて読めますので、
よろしければ他の記事もご覧ください。

それでは今日はこの辺で!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA