本發(fā)明屬于軟件開發(fā)技術(shù)領(lǐng)域,特別是涉及一種基于模型驅(qū)動軟件開發(fā)的信息系統(tǒng)。
背景技術(shù):
MDA是由OMG提出的新的軟件開發(fā)方法學(xué),它改變了傳統(tǒng)的以代碼為中心的軟件開發(fā)模式。使用建模語言來代替編程語言進(jìn)行軟件開發(fā),使用模型轉(zhuǎn)換技術(shù)生產(chǎn)出代碼。它將軟件系統(tǒng)的模型分離為平臺無關(guān)模型PIM和平臺相關(guān)模型PSM,同時又能通過轉(zhuǎn)換規(guī)則將它們統(tǒng)一起來,以這樣的方式試圖去擺脫滿求變更所帶來的困境。平臺無關(guān)模型PIM是對系統(tǒng)高層次的抽象,其中不包括任何與實(shí)現(xiàn)技術(shù)相關(guān)的信息;平臺相關(guān)模型PSM是跟特定平臺相關(guān)的模型。在MDA框架中,首先使用平臺無關(guān)的建模語言來搭建平臺無關(guān)的模型PIM,然后根據(jù)特定平臺和實(shí)現(xiàn)語言的映射規(guī)則,將PIM轉(zhuǎn)換以生成平臺相關(guān)的模型PSM,最終生成應(yīng)用程序代碼和測試框架。
基于底層框架的開發(fā)模式使得模型的注意力都集中在企業(yè)業(yè)務(wù)模型上,那么建立一個完善的企業(yè)信息系統(tǒng)業(yè)務(wù)模型就能夠讓整個開發(fā)過程起到事半功倍的作用。按照xUML的平臺無關(guān)建模方法,抽象出了用戶、組織機(jī)構(gòu)、節(jié)點(diǎn)、業(yè)務(wù)對象、權(quán)限等模型充素。這個模型比較完善的覆蓋了企業(yè)信息系統(tǒng)的現(xiàn)實(shí)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于模型驅(qū)動軟件開發(fā)的信息系統(tǒng),通過PIM模型作為信息的抽象表達(dá),并構(gòu)述模型實(shí)例,當(dāng)模型實(shí)例完成之后,也就實(shí)現(xiàn)了業(yè)務(wù)主題的剝離。
本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
本發(fā)明為一種基于模型驅(qū)動軟件開發(fā)的信息系統(tǒng),包括PIM模型、模型實(shí)例、基礎(chǔ)框架和對象管理系統(tǒng);所述PIM模型包括用戶和業(yè)務(wù)對象構(gòu)建的結(jié)構(gòu)樹;所述模型實(shí)例包括模型轉(zhuǎn)換和實(shí)例標(biāo)記;通過模型轉(zhuǎn)換和實(shí)例標(biāo)記構(gòu)建的模型轉(zhuǎn)換將結(jié)構(gòu)樹進(jìn)行生成模型實(shí)例;所述實(shí)例標(biāo)記通過時鐘標(biāo)記,并反饋到對象管理系統(tǒng)。所述基礎(chǔ)框架包括用于交互的Web頁面層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫層;所述基礎(chǔ)框架用來解析模型實(shí)例、并將其中包含的對象信息納入到對象管理系統(tǒng)中;所述對象管理系統(tǒng)用以管理PIM模型、模型實(shí)例和基礎(chǔ)框架。
優(yōu)選地,所述模型轉(zhuǎn)換包括組織結(jié)構(gòu)轉(zhuǎn)換和對象信息轉(zhuǎn)換;所述組織結(jié)構(gòu)轉(zhuǎn)換具體是通過對對象管理系統(tǒng)的分析與抽象,所述對象管理系統(tǒng)的組織結(jié)構(gòu)表現(xiàn)為多層次的樹狀結(jié)構(gòu),通過Web頁面上的樹狀列表描述組織結(jié)構(gòu),通過選擇樹狀列表上的不同分支點(diǎn)獲取不同類型的對象數(shù)據(jù)。
優(yōu)選地,所述對象信息轉(zhuǎn)換中,其信息數(shù)據(jù)在組織結(jié)構(gòu)中表現(xiàn)為樹結(jié)構(gòu)的節(jié)點(diǎn),并且,通過數(shù)據(jù)表存儲在數(shù)據(jù)庫中。
優(yōu)選地,所述模型實(shí)例通過StarUML模型工具將UML模型轉(zhuǎn)換成XML文檔的作用。
優(yōu)選地,所述基礎(chǔ)框架通過struts、spring和Hibernate的開源框架作為開發(fā)平臺。
本發(fā)明具有以下有益效果:
本發(fā)明的PIM模型是業(yè)務(wù)主題的抽象表達(dá),為便于底層基礎(chǔ)框架理解系統(tǒng)業(yè)務(wù),我們還需要構(gòu)建模型的轉(zhuǎn)換規(guī)則,以實(shí)現(xiàn)模型的轉(zhuǎn)換即構(gòu)述模型實(shí)例。當(dāng)模型實(shí)例完成之后,也就實(shí)現(xiàn)了業(yè)務(wù)主題的剝離。系統(tǒng)業(yè)務(wù)上的需求變更不會影響到系統(tǒng)實(shí)現(xiàn),基礎(chǔ)框架理解的是模型的轉(zhuǎn)換而不是具體的模型實(shí)例。
當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品并不一定需要同時達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例描述所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的一種基于模型驅(qū)動軟件開發(fā)的信息系統(tǒng)圖;
圖2為基礎(chǔ)框架的系統(tǒng)結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1和圖2所示,本發(fā)明為一種基于模型驅(qū)動軟件開發(fā)的信息系統(tǒng),包括PIM模型、模型實(shí)例、基礎(chǔ)框架和對象管理系統(tǒng);
PIM模型包括用戶和業(yè)務(wù)對象構(gòu)建的結(jié)構(gòu)樹;
模型實(shí)例包括模型轉(zhuǎn)換和實(shí)例標(biāo)記;通過模型轉(zhuǎn)換和實(shí)例標(biāo)記構(gòu)建的模型轉(zhuǎn)換將結(jié)構(gòu)樹進(jìn)行生成模型實(shí)例;實(shí)例標(biāo)記通過時鐘標(biāo)記,并反饋到對象管理系統(tǒng)。
基礎(chǔ)框架包括用于交互的Web頁面層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫層;基礎(chǔ)框架用來解析模型實(shí)例、并將其中包含的對象信息納入到對象管理系統(tǒng)中;
對象管理系統(tǒng)用以管理PIM模型、模型實(shí)例和基礎(chǔ)框架。
其中,模型轉(zhuǎn)換包括組織結(jié)構(gòu)轉(zhuǎn)換和對象信息轉(zhuǎn)換;組織結(jié)構(gòu)轉(zhuǎn)換具體是通過對對象管理系統(tǒng)的分析與抽象,對象管理系統(tǒng)的組織結(jié)構(gòu)表現(xiàn)為多層次的樹狀結(jié)構(gòu),通過Web頁面上的樹狀列表描述組織結(jié)構(gòu),通過選擇樹狀列表上的不同分支點(diǎn)獲取不同類型的對象數(shù)據(jù)。
其中,對象信息轉(zhuǎn)換中,其信息數(shù)據(jù)在組織結(jié)構(gòu)中表現(xiàn)為樹結(jié)構(gòu)的節(jié)點(diǎn),并且,通過數(shù)據(jù)表存儲在數(shù)據(jù)庫中。
其中,模型實(shí)例通過StarUML模型工具將UML模型轉(zhuǎn)換成XML文檔的作用。
其中,基礎(chǔ)框架通過struts、spring和Hibernate的開源框架作為開發(fā)平臺。Struts采用WebMVC框架,用于管理客戶的請求,并作出相應(yīng)的響應(yīng),提供一個控制器,委派業(yè)務(wù)邏輯調(diào)用和其他上層處理,為顯示提供一個標(biāo)準(zhǔn)模型,并提供UI驗(yàn)證。Spring提供了管理業(yè)務(wù)對象的一個方法,基于JavaBean屬性的IoC容器。Hibernate用于數(shù)據(jù)持久的保存下來,以及把持久保存的數(shù)據(jù)讀取出來,具有通過面向?qū)ο蟛樵冋Z言完成數(shù)據(jù)查詢;實(shí)現(xiàn)數(shù)據(jù)的存儲、更新和刪除,數(shù)據(jù)庫驅(qū)動及數(shù)據(jù)庫連接池的配置。
值得注意的是,上述系統(tǒng)實(shí)施例中,所包括的各個單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。
另外,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,相應(yīng)的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如ROM/RAM、磁盤或光盤等。
以上公開的本發(fā)明優(yōu)選實(shí)施例只是用于幫助闡述本發(fā)明。優(yōu)選實(shí)施例并沒有詳盡敘述所有的細(xì)節(jié),也不限制該發(fā)明僅為所述的具體實(shí)施方式。顯然,根據(jù)本說明書的內(nèi)容,可作很多的修改和變化。本說明書選取并具體描述這些實(shí)施例,是為了更好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,從而使所屬技術(shù)領(lǐng)域技術(shù)人員能很好地理解和利用本發(fā)明。本發(fā)明僅受權(quán)利要求書及其全部范圍和等效物的限制。