InfoQ

News

Software Factory向けビジネスケースの作成

作者 Jean-Jacques Dubray, 翻訳者 編集部 投稿日 2008年4月30日 午後6時31分

コミュニティ
Architecture
トピック
Domain Specific Languages
タグ
Visual Studio,
Visual Studio Team System

MicrosoftのアーキテクトであるGunther Lenz氏およびSiemensのソフトウェアエンジニアであるChristoph Wienands氏が、Microsoft Visual Studio 2005 Domain Specific Languages (DSL)に基づいてSoftware Factoryを構築する際の利点を評価する(source)プロジェクトに乗り出した。

再利用が増えたり、ハイレベルな抽象化および自動化の普及によって、こんにちのテキストベースのソフトウェア開発への取り組みに強みもたらしていることは明らかなことかもしれないが、上層経営陣やその他の株主たちに対する、必要な先行投資を正当化するのには十分ではない。したがって、このパラダイムを使用するビジネスケースを明確に示す、量的データを検討することにした。

この分析の目標は、フレームワークおよびアプリケーション開発分野での自動化および再利用の機会を特定することであった。その目的のために、作成者はSoftware Factory Templateを開発した。

Software Factory Templateの実装は、Software Factory Schemaに基づく。われわれの場合、成果物の生成、ウィザードおよびDSL用に、インストーラーパッケージにバンドルされる複数のT4テンプレートを 提供して、デベロッパに付加的なツールおよびコンテキストに依存した自動化メカニズムを提供する。

このプロジェクトには、以下のような2つのコンポーネントがある。

  • DSLを使用したフレームワークC#成果物の生成
  • ガイダンスおよび自動化を通じての、アプリケーションデベロッパのサポート

最初の研究で分かったことは以下のとおりである。

デベロッパは定義や使用ごとに320行を入力する代わりに、少しのストリングだけ入力する必要があり、有効なオプションに基づいた決定がなされ る。最終的な結果は、有効な選択肢や成果物を生成する前に、インプットの検証機能を提供することで、時間の節約だけではなく、質の向上も現実のものとなる。

概して、以下のことが言える。

DSL開発は、 投資収益率が100パーセント以上で、生産性が10倍増になった。

ガイダンスのパッケージに関しては、最小限の投資で、投資収益率が300パーセント以上を示した。

作成者は今後、以下のようなさらに複雑な問題に取り組む予定である。

  • どのようにしてこのアプローチがより広範なドメインを拡大縮小するのか?
  • どのようにしてツールのサポートがさらに複雑な実装に役立つのか?
  • メンテナンスの取り組みで、どれほどの節約が見込まれるか?
  • どのようにしてDSLメタモデルおよびモデルの展開を取り扱うか?

原文はこちらです:http://www.infoq.com/news/2008/04/dsl-business-case

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

Coplien氏とMartin氏、TDDとCDDそしてプロフェッショナルの定義について大いに語る。

このビデオは、BobとJim Coplien氏がこれに関連する話や、いくつかの他の話題について議論する様子を納めたものだ。TDDと契約による設計(Design by Contract)の比較や、システムとビジネスドメインモデルを調和させるためには、事前にどれくらいのアーキテクチャ設計をしておかなければならないのか、などが議論されている。(翻訳:近藤 修平 - (株)永和システムマネジメント)

.NET Webサービス向けのサービスレジストリの実装

本稿では、SOAソリューションの実装を単純化するために利用できるサービスレジストリの.NET実装を説明します。

John Lamが語るIronRubyの現状

InfoQは、独創的なRubyCLRの開発者であり、IronRubyを世に出すためにマイクロソフトが雇い入れたJohn Lam氏と話す機会を得た。Johnの正式な肩書きはDynamic Language Runtimeチームのプログラムマネジャーである。

人に愛されるリモートミーティングの手引き

テレカンファレンスとデスクトップを共有するツールを使いこなすことは、現在のビジネスにおいて重要なスキルになっています。本稿は、これらの情報と裏技を提供します。

NetKernelで実装したRESTfulなESB

Jeremy Deane takes a look at writing a Restful ESB. He explains how commercial ESB's were considered and NetKernel was ultimately used to provide the implementation.

Lean開発者のスタート: チームのスタートアップ時間の削減

アジャイルプラクティスは新チームメーンバーが知りたい情報を直接提供するものではありません。そこで私は、新しいチームメンバーの「セットアップ時間」の削減するために、新しいプラクティスを提案します。

複数のアジャイルチームでのバージョン管理

このレポートでは複数のチームが動いているアジャイル環境において、どのようにバージョン管理を行えばいいかを説明します。このスキームは"Scrum and XP from the Trenches(InfoQのミニブック)に出てきた企業で私たちが新しく採用した方法です。

ErlangとYawsを使ったRESTfulサービス

本稿では、Steve Vinoski氏が、プログラミング言語ErlangとWebサーバーYawsを使用したRESTful Webサービスを構築する方法を説明します。