模型驅動開發(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

相關文章
相關標籤/搜索