アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 
 @IT > Software Factoriesによるソフトウェア開発手法
 
@IT[FYI]

  > モデリング・プラクティス コーナー

Software Factoriesによる
ソフトウェア開発手法


〜大規模システム開発を成功させるために〜

 前回「『工業生産の効率的手法』をソフトウェア開発に適用する」では、Software Factoriesが目指すソフトウェア開発の工業化の理念を説明した。今回は、その理念を実現する具体的なソフトウェア開発手法を解説しよう。

 「『工業生産の効率的手法』をソフトウェア開発に適用する」で、企業システムにおける大規模開発ではアーキテクチャ構築が有効で、そのためにプロダクトライン・アーキテクチャで開発プロセスを規定して、ソフトウェアの開発の効率及び品質の向上を図ることを示した。企業システムの開発で重要なもう1つの点は、大規模開発にかかわる多くのステークホルダー(利害関係者)の役割を整理し、協同作業を成功させることである。経営者、業務担当者、業務分析者、アーキテクト、プログラマー、テスト担当者、データベース管理者、システム運用者などのステークホルダーはそれぞれが別々の課題、要求、関心を持っている。それらの異なる要求を整理し、合意を形成して、関心を表現する最適なモデルを選択し、システムを表現することが必要だ。

DSLを利用した関心を分離

 大規模システムの開発では、業務領域、問題の課題、IT技術分野の分析、設計、実装、運用管理レベルなどのドメインに分割し、それぞれのドメインでステークホルダーの関心を表現し、ソフトウェア開発を進めていく。これが関心の分離の原則だが、そのために、Software Factoriesではドメイン特化言語(DSL:Domain Specific Language)を用いる。DSLと従来の汎用モデル言語UML(Unified Modeling Language)も併用可能だが、UMLはDSLの観点では表現方法の1つの選択肢にすぎない。例えば、UMLで表現が困難なものでDSLでの表現が適するドメインは、業務領域の業務フロー図、文書管理図、組織図、物品の配置図などがあり、IT技術分野では、要求定義図、Webサービス定義図、コンピュータネットワークの構成図などがある。また、DSLには過去のベストプラクティスとしてのパターンと拡張性が組み込まれている。

Software Factoriesによるソフトウェア開発の自動化

 Software Factoriesは開発基盤として、それぞれのステークホルダーの視点からDSLのうち最適な表現方法の選択肢、開発の手順や作業項目、テストの定義、コード改良やビルドの方法、変更時の既存の成果物への影響範囲を明示する。そして、開発環境としてVisual StudioなどのIDEツールが品質の保証、アーキテクチャの提供とフレームワークやコンポーネントの再利用、開発の自動化の推進を行う。従来のオブジェクト指向開発で必要とされた、アーキテクチャの構築、拡張性のための設計、開発手順の考察、チーム開発のための役割と作業項目の分担の決定などを極力自動化するのである。その結果、開発プロジェクトのリスクを減らすことが可能で、手作業的ソフトウェア開発は工業的な開発に生まれ変わる。

図1 DSLの例。左のWebサービス定義図に対して、右のネットワーク構成図の配置を対応づけることで、Webサービスを実行するサーバへのソフトウェア配置を自動化する。配置が可能となる条件、例えば、ソフトウェアのバージョン、セキュリティポリシーなどがシステム稼動前に検証可能となる。

ソフトウェア開発の工場を再利用

 従来のソフトウェアコンポーネントの流通と再利用による生産性の効果は一定の成果を上げたが、ソフトウェア開発の工業化のレベルには至らなかった。Software Factoriesでは、ソフトウェアコンポーネントの再利用は依然として継続するが、それよりも、プロダクトライン・アーキテクチャにより構築された開発基盤をソフトウェア開発のための工場として再利用する。つまり、ソフトウェアの成果物そのものの再利用ではなく、成果物を生み出す工場を再利用する発想である。現在の製造業で部品や組み立てを行う工場の拠点が点在し、それらの機能を再利用して製品を作る姿に似ている。この点が、Software Factoriesが最新のソフトウェア工学を応用した次世代開発基盤技術といわれるゆえんである。

