

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