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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

內容軟件復用與軟構件的基本思想基于構件的軟件開發(fā)技術軟構件技術的發(fā)浮現狀

4.1軟件復用與軟構件的基本思想軟件復用的定義軟構件的概念軟件復用的意義

1軟件復用的定義正式提出:1968年,D.Mcllroy在國際上首次探討軟件工程的國際會議上建議建立生產軟組件的工廠,用產品目錄上的軟組件構成繁雜系統(tǒng),以作為解決軟件危機的一種的一種可能技術途徑。軟件復用是指在兩次或屢屢不同的軟件開發(fā)過程中重復使用一致或相像軟件元素(尋常稱為可復用構件、組件或軟部件)的過程。軟件復用尋常指復用“為了復用目的而設計的軟件〞的過程。

2軟構件的基本概念軟構件的類比軟件IC!?

軟件標準零部件!?

2軟構件的基本概念構件是為組裝服務的!軟件構件是指可以獨立生產、獲取和部署的、可以被組裝到一個功能性系統(tǒng)中去的可執(zhí)行單元。軟構件是標準的標準的、可以互換的互換的、經過裝配裝配可隨標準的互換的裝配時使用的軟件模塊。

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

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

90年代:系統(tǒng)化復用:對軟件體系結構的認識對過程的改進復用業(yè)務組織

5軟件復用與過程改進CMM模型與軟件復用思想不謀而和,IvarJacboson將軟件復用能力與CMM的級別對應起來:復用能力沒有可復用的構件非標準的代碼和模塊復用標準化的模塊復用體系結構及子系統(tǒng)的復用復用時避免缺陷的復用CMM級別CMM

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

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

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

5軟件復用與過程改進CMM每上升一級都是軟件復用能力的一大步提升CMM強調的是可重復性可重復性,不止是軟件的重用。可重復性希望做到:源程序重用模塊重用體系結構重用專家思想重用

4.2基于構件的軟件開發(fā)技術1軟構件技術的產生90年代,基于構件的軟件開發(fā)方法的研究和應用開始興起。“構件化開發(fā)方法的興起是源于面向對象開發(fā)方法在軟件復用方面的受到的挫折。〞IanSommerville

2軟構件的基本形式

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

被封裝的對象類類樹功能模塊軟件框架(framwork)軟件架構(或體系結構Architecture)文檔分析件設計模式等

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

制造軟件構件的技術(屬于領域工程)。使用軟件構件的技術,也稱“基于構件的軟件開發(fā)〞。(ComponentBasedSoftwareDevelopment,CBSD)

CBSE過程模型過程模型領域知識領域專家經驗現有系統(tǒng)資料領域構架領域分析領域構件需求

構件生產線構分析

件設計

開編程

發(fā)測試

構架細化構件/構件/構架庫領域構架問題域用戶需求系統(tǒng)開發(fā)

構件提交

領域構件

領域構件

系分析

統(tǒng)設計

裝編程

系統(tǒng)測試

專用

構件開發(fā)分析設計編程測試

系統(tǒng)專用構件

應用系統(tǒng)

系統(tǒng)生產線

CBSE關鍵技術構件模型;構件描述語言;構件分類與檢索;構件復合組裝;標準化;軟件構架。

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

軟件構架與框架軟件框架(SoftwareFramework)是指面向某領域(包括業(yè)務領域,如ERP,和計算領域,如GUI)的、可復用的“半成品〞軟件,它實現了該領域的共性部分,并提供一系列定義良好的可變點以保證靈活性和可擴展性??梢哉f,軟件框架是領域分析結果的軟件化,是領域內最終應用系統(tǒng)的模板。

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

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

溫馨提示

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

評論

0/150

提交評論