MDA(Model-Driven Architecture)與UML(Unified Modeling Language)同為OMG(Object Management Group)機(jī)構(gòu)之標(biāo)準(zhǔn)。
MDA主要將生成的UML模型,分為下列三個階段:
● CIM(Computation Independent Model)——聚焦于系統(tǒng)環(huán)境及需求,但不涉及系統(tǒng)內(nèi)部的結(jié)構(gòu)與動作細(xì)節(jié)。
● PIM(Platform Independent Model)——聚焦于系統(tǒng)內(nèi)部細(xì)節(jié),但不涉及實現(xiàn)系統(tǒng)的具體平臺(Platform)。
● PSM(Platform Specific Model)——聚焦于系統(tǒng)落實于特定具體平臺的細(xì)節(jié)。例如,Spring、EJB2或.NET都是一種具體平臺。
最后,程序員會依據(jù)PSM的UML模型內(nèi)容,按圖施工,編寫出適用于特定具體平臺的代碼。
MDA提出的解決方法——將企業(yè)及應(yīng)用系統(tǒng)與實現(xiàn)技術(shù)平臺分離,且以統(tǒng)一建模語言UML來表達(dá)與平臺無關(guān)的PIM,然后再設(shè)計出適用于特定平臺的模型PSM。如此一來,因為分隔且封裝了企業(yè)與技術(shù)兩方面的變化,所以降低了兩者之間的牽動。
MDA主張將設(shè)計切分成PIM和PSM。
MDA項目開發(fā)的第一步驟從CIM開始,不同于PIM和PSM,CIM試圖表達(dá)信息系統(tǒng)的應(yīng)用環(huán)境,而非信息系統(tǒng)本身。
在進(jìn)行CIM時,關(guān)切的是與企業(yè)相關(guān)的營運(yùn)目標(biāo)、實現(xiàn)條件及運(yùn)作流程等,先了解信息系統(tǒng)的應(yīng)用環(huán)境,才有可能為企業(yè)量身打造出完善的信息系統(tǒng)。
在經(jīng)歷構(gòu)建CIM的過程中,除了可以逐步了解企業(yè),同時也建立與業(yè)務(wù)人員之間的溝通方式及默契,還讓業(yè)務(wù)人員可以參與信息系統(tǒng)的開發(fā)。
CIM旨在記錄企業(yè)領(lǐng)域里的重要需求與概念。
PIM和PSM之間的界限,比較容易混淆,兩者所關(guān)切的主體都是信息系統(tǒng),分別的界限在于“平臺”(Platform)一詞。
簡言之,PIM與PSM的界限在于,是否支持特定的具體平臺。前者與具體平臺無關(guān),后者則得適合某一個特定的具體平臺。
分析步驟參考:(CIM、PIM階段)
CIM-1:定義業(yè)務(wù)流程,產(chǎn)生業(yè)務(wù)用例模型。
CIM-2:分析業(yè)務(wù)流程,產(chǎn)生活動圖。
CIM-3:定義系統(tǒng)范圍,產(chǎn)生系統(tǒng)用例圖。
PIM-1:分析系統(tǒng)流程,產(chǎn)生系統(tǒng)用例敘述。
PIM-2:分析業(yè)務(wù)規(guī)則,產(chǎn)生狀態(tài)圖
PIM-3:定義靜態(tài)結(jié)構(gòu),產(chǎn)生類圖。
PIM-4:定義操作及方法,生成序列圖。