

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