概念モデル駆動型開発

概念モデル駆動型開発が設計規約管理プロトコルのうち最も厳密な設計管理を行うことを明記したプロトコル。 アーキテクチャーの変更は概念モデル内に実装されてから、コード実装に変換されます。このプロトコルでは、厳密な管理およびガバナンスが行われ、アーキテクトが高度な管理を維持し、システム開発者のロールは、アプリケーション開発者からツール開発者に変わります。

この手法では、概念モデルを継続的に使用してアプリケーションの開発を駆動し、また、ラウンド・トリップ・エンジニアリングの概念をサポートします。アーキテクトが UML を使用して詳細なクラス・レベルのモデルを作成すると、このモデルが 3GL コード・モデルのシードになります。 アーキテクトはモデルに変換を直接適用し、アプリケーションの構造 (多くの場合、実際のコンパイル用コード) を生成します。

アーキテクトが引き続き大まかな UML モデルを設計する一方で、開発者は自由にコード・モデルを開発することができます。この並列ワークフローによって UML モデルとコード・モデルが分かれることになり、コラボレーションが難しくなりますが、初期変換構成では、前方および後方変換のほか、モデル調整もサポートしています。

モデルの相違が大きくなるにつれて高まるリスクを最小化するには、アーキテクトがコード・モデルに対して後方変換を実行し、調整操作で使用する一時スナップショットを作成して、概念モデルに変更を選択的にマージします。 モデルをマージした後は、変換を適用して実装レベルのコードを更新し、それによってアーキテクトによる概念モデルの変更をコード・モデルに改めて反映することができます。 このプロセスは、開発プロセスの間、必要なだけ繰り返すことができます。 両方のモデルが平行して開発され、所定のチェックポイントで調整されます。

用途

概念モデル駆動開発が、以下の状況で使用すると最適になるプロトコル。

  • アプリケーション・コードを類似した複数のアプリケーションの中で複数回使用する場合
  • 設計規約への遵守に非常に強力な管理が必要な場合
  • フレームワークを提供する繰り返しコード (ビジネス・ロジックのみ開発者が完成させます)
  • アジャイル開発プロセスを使用する場合。概念モデル駆動型開発は、プロジェクト開発の初期フェーズで役に立ちます。
注: 概念モデル駆動型開発は、アジャイル開発手法と反復型開発手法のどちらにも適しています。

この方式は、アーキテクトから開発者まで、チーム全体で使用することができます。

利点

概念モデル駆動型開発手法では、厳密なガバナンスが実施されます。コード実装には、常にアーキテクチャーの仕様が反映されます。 この手法では、ハンド・コーディングの削減、再現性の強化、品質向上、問題点の減少なども実現します。また、開発のどのフェーズにおいても設計に変更を行えることが、この手法を非常にアジャイルなものにしています。

考慮事項

概念モデル駆動型開発手法では、厳密なガバナンスが実施され、 フィックスを作成してアプリケーション全体に渡る訂正を行うことができます。小さな変更は、実装することや、変換プロセスによる影響を受けないようにすることが難しい場合があります。


フィードバック