開発支援ツールの自動生成方式
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>開発支援ツール]]
* 目次 [#te2216c9]
#contents
*概要 [#jae07b1c]
本ページでは、種々の自動生成方式について纏める。
なお、ソフトウェア開発生産生の向上の取り組みは、~
-コーディング・レベル
--自動生成
--フレームワーク
--テンプレート
--.etc
以外にも広く行う必要がある。
この理由は、以下の技術要素も重要な生産性の変動要因である...
-提案(業務・技術面)
-フィージビリティ分析
-アーキテクチャ設計、処理方式設計
-標準化
-問題対応
-テスト
-障害対応
-.etc
*自動生成の用語定義 [#fb87e27f]
**生成方式 [#e022c1d9]
***リポジトリ型 [#ed279100]
各種リソースからリポジトリに情報を取り込むこともあり、仕...
-デザイナ操作型~
デザイナ操作で設計した画面項目やインターフェイスなどの情...
-スキーマ定義型~
画面項目やDBスキーマなどの情報を一旦リポジトリに取り込み...
***設計情報型 [#fe4a7148]
リポジトリが存在しないため、仕組みは単純になる。
-[[(Excelなど)設計書型>#ocece616]]~
設計書から設計情報を取り込み、プログラムを生成する。
-[[デザイナ操作型>#ba0126b3]]~
デザイナ操作から設計情報を取り込み、プログラムを生成する。
-[[スキーマ定義型>#j5c5b92a]]~
DDL、WSDLなどの定義済みのスキーマの設計情報を取り込み、プ...
Visual Studioなどはドメインに特化した~
デザイナ操作型(画面) + スキーマ定義型(DDL、WSDL)の~
自動生成処理が中心に実装されている。
**生成範囲 [#s32a5b79]
***全層自動生成 [#g0b035cf]
P層、F(B)層、D層の全自動生成だが、~
UI要素のレイアウトや、F(B)層のビジネスロジックはプログ...
***ドメイン特化型全自動生成 [#m4a47eef]
特定のレイヤ(ドメイン)に特化した100%自動生成。
-デザイナ操作による画面初期化コードの自動生成
-スキーマ定義(DDL、WSDL)後のDaoやproxy等のコードの自動...
***100%全自動生成 [#w925bb8a]
P層、F(B)層、D層の100%全自動生成で、~
且つ、UI要素のレイアウトや、F(B)層のビジネスロジックも~
リポジトリから設計情報を取り込んで全自動生成する。
*ツール毎の自動生成方式 [#rc589cd7]
**Visual Studio [#ic7adff2]
***[[概要>Visual Studio]] [#p34df386]
***特徴 [#pf168fed]
Visual Studioの自動生成は、基本的に~
Visual Studioデザイナ操作やスキーマ定義からの自動生成に特...
また、自動生成されるものの仕様も決まっており、カスタマイ...
このためテンプレート・エンジン等の仕組みは使用していない...
-自動生成方式
--ドメイン特化型全自動生成
---デザイナ操作型
---スキーマ定義型
---デザイナ操作+スキーマ定義型
Visual Studioデザイナを使用してWPF画面を作成するような場...
デザイナ操作(VSデザイナ)→スキーマ(XAML)→画面初期化処...
-設計思想
--設計書情報が無いので、開発工程から活用
--各ドメインに特化した、開発視点の軽量型
-ポイント
--ラウンド・トリップ非対応。
--ドメインに特化しているためカスタマイズは発生しない
--従って、テンプレート・エンジンは使用しない。
--.NET等、前提となるフレームワークを使用し生成量を抑えて...
***UIデザイン系 [#ld6c9642]
-Windows Forms、ASP.NET WebForm~
--UIコントロールをデザイナを使用して配置していくと~
コードビハインドや、ASPXのASPタグにUI生成のコードが自動生...
--コントロールによっては拡張のカスタム デザイナが用意され...
それを使用して、UIのデザインと対応するUI生成のコードを自...
-WPF、Silverlight~
--UIコントロールをデザイナを使用して配置していくとXAMLコ...
ビルド時にXAMLからBAMLというバイナリ化されたXAMLが生成さ...
--WPF、Silverlight実行時はBAMLを使用してUIの初期化が行わ...
--カスタム コントロールは使用せず~
ItemTemplate、DataTemplateなどを駆使して~
カスタマイズ可能なアーキテクチャに変更されている。
***データ・アクセス系 [#q6a27ca6]
-[[DataAdapter]]:データ・アダプタ構成ウィザード
-[[TableAdapter]]:テーブル・アダプタ構成ウィザード
-[[Entity Framework]]
**[[Dynamics]] [#pcb05e1b]
***CRM [#o7a8e429]
デザイナ操作型の100%全自動生成
-画面定義からDBが自動生成される。
-業務処理はJavaScriptでイベント定義
***AX [#o7618b0c]
**BRMS系 [#jc0c0dc4]
***概要 [#w812b3ab]
-業務プロセスはフロー、ルール、データから出来ている。
-実世界の業務の中で、改修、改善が必要であったり、ビジネス...
変更する必要があるのはフローよりもむしろ、ビジネス・ルー...
-構成要素
--Engine(ルール・エンジン)
--Manager(ルールの編集)
--ルール・リポジトリ(ルール定義の管理)
-Engine(ルール・エンジン)
--ビジネス・ルールの実行をするフレームワーク、またはライ...
--アプリケーションとビジネス・ルールの分離を実現
--ダイナミックにルールを変更可能(アプリケーションの柔軟...
--多くのルール・エンジンはReteアルゴリズムをベースとする。
--定義したルールをプログラムから呼び出すと、入力から出力...
-Business RuleManagement(BRM)~
Manager(ルールの編集)&ルール・リポジトリ(ルール定義の...
--ビジネス・ルール・ライフサイクルをあらゆる側面からサポ...
--ビジネス・ルールの可視化
--ビジネス・ルールのテスト
--ビジネス・ルールの編集・デプロイ
-ルールの記法は以下の3つ
--DRL:デベロッパ向け、ネイティブ記法、テキスト形式~
基本的に直接使用せず、以下DSL、Decision Tableから自動生成...
--DSL:ビジネス・エキスパート向け、自然言語、テキスト形式
--Decision Table:デベロッパ、ビジネス・エキスパート向け...
***特徴 [#ee212433]
-ユーザ・フレンドリ
--可視性 :仕様定義≒ルール定義、実装への橋渡しが容易
--テストレス:仕様系バグのみ対象、パンチ系バグはテストレス
--編集・デプロイが容易(≒EUC容易)
-ルールが頻繁に変わって可視化&修正し易い製品メリットが~
通常のプログラムを上回る極狭い範囲で有用と考える。
*自動生成方式毎の特徴 [#k7c232e1]
**生成方式 [#u77ed9ec]
自動生成ツールが何に重きを置いているかは、自動生成方式で...
***入力がExcel設計書の場合 [#ocece616]
モジュール設計情報が入力となるため、モジュール設計工程か...
-メリット
--Excel設計書を選択する理由は~
設計と実装の乖離を防ぐ設計書からの生成のため。
--設計工程からの設計書からの生成は、~
ウォータ・フォール的な開発プロセスには適合する。~
設計情報を修正しながらのラウンドトリップ開発は困難。
-デメリット
--しかし、100%全自動生成でなければ、
---プロトタイピング、スパイラル、アジャイルなどの開発プロ...
(これは、後述するようにラウンド・トリップ開発が困難であ...
---モジュール設計レベルの工程が必須になり、場合によっては...
キーパンチ相当の工程・スキルも2重に必要になる。
***入力がデザイナ操作の場合 [#ba0126b3]
開発時の設計情報が入力となるため、開発工程からの生成用途...
-メリット
--入力にデザイナ操作を選択する理由は、~
設計と実装の乖離の防止ではなく、開発スピード向上(RAD開発...
--プログラマが開発ツールのスキルセットを満たすだけで良い。
--工程を跨がないので、ウォータ・フォールだけでなく、~
プロトタイピング、スパイラル、アジャイルなどの開発プロセ...
-デメリット
--設計と実装の乖離を防ぐ仕組みは用意されていない。
***入力がスキーマ定義の場合 [#j5c5b92a]
開発時の設計情報が入力となるため、開発工程からの生成用途...
-スキーマ定義型の生成
--XSDスキーマやコードの自動生成の入力とし、
--(設計と実装の乖離を防止しつつ、)
--開発スピード向上(RAD開発)を向上させる。
-メリット
--入力にスキーマを選択する理由は、~
設計と実装の乖離と、開発スピード向上(RAD開発)のため。
--スキーマ定義型の生成方式は仕組みも、最も簡単になる。
--プログラマが開発ツールのスキルセットを満たすだけで良い。
--工程を跨がないので、ウォータ・フォールだけでなく、~
プロトタイピング、スパイラル、アジャイルなどの開発プロセ...
-デメリット
--設計書と実装の乖離を防ぐ仕組みは用意されていない。
***リポジトリを経由するもの [#oac903dd]
最も大掛かりな仕組みではあるが、~
リポジトリと専用設計ツールを組み合わせ、~
100%全自動生成をサポートするツールが多い。
詳しくは後述の[[リポジトリ型>#r2a1d993]]を参照。
**生成範囲 [#n4a27f4b]
自動生成方式によって生成範囲が異なる。
***全層自動生成 [#a3f88e86]
柔軟性はあるが、導入のために多くのサポートが必要。~
社内の治工具ツールではこの自動生成方式が多い。
-特徴
--受託開発で、いろいろな要件に対応する必要があるために~
プログラミングでの対応範囲を広げており、柔軟性を出してい...
--PJ毎、テンプレートのカスタマイズが可能な仕様となってい...
--この柔軟性を発揮するには、重厚なサポートが必要になるが、~
重厚なサポートが可能となる社内の治工具ツールではこの自動...
-メリット
--柔軟性がある。
---テンプレート・カスタマイズが困難か、仕組みが用意されて...
---自動生成コードのカスタマイズが困難か、仕組みが用意され...
-デメリット
--ラウンド・トリップ開発への対応が必要。
--採用したツール・プログラミングの両方のスキルセットが必...
--このためEUC、設計・開発の分業の両方に適合しなくなってい...
***ドメイン特化型全自動生成 [#od9c6f28]
ドメインに特化した範囲で100%自動生成なので、この範囲でプ...
サポートが容易になるので製品系ではこの自動生成方式が多い。
-特徴~
以下の自動生成方式に多い。
--社内の治工具ツール
---EXCEL設計書型
--製品
---デザイナ操作型
---スキーマ定義型
-メリット
--設計・開発の分業に向いている。
--ラウンド・トリップ開発が不要
-デメリット
--EUCに向いていない。
--プログラミングと採用したツールに特化したスキルセットが...
--柔軟性が低い
---テンプレート・カスタマイズが困難か、仕組みが用意されて...
---自動生成コードのカスタマイズが困難か、仕組みが用意され...
***100%全自動生成 [#pe10d28e]
100%全自動生成なので、プログラミングは一切不要となる。~
柔軟性に難があるが、サポートが容易になるので製品系ではこ...
-メリット
--EUCに向いている(と謳われることが多い)。
--プログラミングのスキルセットが不要。
--ラウンド・トリップ開発が不要
-デメリット
--設計・開発の分業に向いていない。
--採用したツールに特化したスキルセットが必要。
--定義がプログラミングと同等の作業が必要であり実際はあま...
--柔軟性が低い
---テンプレート・カスタマイズが困難か、仕組みが用意されて...
---自動生成コードのカスタマイズが困難か、仕組みが用意され...
**リポジトリ型 [#m4d71990]
***生成範囲 [#s8f1d058]
-以下のどちらのケースもある。
--100%全自動生成のツール
--100%全自動生成ではないツール
-ツールによっては設計情報の生成も可能になっている。
***設計ツール [#xacfe218]
リポジトリ型自動生成ツールの周辺設計ツール(DBや、Interfa...
-基本設計・詳細設計の設計工程の作業ではなく、
-モジュール設計工程以降の開発工程に近い作業であり、
-ツールの専門性も(ある程度)ある。
という事を考えると、
-100%全自動生成ではないツールは~
開発スキルを2重に要する(デメリットがある)との見方もで...
-一方で、100%全自動生成のツールは、~
EUC用途での利用が想定されており、受託開発の工程の組み方と...
--これらのツールでは、EUCで得られるメリットを最大化してい...
--トレンド的には、ピュアデベロップメントが衰退しEUCツール...
***運用 [#oa199a80]
リポジトリ型自動生成ツールでは、~
リポジトリの運用(変更操作への対応)が困難と言われている。
-マージ
-ロールバック
-.etc
ツールの機能拡充で対応できる可能性もあるが、ツールは複雑...
**テンプレート・エンジン [#e4691b10]
-ポイント
--テンプレート・エンジンの機構はJSPやASPで~
(Java、VBScript言語で動的に)HTMLを生成する機構に近い。
--テンプレート・エンジン・言語の習得が難しい事がネックと...
EUC的なテンプレート・カスタマイズは困難。
-エンジン比較
--独自テンプレート・エンジン
---言語が独自テンプレート言語となっており習得が困難。
---デバッガの機能がないという問題があり、VBS化されるなど...
---平たく言って → 難しい。
--Apache Velocityテンプレート・エンジン
---入力形式はJava(VelocityContext経由)。
---テンプレート側はVelocity VTL言語を併用する。
---Console出力などを使用したデバッグは不可能。
--Eclipse JETテンプレート・エンジン
---入力形式はXML形式となっている。
---テンプレート側はJava言語で習得が容易
---Console出力などを使用したデバッグが可能。
-サマリ
--メリット~
専任者が自動生成の仕組みを沢山 [ 作る / カスタマイズする ...
--デメリット
---テンプレート・エンジン・言語の習得が難しい事がネックと...
---このため、製品系ツールでは、柔軟なテンプレート・カスタ...
---採り得るアーキテクチャの多い.NETテクノロジでは、~
テンプレート・カスタマイズ方式では導入が困難である。
**ラウンド・トリップ開発 [#ka3e4afc]
Eclipse JETテンプレート・エンジンでは~
行単位の追加・変更はラウンド・トリップ可能となっているが
-クラス・メソッドのシグネチャや、
-クラス・メソッド、XMLなどのエンティティの属性の
修正などの行内部の細かい修正については、ラウンド・トリッ...
----
Tags: [[.NET開発]], [[:ツール類]], [[:その他、開発の色々]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>開発支援ツール]]
* 目次 [#te2216c9]
#contents
*概要 [#jae07b1c]
本ページでは、種々の自動生成方式について纏める。
なお、ソフトウェア開発生産生の向上の取り組みは、~
-コーディング・レベル
--自動生成
--フレームワーク
--テンプレート
--.etc
以外にも広く行う必要がある。
この理由は、以下の技術要素も重要な生産性の変動要因である...
-提案(業務・技術面)
-フィージビリティ分析
-アーキテクチャ設計、処理方式設計
-標準化
-問題対応
-テスト
-障害対応
-.etc
*自動生成の用語定義 [#fb87e27f]
**生成方式 [#e022c1d9]
***リポジトリ型 [#ed279100]
各種リソースからリポジトリに情報を取り込むこともあり、仕...
-デザイナ操作型~
デザイナ操作で設計した画面項目やインターフェイスなどの情...
-スキーマ定義型~
画面項目やDBスキーマなどの情報を一旦リポジトリに取り込み...
***設計情報型 [#fe4a7148]
リポジトリが存在しないため、仕組みは単純になる。
-[[(Excelなど)設計書型>#ocece616]]~
設計書から設計情報を取り込み、プログラムを生成する。
-[[デザイナ操作型>#ba0126b3]]~
デザイナ操作から設計情報を取り込み、プログラムを生成する。
-[[スキーマ定義型>#j5c5b92a]]~
DDL、WSDLなどの定義済みのスキーマの設計情報を取り込み、プ...
Visual Studioなどはドメインに特化した~
デザイナ操作型(画面) + スキーマ定義型(DDL、WSDL)の~
自動生成処理が中心に実装されている。
**生成範囲 [#s32a5b79]
***全層自動生成 [#g0b035cf]
P層、F(B)層、D層の全自動生成だが、~
UI要素のレイアウトや、F(B)層のビジネスロジックはプログ...
***ドメイン特化型全自動生成 [#m4a47eef]
特定のレイヤ(ドメイン)に特化した100%自動生成。
-デザイナ操作による画面初期化コードの自動生成
-スキーマ定義(DDL、WSDL)後のDaoやproxy等のコードの自動...
***100%全自動生成 [#w925bb8a]
P層、F(B)層、D層の100%全自動生成で、~
且つ、UI要素のレイアウトや、F(B)層のビジネスロジックも~
リポジトリから設計情報を取り込んで全自動生成する。
*ツール毎の自動生成方式 [#rc589cd7]
**Visual Studio [#ic7adff2]
***[[概要>Visual Studio]] [#p34df386]
***特徴 [#pf168fed]
Visual Studioの自動生成は、基本的に~
Visual Studioデザイナ操作やスキーマ定義からの自動生成に特...
また、自動生成されるものの仕様も決まっており、カスタマイ...
このためテンプレート・エンジン等の仕組みは使用していない...
-自動生成方式
--ドメイン特化型全自動生成
---デザイナ操作型
---スキーマ定義型
---デザイナ操作+スキーマ定義型
Visual Studioデザイナを使用してWPF画面を作成するような場...
デザイナ操作(VSデザイナ)→スキーマ(XAML)→画面初期化処...
-設計思想
--設計書情報が無いので、開発工程から活用
--各ドメインに特化した、開発視点の軽量型
-ポイント
--ラウンド・トリップ非対応。
--ドメインに特化しているためカスタマイズは発生しない
--従って、テンプレート・エンジンは使用しない。
--.NET等、前提となるフレームワークを使用し生成量を抑えて...
***UIデザイン系 [#ld6c9642]
-Windows Forms、ASP.NET WebForm~
--UIコントロールをデザイナを使用して配置していくと~
コードビハインドや、ASPXのASPタグにUI生成のコードが自動生...
--コントロールによっては拡張のカスタム デザイナが用意され...
それを使用して、UIのデザインと対応するUI生成のコードを自...
-WPF、Silverlight~
--UIコントロールをデザイナを使用して配置していくとXAMLコ...
ビルド時にXAMLからBAMLというバイナリ化されたXAMLが生成さ...
--WPF、Silverlight実行時はBAMLを使用してUIの初期化が行わ...
--カスタム コントロールは使用せず~
ItemTemplate、DataTemplateなどを駆使して~
カスタマイズ可能なアーキテクチャに変更されている。
***データ・アクセス系 [#q6a27ca6]
-[[DataAdapter]]:データ・アダプタ構成ウィザード
-[[TableAdapter]]:テーブル・アダプタ構成ウィザード
-[[Entity Framework]]
**[[Dynamics]] [#pcb05e1b]
***CRM [#o7a8e429]
デザイナ操作型の100%全自動生成
-画面定義からDBが自動生成される。
-業務処理はJavaScriptでイベント定義
***AX [#o7618b0c]
**BRMS系 [#jc0c0dc4]
***概要 [#w812b3ab]
-業務プロセスはフロー、ルール、データから出来ている。
-実世界の業務の中で、改修、改善が必要であったり、ビジネス...
変更する必要があるのはフローよりもむしろ、ビジネス・ルー...
-構成要素
--Engine(ルール・エンジン)
--Manager(ルールの編集)
--ルール・リポジトリ(ルール定義の管理)
-Engine(ルール・エンジン)
--ビジネス・ルールの実行をするフレームワーク、またはライ...
--アプリケーションとビジネス・ルールの分離を実現
--ダイナミックにルールを変更可能(アプリケーションの柔軟...
--多くのルール・エンジンはReteアルゴリズムをベースとする。
--定義したルールをプログラムから呼び出すと、入力から出力...
-Business RuleManagement(BRM)~
Manager(ルールの編集)&ルール・リポジトリ(ルール定義の...
--ビジネス・ルール・ライフサイクルをあらゆる側面からサポ...
--ビジネス・ルールの可視化
--ビジネス・ルールのテスト
--ビジネス・ルールの編集・デプロイ
-ルールの記法は以下の3つ
--DRL:デベロッパ向け、ネイティブ記法、テキスト形式~
基本的に直接使用せず、以下DSL、Decision Tableから自動生成...
--DSL:ビジネス・エキスパート向け、自然言語、テキスト形式
--Decision Table:デベロッパ、ビジネス・エキスパート向け...
***特徴 [#ee212433]
-ユーザ・フレンドリ
--可視性 :仕様定義≒ルール定義、実装への橋渡しが容易
--テストレス:仕様系バグのみ対象、パンチ系バグはテストレス
--編集・デプロイが容易(≒EUC容易)
-ルールが頻繁に変わって可視化&修正し易い製品メリットが~
通常のプログラムを上回る極狭い範囲で有用と考える。
*自動生成方式毎の特徴 [#k7c232e1]
**生成方式 [#u77ed9ec]
自動生成ツールが何に重きを置いているかは、自動生成方式で...
***入力がExcel設計書の場合 [#ocece616]
モジュール設計情報が入力となるため、モジュール設計工程か...
-メリット
--Excel設計書を選択する理由は~
設計と実装の乖離を防ぐ設計書からの生成のため。
--設計工程からの設計書からの生成は、~
ウォータ・フォール的な開発プロセスには適合する。~
設計情報を修正しながらのラウンドトリップ開発は困難。
-デメリット
--しかし、100%全自動生成でなければ、
---プロトタイピング、スパイラル、アジャイルなどの開発プロ...
(これは、後述するようにラウンド・トリップ開発が困難であ...
---モジュール設計レベルの工程が必須になり、場合によっては...
キーパンチ相当の工程・スキルも2重に必要になる。
***入力がデザイナ操作の場合 [#ba0126b3]
開発時の設計情報が入力となるため、開発工程からの生成用途...
-メリット
--入力にデザイナ操作を選択する理由は、~
設計と実装の乖離の防止ではなく、開発スピード向上(RAD開発...
--プログラマが開発ツールのスキルセットを満たすだけで良い。
--工程を跨がないので、ウォータ・フォールだけでなく、~
プロトタイピング、スパイラル、アジャイルなどの開発プロセ...
-デメリット
--設計と実装の乖離を防ぐ仕組みは用意されていない。
***入力がスキーマ定義の場合 [#j5c5b92a]
開発時の設計情報が入力となるため、開発工程からの生成用途...
-スキーマ定義型の生成
--XSDスキーマやコードの自動生成の入力とし、
--(設計と実装の乖離を防止しつつ、)
--開発スピード向上(RAD開発)を向上させる。
-メリット
--入力にスキーマを選択する理由は、~
設計と実装の乖離と、開発スピード向上(RAD開発)のため。
--スキーマ定義型の生成方式は仕組みも、最も簡単になる。
--プログラマが開発ツールのスキルセットを満たすだけで良い。
--工程を跨がないので、ウォータ・フォールだけでなく、~
プロトタイピング、スパイラル、アジャイルなどの開発プロセ...
-デメリット
--設計書と実装の乖離を防ぐ仕組みは用意されていない。
***リポジトリを経由するもの [#oac903dd]
最も大掛かりな仕組みではあるが、~
リポジトリと専用設計ツールを組み合わせ、~
100%全自動生成をサポートするツールが多い。
詳しくは後述の[[リポジトリ型>#r2a1d993]]を参照。
**生成範囲 [#n4a27f4b]
自動生成方式によって生成範囲が異なる。
***全層自動生成 [#a3f88e86]
柔軟性はあるが、導入のために多くのサポートが必要。~
社内の治工具ツールではこの自動生成方式が多い。
-特徴
--受託開発で、いろいろな要件に対応する必要があるために~
プログラミングでの対応範囲を広げており、柔軟性を出してい...
--PJ毎、テンプレートのカスタマイズが可能な仕様となってい...
--この柔軟性を発揮するには、重厚なサポートが必要になるが、~
重厚なサポートが可能となる社内の治工具ツールではこの自動...
-メリット
--柔軟性がある。
---テンプレート・カスタマイズが困難か、仕組みが用意されて...
---自動生成コードのカスタマイズが困難か、仕組みが用意され...
-デメリット
--ラウンド・トリップ開発への対応が必要。
--採用したツール・プログラミングの両方のスキルセットが必...
--このためEUC、設計・開発の分業の両方に適合しなくなってい...
***ドメイン特化型全自動生成 [#od9c6f28]
ドメインに特化した範囲で100%自動生成なので、この範囲でプ...
サポートが容易になるので製品系ではこの自動生成方式が多い。
-特徴~
以下の自動生成方式に多い。
--社内の治工具ツール
---EXCEL設計書型
--製品
---デザイナ操作型
---スキーマ定義型
-メリット
--設計・開発の分業に向いている。
--ラウンド・トリップ開発が不要
-デメリット
--EUCに向いていない。
--プログラミングと採用したツールに特化したスキルセットが...
--柔軟性が低い
---テンプレート・カスタマイズが困難か、仕組みが用意されて...
---自動生成コードのカスタマイズが困難か、仕組みが用意され...
***100%全自動生成 [#pe10d28e]
100%全自動生成なので、プログラミングは一切不要となる。~
柔軟性に難があるが、サポートが容易になるので製品系ではこ...
-メリット
--EUCに向いている(と謳われることが多い)。
--プログラミングのスキルセットが不要。
--ラウンド・トリップ開発が不要
-デメリット
--設計・開発の分業に向いていない。
--採用したツールに特化したスキルセットが必要。
--定義がプログラミングと同等の作業が必要であり実際はあま...
--柔軟性が低い
---テンプレート・カスタマイズが困難か、仕組みが用意されて...
---自動生成コードのカスタマイズが困難か、仕組みが用意され...
**リポジトリ型 [#m4d71990]
***生成範囲 [#s8f1d058]
-以下のどちらのケースもある。
--100%全自動生成のツール
--100%全自動生成ではないツール
-ツールによっては設計情報の生成も可能になっている。
***設計ツール [#xacfe218]
リポジトリ型自動生成ツールの周辺設計ツール(DBや、Interfa...
-基本設計・詳細設計の設計工程の作業ではなく、
-モジュール設計工程以降の開発工程に近い作業であり、
-ツールの専門性も(ある程度)ある。
という事を考えると、
-100%全自動生成ではないツールは~
開発スキルを2重に要する(デメリットがある)との見方もで...
-一方で、100%全自動生成のツールは、~
EUC用途での利用が想定されており、受託開発の工程の組み方と...
--これらのツールでは、EUCで得られるメリットを最大化してい...
--トレンド的には、ピュアデベロップメントが衰退しEUCツール...
***運用 [#oa199a80]
リポジトリ型自動生成ツールでは、~
リポジトリの運用(変更操作への対応)が困難と言われている。
-マージ
-ロールバック
-.etc
ツールの機能拡充で対応できる可能性もあるが、ツールは複雑...
**テンプレート・エンジン [#e4691b10]
-ポイント
--テンプレート・エンジンの機構はJSPやASPで~
(Java、VBScript言語で動的に)HTMLを生成する機構に近い。
--テンプレート・エンジン・言語の習得が難しい事がネックと...
EUC的なテンプレート・カスタマイズは困難。
-エンジン比較
--独自テンプレート・エンジン
---言語が独自テンプレート言語となっており習得が困難。
---デバッガの機能がないという問題があり、VBS化されるなど...
---平たく言って → 難しい。
--Apache Velocityテンプレート・エンジン
---入力形式はJava(VelocityContext経由)。
---テンプレート側はVelocity VTL言語を併用する。
---Console出力などを使用したデバッグは不可能。
--Eclipse JETテンプレート・エンジン
---入力形式はXML形式となっている。
---テンプレート側はJava言語で習得が容易
---Console出力などを使用したデバッグが可能。
-サマリ
--メリット~
専任者が自動生成の仕組みを沢山 [ 作る / カスタマイズする ...
--デメリット
---テンプレート・エンジン・言語の習得が難しい事がネックと...
---このため、製品系ツールでは、柔軟なテンプレート・カスタ...
---採り得るアーキテクチャの多い.NETテクノロジでは、~
テンプレート・カスタマイズ方式では導入が困難である。
**ラウンド・トリップ開発 [#ka3e4afc]
Eclipse JETテンプレート・エンジンでは~
行単位の追加・変更はラウンド・トリップ可能となっているが
-クラス・メソッドのシグネチャや、
-クラス・メソッド、XMLなどのエンティティの属性の
修正などの行内部の細かい修正については、ラウンド・トリッ...
----
Tags: [[.NET開発]], [[:ツール類]], [[:その他、開発の色々]]
ページ名: