第九講 軟件復(fù)用與構(gòu)件化軟件開發(fā)Software Reuse and Software_第1頁
第九講 軟件復(fù)用與構(gòu)件化軟件開發(fā)Software Reuse and Software_第2頁
第九講 軟件復(fù)用與構(gòu)件化軟件開發(fā)Software Reuse and Software_第3頁
第九講 軟件復(fù)用與構(gòu)件化軟件開發(fā)Software Reuse and Software_第4頁
第九講 軟件復(fù)用與構(gòu)件化軟件開發(fā)Software Reuse and Software_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——第九講軟件復(fù)用與構(gòu)件化軟件開發(fā)(SoftwareReuseandSoftware

第九講軟件復(fù)用與構(gòu)件化軟件開發(fā)(SoftwareReuseandSoftwareDesignbasedComponent)WelcometoSoftwareEngineeringLecture9ZhangJiannan,2023jiannanz@

內(nèi)容軟件復(fù)用與軟構(gòu)件的基本思想基于構(gòu)件的軟件開發(fā)技術(shù)軟構(gòu)件技術(shù)的發(fā)浮現(xiàn)狀

4.1軟件復(fù)用與軟構(gòu)件的基本思想軟件復(fù)用的定義軟構(gòu)件的概念軟件復(fù)用的意義

1軟件復(fù)用的定義正式提出:1968年,D.Mcllroy在國際上首次探討軟件工程的國際會議上建議建立生產(chǎn)軟組件的工廠,用產(chǎn)品目錄上的軟組件構(gòu)成繁雜系統(tǒng),以作為解決軟件危機(jī)的一種的一種可能技術(shù)途徑。軟件復(fù)用是指在兩次或?qū)覍也煌能浖_發(fā)過程中重復(fù)使用一致或相像軟件元素(尋常稱為可復(fù)用構(gòu)件、組件或軟部件)的過程。軟件復(fù)用尋常指復(fù)用“為了復(fù)用目的而設(shè)計(jì)的軟件〞的過程。

2軟構(gòu)件的基本概念軟構(gòu)件的類比軟件IC!?

軟件標(biāo)準(zhǔn)零部件!?

2軟構(gòu)件的基本概念構(gòu)件是為組裝服務(wù)的!軟件構(gòu)件是指可以獨(dú)立生產(chǎn)、獲取和部署的、可以被組裝到一個(gè)功能性系統(tǒng)中去的可執(zhí)行單元。軟構(gòu)件是標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的、可以互換的互換的、經(jīng)過裝配裝配可隨標(biāo)準(zhǔn)的互換的裝配時(shí)使用的軟件模塊。

3軟件復(fù)用的意義軟件復(fù)用的出發(fā)點(diǎn)是使軟件系統(tǒng)的開發(fā)不再“一切從零開始〞,能夠充分利用已有的知識和經(jīng)驗(yàn)充分利用已有的知識和經(jīng)驗(yàn)。充分利用已有的知識和經(jīng)驗(yàn)軟件復(fù)用是在軟件開發(fā)中避免重復(fù)勞動(dòng)避免重復(fù)勞動(dòng)的解決方案。避免重復(fù)勞動(dòng)通過軟件復(fù)用,能夠充分利用已有的開發(fā)成果,消除軟件開發(fā)個(gè)階段的重復(fù)勞動(dòng),可以提高開發(fā)效率,見地開發(fā)成本。軟件復(fù)用還可以避免全新開發(fā)可能引入的錯(cuò)誤避免全新開發(fā)可能引入的錯(cuò)誤,從而避免全新開發(fā)可能引入的錯(cuò)誤提高軟件的開發(fā)質(zhì)量。