図2 Software Factoriesの全体像。従来の設計図面、指示書、規定など紙やガイドラインなどから、できるだけソフトウェアが理解し作業の自動化可能なDSLなどのモデル形式に置き換えてSoftware Factoryを構築する。Software Factoriesは連携しサプライチェインを構築してソフトウェアの製造を行う。

 Software Factoriesとは、仕様(漠然とした意図)を生産ラインに乗せるだけで自動的にソフトウェア(システム)ができあがるという開発基盤技術ということになる。具体的な作業手順としては、まず問題領域(ビジネスドメイン)をDSLによってモデリングするが、その過程において、前回「『工業生産の効率的手法』をソフトウェア開発に適用する」で少し説明した必須のフィーチャー(提供される機能)と可変的なフィーチャーとを識別する。いったんフィーチャーが洗い出されると、それを実行するためのアーキテクチャを設計し、そのアーキテクチャに基づいて再利用可能なアセット(ソフトウェア資産)を実装する。ここでいうアセットには、コンポーネントやフレームワーク、開発プロセス、成果物一覧、ドキュメント・テンプレートなどがすべて含まれる。これら一連の作業がプロダクトライン(生産ライン)と呼ばれるものである。次に、似通ったソフトウェアを構築するには、構築済みのプロダクトラインからの差分を扱えば十分である。一度生成されたアセットの管理モデルをインポートすることで、プロダクトを開発するために最適化(カスタマイズ)されたプロダクトライン環境(工場に相当)をすぐに構築することが可能だ。

 マイクロソフトが2005年リリースを予定しているVisual Studio 2005統合開発環境には、この一連のプロセスを可能にする機能が実装されることになっており、ソフトウェア開発の生産性をこれまで以上に格段に向上させることにつながるだろう。

第1回 モデル中心の開発手法が自律型システムの構築を可能にする
〜Dynamic Systems Initiative(DSI)の全容〜
第2回 「工業生産の効率的手法」をソフトウェア開発に適用する
〜次世代開発基盤技術“Software Factories”〜
第3回 Software Factoriesによるソフトウェア開発手法
〜大規模システム開発を成功させるために〜

モデリング・プラクティス コーナー


提供:マイクロソフト株式会社
企画:アイティメディア 営業局
制作:@IT編集部
掲載内容有効期限:2005年7月31日
 
@IT 関連記事
ビジネス要求に基づく“役立つシステム”の実現手法 (@IT 情報マネジメント)

ビジネスモデリング事始 (@IT 情報マネジメント)

ビジネスを可視化するモデル記述言語「BPMN」 (@IT ITArchitect)

分析から設計へのモデル変換などについて (@IT ITArchitect)

UML2.0で変わるモデリング作法 (@IT ITArchitect)

UML 2.0のキホン:コンポーネント図の詳細解説 (@IT ITArchitect)

UMLモデリングのノウハウ、最後の秘訣 (@IT ITArchitect)

モデリング=まねることの本質について (@IT ITArchitect)

Software Factories詳解 (@IT Insider.NET)

Visual Studio 2005 Team System概要 (@IT Insider.NET)

.NETで始めるデザインパターン (@IT Insider.NET)

.NET開発者のための開発プロセス入門 (@IT Insider.NET)

Visioで始めるUMLモデリング (@IT Insider.NET)
モデリング関連ニュース
日立ソフトがSOAにもとづいた業務アプリケーションの開発コストを大幅に削減する (2005/5/19)

グリッド構築の共通モデリング言語、EGAが発表 (2005/5/12)

公開!アーキテクト養成講座 キックオフイベント 5月24日開催 (2005/5/11)

UML にマインドマップを組み合わせたJUDE/Professional2.2 をリリース (2005/4/15)

UMLモデリングツール『JUDE』がソフトウェア部門 優秀賞を受賞 (2005/4/1)

「要求開発サミット」、2005年3月15日に開催 (2005/3/1)

ボーランド、Eclipse 3.0.1に対応したビジュアルモデリングツール Borland Together Edition for Eclipse 7.0日本語版を出荷開始 (2005/2/17)

DOA+コンソーシアム 設立1周年記念セミナー開催 (2005/2/16)

マイクロソフト、ビジネス プロセス マネジメントの分野で 日揮情報ソフトウェアとの協業体制を強化 (2005/1/14)

日揮情報ソフトウェア、BPMN1.0準拠のビジネスプロセスモデリングツール「ITpearls Process Modeler for Microsoft Visio」を販売開始 (2005/1/14)

ウルシステムズ 丸井グループ全体の経営を支える戦略的なシステムの再構築において先端技術コンサルティングを実施 (2004/12/17)

業界初、オープンな環境に対応したソフトウェア開発ツール (2004/11/4)

キャッツとボーランドが組込み分野向け3製品を再販する契約を締結 (2004/9/6)

ボーランド、「コードとモデリング」が完全統合した.NET開発を実現する Borland Together Edition for Microsoft Visual Studio .NET 2.0 日本語版を出荷開始 (2004/7/6)

ソフトウェアアーキテクチャ モデリングへの新しいアプローチでマイクロソフトのコスト優位性を明らかにする (2004/5/5)


 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