組件技術(shù)概述_第1頁(yè)
組件技術(shù)概述_第2頁(yè)
組件技術(shù)概述_第3頁(yè)
組件技術(shù)概述_第4頁(yè)
組件技術(shù)概述_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

組件技術(shù)概述第1頁(yè),共19頁(yè),2023年,2月20日,星期六本部分授課目的組件技術(shù)的基本原理幾種主要的組件技術(shù)

COM/DCOM,CORBA,EJB,SOA,……其它相關(guān)技術(shù)教材和授課方式參考資料第2頁(yè),共19頁(yè),2023年,2月20日,星期六軟件復(fù)用(SoftwareReuse)

組件技術(shù)產(chǎn)生的宏觀背景起源:1968年NATO(北大西洋公約組織)軟件工程會(huì)議上McIlroy的論文“大量生產(chǎn)的軟件構(gòu)件”社會(huì)分工及軟件產(chǎn)業(yè)的分工表現(xiàn)方面:時(shí)間維:使用以前的軟件版本作為新版本的基礎(chǔ),加入新功能,適應(yīng)新需求,即軟件維護(hù)。平臺(tái)維:以某平臺(tái)上的軟件為基礎(chǔ),修改其和運(yùn)行平臺(tái)相關(guān)的部分,使其運(yùn)行于新平臺(tái),即軟件移植。應(yīng)用維:將某軟件(或其中構(gòu)件)用于其它應(yīng)用系統(tǒng)中,新系統(tǒng)具有不同功能和用途,即真正的軟件復(fù)用。(真正復(fù)用)第3頁(yè),共19頁(yè),2023年,2月20日,星期六軟件復(fù)用的自然產(chǎn)生應(yīng)用系統(tǒng)中通常包含三類成分:①通用基本構(gòu)件:是特定于計(jì)算機(jī)系統(tǒng)的構(gòu)成成分,如基本的數(shù)據(jù)結(jié)構(gòu)、用戶界面元素、領(lǐng)域無(wú)關(guān)的一般性功能等,它們可以存在于各種應(yīng)用系統(tǒng)中;②領(lǐng)域共性構(gòu)件:是應(yīng)用系統(tǒng)所屬領(lǐng)域的共性構(gòu)成成分,它們存在于該領(lǐng)域的各個(gè)應(yīng)用系統(tǒng)中;③應(yīng)用專用構(gòu)件:是每個(gè)應(yīng)用系統(tǒng)的特有構(gòu)成成分。應(yīng)用系統(tǒng)開(kāi)發(fā)中的重復(fù)勞動(dòng)主要在于前兩類構(gòu)成成分的重復(fù)開(kāi)發(fā)。軟件復(fù)用是在軟件開(kāi)發(fā)中避免重復(fù)勞動(dòng)的解決方案,其出發(fā)點(diǎn)是應(yīng)用系統(tǒng)的開(kāi)發(fā)不再采用一切“從零開(kāi)始”的模式,而是以已有的工作為基礎(chǔ),充分利用過(guò)去應(yīng)用系統(tǒng)開(kāi)發(fā)中積累的知識(shí)和經(jīng)驗(yàn),如:需求分析結(jié)果、設(shè)計(jì)方案、源代碼、測(cè)試計(jì)劃及測(cè)試案例等,從而將開(kāi)發(fā)的重點(diǎn)集中于應(yīng)用的特有構(gòu)成成分。第4頁(yè),共19頁(yè),2023年,2月20日,星期六軟件復(fù)用的關(guān)鍵因素前提:必須有可以復(fù)用的對(duì)象;所復(fù)用的對(duì)象必須是有用的;復(fù)用者需要知道如何去使用被復(fù)用的對(duì)象。兩個(gè)關(guān)鍵過(guò)程:可復(fù)用軟件(構(gòu)件)的開(kāi)發(fā)(DevelopmentforReuse),基于可復(fù)用軟件(構(gòu)件)的應(yīng)用系統(tǒng)構(gòu)造(集成和組裝)實(shí)現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù)因素主要包括:軟件構(gòu)件技術(shù)(SoftwareComponentTechnology)、領(lǐng)域工程(DomainEngineering)、軟件構(gòu)架(SoftwareArchitecture)、軟件再工程(SoftwareReengineering)、開(kāi)放系統(tǒng)(OpenSystem)、軟件過(guò)程(SoftwareProcess)、CASE等。眾多的非技術(shù)因素,如:機(jī)構(gòu)組織如何適應(yīng)復(fù)用的需求;管理方法如何適應(yīng)復(fù)用的需求;開(kāi)發(fā)人員知識(shí)的更新;創(chuàng)造性和工程化的關(guān)系;開(kāi)發(fā)人員的心理障礙;知識(shí)產(chǎn)權(quán)問(wèn)題;保守商業(yè)秘密的問(wèn)題;復(fù)用前期投入的經(jīng)濟(jì)考慮;標(biāo)準(zhǔn)化問(wèn)題等等。第5頁(yè),共19頁(yè),2023年,2月20日,星期六軟件復(fù)用的分類依據(jù)對(duì)可復(fù)用信息進(jìn)行復(fù)用的方式,可以將軟件復(fù)用區(qū)分為黑盒復(fù)用和白盒復(fù)用。黑盒復(fù)用指對(duì)已有構(gòu)件不需作任何修改,直接進(jìn)行復(fù)用。這是理想的復(fù)用方式。白盒復(fù)用指已有構(gòu)件并不能完全符合用戶需求,需要根據(jù)用戶需求進(jìn)行適應(yīng)性修改后才可使用。多數(shù)應(yīng)用的組裝過(guò)程中,構(gòu)件的適應(yīng)性修改是必須的。第6頁(yè),共19頁(yè),2023年,2月20日,星期六軟件開(kāi)發(fā)過(guò)程中的可復(fù)用成分整個(gè)開(kāi)發(fā)過(guò)程的中間結(jié)果、過(guò)程本身及最終結(jié)果,均可復(fù)用代碼級(jí)別

