スポンサーリンク

Tech Ed 2004 Yokohama 4日目 まとめ

マイクロソフトが提唱する今後のソフトウェア開発手法について

4日目分と言うことで萩原氏のセッションT1-411 次世代開発手法Software Factoryを中心に私が受講したアーキテクチャトラックのセッション内容他をまとめます。
要点は以下の通り
開発手法としてはSoftware Factoryを用いる。
各設計レベルにおいて、システムのコンテキストにあわせてパターンの組み合わせを行いシステムを作り上げる。
モデル記述にはDSL(Domain Specific Language)を用いる。UMLだけでは全てのドメインのモデル記述を行うことは不可能なので、これは用いない。
Software Factoryにおいては、プロダクトラインアーキテクチャによる開発プロセスをとる。
Software Factoryにおいては、ドメインの内容にあわせプロダクトラインを選択し、それをカスタマイズすることで個別アプリケーションの開発を行う。
プロダクトラインとはあるドメインの集まりに適応できるように開発されたソフトウェア部品、雛形のこと。ただし、従来のコンポーネント、クラスと言った物より遙かに大きな粒度を持ち、システム全体の雛形を提供する。プロダクトラインは従来のフレームワークよりもより高いレベルでアプリケーションの姿形を強制する。(トラックのプロダクトラインで高級セダンを作ることは許さない)
このプロダクトラインはアセットと呼ばれる部品(コンポーネント)により構成される。アセットは実行可能なバイナリだけでなく、それの関連するあらゆるドキュメント、リソース、メタデータを含む物である。
アセットは予めあるグループから汎化されたドメインを対象として、分析設計されたプロダクトライン中のコンポーネント(モジュール)であり、機能単位で用意される。
Software Factoryにおいては、サブプロセスとして開発プロセスとしてはマイクロプロセスを用いる。
またこうしてできた一連のモデル成果物のメタデータはアプリケーションの展開、管理、保守でも使用できるように管理されるべき。逆にメタデータとしてはそれらに必要な内容が含まれていなければならない。
また、MSFもこれに合う形になっている。
以上でもわかるように、基本的にマイクロソフトは、まず、全体行程レベルでのアジャイル開発技法の適応については懐疑的であることを臭わせます。(と言うよりも否定に近いかもしれない。)元々Software FactoryはCMMで有名なCMU(カーネギーメロン大)で開発された物のようなので、これは何となく頷けます。
また、OMGのMDAについては全くと言って良いほど評価をしていないようです。現実的でないという判断だと思います。
個人的にはUMLの否定は痛いというか、大丈夫なのかという気もしますが、マイクロソフトとしては、他に使いやすいダイアグラムがあれば(Whitehorse)そちらの方がよいだろうという考え方のようです。確かにUMLだけではSOAの開発はきついかもしれない。
ただこの辺はマクロソフトから話が出始めてきた段階なので、いろいろなコミュニティや、企業間の交渉の中で変化を見せるかもしれないし、MDAが本当に良くて、必要ならばIBM(ラショナル)のツールを買えばすむ話なのかもしれないわけだし。
したがって、今後VS2005 Team Systemやそれ以降においてMSから提供されるツールはこのような考え方に基づいて提供されることになります。ただし、開発のサイクル全てにおいて必要なツールが全て提供されるかというと、そういう訳ではなくたとえば要求管理ツールのような物はとりあえずは提供されないので、マイクロソフトから提供されない物については新たに3rdパーティの物を購入するか、作るかする必要がありそうです。また、このMSから提供されるツールはそのときのMSFにおいて適用するようなツールになるでしょうから、何らかの形でMSFの学習をしていく必要がありそうです。
MSF(Microsoft Solution Framework)
http://www.microsoft.com/japan/msdn/vstudio/productinfo/enterprise/msf/
VS2005 Team Service
http://www.microsoft.com/japan/msdn/vstudio/productinfo/enterprise/
Software Product Lines
http://www.sei.cmu.edu/productlines/index.html
DSLに関するWiki Pedia
http://en.wikipedia.org/wiki/Domain-specific_language

コメント

  1. 石坂さんのBlogを追加

    石坂さんのBlogを追加

  2. 石坂さんのBlogを追加

    石坂さんのBlogを追加

タイトルとURLをコピーしました