アセットベースド開発は再利用を志向するが、“コンポーネント”とどう違うのだろうか? “アセット”の定義・要件を踏まえて、説明しよう。
前回は、アセットベース開発の前提となる再利用の現実や課題認識を提示しました。しかし、“アセット”という単語を連呼するわりには、その定義を明確にしていませんでしたね。今回は、IBM Rationalが提唱している「アセットベース開発」においては何をもって“アセット”と呼んでいるか、そのあたりを解説していきます。
そもそも“アセット”という言葉自体は、金融業界で株や証券のような直接お金に結び付くまさに“資産”に対してよく知られています。「○○アセットマネジメント」なんて名前の会社もありますね。
同様にITの世界においても、ソフトウェアがその重要性が増すにつれて、「会社にとって大切な資産である」という認識の下、“アセット”という言葉が使われています。しかし、ソフトウェア開発の文脈で“アセット”の定義が明確には存在しないため、単に「大切であるというニュアンスを伝える言葉」でとどまっているのが現実です。
Rationalの提唱するアセットベース開発では、アセットの定義(あるいは、アセットに求められる要件)として、以下のものを掲げています。
図1は、アセットのコンセプトを図示したものです。
オブジェクト指向プログラミングの世界では当初からソフトウェアの再利用が前提とされており、それを可能にする仕組みが言語レベルで組み入れられてきました。システムの構造に関しても全体を部品(コンポーネント)の集合体と見なして、再利用を適用しやすくするコンポーネント・アーキテクチャという考え方が当初から提唱されてきました。これに対して、アセットベース開発の文脈では、これらの部品はアセットの内部に格納される”成果物”に相当します。
同じ再利用を志しているコンポーネントとアセットですが、その違いを簡単に述べると、以下のようになります。
「(バイナリとして)実際に動くプログラム」と「利用ガイドなどがついた箱入り商品」のような違いといっていいでしょう(少々乱暴ですが)。
では、付帯情報としてどのようなものが必要とされているでしょうか? それは次の3点です。
以下、1つずつ取り上げていきましょう。
Copyright © ITmedia, Inc. All Rights Reserved.