4軟件復(fù)用技術(shù)的發(fā)展歷史1968年的NATO軟件工程會議上,Mcllroy在提交會議的論文《大量生產(chǎn)的軟件構(gòu)件》中,提出了“軟件組裝生產(chǎn)線〞的思想。70年代中:軟件工廠研究試驗(yàn)80年代后期:構(gòu)件庫系統(tǒng)與構(gòu)件分類技術(shù)的研究取得進(jìn)展的方面:可復(fù)用構(gòu)件的創(chuàng)立與分發(fā)、復(fù)用支持環(huán)境、公司級復(fù)用計(jì)劃。問題:復(fù)用范圍太狹窄,沒有達(dá)到預(yù)期的在軟件生產(chǎn)力和質(zhì)量上的重大提高。提出對軟件復(fù)用的廣義理解。

90年代:系統(tǒng)化復(fù)用:對軟件體系結(jié)構(gòu)的認(rèn)識對過程的改進(jìn)復(fù)用業(yè)務(wù)組織

5軟件復(fù)用與過程改進(jìn)CMM模型與軟件復(fù)用思想不謀而和,IvarJacboson將軟件復(fù)用能力與CMM的級別對應(yīng)起來:復(fù)用能力沒有可復(fù)用的構(gòu)件非標(biāo)準(zhǔn)的代碼和模塊復(fù)用標(biāo)準(zhǔn)化的模塊復(fù)用體系結(jié)構(gòu)及子系統(tǒng)的復(fù)用復(fù)用時(shí)避免缺陷的復(fù)用CMM級別CMM

級別1級2級3級4級5級

5軟件復(fù)用與過程改進(jìn)級別1初始級2重復(fù)級特點(diǎn)軟件開發(fā)過程是一個(gè)偶然的甚至無序的過程很少有明確的定義軟件開發(fā)過程是一個(gè)偶然的甚至無序的過程,很少有明確的定義成功偶然的甚至無序的過程很少有明確的定義,成功完全依靠于個(gè)體的能力.完全依靠于個(gè)體的能力實(shí)施基本的項(xiàng)目管理跟蹤軟件成本、進(jìn)度和功能。依照以往項(xiàng)目成實(shí)施基本的項(xiàng)目管理:跟蹤軟件成本進(jìn)度和功能。基本的項(xiàng)目管理跟蹤軟件成本、功的經(jīng)驗(yàn)來建立基本的過程規(guī)則,功的經(jīng)驗(yàn)來建立基本的過程規(guī)則,使得其他相像項(xiàng)目能重復(fù)以往的成功。成功。軟件過程的管理和實(shí)行方法都已文檔化、標(biāo)準(zhǔn)化,軟件過程的管理和實(shí)行方法都已文檔化、標(biāo)準(zhǔn)化,使開發(fā)商有一個(gè)文檔化開發(fā)過程的標(biāo)準(zhǔn)。即所有項(xiàng)目都可以依照標(biāo)準(zhǔn)來開發(fā)和維護(hù)軟件。開發(fā)過程的標(biāo)準(zhǔn)。即所有項(xiàng)目都可以依照標(biāo)準(zhǔn)來開發(fā)和維護(hù)軟件。定義了評估軟件過程和產(chǎn)品質(zhì)量的度量。定義了評估軟件過程和產(chǎn)品質(zhì)量的度量。利用此度量對軟件過程和度量產(chǎn)品做出推斷和控制。產(chǎn)品做出推斷和控制。系統(tǒng)地引導(dǎo)新理念及技術(shù)的反饋,從而不斷改進(jìn)軟件過程。系統(tǒng)地引導(dǎo)新理念及技術(shù)的反饋,從而不斷改進(jìn)軟件過程。

3定義級4管理級5優(yōu)化級

5軟件復(fù)用與過程改進(jìn)CMM每上升一級都是軟件復(fù)用能力的一大步提升CMM強(qiáng)調(diào)的是可重復(fù)性可重復(fù)性,不止是軟件的重用。可重復(fù)性希望做到:源程序重用模塊重用體系結(jié)構(gòu)重用專家思想重用

