模型驱动开发(MDD)介绍

  模型驱动开发Model Driven Development  (MDD) 是一种以模型做为主要工件的高级别抽象的开发方法,模型在工具的支持下,被做为核心资产被转换成代码或者可运行配置。如今软件业存在多种MDD开发方法,本篇将对MDD进行概要介绍。html

定义 

  在过去多年,软件开发面临了多个挑战,新的需求和存在系统不断增加,系统也变得愈来愈复杂,以致于咱们很难及时的构建它们。为了解决这些问题, 就出现了不少新的方法,其中最突出的一个就是模型驱动开发。 MDD表明了一套理论和工业化软件开发的方法框架,在软件开发全生命周期中系统的的使用模型做为主要工件,它主要为了解决软件的两个根本危机:复杂性和变动能力数据库

  使用模型做为文档和规范是有价值的,可是它须要严格的管理方式来确保模型是持续更新的。在实际工做中,咱们迫于时间压力常常会出现于实现不一致的模型,这对开发和项目实际上是不利的。而MDD的基本思想是让开发中心从编程转移到高级别抽象中去,经过模型转成代码或其余工件来驱动部分或所有的自动化开发编程

模型是一种抽象的语言

多种模型

   

   模型是一种建模语言,它须要咱们本身根据业务和技术须要去设计它,在架构、分析、设计、实现等不一样阶段都会存在多种模型, 如企业架构模型、技术架构模型、领域模型、UI模型、数据库建模、业务规则模型、系统部署模型、测试模型等。架构

  建模的过程是由不一样阶段的成员来完成,有些模型之间有引用关系,应用软件经过全部人的建模工做而构建起来。框架

三个阶段

  1. 创建模型


  2. 建模



  3. 模型转换
      

  模型和建模这两部份内容已经存在不少方法,它们在如今软件开发过程当中已经处于重要位置,可是在须要哪些表达模型以及如何使用这些模型存在着差 异。传统的模型只是一个设计蓝图,而MDD必须知足额外的要求,这些模型必须是可读的,也就是说必须存在第三个阶段,也就是模型转换:model  to  model  (M2M)  和 model  to  code  (M2C)ide

优点

  • 提升产能:开发快、下降成本、提升质量
  • 可维护性:高级别模型与技术分类,技术架构的改变意味着只是模型的一种新的转换
  • 一致性:手工编码和架构决策容易出错,MDD能够确保生成的工件是一致的
  • 可重用性:模型、转换和架构都是能够重用的,因为架构和技术问题已经被解决,因此开发新功能的风险也低
  • 改善涉众沟通:模型忽略系统逻辑行为的底层实现,而直接展示问题域,这样能够保证和涉众使用同一种语言进行沟通
  • 改善设计沟通:模型与系统是匹配及时更新的,因此能够经过模型来改善系统设计的讨论和沟通
  • 捕获领域知识:能够增强领域专家对系统的直接影响,经过模型还能够帮助组织进行知识管理
  • Business-IT对齐:关注问题域,关联技术域,一种业务和IT对齐的方法
  • 模型做为一种长期的核心资产:高级别的模型做为核心资产管理起来,只有在业务需求变动时才会进行更改
  • 推迟技术决策:应用开发在早期关注业务逻辑问题,对于技术选择能够推迟到后期
  • 提供及时的文档:经过模型能够生成不少同步的文档,利于与不一样涉众进行交流

经济模型

MDD方法相关

 

模型驱动开发(MDD)的一些参考资料工具

MDE - Model Driven Engineering - reference guide测试

 

参考:Model Driven Development – Future or Failure of Software Developmentui

相关文章
相关标签/搜索