MDA目前在以下领域得到了应用: *银行业 *保险业 *公共企业(特别在金融管理领域) *嵌入式系统 *后勤保障系统
您将会看到,MDA确在其中起到了作用。
1 首先,您用UML对您的应用领域进行高度抽象的建模,这个模型和实现它的技术(或者底层技术)完全没有关系。这个模型我们称之为平台无关模型(PIM)。
2 然后,PIM将被转换为一个或多个平台相关模型(PSM)。这个翻译的过程一般是自动实现的。PSM将用一个特定的实现技术来描述您的系统。它将用到这种技术所提供的种种架构,比如EJB, 数据库模型,
COM组件
等等。
3 最后,PSM将被翻译成
源代码
。因为每个PSM已经完全依靠某种特定的技术,这个步骤一般是比较简单的。
MDA流程中最难的一步,是从PIM生成一个PSM。它要求您对您要应用的基础技术具有丰富且巩固的知识,另一方面,源模型(PIM)必须具备自动生成PSM所要求的足够信息量。
通过模板生成:MDA-light?!
在MDA的实际应用当中,一个较容易的实现是通过模板(我们称之为MDA-light)。这样,平台相关模型这一步可以说是被跳过了,您可以直接从高度抽象的PIM生成源代码。您将继续在MDA-light的基础上进行真正意义的编程:您必须在源代码,而不是UML,编写细致的应用逻辑。
* 如果您在某一特定的应用领域工作,在这个领域中的项目都具有一定的相似性。整个
应用程序
族或者不同的项目都属于同一个应用领域,那么,MDA或者生成流程将特别适合于您 。
* 软件维护:编制不同的发行版本,
补丁
或者升级,是对目前正在运行的程序进行维护的重要组成部分。MDA怎么处理这些问题呢?每次进行一次全新的安装?
* 投资报酬率(Return-on-Investment):从什么样的环境和系统开始计算?从应用MDA的第二个项目?还是从第五个开始?
* 购买
软件架构
还是自主开发?
* 生成器和相关工具造成了对其生产商的依赖--这种对生产商的依赖是我们以往一直极力避免的。
* 企业应用整合(EAI):高度的抽象,听起来不错--但是对于已经在运转的应用系统,怎么得到这种抽象呢?
您可以看到--潜在很多实际问题(其回答都具有重要的意义)。这些问题正是我们创立openMDA
转载于:https://www.cnblogs.com/sqlite3/archive/2011/11/14/2566788.html