MDA(Model Driven Architecture)模型驅動開發

Model Driven Architecture 模型驅動架構

爲了實現MDA這一宏大構想,OMG(Object Management Group 國際對象管理集團)制定了一系列的標準:

UML:UML被MDA用來描述各種模型。它並不是爲MDA而生,但是作爲目前最爲風行的建模語言,UML已經佔據了全球建模語言領域90%的市場份額,成爲了建模語言事實上的標準,因此OMG將它作爲MDA技術的基礎是自然而然的明智選擇。它是MDA的基礎,也是MDA最有力的武器。

MOF:MOF(Meta Object Facility 元對象機制)是比UML更高層次的抽象,它的目的是爲了描述UML的擴展或者其它未來可能出現的類UML的建模語言。由此我們可以看到OMG的"野心",雖然MOF也不是爲MDA而生的,但是我們可以體味到OMG的工程師們良苦的用心和長遠的目光。

XMI:XMI(XML-based metadata Interchange)是基於XML的元數據交換。它通過標準化的XML文檔格式和DTDs(Document Type Definitions)爲各種模型定義了一種基於XML的數據交換格式。這使得作爲最終產品的模型可以在各種不同的工具中傳遞,這一點是非常重要的,它保證了MDA不會在打破了一種束縛之後再被加上一層新的束縛。

CWM:CWM(Common Warehouse Metamodel 公共倉庫元模型)提供了一種數據格式變換的手段,在任意級別的模型上都可以使用CWM來描述兩種數據模型之間的映射規則,比如將數據實體從關係數據庫變換爲XML格式。在MOF的框架下,CWM使得通用的數據模型變換引擎成爲可能。

在OMG的藍圖中,UML、MOF、XMI、CWM等一系列標準分別解決了MDA的模型建立、模型擴展、模型交換、模型變換這幾個方面的問題。OMG試圖通過標準化的定義,擴大MDA的應用範圍。同時通過這樣一個可擴展的建模語言環境,IT廠商可以自由實現自己的建模語言,以及語言到可執行代碼的映射,然而不管怎麼樣,都必須處於OMG的標準化框架之下。

 

MDA(Model—Driven Architecture)模型驅動開發

MDA主要將生成的UML分成以下三個階段:

  • CIM(Computation Independent Model) 聚焦於系統環境及需求,不涉及到系統內部結構和運作細節
  • PIM(Platform Independent Model)聚焦於系統內部細節,不涉及實現系統的具體平臺
  • PSM(Platform Specific Model)聚焦於系統落實於特定平臺的細節,例如JavaEE,dot net。

MDA的主張:

  • MDA欲解決的問題----如何應對企業於技術的快速變化
  • MDA所用的工具----運用OMG現有的標準及技術,主要包括有:UML(Unified Modeling language)、MOF(Meta-Object Facility)、CWM(Common Warehouse Metamodel)、UML profile 、XMI(XML Metadata Interchange)以及CORBA
  • MDA提出的解決方法----將企業及應用系統與實現技術平臺分離,且以同意建模語言UML來表達於平臺無關的PIM,然後設計出使用於特定平臺的模型PSM,如此一來,因爲分隔且封裝了企業於技術兩方面的變化,所以降低了兩者之間的牽動

MDA的期望與相關技術圖形:

MDA

 

MDA的步驟與生成(CIM和PIM階段)

  • CIM1:定義業務流程,產生業務用例模型
  • CIM2:分析業務流程,產生活動圖
  • CIM3:定義系統範圍,產生系統用例圖
  • PIM1:分析系統流程,產生系統用例敘述
  • PIM2:分析業務規則,產生狀態圖
  • PIM3:定義靜態結構,產生類圖
  • PIM4:定義操作及方法,生成序列圖

 

 http://www.ibm.com/developerworks/rational/library/3100.html?S_TACT=105AGX52&S_CMP=cn-a-j

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章