《軟件工程》課件第11章 軟件重用技術(shù)_第1頁
《軟件工程》課件第11章 軟件重用技術(shù)_第2頁
《軟件工程》課件第11章 軟件重用技術(shù)_第3頁
《軟件工程》課件第11章 軟件重用技術(shù)_第4頁
《軟件工程》課件第11章 軟件重用技術(shù)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。重用也叫再用或復(fù)用,是指同一事物不作修改或稍加改動就多次重復(fù)使用。。本章主要講述可重用的軟件成分、開發(fā)可重用的構(gòu)件、分類和檢索構(gòu)件和面向?qū)ο蟮目芍赜眉夹g(shù)等內(nèi)容?!颈菊乱浴俊颈菊轮攸c(diǎn)】面向?qū)ο蠹夹g(shù)中代碼重用、軟件重用;構(gòu)件可重用軟件;可重用軟件構(gòu)件的開發(fā)和組織;面向?qū)ο蟮能浖赜眉夹g(shù);可重用軟件構(gòu)件的分類和檢索;11.1.1軟件重用定義11.1.2軟件重用形式11.1.3軟件重用分類11.1.4軟件復(fù)用的現(xiàn)狀和流行的軟件重用技術(shù)11.2.1可重用軟件構(gòu)件的開發(fā)11.2.2可重用軟件構(gòu)件的組織11.2.3可重用軟件構(gòu)件的分類和檢索【教學(xué)內(nèi)容】軟件重用的觀念起源于制造業(yè)和土木工程領(lǐng)域,通過配件組裝汽車、磚瓦搭建房屋就是很好的例子,基于配件的產(chǎn)品在市場上已取得了很大的成功。11.1軟件重用技術(shù)概述11.1.1軟件重用定義軟件重用是利用事先建立好的軟部品創(chuàng)建新軟件系統(tǒng)的過程。這個定義蘊(yùn)含著軟件重用所必須包含的兩個方面:

1.系統(tǒng)地開發(fā)可重用的軟部品。這些軟部品可以是代碼,但不應(yīng)該僅僅局限在代碼。我們必須從更廣泛和更高層次來理解,這樣才會帶來更大的重用收益。比如軟部品還可以是:分析,設(shè)計,測試數(shù)據(jù),原型,計劃,文檔,模板,框架等等。

2.系統(tǒng)地使用這些軟部品作為構(gòu)筑模塊,來建立新的系統(tǒng)。11.1.2軟件重用形式源代碼模塊或者類一級的重用。二進(jìn)制形式的重用。如組件重用。組裝式重用。例如,要建立一個門戶站點(diǎn)應(yīng)用,登陸用戶既可以查詢天氣情況,又可以查看股市行情,還可以在線購物。分析級別重用。設(shè)計級別重用。軟件文檔重用。。

11.1.2軟件重用分類1.代碼的復(fù)用包括目標(biāo)代碼和源代碼的復(fù)用。其中目標(biāo)代碼的復(fù)用級別最低,歷史也最久,當(dāng)前大部分編程語言的運(yùn)行支持系統(tǒng)都提供了連接(Link)、綁定(Binding)等功能來支持這種復(fù)用。2.設(shè)計的復(fù)用

設(shè)計結(jié)果比源程序的抽象級別更高,因此它的復(fù)用受實現(xiàn)環(huán)境的影響較少,從而使可復(fù)用構(gòu)件被復(fù)用的機(jī)會更多,并且所需的修改更少。

3.分析的復(fù)用這是比設(shè)計結(jié)果更高級別的復(fù)用,可復(fù)用的分析構(gòu)件是針對問題域的某些事物或某些問題的抽象程度更高的解法,受設(shè)計技術(shù)及實現(xiàn)條件的影響很少。

