版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本欄目責(zé)任編輯:謝媛媛軟件設(shè)計(jì)開(kāi)發(fā)ComputerKnowledgeTechnology電腦知識(shí)與技術(shù)第5卷第13期(2009年5月)面向構(gòu)件框架的研究與設(shè)計(jì)李嘉炎(華南理工大學(xué)計(jì)算機(jī)學(xué)院,廣東廣州510006)摘要:面向構(gòu)件軟件開(kāi)發(fā)的主要思想是使用現(xiàn)存的構(gòu)件來(lái)建構(gòu)軟件系統(tǒng),是提高軟件開(kāi)發(fā)效率和質(zhì)量的有效途徑可復(fù)用的構(gòu)件在軟件復(fù)用技術(shù)中作用重大。該文首先闡述了構(gòu)件的概念和面向構(gòu)件技術(shù)優(yōu)點(diǎn),研究并設(shè)計(jì)了一種面向構(gòu)件的架構(gòu),接著結(jié)合現(xiàn)行主流
2、的開(kāi)源框架,以eclilpse插件的方式給予實(shí)現(xiàn)和檢驗(yàn);最后,對(duì)面向構(gòu)件技術(shù)的發(fā)展進(jìn)行了展望。關(guān)鍵詞:軟件復(fù)用;構(gòu)件;面向構(gòu)件中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):10093044(2009)13343002ResearchDesignofComponentinentedArchitectureLIJiayan(SchoolofComputerScienceSouthChinaUniversityofTechnologyGuan
3、gzhou510640China)Abstract:ThemainpointofComponentientedSoftwareEngineeringisthatbuildthesoftwaresystemreusedtheexistedcomponentwhichisaneffectivewaytoimprovetheefficiencyqualityofthesoftwaredevelopmentReusedcomponenttake
4、animptantpartinsoftwarereuse.ThisarticleelabatedthecomponentconcepttheadvantageofComponentientedtechnologydiscussedsoftwareproducemodelofComponentientedtechnologythendesignedaArchitectureofComponentientedtechnologydevelo
5、peditinthewayofeclipse’spluginwiththeframewksofthemainstreamofopensource.FinallymakesafecasttotheComponentientedtechnology.Keywds:SoftwareReusecomponentsvomponentientedtechnology1引言基于構(gòu)件軟件開(kāi)發(fā)的主要思想是使用現(xiàn)存的構(gòu)件來(lái)建構(gòu)軟件系統(tǒng)。在軟件復(fù)用方面,傳統(tǒng)
6、的開(kāi)發(fā)方法最多只能做到代碼復(fù)用,面向?qū)ο蠹夹g(shù)促進(jìn)了軟件復(fù)用,但也只是實(shí)現(xiàn)了類(lèi)和類(lèi)繼承的復(fù)用,對(duì)于整個(gè)系統(tǒng)來(lái)說(shuō),還存在很大的缺口,不能做到核心功能的復(fù)用。面向構(gòu)件的開(kāi)發(fā)是軟件復(fù)用領(lǐng)域的研究熱點(diǎn),被視為軟件工業(yè)化生產(chǎn)的必由之路。2構(gòu)件技術(shù)概要2.1構(gòu)件的定義什么是構(gòu)件(component)?“軟件構(gòu)件是一種組裝單元,它具有規(guī)范的接口規(guī)約和顯式的語(yǔ)境依賴(lài)。軟件構(gòu)件可以被獨(dú)立部署并由第三方任意地組裝。”[1]它的基本理念是把軟件開(kāi)發(fā)過(guò)程中會(huì)重復(fù)
7、用到的部分封裝起來(lái),等到有新的同樣的需求時(shí)再調(diào)用。被封裝的對(duì)象類(lèi)、類(lèi)樹(shù)、一些功能模塊、(framewk)、軟件構(gòu)架(或體系結(jié)構(gòu)Architectural)、文檔、分析件、設(shè)計(jì)模式(Pattern)等都可視為構(gòu)件。2.2面向構(gòu)件技術(shù)構(gòu)件技術(shù)(如CBA、COM、JavaBean),關(guān)注的是構(gòu)件的描述方法、調(diào)用方法和運(yùn)行體系,業(yè)界用得比較多的是“基于構(gòu)件的軟件開(kāi)發(fā)(CBSD)”。而這里的面向構(gòu)件的軟件開(kāi)發(fā)是指在軟件開(kāi)發(fā)中,以構(gòu)件為中心組織整個(gè)
8、開(kāi)發(fā)過(guò)程,從分析、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、發(fā)布和管理,一直到維護(hù),整個(gè)軟件生命周期中的每個(gè)階段都統(tǒng)一以構(gòu)件為基本單位進(jìn)行工作。面向構(gòu)件的軟件開(kāi)發(fā),使得開(kāi)發(fā)人員能夠通過(guò)拖拉式的圖形化編程方式快速地實(shí)現(xiàn)面向構(gòu)件的系統(tǒng)的設(shè)計(jì)、開(kāi)發(fā)、組裝和調(diào)試。整個(gè)開(kāi)發(fā)工作屏蔽了技術(shù)細(xì)節(jié),使得開(kāi)發(fā)工作像“搭積木”一樣利用構(gòu)件庫(kù)中的每個(gè)構(gòu)件的映射實(shí)現(xiàn)編程,從而實(shí)現(xiàn)了業(yè)務(wù)和技術(shù)的分離[3]。2.3面向構(gòu)件與面向?qū)ο蟮谋容^面向構(gòu)件的軟件開(kāi)發(fā)(CBD),吸收包括面向?qū)ο蠹夹g(shù)
9、在內(nèi)的眾多傳統(tǒng)方法和技術(shù)的優(yōu)點(diǎn)。因此,面向構(gòu)件技術(shù)與面向?qū)ο蠹夹g(shù)即緊密相關(guān),又有區(qū)別。首先,在概念層面上,對(duì)象描述客觀(guān)世界實(shí)體,構(gòu)件提供客觀(guān)世界服務(wù);其次,在復(fù)用策略上,對(duì)象是通過(guò)繼承實(shí)現(xiàn)復(fù)用,而構(gòu)件是通過(guò)合成實(shí)現(xiàn)復(fù)用;再次,在技術(shù)手段上,構(gòu)件通過(guò)對(duì)象技術(shù)而實(shí)現(xiàn),對(duì)象按規(guī)定經(jīng)過(guò)適當(dāng)?shù)慕涌诎b之后成為構(gòu)件,一個(gè)構(gòu)件通常是多個(gè)對(duì)象的集合體。最后,從抽象程度來(lái)看,面向?qū)ο蠹夹g(shù)己達(dá)到了類(lèi)級(jí)重用(代碼級(jí)),它以類(lèi)為封裝的單位,構(gòu)件將抽象的程度提到
10、一個(gè)更高層次,它是對(duì)一組類(lèi)的組合進(jìn)行封裝,并代表完成一個(gè)或多個(gè)功能的特定服務(wù),也為用戶(hù)提供了多個(gè)接口。2.4面向構(gòu)件的軟件生產(chǎn)模式及其優(yōu)點(diǎn)面向構(gòu)件的軟件體系,使得用戶(hù)的需求改變可以直接通過(guò)構(gòu)件裝配式的圖形化設(shè)計(jì)思路得以體現(xiàn),使得軟件架構(gòu)師和程序員跳出傳統(tǒng)開(kāi)發(fā)模式的局限,是代碼式軟件體系的顛覆和革新,使得軟件生產(chǎn)有了一全新的模式,如下圖1所示。面向構(gòu)件開(kāi)發(fā)能夠屏蔽技術(shù)實(shí)現(xiàn)細(xì)節(jié)、提高軟件的質(zhì)量和穩(wěn)定性、得化軟件開(kāi)發(fā)流程、提高開(kāi)發(fā)的靈活性、降
11、低大型系統(tǒng)的復(fù)雜度和維護(hù)難度等優(yōu)點(diǎn)。目前,CBD主要被用來(lái)幫助控制大型系統(tǒng)開(kāi)發(fā)的復(fù)雜度和風(fēng)險(xiǎn),在開(kāi)發(fā)的構(gòu)造和部署階段中提供一種以架構(gòu)為中心和以重用為中心的方法。收稿日期:20090310ISSN10093044ComputerKnowledgeTechnology電腦知識(shí)與技術(shù)Vol.5No.13May2009pp.34303431Email:l:86551569096356909643430軟件設(shè)計(jì)開(kāi)發(fā)本欄目責(zé)任編輯:謝媛媛Compu
12、terKnowledgeTechnology電腦知識(shí)與技術(shù)第5卷第13期(2009年5月)3框架的設(shè)計(jì)與實(shí)現(xiàn)3.1設(shè)計(jì)思想為降低大型系統(tǒng)的復(fù)雜度,軟件系統(tǒng)的架構(gòu)經(jīng)歷了對(duì)問(wèn)題空間分解,垂直分割、橫向切割,橫切豎割相結(jié)合的發(fā)展過(guò)程。面向構(gòu)件的思想,就是把復(fù)雜業(yè)務(wù)進(jìn)行橫切豎割的分解,再用一個(gè)個(gè)的不同粒度的構(gòu)件“編織”整個(gè)架構(gòu),它可以把精力全部放在業(yè)務(wù)功能上而不必操心太多技術(shù)細(xì)節(jié)。[3]本系統(tǒng)采用多層次的構(gòu)件體系,在實(shí)現(xiàn)上,利用現(xiàn)有成熟的技術(shù)支
13、撐,在eclipse平臺(tái)上,結(jié)合開(kāi)源技術(shù)如Hibernate、Spring、Struts等,以插件的方式實(shí)現(xiàn)框架功能。系統(tǒng)框架如圖2所示。3.2具體設(shè)計(jì)與實(shí)現(xiàn)本平臺(tái)使用主流的開(kāi)源框架Hibernate實(shí)現(xiàn)OR實(shí)體映射;再通過(guò)對(duì)Hibernate的封裝,實(shí)現(xiàn)與低層數(shù)據(jù)庫(kù)無(wú)關(guān)的通用數(shù)據(jù)庫(kù)操作構(gòu)件。另外,本框架采用現(xiàn)行主流框架Spring來(lái)實(shí)現(xiàn)事務(wù)管理。這里的運(yùn)算構(gòu)件層主要用是帶靜態(tài)的方法的Java類(lèi)來(lái)實(shí)現(xiàn),以XML文件描述其接口和參數(shù),對(duì)業(yè)
14、務(wù)邏輯提供接口調(diào)用,給應(yīng)用開(kāi)發(fā)人員提供圖形化組裝。業(yè)務(wù)構(gòu)件層,主要由業(yè)務(wù)引擎和業(yè)務(wù)構(gòu)件組成,實(shí)現(xiàn)對(duì)應(yīng)用邏輯的處理過(guò)程。對(duì)上層提供規(guī)范的接口以被調(diào)用,對(duì)下層,調(diào)用運(yùn)算構(gòu)件,以流程化的方式使之構(gòu)件粒度較大的業(yè)務(wù)構(gòu)件。展現(xiàn)構(gòu)件層,是連接用戶(hù)界面與業(yè)務(wù)處理的中間層次。由展現(xiàn)引擎和展現(xiàn)邏輯流程組成。對(duì)于應(yīng)用展現(xiàn)引擎接受服務(wù)請(qǐng)求,調(diào)用業(yè)務(wù)構(gòu)件層的業(yè)務(wù)構(gòu)件計(jì)算處理,再返回給用戶(hù)界面。頁(yè)面層主要提供對(duì)應(yīng)用系統(tǒng)的用戶(hù)界面支持。由于在展現(xiàn)引擎返回給頁(yè)面之前
15、,采用Struts動(dòng)態(tài)Bean對(duì)XML數(shù)據(jù)進(jìn)行轉(zhuǎn)換封裝,使得JSP頁(yè)面即可支持JSTL表達(dá)式語(yǔ)言,同時(shí)支持Struts標(biāo)簽。在整個(gè)架構(gòu)中,從運(yùn)算構(gòu)件層到展現(xiàn)層,各層的引擎都將數(shù)據(jù)規(guī)范為XML格式,放在XML總線(xiàn)中,通過(guò)XML的DOM方式,封裝了應(yīng)用的各個(gè)數(shù)據(jù)區(qū)構(gòu)件。最后,圖形界面用Eclipse的GMF技術(shù)結(jié)合基于模板引擎的代碼生成技術(shù)做成Eclipse插件來(lái)實(shí)現(xiàn)。用戶(hù)在拖拉(組裝)構(gòu)件,使之成為業(yè)務(wù)流程,GMF在后臺(tái)則生成對(duì)應(yīng)的XML
16、描述配置文件,系統(tǒng)通過(guò)對(duì)xml配置文件的解析封裝,用模板引擎成生業(yè)務(wù)流程的java文件并編譯。4框架的設(shè)計(jì)和實(shí)現(xiàn)的優(yōu)點(diǎn)在吸取經(jīng)典的三層體系結(jié)構(gòu)優(yōu)點(diǎn),使得構(gòu)件粒度更加細(xì)化,軟件開(kāi)發(fā)更為有效。平臺(tái)在軟件開(kāi)發(fā)周期的每一階段,都以構(gòu)件為核心,具有統(tǒng)傳構(gòu)件技術(shù)的優(yōu)點(diǎn)。本架構(gòu)實(shí)現(xiàn)了應(yīng)用系統(tǒng)和代碼的分離,程現(xiàn)給應(yīng)用開(kāi)發(fā)人員的是圖形化構(gòu)件和規(guī)范的接口,使得應(yīng)用邏輯易于調(diào)整以適應(yīng)需求的變化;而業(yè)務(wù)數(shù)據(jù)則通過(guò)XML總線(xiàn)方式獨(dú)立于應(yīng)用邏輯,使應(yīng)用系統(tǒng)的具有良
17、好的數(shù)據(jù)擴(kuò)展能力。StrutsSpringHibernate的整合開(kāi)發(fā),是現(xiàn)行J2EE開(kāi)發(fā)為程序員所喜愛(ài)的開(kāi)發(fā)方式,基于這些開(kāi)源框架的開(kāi)發(fā)人員成熟性和穩(wěn)定性。由于對(duì)問(wèn)題空間的有效分割,框架具有清晰的分層結(jié)構(gòu),在實(shí)現(xiàn)上又吸取了主流開(kāi)源框架的優(yōu)點(diǎn),使得整個(gè)框架具有良好的可擴(kuò)展性。5總結(jié)本文文闡述了構(gòu)件技術(shù)的基本概念和面向構(gòu)件的軟件生產(chǎn)模式,接著對(duì)面多層次的架構(gòu)進(jìn)行研究設(shè)計(jì)并結(jié)合主流的開(kāi)源框架在eclipse開(kāi)臺(tái)上以插件的形式實(shí)現(xiàn),最后,用實(shí)
18、現(xiàn)的面向構(gòu)件開(kāi)發(fā)平臺(tái),來(lái)組裝企業(yè)應(yīng)用的合同管理系統(tǒng)。被視為解決軟件危機(jī)的構(gòu)件技術(shù)將促進(jìn)軟件產(chǎn)業(yè)的變革。專(zhuān)業(yè)化的構(gòu)件生產(chǎn)將成為獨(dú)立的產(chǎn)業(yè)而存在軟件系統(tǒng)的開(kāi)發(fā)將由軟件系統(tǒng)集成商通過(guò)購(gòu)買(mǎi)商用構(gòu)件集成組裝而成。目前國(guó)內(nèi)外越來(lái)越多的軟件系統(tǒng)采用面向構(gòu)件的技術(shù)進(jìn)行開(kāi)發(fā),圍繞構(gòu)件的生產(chǎn)、管理和組裝將形成具有相當(dāng)規(guī)模的構(gòu)件市場(chǎng)和構(gòu)件開(kāi)發(fā)工具市場(chǎng)。隨著構(gòu)件應(yīng)用的推廣和深入對(duì)構(gòu)件組裝技術(shù)、構(gòu)件構(gòu)架技術(shù)、分析設(shè)計(jì)構(gòu)件的描述和復(fù)用、特定領(lǐng)域軟件構(gòu)架、構(gòu)件庫(kù)部署
19、等問(wèn)題的研究也會(huì)不斷深入發(fā)展??傊?,面向構(gòu)件的軟件工廠(chǎng)正日趨成熟,其應(yīng)用前景十分廣泛。參考文獻(xiàn):[1]SzyperskiCGruntzDMurerS.構(gòu)件化軟件———超越面向?qū)ο缶幊蘙M].2版.王千祥譯.北京:電子工業(yè)出版社2004.[2]黎婭.基于構(gòu)件的軟件復(fù)用技術(shù)應(yīng)用研究[D].重慶大學(xué)2008.[3]MiliHMiliFMiliA.Reusingsoftware:Issuesresearchdirections[J].IEEET
20、ransSoftwareEngineering199521(6):528562.[4]WhittleB.Modelslanguagesfcomponentdeionreuse[J].ACMSIGSOFTSoftwareEngineeringNotes199520(2):7689.[5]劉偉.基于觀(guān)測(cè)模型的構(gòu)件化軟件集成測(cè)試方法研究[D].中國(guó)優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫(kù)2007.[6]戶(hù)軍茹.嵌入式軟件關(guān)聯(lián)測(cè)試方法的研究[D].中國(guó)優(yōu)秀碩
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向構(gòu)件服務(wù)的軟件集成框架研究.pdf
- 面向軟件大規(guī)模定制的構(gòu)件化領(lǐng)域框架研究.pdf
- 構(gòu)件框架研究與應(yīng)用.pdf
- 面向界面模式的構(gòu)件庫(kù)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于微內(nèi)核的構(gòu)件框架設(shè)計(jì)與實(shí)現(xiàn)
- 基于構(gòu)件的軟件框架研究與實(shí)現(xiàn).pdf
- 面向構(gòu)件的零擔(dān)物流系統(tǒng)的設(shè)計(jì)與研究.pdf
- 面向內(nèi)容重組的教學(xué)構(gòu)件的研究與設(shè)計(jì).pdf
- 基于構(gòu)件的嵌入式軟件框架與設(shè)計(jì)模式的研究.pdf
- 構(gòu)件化數(shù)據(jù)清洗框架的研究與應(yīng)用.pdf
- 基于微內(nèi)核的構(gòu)件框架設(shè)計(jì)與實(shí)現(xiàn).pdf
- 面向HR領(lǐng)域的構(gòu)件技術(shù)的研究與應(yīng)用.pdf
- 面向設(shè)計(jì)模式的模型驅(qū)動(dòng)框架的研究與應(yīng)用.pdf
- 運(yùn)輸管理系統(tǒng)框架中權(quán)限與構(gòu)件管理的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于構(gòu)件的WEB開(kāi)發(fā)框架的研究、設(shè)計(jì)和實(shí)現(xiàn).pdf
- 面向科技計(jì)劃項(xiàng)目管理領(lǐng)域的框架研究與設(shè)計(jì).pdf
- 面向信息系統(tǒng)的ajax框架的設(shè)計(jì)與實(shí)現(xiàn)
- 基于構(gòu)件的水信息領(lǐng)域軟件集成框架模型的設(shè)計(jì)與研究.pdf
- 基于Struts框架的構(gòu)件組裝技術(shù)的研究與應(yīng)用.pdf
- 基于構(gòu)件的可插拔服務(wù)模型框架的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論