一、模型驱动开发(MDD)介绍:`
MDD(模型驱动开发)代表了一套理论和工业化软件开发的方法框架,在软件开发全生命周期中系统的使用模型作为主要工具,目标是解决软件的两个根本危机:复杂性和变更能力 。 MDD的核心思想是让开发者的开发重心从编码转移到更高级别抽象,通过模型生成代码或其他工具来驱动自动化开发。 模型驱动开发的优势: 提高产能 :开发快、降低成本、提高质量 可维护性 :高级别模型与技术分类,技术架构的改变意味只是模型的一种新的转换 一致性 :手工编码和架构决策容易出错,MDD可以确保生成的交付物是一致的 可重用性 :模型、转换和架构都是可以重用的,由于架构和技术问题已经被解决,所以开发新功能的风险也低 改善涉众沟通 :模型忽略系统逻辑行为的底层实现,而直接展现问题域,这样可以保证和涉众使用同一种语言进行沟通 改善设计沟通 :模型与系统是匹配及时更新的,所以可以通过模型来改善系统设计的讨论和沟通 捕获领域知识 :可以加强领域专家对系统的直接影响,通过模型还可以帮助组织进行知识管理 Business-IT对齐 :关注问题域,关联技术域,一种业务和IT对齐的方法 模型作为一种长期的核心资产 :高级别的模型作为核心资产管理起来,只有在业务需求变更时才会进行更改 推迟技术决策 :应用开发在早期关注业务逻辑问题,对于技术选择可以推迟到后期 提供及时的文档 :通过模型可以生成很多同步的文档,利于与不同涉众进行交流
二、MDA介绍:
MDA 是由国际对象管理组织(OMG,Object Management Group)于2001年7月提出的基于MDD形式化后的模型驱动架构。 为了实现MD