次の方法で共有


ソフトウェアファクトリーとは何か?

汎用的で、万能なアプローチをとる代わりに、ソフトウェアファクトリー(Software Factories)が電子商取引、金融の裁定取引、あるいはホームバンキングアプリケーションのようなシステムの特定のファミリーの必要性を満たす、カスタマイズされた抽象概念のセットを提供するために DSL のカスタムコレクションを使います。ソフトウェアファクトリーでは、モデルは分析と設計のためにだけではなく、ソフトウェアライフサイクル全般に渡って多くのさまざまな種類の計算をサポートするために使われます - 実行時においても。これはソフトウェアファクトリーの基本原則であり、Software Factories イニシアティブを実施し補完するマイクロソフトの Dynamic Systems Initiative (DSI)の基本原則でもあります。

ソフトウェアファクトリーを、MDA を含み、拡張したものとして捉える方もいるかもしれません。ここでいう MDA は PIM と PSM に基づく公式の定義よりも広い意味で定義されます。ソフトウェアファクトリーは一般的なプラットホーム独立および、前のセクションで説明されたさらなる問題に取り組む特定のモデル以上のものです。

ソフトウェアファクトリーはビューポイントのグラフを使うことで、システムの特定のファミリーのために調整された方法論を定義します。それぞれのビューポイントは、要求獲得、データベース設計、サービスコントラクト定義のような、システムファミリのメンバーのためのライフサイクルのある側面を定義します。ファクトリーは再利用可能な資産をそれぞれのビューポイントと結びつけて、それらの資産をシステムファミリにおけるチームの開発メンバーに対して、そのビューポイントの文脈において供給します。そして、適用可能な資産を捜す必要はなく、妥当性を明らかにし、手動および自動的なガイダンス制定をサポートします。

ソフトウェアファクトリー スキーマと呼ばれるビューポイントのグラフは、システムの一部、もしくはライフサイクルのあるフェーズの、ある抽象レベルにおいて行われる作業と、他の部分とフェーズにおける他の抽象レベルにおいて行われる作業とを関係づけます。スキーマは、モデル、ソースコード、構成ファイルなどを含む成果物を完全に、あるいは部分的に生成するために使うことができます。他の成果物、特にモデルから成果物を生成することも可能です。また、開発のあいだ同期を保ったり、手作業で開発した成果物を検証し、欠陥の影響あるいは要求の変更を判断し、パターンと他のベストプラクティスを組織化・適用し、システム運用と保守をサポートするためにシステム開発の際にメタデータを取り込み、他の形式のガイダンスとガバナンスを提供するためにもスキーマを利用できます。

ソフトウェアファクトリーは、パッケージングと再利用可能な資産の提供を自動化します。再利用可能な資産には、モデルとモデル駆動のツール、ウィザードやテンプレート、そしてユーティリティや開発プロセスのような他の種類のツール、クラス・ライブラリ、フレームワークとサービスのような実装コンポーネント、そして、パターン、スタイルシート、ヘルプファイル、構成ファイル、文書のようなコンテンツ資産を含みます。より大きいファクトリーは、より小さいファクトリーを結合することで構築し、汎用的な成果物をカスタマイズすることで特化することが可能です。

ファクトリーを構築することはフレームワークを構築することによく似ています。ファクトリーも開発者が適用しやすいように、パターンと他のベストプラクティスを取り入れて実装することを伴います。ファクトリーを使うことは、ゼロから手作業でシステムを構築するより効率的です。なぜなら、カタログとリポジトリをスキャンして、再利用可能なコンポーネントが見つかるように願う代わりに、ファクトリーを使う開発者はシステムのアーキテクチャと開発プロセスの文脈においてすぐに利用可能な、開発中のシステムのそれぞれの側面に適切な、再利用可能なコンポーネントを保有するからです。

もちろん、Software Factories イニシアティブはただマイクロソフトとマイクロソフトが提供する製品に関することだけではありません。むしろ、マイクロソフトが提供する基盤の上にカスタマイズされたファクトリーを構築し、エコシステムの他のメンバーにファクトリーコンポーネントを供給し、ファクトリーをわたしたちの顧客とパートナーが参加する広範囲なエコシステムの基盤として捉えます。

Software Factories イニシアティブに対する顧客とパートナーの反応は非常に肯定的です。近代的な組織がビジネス予測とともに組織内の開発アプローチを改善することを望むなら Software Factories はベストな方向としてお勧めます。そして、Visual Studio Team Edition for Software Architects、DSL Tools、そして VSTS の他の新しい特性を Software Factories イニシアティブにおける最初の製品として提供します。

Top of PageTop of Page