MDA:模型驱动架构 简介
| 模型驅(qū)動(dòng)架構(gòu)(MDA)是一種獨(dú)立于特定平臺(tái)和軟件供應(yīng)商的軟件體系結(jié)構(gòu)設(shè)計(jì)和開(kāi)發(fā)方法,它適用于設(shè)計(jì)、部署、集成等軟件開(kāi)發(fā)的整個(gè)生命周期。 MDA 遵循的是諸如統(tǒng)一建模語(yǔ)言(UML)、可擴(kuò)展標(biāo)記語(yǔ)言(XML)和公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(CORBA)等一系列業(yè)界開(kāi)放標(biāo)準(zhǔn)。 MDA 建模是基于功能,而非基于特定語(yǔ)言、平臺(tái)或?qū)崿F(xiàn)技術(shù),它可以簡(jiǎn)化系統(tǒng)集成、縮短開(kāi)發(fā)周期和節(jié)省企業(yè)資源。 模型通常以圖和文字的形式來(lái)描述一個(gè)系統(tǒng)及其環(huán)境。模型驅(qū)動(dòng)的方法就是利用模型來(lái)引導(dǎo)系統(tǒng)的設(shè)計(jì)、開(kāi)發(fā)和維護(hù)。而模型驅(qū)動(dòng)架構(gòu)即是用系統(tǒng)的模型來(lái)生成系統(tǒng)的體系結(jié)構(gòu)。 MDA 有三個(gè)視圖。第一個(gè)視圖叫“計(jì)算無(wú)關(guān)視圖(CIV)”,其作用就是將系統(tǒng)基本處理邏輯同平臺(tái)相關(guān)的技術(shù)規(guī)范分離開(kāi)來(lái)。CIV視圖關(guān)注于系統(tǒng)的環(huán)境和需求,而系統(tǒng)的具體結(jié)構(gòu)和實(shí)現(xiàn)是隱藏的。 第二個(gè)視圖是“平臺(tái)無(wú)關(guān)視圖(PIV)”。該視圖關(guān)注于系統(tǒng)的操作而隱藏了平臺(tái)相關(guān)的細(xì)節(jié),該視圖可能用一種通用的、平臺(tái)無(wú)關(guān)的建模語(yǔ)言如UML來(lái)描述。 第三個(gè)視圖叫“平臺(tái)相關(guān)視圖(PSV)”。該視圖關(guān)注特定平臺(tái)的實(shí)現(xiàn)細(xì)節(jié)。 以上三個(gè)視圖都有其各自相應(yīng)的模型: 計(jì)算無(wú)關(guān)模型(CIM)通常由業(yè)務(wù)分析人員創(chuàng)建,展示了系統(tǒng)的業(yè)務(wù)模型。 平臺(tái)無(wú)關(guān)模型(PIM)是系統(tǒng)功能的模型,通常由系統(tǒng)架構(gòu)師創(chuàng)建。 平臺(tái)相關(guān)模型(PSM)對(duì)一個(gè)或多個(gè)平臺(tái)的PIM模型的具體實(shí)現(xiàn)建模。 MDA 的真正價(jià)值在于 CIM 模型可以通過(guò)簡(jiǎn)單的映射轉(zhuǎn)換成 PIM 模型。同樣的,PIM 模型也可以映射成 PSM 模型,而 PSM 模型則可以最終轉(zhuǎn)換成具體的實(shí)現(xiàn)代碼。 如下圖所示,右上角的 CIM 模型是整個(gè)模型轉(zhuǎn)換過(guò)程的起點(diǎn)。CIM 模型轉(zhuǎn)換成 PIM 模型后,系統(tǒng)架構(gòu)師和設(shè)計(jì)師即可以創(chuàng)建系統(tǒng)其余部分的模型。設(shè)計(jì)完成之后,PIM 模型就轉(zhuǎn)換成了一個(gè)或多個(gè) PSM 模型。 模型驅(qū)動(dòng)架構(gòu)(MDA) MDA 提供了一種優(yōu)雅而可靠的開(kāi)發(fā)框架,這種框架使得系統(tǒng)架構(gòu)師在沒(méi)有考慮到有關(guān)系統(tǒng)實(shí)現(xiàn)的任何細(xì)節(jié)之前就可以事先定義好系統(tǒng)的模型。 MDA 的優(yōu)勢(shì)主要包括如下幾點(diǎn): 可移植性 -當(dāng)你創(chuàng)建好一個(gè) PIM 模型之后,創(chuàng)建一個(gè)新的基于該 PIM 模型的 PSM 模型是相當(dāng)容易的。當(dāng)然,你需要到目標(biāo)平臺(tái)的映射規(guī)則和一些連接代碼。 跨平臺(tái)的互操作性 - 除了可以將一個(gè)系統(tǒng)模型轉(zhuǎn)化為不同的實(shí)現(xiàn),你也可以使用一種特殊的映射規(guī)則將一個(gè) PIM 模型轉(zhuǎn)化為一個(gè)異構(gòu)的 PSM 模型,在該異構(gòu)模型中,最終的系統(tǒng)是由來(lái)自多個(gè)平臺(tái)的組件構(gòu)建而成的。 開(kāi)發(fā)效率 - MDA 是一種極其高效的設(shè)計(jì)和開(kāi)發(fā)方法。使用 MDA 方法可以以更少的人力來(lái)完成原先相同的工作量,或者以原先相同的人力來(lái)完成更多的工作,所有這些都無(wú)需對(duì)開(kāi)發(fā)團(tuán)隊(duì)施加額外的壓力。 軟件質(zhì)量 - 使用一種單一的模型來(lái)生成和導(dǎo)出系統(tǒng)的大部分代碼可以極大地降低人為錯(cuò)誤的發(fā)生。 MDA 還有其它更多的優(yōu)勢(shì),如對(duì)新技術(shù)的快速包容、平臺(tái)無(wú)關(guān)性、領(lǐng)域相關(guān)性、降低開(kāi)發(fā)成本和縮短開(kāi)發(fā)周期等等。 |
轉(zhuǎn)載于:https://www.cnblogs.com/sqlite3/archive/2011/11/14/2566787.html
總結(jié)
以上是生活随笔為你收集整理的MDA:模型驱动架构 简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 切换运行时用户以及用户组
- 下一篇: java 常用接口的实现--compar