iModel Studio模型驅(qū)動(dòng)軟件開發(fā)平臺(tái)(簡(jiǎn)稱iModel)是一種基于模型驅(qū)動(dòng)架構(gòu)的軟件快速開發(fā)平臺(tái)。用戶只需要描述軟件需求和組成,無需編寫代碼就可以快速開發(fā)出大型企業(yè)級(jí)應(yīng)用程序。iModel擴(kuò)展了國(guó)際對(duì)象組織(OMG)提出的模型驅(qū)動(dòng)(MDA)開發(fā)方法,使用基本模型和插件模型的概念,形成可擴(kuò)展模型體系架構(gòu)。其特點(diǎn)是結(jié)合模型和插件兩種技術(shù)原理,使用基礎(chǔ)模型和插件模型的組裝配置來實(shí)現(xiàn)復(fù)雜軟件系統(tǒng)??蓪?shí)現(xiàn)快速開發(fā),運(yùn)行時(shí)維護(hù),系統(tǒng)可擴(kuò)展,功能可配置。
iModel平臺(tái)包括業(yè)務(wù)建模工具與模型引擎,建模工具用于設(shè)計(jì)與維護(hù)業(yè)務(wù)的軟件模型,模型引擎用于加載運(yùn)行模型和插件,并根據(jù)模型信息生成內(nèi)存對(duì)象與界面表現(xiàn)。iModel是一種分布式系統(tǒng),包括數(shù)據(jù)庫(kù)、服務(wù)端、客戶端。服務(wù)端引擎向客戶端提供模型和用戶數(shù)據(jù)并處理業(yè)務(wù)邏輯,客戶端調(diào)用服務(wù)端讀取模型和用戶數(shù)據(jù)自動(dòng)生成生成軟件界面,并根據(jù)用戶的操作來訪問服務(wù)端服務(wù)實(shí)現(xiàn)業(yè)務(wù)處理,iModel平臺(tái)的基本模型包括:界面模型(控件定義,菜單定義),實(shí)體模型(業(yè)務(wù)對(duì)象定義,功能定義),輔助模型等,iModel的插件是一種可以增強(qiáng)和擴(kuò)展iModel基本模型對(duì)象的標(biāo)準(zhǔn)組件,包含了插件及其參數(shù)的精確定義,iModel插件可以配置在相應(yīng)基本模型對(duì)象上,并可在運(yùn)行態(tài)進(jìn)行配置與調(diào)試,且能即時(shí)看到配置效果,iModel是一種可演進(jìn)的原型增量設(shè)計(jì)系統(tǒng),軟件是在運(yùn)行過程中進(jìn)行增量設(shè)計(jì)與維護(hù)的,設(shè)計(jì)過程中就可以看到運(yùn)行效果。
iModel除一般建模工具提供的功能之外,可對(duì)功能和操作模式進(jìn)行建模描述,綜合模型編譯、模型解釋、代碼生成和模板四種技術(shù)的優(yōu)點(diǎn),實(shí)現(xiàn)了可執(zhí)行模型。同時(shí)實(shí)現(xiàn)了模型繼承、模型接口等高級(jí)模型開發(fā)技術(shù)。
iModel平臺(tái)內(nèi)置了豐富的通用插件模型和插件實(shí)現(xiàn),覆蓋軟件界面、功能,結(jié)構(gòu),流程等各方面;通過基礎(chǔ)建模和大量插件的選擇組裝與集成可以實(shí)現(xiàn)軟件系統(tǒng)的復(fù)雜邏輯功能和豐富界面表現(xiàn)。用戶也可以很容易地在系統(tǒng)中增加插件模型及其實(shí)現(xiàn)完成對(duì)特殊需求的業(yè)務(wù)功能。