模型驅動架構(MDA)是一種獨立于特定平臺和軟件供應商的軟件體系結構設計和開發方法,它適用于設計、部署、集成等軟件開發的整個生命周期。MDA 遵循的是諸如統一建模語言(UML)、可擴展標記語言(XML)和公共對象請求代理體系結構(CORBA)等一系列業界開放標準。
MDA 建模是基于功能,而非基于特定語言、平臺或實現技術,它可以簡化系統集成、縮短開發周期和節省企業資源。
模型通常以圖和文字的形式來描述一個系統及其環境。模型驅動的方法就是利用模型來引導系統的設計、開發和維護。而模型驅動架構即是用系統的模型來生成系統的體系結構。
MDA 有三個視圖。第一個視圖叫“計算無關視圖(CIV)”,其作用就是將系統基本處理邏輯同平臺相關的技術規范分離開來。CIV視圖關注于系統的環境和需求,而系統的具體結構和實現是隱藏的。
第二個視圖是“平臺無關視圖(PIV)”。該視圖關注于系統的操作而隱藏了平臺相關的細節,該視圖可能用一種通用的、平臺無關的建模語言如UML來描述。
第三個視圖叫“平臺相關視圖(PSV)”。該視圖關注特定平臺的實現細節。
以上三個視圖都有其各自相應的模型:
- 計算無關模型(CIM)通常由業務分析人員創建,展示了系統的業務模型。
- 平臺無關模型(PIM)是系統功能的模型,通常由系統架構師創建。
- 平臺相關模型(PSM)對一個或多個平臺的PIM模型的具體實現建模。
MDA 的真正價值在于 CIM 模型可以通過簡單的映射轉換成 PIM 模型。同樣的,PIM 模型也可以映射成 PSM 模型,而 PSM 模型則可以最終轉換成具體的實現代碼。
如下圖所示,右上角的 CIM 模型是整個模型轉換過程的起點。CIM 模型轉換成 PIM 模型后,系統架構師和設計師即可以創建系統其余部分的模型。設計完成之后,PIM 模型就轉換成了一個或多個 PSM 模型。
|