模型驅動開發Model Driven Development (MDD) 是一種以模型做爲主要工件的高級別抽象的開發方法,模型在工具的支持下,被做爲核心資產被轉換成代碼或者可運行配置。如今軟件業存在多種MDD開發方法,本篇將對MDD進行概要介紹。html
在過去多年,軟件開發面臨了多個挑戰,新的需求和存在系統不斷增加,系統也變得愈來愈複雜,以致於咱們很難及時的構建它們。爲了解決這些問題, 就出現了不少新的方法,其中最突出的一個就是模型驅動開發。 MDD表明了一套理論和工業化軟件開發的方法框架,在軟件開發全生命週期中系統的的使用模型做爲主要工件,它主要爲了解決軟件的兩個根本危機:複雜性和變動能力 。數據庫
使用模型做爲文檔和規範是有價值的,可是它須要嚴格的管理方式來確保模型是持續更新的。在實際工做中,咱們迫於時間壓力常常會出現於實現不一致的模型,這對開發和項目實際上是不利的。而MDD的基本思想是讓開發中心從編程轉移到高級別抽象中去,經過模型轉成代碼或其餘工件來驅動部分或所有的自動化開發。編程
模型是一種建模語言,它須要咱們本身根據業務和技術須要去設計它,在架構、分析、設計、實現等不一樣階段都會存在多種模型, 如企業架構模型、技術架構模型、領域模型、UI模型、數據庫建模、業務規則模型、系統部署模型、測試模型等。架構
建模的過程是由不一樣階段的成員來完成,有些模型之間有引用關係,應用軟件經過全部人的建模工做而構建起來。框架
模型和建模這兩部份內容已經存在不少方法,它們在如今軟件開發過程當中已經處於重要位置,可是在須要哪些表達模型以及如何使用這些模型存在着差 異。傳統的模型只是一個設計藍圖,而MDD必須知足額外的要求,這些模型必須是可讀的,也就是說必須存在第三個階段,也就是模型轉換:model to model (M2M) 和 model to code (M2C)ide
MDE - Model Driven Engineering - reference guide測試
參考:Model Driven Development – Future or Failure of Software Developmentui