代碼拷貝、粘貼,子程序和函數(shù)庫(kù),類,類庫(kù)(不強(qiáng)調(diào)關(guān)系),開(kāi)源代碼等設(shè)計(jì)級(jí)別

類層次(類庫(kù),強(qiáng)調(diào)類之間的關(guān)系)、設(shè)計(jì)模式(設(shè)計(jì)思想)、設(shè)計(jì)框架(設(shè)計(jì)結(jié)果)軟件體系結(jié)構(gòu)風(fēng)格(軟件體系結(jié)構(gòu):構(gòu)件,連接件,風(fēng)格)、架構(gòu)(軟件體系結(jié)構(gòu))

(DesignPatterns,Frameworks,ArchitectureStyle,Component,Connector)第7頁(yè),共19頁(yè),2023年,2月20日,星期六分析級(jí)別分析模式需求級(jí)別用例(usecases模式)測(cè)試環(huán)節(jié)測(cè)試用例子系統(tǒng)級(jí)別(組件)

一個(gè)獨(dú)立或相對(duì)獨(dú)立的系統(tǒng)或子系統(tǒng),體現(xiàn)為組件形式.體系結(jié)構(gòu)中的構(gòu)件可以是組件,但組件不一定是構(gòu)件,構(gòu)件可以是程序模塊,組件強(qiáng)調(diào)標(biāo)準(zhǔn)的組成形式第8頁(yè),共19頁(yè),2023年,2月20日,星期六軟件集成(SoftwareIntegration)數(shù)據(jù)集成、應(yīng)用系統(tǒng)(程序)集成實(shí)施軟件復(fù)用的一種手段組件技術(shù)是其基礎(chǔ)已經(jīng)成為軟件生產(chǎn)的一種主要方式第9頁(yè),共19頁(yè),2023年,2月20日,星期六組件技術(shù)產(chǎn)生的微觀背景從微觀角度,組件技術(shù)是在不同的需求背景下產(chǎn)生的.不同的需求背景,產(chǎn)生了不同的組件技術(shù),這些不同的組件技術(shù)有共性,也有各自所強(qiáng)調(diào)的目標(biāo)。隨后給出的只是幾個(gè)方面的問(wèn)題,并不完整、全面,組件技術(shù)是為了解決這些問(wèn)題而產(chǎn)生的。第10頁(yè),共19頁(yè),2023年,2月20日,星期六(一)軟件的構(gòu)成形式問(wèn)題早期的軟件體現(xiàn)為:獨(dú)立的整體性系統(tǒng)(鐵桶式程序),一般是由同一團(tuán)隊(duì)、同一種編程語(yǔ)言開(kāi)發(fā)的,在同一機(jī)器運(yùn)行。這樣形式的軟件,面臨的主要問(wèn)題是:不易于維護(hù)。為了適應(yīng)變化的需求,發(fā)布前集成了廣泛的應(yīng)用特性(考慮完整),升級(jí)難,不易復(fù)用(部分功能無(wú)法提供給其它軟件系統(tǒng))