4.2基于構(gòu)件的軟件開發(fā)技術(shù)1軟構(gòu)件技術(shù)的產(chǎn)生90年代,基于構(gòu)件的軟件開發(fā)方法的研究和應(yīng)用開始興起。“構(gòu)件化開發(fā)方法的興起是源于面向?qū)ο箝_發(fā)方法在軟件復(fù)用方面的受到的挫折。〞IanSommerville

2軟構(gòu)件的基本形式

構(gòu)件是可被用來構(gòu)造其他軟件的軟件成分,基本形式可以是:

被封裝的對象類類樹功能模塊軟件框架(framwork)軟件架構(gòu)(或體系結(jié)構(gòu)Architecture)文檔分析件設(shè)計(jì)模式等

3基于構(gòu)件的軟件工程(CBSE)由兩部分組成:由兩部分組成:

制造軟件構(gòu)件的技術(shù)(屬于領(lǐng)域工程)。使用軟件構(gòu)件的技術(shù),也稱“基于構(gòu)件的軟件開發(fā)〞。(ComponentBasedSoftwareDevelopment,CBSD)

CBSE過程模型過程模型領(lǐng)域知識領(lǐng)域?qū)<医?jīng)驗(yàn)現(xiàn)有系統(tǒng)資料領(lǐng)域構(gòu)架領(lǐng)域分析領(lǐng)域構(gòu)件需求

構(gòu)件生產(chǎn)線構(gòu)分析

件設(shè)計(jì)

開編程

發(fā)測試

構(gòu)架細(xì)化構(gòu)件/構(gòu)件/構(gòu)架庫領(lǐng)域構(gòu)架問題域用戶需求系統(tǒng)開發(fā)

構(gòu)件提交

領(lǐng)域構(gòu)件

領(lǐng)域構(gòu)件

系分析

統(tǒng)設(shè)計(jì)

裝編程

系統(tǒng)測試

專用

構(gòu)件開發(fā)分析設(shè)計(jì)編程測試

系統(tǒng)專用構(gòu)件

應(yīng)用系統(tǒng)

系統(tǒng)生產(chǎn)線

CBSE關(guān)鍵技術(shù)構(gòu)件模型;構(gòu)件描述語言;構(gòu)件分類與檢索;構(gòu)件復(fù)合組裝;標(biāo)準(zhǔn)化;軟件構(gòu)架。

4軟件構(gòu)架與框架軟件構(gòu)架或架構(gòu)都是指軟件體系結(jié)構(gòu)(softwareArchitecture)。體系結(jié)構(gòu)是一個(gè)軟件系統(tǒng)從整體到部分的最高層次的劃分。一般包括三個(gè)部分:構(gòu)件,用于描述計(jì)算;連接器,用于描述構(gòu)件的連接部分;部署,將構(gòu)件和連接器組成一個(gè)有機(jī)整體。

軟件構(gòu)架與框架軟件框架(SoftwareFramework)是指面向某領(lǐng)域(包括業(yè)務(wù)領(lǐng)域,如ERP,和計(jì)算領(lǐng)域,如GUI)的、可復(fù)用的“半成品〞軟件,它實(shí)現(xiàn)了該領(lǐng)域的共性部分,并提供一系列定義良好的可變點(diǎn)以保證靈活性和可擴(kuò)展性。可以說,軟件框架是領(lǐng)域分析結(jié)果的軟件化,是領(lǐng)域內(nèi)最終應(yīng)用系統(tǒng)的模板。

軟件構(gòu)架與框架的區(qū)別浮現(xiàn)形式不同。體系結(jié)構(gòu)的浮現(xiàn)形式是一個(gè)設(shè)計(jì)規(guī)約,而框架則是物理實(shí)現(xiàn)。目的不同。體系結(jié)構(gòu)的首要目的大多是指導(dǎo)一個(gè)軟件系統(tǒng)的實(shí)施與開發(fā);而框架的首要目的是為復(fù)用.因此,一個(gè)框架可有其體系結(jié)構(gòu),用于指導(dǎo)該框架的開發(fā),反之不然。

5構(gòu)件化軟件開發(fā)的作

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論