Skip to content.

Sections
Personal tools
You are here: Home » 技術文書 » オブジェクト指向 » オブジェクト指向の再定義 » オブジェクト指向の再定義[3]

Document Actions
オブジェクト指向の再定義[3] - Quality
前2回で、オブジェクト指向を「テスト容易性」と「変更容易性」を中心に再定 義したい、という話をした。継承、カプセル化、情報隠蔽、ポリモーフィズム、 といった従来オブジェクト指向の説明に使われている概念、およびそこから得 られる(といわれている)再利用性という品質からではなく、

テスト容易性:EoT = Ease of Testing
変更容易性 :EoC = Ease of Change

という2つの概念が(現代的な)オブジェクト指向設計の焦点であることを、 この連載では議論していくつもりである。今回は、この2つの鍵概念と、ソフト ウェア品質の関係を上位から考えてみる。

「ISO/IEC9126」では6つのソフトウェア品質特性が定義されている。

機能性:ユーザ要求を満足する一連の機能
信頼性:一定の期間・条件下での所定性能を維持する能力
使用性:分かりやすさ、使い勝手の良さ
効率性:一定条件下での性能・資源効率
保守性:変更、修正のしやすさ
移植性:別環境への移しやすさ

この中で、「保守性」に注目したい。その他の品質特性は、この「保守性」に 依存している、ということはできないだろうか?ソフトウェアは常に変更にさ らされている。Bertland Meyerは、品質を内部品質と外部品質に分け、外部品 質の達成のためには、内部品質が必要だと言った。私は、2004年のソフトウェ ア開発という文脈では、内部品質であるこの「保守性」にフォーカスすること が最も重要だと考えている。

保守性には、以下の副品質特性がある。

解析性:障害や改訂の対象箇所の識別しやすさ
変更性:実際の改訂、障害除去のしやすさ
安定性:改訂時の予期せぬ影響の出にくさ
試験性:改訂時の妥当性検証のしやすさ

この中で、解析性、変更性、安定性は EoCに、試験性は、EoTにあたる、と言い たい。ここまでの議論で、すべての品質特性の依存先を、EoCとEoTに向かわせ ることができた。そこで、「よい品質のものを作るには、結局EoCとEoTが大事 なんだ」と言うのがこの議論の結論だ。

特に、XPでは初期イテレーションを除けば、開発イテレーションはすべて保守 フェーズだと捕らえている。現代的ソフトウェア開発においては、「保守」す なわち進化型設計が中心にあり、そこで重要なのは EoC(変化を受け入れるこ と)とEoT(テスト)なのだ。
ISOの品質特性とEoT/EoC
つづき



この記事への評価にご協力をお願いします。

良かった 普通 イマイチ