Software Quality.com

●1.22 お知らせのコーナーに JaSST'12東京でお会いしましょう! を追加

ホーム
★agile inspection WS
What's new
お知らせ
サイト マップ
Softwareを取り巻く状況
用語解説
要求工学
利用品質/人間中心設計
ソフトウェア品質特性
機能性・信頼性
使用性・効率性
保守性・移植性
プロトタイプ
レビュー
マネジメント
SW構成管理
books
プロセス改善
独り言・私語
training
reference
当サイトについて
お問い合わせ
ソフトウェア品質特性 【保守性】【移植性】

品質特性

副特性

意味 

保守性 

解析性
変更性
安定性
試験性

標準適合性

保守(改訂)作業に必要な努力の度合い
移植性 

環境適応性
設置性
共存性

置換性

標準適合性

別環境へ移した際そのまま動作する度合い

 

<保守性>
保守性には「解析性」「変更性」「安定性」「試験性」の副特性が存在します。
これらは、改訂(訂正や環境適合のための改修等を含む)を行うために必要な労力に関係するものと言えます。
「労力」は考え方によっては保守する側だけに影響のある特性と見えなくもありませんが、ソフトウェアによるシステムがどのくらい保守に絶えられるか?(続けて使っていけるのか?)保守する際にかかる時間はどの程度なのか?(どのくらい維持するのに(お金・時間等が)かかるのか?)は、ソフトウェアを使う側(例えば顧客)にとっても十分な関心事であると思います。
また、ソフトウェアは当初開発したあとは廃棄されるまで「保守」され続ける訳ですから、この特性は長期間Watchしていくものになりそうです。

保守性に存在するそれぞれの副特性は、保守作業サイクルに存在する各要素に対して定義されています。

<保守作業サイクル>
1.保守実施の決定
2.保守対象部分の識別と特定
3.実改訂作業
4.改訂後テスト
5.保守終了・リリース

【解析性】
保守を行うことが決まった時から、保守する部分を識別し、特定するまでの労力に関する特性です。
(1~2)
例:
平均故障解析時間:故障の連絡を受けてから故障原因、変更箇所の識別・特定が終了するまでの作業時間
   =故障解析作業時間/故障解析件数 

【変更性】
保守全体に必要な労力に関する特性です。
(1~5)
例:  
平均故障訂正時間:故障の連絡を受けてからリリースまでにかかった平均時間 = 全故障対応時間/全故障回数
平均故障訂正工数:故障の連絡を受けてからリリースまでにかかった平均対応工数 = 全故障対応工数/全故障回数

【安定性】
保守作業によって発生する可能性のある「障害混入=デグレード」に関する特性です。(全体)
例:
単位規模当たりの障害混入率=障害混入件数/変更規模
※規模=例えば「行数」

【試験性】
保守によって必要となるテストに要する労力に関する特性です。(4)
例:
  単位規模当たりのテスト作業時間=総テスト作業時間/変更プログラム規模
  規模=例えば「行数」

【標準適合性】
(準備中)
<移植性>
「移植性」とは、ソフトウェアをある環境から別の環境下に移した場合のソフトウェアの対応能力を推し量る指標です。
ここでの「環境」とは、機器・OS・部署・地域・他ソフトウェアとの組み合わせ等を含みます。

「移植性」には「環境適応性」「設置性」「規格適合性」「置換性」の副特性が存在します。
センターマシン・集中型システム構築中心の開発形態から、様々な機器や環境に対応できるオープン、かつ分散型システム構築中心の開発形態へ変革した現在では、移植性のあるシステム構築は難しい状態でありますが、それ故に非常に重要となります。
使う側から見ると、ソフトウェアに対する機能や性能として「移植性」を直接的に意識し、要求することはないと思います。
ソフトウェアを構成する機能やその性能に対する要求とは別に、間接的に備わっていてもらいたい要素になるのではないでしょうか。
汎用的に使用することを前提とするアプリケーションソフトウェア(市販・量販するソフト)や、運用中に様々な環境変化が予想される分散型システムでは移植性が重要視される傾向が強いと思われます。

【環境適応性】
ある環境で使用しているソフトウェアを、他の環境下へ移しても問題なく同じ動作をする度合いと考えて良いでしょう。
例えば「OS」が異なる機器に移植してもそのまま使えるか?(→WindowsXPからWindowsVistaへ変更しても使用できるか)
異なる「機種」に移植しても問題なく動作が保証されるか? ということです。
分母に「評価が必要な機種数」や「現存するOS数」を設定し、分子に「対象のソフトウェアが適応できる機種やOSの数」を設定すれば、「適応可能(機種またはOS)率」が出ます。

適応可能○○率=対象ソフトウェアが適応できる○○数/評価が必要な全○○数

※○○ は 例えば「機種」・「OS」・「部署」・「地域」・「データ」・・・・

【設置性】
対象のソフトウェアを移植する際にかかる労力を示す指標です。
つまり、移植する際にどの程度大変か?あるいは何もしなくて良いか? を示すものということです。
要は、「できるだけ簡単に(最高なのは「何もしなくて良い」(^^)/)」移植することができればいいわけです。

 △△変更率=変更が必要な△△数/移植する必要のある全△△数

 △△ は 例えば「パラメータ」・「ファイル」・・・・

 リコンパイル率=リコンパイルが必要なプログラム数/移植が必要な全プログラム数
【共存性】
(準備中)

【置換性】
ある環境において対象のソフトウェアと置き換えて他のソフトウェアを使用する場合の労力を示す指標です。
例えば、あるワープロ用のアプリケーションソフトウェアの現在Version(例「Ver6.0」)を、最新Version(例「Ver7.0」)に変えたとき、旧Versionのファイルが使用できるのか?何かの変換が必要なのか?その労力はどのくらいか?ということです。s
測定指標は、他のソフトウェアを適用する場合の「変更度合い」を示すものとなります。

 ○○変更率=移植によって変更になった○○数/全移植○○数

 ○○ は 例えば「機能」「項目」「コード」・・・・・
 
【標準適合性】
移植性にかかわる(プロトコル等の)規格・規約・標準にどの程度適合しているかを示す指標です。
OSIやCCITT勧告等の通信プロトコルや、場合によっては国レベルのローカルな決め事に対する適合度合いを考えることもできるはずです。
システムのグローバル化も進んでいますので、各種国際規格への適合度合いも含まれると考えていいでしょう。
他にも、下記のような移植性に対する標準適合性の事例があると考えられます。
・自社発売しているソフトウェアツールシリーズは、ある特定の移植性を保証して開発している(指定した移植性を保証するように開発する)
・多くの会社が参入している特定の組み込み製品シリーズの中で移植性を保証するために、基本仕様を提供する開発元会社が指定する標準機能を保証する必要がある

 標準適合率=適合している項目数/適合するべき項目数