直接后果是:延遲新方法、新技術(shù)的應(yīng)用.第11頁(yè),共19頁(yè),2023年,2月20日,星期六模塊A模塊B模塊C模塊D編譯后以整體形式發(fā)布給用戶版本升級(jí)時(shí),用戶需要重新安裝新版本,完整取代原有版本例如:模塊B變動(dòng)即使很好地采用了結(jié)構(gòu)化方法,也難以解決版本升級(jí)等問(wèn)題;開(kāi)發(fā)周期長(zhǎng),維護(hù)費(fèi)用高,擴(kuò)展功能風(fēng)險(xiǎn)大等等。雖然,現(xiàn)在很少有這樣的程序了,但體現(xiàn)在一個(gè)子系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)過(guò)程中,仍是比較普遍現(xiàn)象.第12頁(yè),共19頁(yè),2023年,2月20日,星期六問(wèn)題一的解決思路及關(guān)鍵模塊A模塊B模塊C模塊D四個(gè)模塊分別編譯,相對(duì)獨(dú)立地交給用戶;模塊之間的調(diào)用仍然存在;版本更新時(shí),用戶只需獲得某一新版本的模塊。模塊B‘同一計(jì)算機(jī)系統(tǒng)內(nèi),有兩個(gè)系統(tǒng)S1和S2都使用模塊B,版本更新后,S1可使用B’提供的功能,s2可以繼續(xù)使用B原有的功能??尚行缘年P(guān)鍵是:能夠動(dòng)態(tài)組裝第13頁(yè),共19頁(yè),2023年,2月20日,星期六(二)網(wǎng)絡(luò)資源的合理利用問(wèn)題新技術(shù)的產(chǎn)生和發(fā)展(沖擊)軟件開(kāi)發(fā)方式必須改變

硬件性能價(jià)格比的提高(軟件成本壓力)網(wǎng)絡(luò)計(jì)算技術(shù)(分布式計(jì)算技術(shù))

Internet的突起及基于Web的軟件應(yīng)用需求

群體生產(chǎn)力的提高

越來(lái)越多的可用資源資源共享第14頁(yè),共19頁(yè),2023年,2月20日,星期六問(wèn)題二的解決思路及關(guān)鍵模塊A模塊B模塊C模塊DWebWebWebWeb組成一個(gè)系統(tǒng)的不同模塊,可以在網(wǎng)絡(luò)的不同計(jì)算機(jī)系統(tǒng)系統(tǒng)中,對(duì)系統(tǒng)的用戶來(lái)說(shuō),他不需要關(guān)心組成該系統(tǒng)的各模塊的位置,對(duì)于任何一個(gè)模塊來(lái)說(shuō),也不需要知道它所“調(diào)用”的模塊位置,被調(diào)用模塊也不需要知道調(diào)用者位置。調(diào)用了誰(shuí),被誰(shuí)調(diào)用均不需要知道(位置透明)可行性的關(guān)鍵是:“資源”的存在形式、訪問(wèn)方法第15頁(yè),共19頁(yè),2023年,2月20日,星期六(三)面向?qū)ο蠓缎妥陨韱?wèn)題面向?qū)ο蠓缎偷牟蛔鉉linetObjectServerObjectrequestresponseClinet的實(shí)現(xiàn)緊緊依賴于Server的實(shí)現(xiàn)使用與實(shí)現(xiàn)的分離體現(xiàn)在一個(gè)類的實(shí)現(xiàn)中,當(dāng)然,也可以進(jìn)一步體現(xiàn)在一個(gè)包(子系統(tǒng))中。第16頁(yè),共19頁(yè),2023年,2月20日,星期六問(wèn)題三的解決思路及關(guān)鍵使用和實(shí)現(xiàn)的進(jìn)一步分離(下面僅僅是一種方案)ClinetObjectCommonObjectrequestresponseServerObjectreqquestresponse所有對(duì)象均把請(qǐng)求提交給Common對(duì)象,Common對(duì)象負(fù)責(zé)查找能完成請(qǐng)求的Server對(duì)象,并把請(qǐng)求轉(zhuǎn)交給Server對(duì)象,Server對(duì)象完成后的結(jié)果通過(guò)Common對(duì)象轉(zhuǎn)交給Client對(duì)象。能實(shí)現(xiàn)請(qǐng)求的Server可以有多個(gè),Client對(duì)Server的使用與Server的實(shí)現(xiàn)分離。關(guān)鍵:CommonObject的設(shè)計(jì)及利用第17頁(yè),共19頁(yè),2023年,2月20日,星期六與可復(fù)用的軟件模塊比較模塊,設(shè)計(jì)時(shí)概念構(gòu)件,Component,與組件的英文單詞相同,但我們把它作為軟件體系結(jié)構(gòu)的組成部分,是設(shè)計(jì)時(shí)概念.國(guó)內(nèi)有些院校、期刊文章把我們所說(shuō)的組件稱為構(gòu)件,注意按照上下文進(jìn)行界定。組件,運(yùn)行時(shí)概念二進(jìn)制形

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論