




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信信 息息 工工 程程 方方 法法 軟件工程應(yīng)用實(shí)踐教程軟件工程應(yīng)用實(shí)踐教程 第第11章章 軟件復(fù)用軟件復(fù)用 n11.1 11.1 軟件復(fù)用技術(shù)的發(fā)展和存在的障礙軟件復(fù)用技術(shù)的發(fā)展和存在的障礙 n11.2 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 n11.3 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n11.4 11.4 構(gòu)件的開發(fā)構(gòu)件的開發(fā) 概述概述 n軟件復(fù)用是指重復(fù)使用“為了復(fù)用目的而設(shè)計(jì)的軟件”的過程,而 可復(fù)用軟件則是指為了復(fù)用目的而設(shè)計(jì)的軟件。軟件復(fù)用更強(qiáng)調(diào)的 是復(fù)用的目的,它是一種系統(tǒng)化的方法,為了復(fù)用而進(jìn)行設(shè)計(jì),為 了復(fù)用而開發(fā),并且要有效地組織和管理這
2、些復(fù)用產(chǎn)品,方便人們 的查找和使用。 n軟件復(fù)用的意義: n軟件復(fù)用能夠提高軟件生產(chǎn)率,從而降低開發(fā)成本。 n軟件復(fù)用能夠減少系統(tǒng)的維護(hù)代價(jià)。 n軟件復(fù)用能夠提高系統(tǒng)間的互操作性。 n軟件復(fù)用能夠支持快速原型設(shè)計(jì)。 n軟件復(fù)用還能夠減少培訓(xùn)開銷。 n大量使用可復(fù)用軟件部件,可以提高軟件的靈活性和標(biāo)準(zhǔn)化程度。 11.1 軟件復(fù)用技術(shù)的發(fā)展和存在的障礙軟件復(fù)用技術(shù)的發(fā)展和存在的障礙 n結(jié)構(gòu)化程序設(shè)計(jì)的時(shí)代,軟件復(fù)用主要體現(xiàn): n源代碼復(fù)用 n目標(biāo)代碼級(jí)復(fù)用 n面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)用方式 n類庫復(fù)用 n軟件構(gòu)件復(fù)用 11.1 軟件復(fù)用技術(shù)的發(fā)展和存在的障礙軟件復(fù)用技術(shù)的發(fā)展和存在的障礙 n可復(fù)用的軟件
3、制品可復(fù)用的軟件制品 n項(xiàng)目計(jì)劃 n成本估計(jì) n體系結(jié)構(gòu) n需求模型和規(guī)約 n設(shè)計(jì) n源代碼 n用戶手冊(cè)和技術(shù)文檔 n用戶界面 n數(shù)據(jù) n測(cè)試用例 n其他元素:特定的分析建模方法、檢查技術(shù)、測(cè)試用例設(shè)計(jì)技術(shù)、質(zhì)量 保障過程等 11.1 軟件復(fù)用技術(shù)的發(fā)展和存在的障礙軟件復(fù)用技術(shù)的發(fā)展和存在的障礙 n 軟件復(fù)用存在的一些障礙軟件復(fù)用存在的一些障礙 n很少有公司或開發(fā)機(jī)構(gòu)制定了可復(fù)用軟件的開發(fā)計(jì)劃。 n雖然越來越多的軟件銷售商正在銷售有助于軟件復(fù)用的輔助工具和構(gòu)件, 但是大多數(shù)軟件開發(fā)商不使用它們。 n幾乎沒有相應(yīng)的培訓(xùn),幫助軟件工程師和管理者理解并應(yīng)用復(fù)用。 n很多軟件實(shí)踐者仍然相信復(fù)用相對(duì)于其
4、價(jià)值來說會(huì)帶來更多的麻煩。 n很多公司仍然使用對(duì)復(fù)用活動(dòng)毫無促進(jìn)作用的軟件開發(fā)方法學(xué),而不鼓 勵(lì)使用那些可能對(duì)復(fù)用活動(dòng)有促進(jìn)的方法學(xué)。 n很少有公司對(duì)生產(chǎn)可復(fù)用軟件構(gòu)件有激勵(lì)措施。因?yàn)?,在開發(fā)可復(fù)用的 軟件構(gòu)件時(shí)可能會(huì)提高成本。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 n com+/dcom,javabean/enterprise javabean,corba構(gòu)件模構(gòu)件模 型三足鼎立型三足鼎立 ncorba ncorba(common object request broker architecture)即公共對(duì)象請(qǐng)求代 理體系結(jié)構(gòu),是國(guó)際對(duì)象管理組織(omg)在20世紀(jì)90年代早期提
5、出的分 布式對(duì)象規(guī)范。 n一個(gè)對(duì)象請(qǐng)求代理提供了一系列服務(wù),它們使得一個(gè)構(gòu)件可以和其他構(gòu) 件通信,而不管這些對(duì)象在系統(tǒng)中的位置。 ncorba構(gòu)件模型的底層結(jié)構(gòu)為orb(object request broker,對(duì)象請(qǐng)求代 理)。 n一個(gè)corba構(gòu)件采用接口描述語言(interface description language)進(jìn)行 描述。 ncorba提供了idl到c,c+,java,cobol等語言的映射機(jī)制 idl編譯器。 ncorba同時(shí)提供了一系列的公共對(duì)象服務(wù)規(guī)范(common object service specification,coss) ncorba是一種語言中性的構(gòu)
6、件模型,可以跨越不同的網(wǎng)絡(luò)、不同的機(jī) 器和不同的操作系統(tǒng),實(shí)現(xiàn)分布式對(duì)象之間的互操作。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 ncom+/dcom ncom+(component object model)/dcom(distributed component objectmodel)是微軟與其他業(yè)界廠商合作提出的一種構(gòu)件/分布式構(gòu)件對(duì) 象模型 ndcom起源于動(dòng)態(tài)數(shù)據(jù)交換(dde)技術(shù)。 n對(duì)象鏈接與嵌入ole 。 n微軟引入了構(gòu)件對(duì)象模型com,形成了com對(duì)象之間實(shí)現(xiàn)互操作的二 進(jìn)制標(biāo)準(zhǔn)。 ncom規(guī)定了對(duì)象模型和編程要求,使com對(duì)象可以與其他對(duì)象互操作。 這些對(duì)象可以用不同
7、的語言實(shí)現(xiàn),其結(jié)構(gòu)也可以不同。 ndcom是com在分布式計(jì)算方面的發(fā)展,它為分布在網(wǎng)絡(luò)上不同節(jié)點(diǎn)的 com構(gòu)件之間提供了互操作的基礎(chǔ)結(jié)構(gòu)。 n在公共服務(wù)方面,微軟提出了自己的事務(wù)服務(wù)器mts(microsoft transaction server)和消息隊(duì)列服務(wù)器msmq(microsoft message queue server)。前者與corba對(duì)象事務(wù)服務(wù)目標(biāo)類似,后者則是為了保證應(yīng) 用之間進(jìn)行可靠的消息通信和管理。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 njavabean njava是一個(gè)應(yīng)用程序開發(fā)平臺(tái),它按照高性能、可移植、可解釋的原則, 提供面向?qū)ο蟮木幊陶Z言和運(yùn)
8、行環(huán)境。 n在java中,軟件構(gòu)件是能夠進(jìn)行可視化操作的可復(fù)用軟件,它滿足一定 的特征要求,并可以根據(jù)需要進(jìn)行定制和組裝。 njava的軟件構(gòu)件稱為javabean,或者簡(jiǎn)稱bean。 n作為一種典型的構(gòu)件模型,javabean具有屬性、方法、事件、自我檢查、 定制和永久性等6個(gè)方面的特征。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 n軟件構(gòu)架技術(shù)軟件構(gòu)架技術(shù) n軟件構(gòu)架(又稱軟件體系結(jié)構(gòu))描述的是系統(tǒng)整體設(shè)計(jì)格局,它為基于構(gòu) 件的軟件開發(fā)提供了構(gòu)件組裝的基礎(chǔ)和上下文。 n一個(gè)典型的軟件構(gòu)架是由系統(tǒng)中的構(gòu)件、接口和約束構(gòu)成的配置格局。 n軟件開發(fā)實(shí)際上是從問題域向最終解決方案逐步映射和轉(zhuǎn)
9、換的過程,而 特定領(lǐng)域軟件構(gòu)架和軟件構(gòu)架風(fēng)格分別從問題域和軟件解決方案兩個(gè)方 向提供了若干經(jīng)過考驗(yàn)的候選轉(zhuǎn)換路徑。 n軟件構(gòu)架風(fēng)格則根據(jù)系統(tǒng)結(jié)構(gòu)的組織模式確定了一組可以用于實(shí)例中的 構(gòu)件和接口,以及它們的拓?fù)浣Y(jié)構(gòu)、組裝規(guī)則、局部和全局約束,從而 定義了一個(gè)面向系統(tǒng)結(jié)構(gòu)的構(gòu)架家族。 n軟件構(gòu)架風(fēng)格與面向?qū)ο蟮脑O(shè)計(jì)模式或框架一樣,為設(shè)計(jì)經(jīng)驗(yàn)的復(fù)用提 供了技術(shù)支持。 n客戶/服務(wù)器(client/server)、分層的體系結(jié)構(gòu)、分布式對(duì)象計(jì)算、管道和 過濾器、黑板系統(tǒng)等都是廣泛使用的軟件構(gòu)架風(fēng)格。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 n比較分析比較分析 corba/orbactivex/
10、dcomejb/rmi 集成性集成性 支持跨語言操作aad 跨平臺(tái)操作aca 網(wǎng)絡(luò)通信aba 公共服務(wù)構(gòu)件ada 可用性可用性 事務(wù)處理acb 消息服務(wù)ebb 安全服務(wù)aba 目錄服務(wù)acb 容錯(cuò)性ccc 產(chǎn)品成熟性cbd 軟件開發(fā)商支持度baa 可擴(kuò)展可擴(kuò)展aba 備注:a:最好 b:比較 c:好 d:一般 e:差 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n當(dāng)復(fù)用占據(jù)了一個(gè)應(yīng)用開發(fā)的主導(dǎo)地位時(shí),構(gòu)造方法被稱為基于構(gòu)當(dāng)復(fù)用占據(jù)了一個(gè)應(yīng)用開發(fā)的主導(dǎo)地位時(shí),構(gòu)造方法被稱為基于構(gòu) 件的軟件開發(fā)。件的軟件開發(fā)。 n軟件復(fù)用過程包括兩個(gè)并發(fā)的子過程軟件復(fù)用過程包括兩個(gè)并發(fā)的子過程領(lǐng)域
11、工程和軟件工程。領(lǐng)領(lǐng)域工程和軟件工程。領(lǐng) 域工程提供了基于構(gòu)件開發(fā)所需要的可復(fù)用構(gòu)件庫。軟件工程可在域工程提供了基于構(gòu)件開發(fā)所需要的可復(fù)用構(gòu)件庫。軟件工程可在 新系統(tǒng)的開發(fā)中選擇這些軟件構(gòu)件進(jìn)行復(fù)用。新系統(tǒng)的開發(fā)中選擇這些軟件構(gòu)件進(jìn)行復(fù)用。 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n構(gòu)件的獲取構(gòu)件的獲取 n商業(yè)采購(gòu) n利用項(xiàng)目承包商和合作伙伴開發(fā)的ndi構(gòu)件(non developmental item) n在領(lǐng)域工程和再工程的基礎(chǔ)上從已有的應(yīng)用系統(tǒng)中發(fā)掘和提煉 n自主開發(fā)新構(gòu)件 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n構(gòu)件的表示和檢索構(gòu)件的表示和檢索
12、 n一方面,擁有大量可復(fù)用構(gòu)件的組織必須以一種易于分類管理而又方便 復(fù)用者檢索的機(jī)制來表示和保存軟件構(gòu)件; n另一方面,有效的構(gòu)件檢索機(jī)制有助于構(gòu)件查找和理解,而構(gòu)件的合理 表示和分類正是實(shí)現(xiàn)高效、方便檢索的基礎(chǔ)。 n3c模型:概念(concept)、內(nèi)容(content)、上下文(context) n概念是關(guān)于“構(gòu)件做什么”的抽象描述,可以通過概念去理解構(gòu)件 的功能。概念包括接口規(guī)約和語義描述兩個(gè)部分。 n內(nèi)容是概念的具體實(shí)現(xiàn),描述構(gòu)件如何完成概念所刻畫的功能。 n上下文描述構(gòu)件和外圍環(huán)境在概念級(jí)和內(nèi)容級(jí)的關(guān)系,它刻畫構(gòu)件 的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性修改提供指導(dǎo)。 n將3c模型用于實(shí)際
13、環(huán)境中,必須把概念、內(nèi)容和上下文描述轉(zhuǎn)換為具體 的規(guī)則。從構(gòu)件表示出發(fā)可以分為人工智能方法、超文本方法和信息科 學(xué)方法3類。 其中,使用信息科學(xué)方法進(jìn)行構(gòu)件分類是實(shí)際應(yīng)用中比較 成功的一種方法。 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n信息科學(xué)方法以枚舉、刻面、屬性-值、關(guān)鍵詞和正文檢索等技術(shù)為核心。 n枚舉分類 n刻面分類 n屬性-值分類法 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n構(gòu)件組裝構(gòu)件組裝 n基于構(gòu)件的開發(fā)通過構(gòu)件組裝得到最終應(yīng)用系統(tǒng),構(gòu)件組裝必須以某個(gè) 框架或構(gòu)架為藍(lán)圖,實(shí)際可以看做是用構(gòu)件實(shí)例將軟件構(gòu)架具體化的過 程。 n構(gòu)件組裝技術(shù)以
14、構(gòu)件模型、構(gòu)件-構(gòu)架描述和開放系統(tǒng)技術(shù)為基礎(chǔ),成功 的組裝必須以開放構(gòu)件模型和規(guī)范的構(gòu)架描述(包括對(duì)構(gòu)件連接和交互協(xié) 議的嚴(yán)格定義)為基礎(chǔ),構(gòu)件實(shí)例必須符合系統(tǒng)中其他部分的要求。 n真正意義上的基于構(gòu)件的軟件開發(fā)應(yīng)該在分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等不 同階段,在函數(shù)、對(duì)象、模塊、框架、服務(wù)進(jìn)程和程序等不同粒度上, 從構(gòu)件構(gòu)架的開發(fā)、描述、瀏覽、插裝、定制等不同方面對(duì)構(gòu)件組裝提 供全面的支持。 n目前仍然缺乏通用的構(gòu)件組裝平臺(tái)。 11.4 構(gòu)件的開發(fā)構(gòu)件的開發(fā) n域分析域分析 11.4 構(gòu)件的開發(fā)構(gòu)件的開發(fā) n開發(fā)可復(fù)用構(gòu)件的分析和設(shè)計(jì)開發(fā)可復(fù)用構(gòu)件的分析和設(shè)計(jì) n數(shù)據(jù)、功能和行為模型可以用于描述特定應(yīng)用必須完成的任務(wù)。首先應(yīng) 該研究分析模型,以確定模型中的哪些部分用現(xiàn)存的可復(fù)用軟件構(gòu)件。 n當(dāng)構(gòu)件庫中沒
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 成長(zhǎng)記錄袋小學(xué)生課件
- 2025年環(huán)保廁所項(xiàng)目合作計(jì)劃書
- 2025年重鉻酸鈉項(xiàng)目建議書
- 加強(qiáng)網(wǎng)絡(luò)信息安全保障條例
- 公司股份制實(shí)施方案
- 金融投資顧問投資風(fēng)險(xiǎn)提示書
- 小王子電影故事解讀
- StA-IFN-1-生命科學(xué)試劑-MCE
- 石油庫區(qū)員工年終總結(jié)
- 2025年太陽能熱發(fā)電系統(tǒng)項(xiàng)目合作計(jì)劃書
- 圖書外借服務(wù)計(jì)劃
- 軟考系統(tǒng)集成項(xiàng)目管理工程師教程完整版
- GB/T 45091-2024塑料再生塑料限用物質(zhì)限量要求
- 人教版八年級(jí)上冊(cè)地理 2024-2025學(xué)年八年級(jí)上冊(cè)地理期中測(cè)試卷(二)(含答案)
- 危險(xiǎn)性較大的分部分項(xiàng)工程清單和安全管理措施范文
- 2024-2025年江蘇專轉(zhuǎn)本英語歷年真題(含答案)
- 投標(biāo)廢標(biāo)培訓(xùn)
- 腦卒中課件完整版本
- 藥房保潔流程規(guī)范
- 裝修合同違約解除通知書
- (新版)六西格瑪綠帶認(rèn)證考試復(fù)習(xí)題庫(含答案)
評(píng)論
0/150
提交評(píng)論