next up previous
Next: 潜在的な懸念 Up: リスクと恩恵の評価 Previous: リスクと恩恵の評価

実現可能な恩恵

1.
迅速な開発

オブジェクト指向アプローチの明白な利点の一つは 従来の方法で要した期間よりも短期間で 最終版のソフトウェアが作成できることである。 この時間短縮は実際には次の3つの異なる技術の成果である。

(a)
標準オブジェクトからのソフトウェアの構築 : 新しいプログラムを書かないで済む。
(b)
共同作業での既存モデルの再利用 : 設計段階では処理モデルを再利用できる。
(c)
ラピッドプロトタイプによる従来の開発手法の転換 : 形式的な手続きが不要になる。
単にオブジェクト指向言語に切りかえるだけでは 開発プロセスは迅速化せず、開発手法全体の展開が必要である。

実際の開発期間の改善について、 従来の方法と厳密な比較実験を行なったものはないが、 体験的には少なくとも5倍以上の生産性の向上があるという報告があり、 もっとも厳密な比較では主要ビジネスアプリケーションの分野で生産性が 14倍になったという報告がある。 このことから、開発期間の大幅な短縮が実現できることは疑う余地がない。

2.
品質の向上

オブジェクト技術により品質も向上できる。 毎回プログラムを一から書くのではなく、 既存の要素を組み立てることで作成することによるものである。 また、優れたモジュール性を確保できるので、 プログラムの要素間でのやりとりを減少させ、 どのような環境でも動作するかといった検証が容易になる。

3.
保守の容易さ

オブジェクト指向技術は ソフトウェアの保守(特に欠陥の発見・修正)の負担をずっと軽くする。 これは次の3つの段階がある。 まず、始めから高品質のシステムを構築できるので保守の必要性が減る。 つぎに、欠陥が現れてもシステムのモデル化が実世界に沿っているので、 その欠陥を容易に発見できる。 最後に、欠陥の修正はモジュール性により一部に限定できる (従来の手法では1つの修正は2つの新たな欠陥を生むと言われていた)。

4.
コストの削減

オブジェクト指向技術はソフトウェアの開発コストを3つの面で減少させる。

(a)
プログラミング 既存のコンポーネントから新たなプログラムを組み立てることができるために プログラミングの作業は減少する。
(b)
システム設計
(c)
システム管理 ラピッドプロトタイピングにより、 全作業量の80%ともなるソフトウェア開発の設計・管理部門を削減できる。 これらの資源の要求の削減はコスト削減に直結する。

再利用可能クラスも市販のものを購入すれば、 開発するよりも経費がかからず、 それによりクラスベンダは標準クラスの償却を安い値段で行なえる。

さらに、高品質なシステムの可能性が増え、保守の必要性が減ることで システムの全コストの半分以上を占める保守部門のコストを大幅に削減できる。

5.
適用規模の拡大

モジュール性の向上により、 オブジェクト指向プログラミングは特に大規模システムの構築に適したものとなる。 システムが大きな規模になっても、 独立に開発・テストが可能なサブシステムに基づいているので、 全体の構築と保守が容易である。 また、第4章で述べたオーバーロード技術を利用すれば、 既存オブジェクトを変更することなく、 新たな型を追加でき、有機的なシステムの拡張が可能である。 (モジュールプログラミング+ポリモルフィズム)

6.
より良い情報の構造

複合オブジェクト・クラス階層・その他の構造の利用により、 オブジェクト指向技術はどんどん複雑化しているビジネス情報を効率的に表現できる。 さらに、 このような複雑さが増しても オブジェクト指向の構造は人々が実世界を体系化し 理解する方法を反映しているので、 構造が豊富になるほど、情報にアクセスしやすくなる。

7.
適応力の増大

オブジェクト指向ソフトウェアではプログラムの部分的な変更を システム全体の再構築をせずにできる。 例えば、元の設計にはなかったような (新たな種類の製品や新たなマシンへのインタフェース) 新たな種類のオブジェクトを追加でき、 システムの他のオブジェクトはそれらのオブジェクトが はじめからあったかのように取り扱える。



Masao Takaku 平成11年3月11日