コラム
» 2007年03月15日 18時28分 公開

ソフトウェアアーキテクティングのメリットThe Rational Edge(4/4 ページ)

[Peter Eeles,@IT]
前のページへ 1|2|3|4       

アーキテクティングは再利用のための基盤を実現する

 アーキテクティングのプロセスでは、再利用可能な資産の利用と作成の両方をサポートすることができる。再利用可能な資産は全体のシステムコストを削減し、再利用可能な資産が実証済みであれば(つまり、すでに利用されているということなので)品質も向上させられ、組織にとってメリットがある。

 アーキテクチャを作成することは、再利用可能な機会の特定を支援する。例えば、アーキテクチャ上重要なコンポーネントと、これらのインタフェースや品質の検証は、これらのコンポーネントのインプリメントに利用可能な既製コンポーネント、既存システム、パッケージアプリケーションなどの選択を助ける。また、アーキテクチャ自身も今後のシステム向けのリファレンスアーキテクチャとして再利用できる可能性がある。さらに、そのアーキテクチャの中のコンポーネントでも、ほかの場面で再利用可能だと見なされる場合がある。

 アーキテクティングのプロセスは、現行のプロジェクト内で再利用できる機会を特定することができるが、プロジェクト全体および組織全体での再利用を検討する場合はさらに大きな影響がある。

 ただし、再利用について話をする場合は必ず注意が必要だ。技術およびそれ以外のさまざまな理由から、いままでに成功した再利用可能プログラムは非常に少ない。技術的観点から見た場合、再利用プログラムは適切な標準、プロセス、そしてツールを確実に用意しておく必要がある。幸いにも、基盤となる要素の幾つかは対応が進んできた。再利用可能な資産、再利用可能な資産のパッケージング、そしてRASレポジトリサービスとのインタフェースの標準を定義する OMG(Object Management Group)のRAS(Reusable Asset Specification)の標準化はその好例だ。注1

注1 「Reusable Asset Specification」参照。Object Management Group Inc.刊、書籍番号04-06-06:2004年6月


 技術以外の観点から見た場合、再利用戦略を進めるに当たって組織が常に考慮すべきこともある。例えば、さまざまな場面で利用されることを考えた場合の再利用可能な資産の開発責任者、(資産を開発したチームが解散した場合も含め)開発された資産の維持管理者、再利用可能な資産の開発と利用に対する動機づけ、再利用可能な資産の開発コスト(これは再利用可能でないものの開発コストを上回るケースがほとんど)をどう正当化するかなどだ。

アーキテクティングは維持管理費用を削減する

 アーキテクティングのプロセスはさまざまな側面から維持管理費用の削減に役立つ。第一に、アーキテクティングのプロセスは、システムの維持管理者が重要な関係者であり、そのニーズに対応することを後回しにせず最重要課題として常に保証する必要がある。その結果が、システムの維持管理を容易にする目的で適切にドキュメント化されたアーキテクチャだけでは不十分だ。アーキテクトはさらに、システムを維持管理するための適切なメカニズムが確実に組み込まれるようにするとともに、アーキテクチャ作成時にはシステムの順応性と拡張性についても考慮することになる。

 アーキテクトはまた、システムの中で変更や切り分けの作業が最も必要だと思われる部分についても考慮する必要がある。これは、1つあるいは少数のコンポーネントにしか変更の影響がない場合はかなり分かりやすい。しかし、システムの品質に関係するパフォーマンスや信頼性といった一部の変更がこのようには切り分けられないことを認識する必要がある。アーキテクトが、現行システムの設計中に将来考えられる要件も確実に考慮しなくてはならないのはそのためだ。数十人ではなく数千人のユーザーをサポートできるようシステムをスケーリングするようなことは、根本的にアーキテクチャを変更しない限り通常は不可能だからだ。

アーキテクティングは影響の分析をサポートする

 アーキテクティングの重要なメリットは、変さらに着手する前にその影響を推測できる点だ。アーキテクチャは、主なコンポーネント、これら相互のやりとり、コンポーネント間の依存関係、そしてこれらのコンポーネントからこれらが実現する要件までのトレーサビリティを特定する。

 この情報があれば、共同でこの要件を実現するコンポーネントへの影響の観点から要件の変更などを分析できるようになる。同様に、これに依存するほかのコンポーネントの観点からコンポーネント変更の影響も分析できる。

 このような分析は、変さらに関するコスト、変更がシステムに与える影響、そして変さらに関連するリスクの判断に大きく役立つ。この情報はその後、変更の優先順位づけや、間違いなく必要な変更の処理に利用される。

要約

大まかにいえば、ソフトウェアアーキテクティングとはコスト削減、品質向上、スケジュールどおりの引き渡し、要件どおりの引き渡しにとって重要な要因だ。本稿では、これらの目的達成に寄与する具体的なメリットに重点を置いて解説する。アーキテクトとしては、時に自分たちの存在を正当化しておく必要があることも指摘しておきたい。本稿では、アーキテクティングをソフトウェア開発プロセスの非常に重要な部分として扱うために有益な手段も幾つか示す。


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