Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » Software Factories   (RSS)
クラウドのアプリケーション開発へのソフトウェアファクトリー適用
マイクロソフト株式会社 萩原正義   Microsoft社は2004年よりソフトウェアファクトリーを次世代のソフトウェア開発基盤技術として推進してきた。2009年以降はWindows Azure Platformを始めとするクラウドが新しいソフトウェアの開発および実行基盤と位置付けられる段階になり、クラウドのアプリケーション開発へのソフトウェアファクトリーの適用の機会が増えると予想される。そこでここでは、ソフトウェアプロダクトラインの構築、特性モデルによる可変性(ソフトウェアの要求変更能力)の提供、ソフトウェア開発プロセスの自動化と効率化、DSLによるモデル駆動型開発、開発資産の管理などソフトウェアファクトリーが取り組む技術を考慮し、クラウドのアプリケーション開発へのソフトウェアファクトリーの適用を解説する。 Read More...
[補足] ソフトウェアプロダクトラインにアスペクト指向は有効か?
前回の補足です。 アスペクト指向がソフトウェアプロダクトラインに本質的に親和性を持たない理由は、ソフトウェアプロダクトラインのアーキテクチャの拡張点には、拡張点に応じて「異なる」拡張コードを導入しなければいけないからです。一方、アスペクトの定義は、この拡張点をjoin pointで定義する場合、「同一」のadviceのコード定義を導入することになります。これでは、ソフトウェアプロダクトラインのプロダクトに応じた拡張点の拡張コード、プロダクトのバージョンに対する拡張コードの進化がうまく表現できません。 Read More...
ソフトウェアプロダクトラインにアスペクト指向は有効か?
ソフトウェアプロダクトラインの開発ではアーキテクチャに適切な拡張性を持たせ、要求に応じてアーキテクチャを再利用しつつ、その拡張性を使い個別の可変性に対応していくことが求められます。 コアのアーキテクチャの開発は、オブジェクト指向を使ったフレームワーク開発に代表されるように、アーキテクチャスタイルを考慮して進められます。拡張性の実現法は、用いるパラダイムに応じて多様な選択肢がありますが、典型的にはコンポーネントの接続を用いた設計がとられます。ここでいうコンポーネントは.NETアセンブリなどの特定プラットフォームの物理レベルのコンポーネントを指すのではなく、UMLのコンポーネントで表現される論理レベルでインターフェイス定義を持つモデルをいいます。このモデルをオブジェクト指向を用いて実現するならば、Open-Closed Read More...
Software Factories メタモデル
Software Factoriesのメタモデルに関連する技術には大きく3つの分類が存在します。 1つはPractical Software Factories in .NETに示される、開発プロセス上のメタモデルです。 これはIEEE 1471をベースとし、プロダクトライン開発におけるプロダクト開発のプロセスを記述します。 一般に開発方法論は、ロール、タスク、アセットで抽象的に記述可能であって、それをプロダクトライン開発に適用し、Software Factoriesスキーマとして定義しています。ここでは、マイクロソフト社はツールに基づき開発方法論を提供するので、それをかなり意識した構造となっています。 Read More...
パターン言語と開発プロセス
Software Factoriesはソフトウェアプロダクトラインとモデル駆動型開発を組み合わせた技術ととらえる点が強調されています。この組み合わせはソフトウェアプロダクトラインの分野では最近流行しているのですが、これと並んで、Software Factoriesは開発プロセスの設計と実装が重要なテーマです。 たとえば、簡単な例で飲み会で終電に遅れそうになっている例を考えてみましょう。この例では、目的は無事に自宅に帰宅できることです。この目的を遂行するために必要な活動をプロジェクトと見なします。必要となる手順としては、電車の路線図を見る、主要駅の終電の時刻表を見ることが必要です。これに加えて、運賃というコスト制約が発生します。できるだけ、タクシーは使いたくないので。 Read More...
Software Factories のポイント
Software Factoriesは開発環境と開発プロセス、それを支援するアーキテクチャなどの開発資産を合わせた開発基盤技術です。開発方法論というと、開発手順、成果物、開発組織を決定するので、Software Factoriesは開発方法論を含んでいると言えるのですが、特定の開発方法論を決めないでその枠組みだけを決めている点で、開発方法論ではありません。 現在までに、開発の生産性やプロジェクトの成功確率の改善のために、多くの技術が開発され利用されています。コンポーネントやフレームワーク、IDEやソースコード管理、UMLやBPMNなどのその他のモデル言語、OOPやAOPなどの開発言語、デザインパターンやコーディング規約、アジャイルプラクティスなどの決めごと、RUPなどの開発方法論、WebサービスやSaaSの技術などなど。 Read More...
Page view tracker