<移植性>
「移植性」とは、ソフトウェアをある環境から別の環境下に移した場合のソフトウェアの対応能力を推し量る指標です。
ここでの「環境」とは、機器・OS・部署・地域・他ソフトウェアとの組み合わせ等を含みます。
「移植性」には「環境適応性」「設置性」「規格適合性」「置換性」の副特性が存在します。
センターマシン・集中型システム構築中心の開発形態から、様々な機器や環境に対応できるオープン、かつ分散型システム構築中心の開発形態へ変革した現在では、移植性のあるシステム構築は難しい状態でありますが、それ故に非常に重要となります。
使う側から見ると、ソフトウェアに対する機能や性能として「移植性」を直接的に意識し、要求することはないと思います。
ソフトウェアを構成する機能やその性能に対する要求とは別に、間接的に備わっていてもらいたい要素になるのではないでしょうか。
汎用的に使用することを前提とするアプリケーションソフトウェア(市販・量販するソフト)や、運用中に様々な環境変化が予想される分散型システムでは移植性が重要視される傾向が強いと思われます。
【環境適応性】
ある環境で使用しているソフトウェアを、他の環境下へ移しても問題なく同じ動作をする度合いと考えて良いでしょう。
例えば「OS」が異なる機器に移植してもそのまま使えるか?(→WindowsXPからWindowsVistaへ変更しても使用できるか)
異なる「機種」に移植しても問題なく動作が保証されるか? ということです。
分母に「評価が必要な機種数」や「現存するOS数」を設定し、分子に「対象のソフトウェアが適応できる機種やOSの数」を設定すれば、「適応可能(機種またはOS)率」が出ます。
適応可能○○率=対象ソフトウェアが適応できる○○数/評価が必要な全○○数
※○○ は 例えば「機種」・「OS」・「部署」・「地域」・「データ」・・・・
【設置性】
対象のソフトウェアを移植する際にかかる労力を示す指標です。
つまり、移植する際にどの程度大変か?あるいは何もしなくて良いか? を示すものということです。
要は、「できるだけ簡単に(最高なのは「何もしなくて良い」(^^)/)」移植することができればいいわけです。
△△変更率=変更が必要な△△数/移植する必要のある全△△数
△△ は 例えば「パラメータ」・「ファイル」・・・・
リコンパイル率=リコンパイルが必要なプログラム数/移植が必要な全プログラム数
【共存性】
(準備中)
【置換性】
ある環境において対象のソフトウェアと置き換えて他のソフトウェアを使用する場合の労力を示す指標です。
例えば、あるワープロ用のアプリケーションソフトウェアの現在Version(例「Ver6.0」)を、最新Version(例「Ver7.0」)に変えたとき、旧Versionのファイルが使用できるのか?何かの変換が必要なのか?その労力はどのくらいか?ということです。s
測定指標は、他のソフトウェアを適用する場合の「変更度合い」を示すものとなります。
○○変更率=移植によって変更になった○○数/全移植○○数
○○ は 例えば「機能」「項目」「コード」・・・・・
【標準適合性】
移植性にかかわる(プロトコル等の)規格・規約・標準にどの程度適合しているかを示す指標です。
OSIやCCITT勧告等の通信プロトコルや、場合によっては国レベルのローカルな決め事に対する適合度合いを考えることもできるはずです。
システムのグローバル化も進んでいますので、各種国際規格への適合度合いも含まれると考えていいでしょう。
他にも、下記のような移植性に対する標準適合性の事例があると考えられます。
・自社発売しているソフトウェアツールシリーズは、ある特定の移植性を保証して開発している(指定した移植性を保証するように開発する)
・多くの会社が参入している特定の組み込み製品シリーズの中で移植性を保証するために、基本仕様を提供する開発元会社が指定する標準機能を保証する必要がある
標準適合率=適合している項目数/適合するべき項目数