馮甲棟
【關(guān)鍵詞】模型驅(qū)動(dòng)架構(gòu) 平臺(tái)相關(guān)模型 管理信息系統(tǒng)
模型驅(qū)動(dòng)架構(gòu)把業(yè)務(wù)功能和實(shí)際實(shí)現(xiàn)作為不同的領(lǐng)域?qū)ΥD壳澳P娃D(zhuǎn)換方法還未形成統(tǒng)一標(biāo)準(zhǔn)。轉(zhuǎn)換語(yǔ)言和工具的特定領(lǐng)域針對(duì)性不強(qiáng),難以生成應(yīng)用程序的大部分代碼,為此通過(guò)簡(jiǎn)化模型元素規(guī)模,按照“約定優(yōu)于配置”原則將元模型轉(zhuǎn)換為約定的數(shù)據(jù)模型、視圖模型和業(yè)務(wù)模型。
1 模型映射
模型映射實(shí)質(zhì)上就是由一套轉(zhuǎn)換規(guī)則和相應(yīng)的轉(zhuǎn)換技術(shù)構(gòu)成的集合。目前常見模型轉(zhuǎn)換方法包括:基于模式轉(zhuǎn)換,基于圖形轉(zhuǎn)換,基于關(guān)系代數(shù)轉(zhuǎn)換和基于擴(kuò)展樣式表轉(zhuǎn)換。
2 模型分離映射機(jī)制
2.1 UML類圖擴(kuò)展
基于UML類圖所進(jìn)行的擴(kuò)展,為模型轉(zhuǎn)換奠定了基礎(chǔ)。其中,業(yè)務(wù)工作流建模包括Workflow,Workflow WAssociation等模型元素。業(yè)務(wù)統(tǒng)計(jì)工作建模包括Statistics,SAssociation,Scomputefield,Sgroupfield等元素。
2.2 模型分離映射機(jī)制原理
映射機(jī)制需滿足如下設(shè)計(jì)要求:基于UML類圖及其擴(kuò)展模型獨(dú)立構(gòu)建完整的業(yè)務(wù)模型;有效保存模型轉(zhuǎn)換各階段結(jié)果;針對(duì)管理信息領(lǐng)域特點(diǎn),遵循約定優(yōu)于配置原則。
2.4 模型分離映射機(jī)制實(shí)現(xiàn)
2.4.1 數(shù)據(jù)映射實(shí)現(xiàn)
根據(jù)數(shù)據(jù)映射規(guī)則,解析UML類圖模型中的數(shù)據(jù)模型并將其構(gòu)造成內(nèi)存表對(duì)象。數(shù)據(jù)管理模型負(fù)責(zé)創(chuàng)建數(shù)據(jù)管理類:數(shù)據(jù)庫(kù)上下文類,數(shù)據(jù)實(shí)體類和管理類。
2.4.2 界面映射實(shí)現(xiàn)
界面組成元素龐雜,且不同運(yùn)行平臺(tái)的界面元素差異很大,為此需要針對(duì)具體平臺(tái)提供相應(yīng)的構(gòu)件庫(kù)。如.NET平臺(tái)下構(gòu)件庫(kù)分為:表單、導(dǎo)入、導(dǎo)出、報(bào)表等界面組件。
2.4.3 路由映射實(shí)現(xiàn)
路由模型映射為具體開發(fā)平臺(tái)的一個(gè)控制類,按照“約定優(yōu)于配置”策略,控制類獲取由界面發(fā)出的數(shù)據(jù)請(qǐng)求,同時(shí)通過(guò)返回?cái)?shù)據(jù)集對(duì)象及控制命令來(lái)響應(yīng)界面請(qǐng)求。
2.4.4 業(yè)務(wù)映射實(shí)現(xiàn)
管理信息系統(tǒng)存在兩類業(yè)務(wù),工作流業(yè)務(wù)和數(shù)據(jù)統(tǒng)計(jì)業(yè)務(wù)。對(duì)于工作流業(yè)務(wù),需要引入工作流程引擎來(lái)驅(qū)動(dòng)工作流在不同實(shí)體和界面之間運(yùn)轉(zhuǎn)。
3 結(jié)語(yǔ)
本文提出一種基于模型分離的映射機(jī)制,管理信息系統(tǒng)可以基于擴(kuò)展的UML類圖和模型分離映射機(jī)制進(jìn)行快速開發(fā),從而有效降低了模型建模復(fù)雜度,提高了模型轉(zhuǎn)換效率。
參考文獻(xiàn)
[1]苗寧.基于MDA的企業(yè)信息系統(tǒng)開發(fā)方法研究[D].大連:大連交通大學(xué),2009.
[2]趙聰輝.基于模型驅(qū)動(dòng)架構(gòu)的管理信息系統(tǒng)領(lǐng)域建模研究[D].北京:北京林業(yè)大學(xué),2010.
[3]柳靖,曹璐,趙丹.Ruby on Rails快速Web應(yīng)用開發(fā)實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,006:40-42.