MDSF:模型驅動開發(MDD)介紹

來源:互聯網
上載者:User
文章目錄
  • 定義
  • 模型是一種抽象的語言
  • 多種模型
  • 三個階段
  • 優勢
  • 經濟模型
  • MDD方法相關
  • 一個參考的模型驅動DSL架構
  •  Eclipse Modeling Project

  模型驅動開發Model Driven Development  (MDD) 是一種以模型作為主要工件的進階別抽象的開發方法,模型在工具的支援下,被作為核心資產被轉換成代碼或者可回合組態。現在軟體業存在多種MDD開發方法,本篇將對MDD進行概要介紹。

定義

  在過去多年,軟體開發面臨了多個挑戰,新的需求和存在系統不斷增長,系統也變得越來越複雜,以至於我們很難及時的構建它們。為瞭解決這些問題,就出現了很多新的方法,其中最突出的一個就是模型驅動開發。 MDD代表了一套理論和工業化軟體開發的方法架構,在軟體開發全生命週期中系統的的使用模型作為主要工件,它主要為瞭解決軟體的兩個根本危機:複雜性和變更能力 。

  

  使用模型作為文檔和規範是有價值的,但是它需要嚴格的管理方式來確保模型是持續更新的。在實際工作中,我們迫於時間壓力經常會出現於實現不一致的模型,這對開發和項目其實是不利的。而MDD的基本思想是讓開發中心從編程轉移到進階別抽象中去,通過模型轉成代碼或其他工件來驅動部分或全部的自動化開發。

模型是一種抽象的語言

多種模型

   

   模型是一種建模語言,它需要我們自己根據業務和技術需要去設計它,在架構、分析、設計、實現等不同階段都會存在多種模型, 如企業架構模型、技術架構模型、領域模型、UI模型、資料庫建模、商務規則模型、系統部署模型、測試模型等。

  建模的過程是由不同階段的成員來完成,有些模型之間有參考關聯性,應用軟體通過所有人的建模工作而構建起來。

三個階段
  1. 建立模型


  2. 建模

  3. 模型轉換
      

  模型和建模這兩部分內容已經存在很多方法,它們在現在軟體開發過程中已經處於重要位置,但是在需要哪些表達模型以及如何使用這些模型存在著差異。傳統的模型只是一個設計藍圖,而MDD必須滿足額外的要求,這些模型必須是可讀的,也就是說必須存在第三個階段,也就是模型轉換:model  to  model  (M2M)  和 model  to  code  (M2C)

優勢
  • 提高產能:開發快、降低成本、提高品質
  • 可維護性:進階別模型與技術分類,技術架構的改變意味著只是模型的一種新的轉換
  • 一致性:手工編碼和架構決策容易出錯,MDD可以確保產生的工件是一致的
  • 可重用性:模型、轉換和架構都是可以重用的,由於架構和技術問題已經被解決,所以開發新功能的風險也低
  • 改善涉眾溝通:模型忽略系統邏輯行為的底層實現,而直接展現問題域,這樣可以保證和涉眾使用同一種語言進行溝通
  • 改善設計溝通:模型與系統是匹配及時更新的,所以可以通過模型來改善系統設計的討論和溝通
  • 捕獲領域知識:可以加強領域專家對系統的直接影響,通過模型還可以協助組織進行知識管理
  • Business-IT對齊:關注問題域,關聯技術域,一種業務和IT對齊的方法
  • 模型作為一種長期的核心資產:進階別的模型作為核心資產管理起來,只有在業務需求變更時才會變更
  • 延遲技術決策:應用開發在早期關注商務邏輯問題,對於技術選擇可以延遲到後期
  • 提供及時的文檔:通過模型可以產生很多同步的文檔,利於與不同涉眾進行交流
經濟模型

MDD方法相關
  • 特定領域建模 DSM:OpenExpressApp將借鑒此方法
  • 面向語言編程 LOP
  • 軟體工廠 SOftware Factories
  • 產生式編程 Generative Programming 
  • 語言工作平台 Language Workbenches
  • 意圖軟體 Intentional Software
  • 模型驅動開發 MDA

一個參考的模型驅動DSL架構

 Eclipse Modeling Project

 

模型驅動開發(MDD)的一些參考資料

MDE - Model Driven Engineering - reference guide

 

參考:Model Driven Development – Future or Failure of Software Development

 

推薦:你可能需要的線上電子書

 

歡迎轉載,轉載請註明:轉載自周金根 [ http://zhoujg.cnblogs.com/ ]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.