4.測試信息的復(fù)用主要包括測試用例的復(fù)用和測試過程信息的復(fù)用。前者是把一個軟件的測試用例在新的軟件測試中使用,或者在軟件作出修改時在新的一輪測試中使用。11.2基于構(gòu)件的軟件開發(fā)構(gòu)件復(fù)用作為一種現(xiàn)實有效的軟件開發(fā)方法正受到越來越多的重視和研究?;跇?gòu)件的軟件開發(fā)(Component-BasedSoftwareDevelopment,CBSD,有時也稱為基于構(gòu)件的軟件工程CBSE)是一種基于分布對象技術(shù)、強(qiáng)調(diào)通過可復(fù)用構(gòu)件設(shè)計與構(gòu)造軟件系統(tǒng)的軟件復(fù)用途徑。11.2.1可重用軟件構(gòu)件的開發(fā)可復(fù)用軟件(構(gòu)件)的開發(fā)是實現(xiàn)軟件復(fù)用的基本條件,對象技術(shù)的廣泛使用,提供了建造和使用構(gòu)件的概念基礎(chǔ)和實用工具,有了可復(fù)用軟件,基于可復(fù)用軟件(構(gòu)件)的應(yīng)用系統(tǒng)構(gòu)造(集成和組裝)才能得以實現(xiàn)。11.2.2可重用軟件構(gòu)件的組織11.2.3可重用軟件構(gòu)件的分類和檢索構(gòu)件檢索構(gòu)件的分類表示與檢索技術(shù)是可復(fù)用軟件構(gòu)件庫的兩個主要的核心技術(shù)。由于構(gòu)件本身所具有的復(fù)雜性以及確定分類結(jié)構(gòu)的困難,許多研究更多地傾向于對構(gòu)件的描述,即從若干個方面刻畫一個構(gòu)件的特征。一些比較直觀的構(gòu)件描述方法包括:枚舉分類、正文檢索、關(guān)鍵詞描述、屬性一值描述、刻面描述。軟部件庫組織與檢索的關(guān)鍵子任務(wù)及其支持工具關(guān)鍵子任務(wù)支持工具軟部件庫的組織與存儲關(guān)系數(shù)據(jù)庫或面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng),類庫瀏覽超文本瀏覽工具檢索自然語言的語法分析與語義理解工具結(jié)構(gòu)化查詢關(guān)系數(shù)據(jù)庫系統(tǒng)基于語義的檢索定理證明工具(用于語義匹配)11.3面向?qū)ο蟮能浖赜眉夹g(shù)從抽象程度來看,面向?qū)ο蠹夹g(shù)已達(dá)到了類級重用(代碼重用),它以類為封裝的單位。這樣的重用粒度還太小,不足以解決異構(gòu)互操作和效率更高的重用。近幾年來,構(gòu)件技術(shù)的發(fā)展,構(gòu)件技術(shù)已形成三個流派:Sun的Java平臺、Microsoft的COM+、IBM的CORBA。11.4小結(jié)軟件重用(SoftwareReuse,又稱軟件復(fù)用或軟件再用)就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng)??梢员粡?fù)用的軟件成分一般稱作可復(fù)用構(gòu)件,無論對可復(fù)用構(gòu)件原封不動地使用還是作適當(dāng)?shù)男薷暮笤偈褂?,只要是用來?gòu)造新軟件,則都可稱作復(fù)用。軟件復(fù)用不僅僅是對程序的復(fù)用,它還包括對軟件生產(chǎn)過程中任何活動所產(chǎn)生的制成品的復(fù)用,如項目計劃、可行性報告、需求定義、分析模型、設(shè)計模型、詳細(xì)說明、源程序、測試用例等等。目前及近期的未來最有可能產(chǎn)生顯著效益的復(fù)用是對軟件生命周期中一些主要開發(fā)階段的軟件制品的復(fù)用,按抽象程度的高低,可以劃分為如下的復(fù)用級別:代碼的復(fù)用。包括目標(biāo)代碼和源代碼的復(fù)用。設(shè)計的復(fù)用。設(shè)計結(jié)果比源程序的抽象級別更高,因此它的復(fù)用受實現(xiàn)環(huán)境的影響較少,從而使可復(fù)用構(gòu)件被復(fù)用的機(jī)會更多,并且所需的修改更少。分析的復(fù)用。這是比設(shè)計結(jié)果更高級別的復(fù)用,可復(fù)用的分析構(gòu)件是針對問題域的某些事物或某些問題的抽象程度更高的解法。測試信息的復(fù)用。主要包括測試用例的復(fù)用和測試過程信息的復(fù)用。前者是把一個軟件的測試用例在新的軟件測試中使用,或者在軟件作出修改時在新的一輪測試中使用。基于構(gòu)件的軟件開發(fā)(Component-BasedSoftwareDevelopment,CBSD,有時也稱為基于構(gòu)件的軟件工程CBSE)是一種基于分布對象技術(shù)、強(qiáng)調(diào)通過可復(fù)用構(gòu)件設(shè)計與構(gòu)造軟件系統(tǒng)的軟件復(fù)用途徑。基于構(gòu)件的軟件系統(tǒng)中的構(gòu)件可以是COTS(Commercial-Off-the-Shelf)構(gòu)件,也可以是通過其它途徑獲得的構(gòu)件(如自行開發(fā))。CBSD體現(xiàn)了“購買而不是重新構(gòu)造”的哲學(xué),將軟件開發(fā)的重點(diǎn)從程序編寫轉(zhuǎn)移到了基于已有構(gòu)件的組裝,以更快地構(gòu)造系統(tǒng),減輕用來支持和升級大型系統(tǒng)所需要的維護(hù)負(fù)擔(dān),從而降低軟件開發(fā)的費(fèi)用。由于軟件重用項目必須對一系列重用活動和可重用資源進(jìn)行支持、控制和管理,必須對傳統(tǒng)的項目組織形式加以改進(jìn)。典型的重用組織機(jī)構(gòu)應(yīng)由重用管理組、重用支持組、系統(tǒng)開發(fā)組和軟部件開發(fā)組構(gòu)成。構(gòu)件檢索構(gòu)件的分類表示與檢索技術(shù)是可復(fù)用軟件構(gòu)件庫的兩個主要的核心技術(shù)。由于構(gòu)件本身所具有的復(fù)雜性以及確定分類結(jié)構(gòu)的困難,許多研究更多地傾向于對構(gòu)件的描述,即從若干個方面刻畫一個構(gòu)件的特征。一些比較直觀的構(gòu)件描述方法包括:枚舉分類、正文檢索、關(guān)鍵詞描述、屬性一值描述、刻面描述。從抽象程度來看,面向?qū)ο蠹夹g(shù)已達(dá)到了類級重用(代碼重用),它以類為封裝的單位。這樣的重用粒度還太小,不足以解決異構(gòu)互操作和效率更高的重用。基于經(jīng)典面向?qū)ο蠹夹g(shù)的組件模型為軟件體系結(jié)構(gòu)設(shè)計和大型應(yīng)用軟件開發(fā)給予了強(qiáng)有力

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論