軟件工程第十章_第1頁
軟件工程第十章_第2頁
軟件工程第十章_第3頁
軟件工程第十章_第4頁
軟件工程第十章_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件工程第十章第一頁,共三十四頁,2022年,8月28日軟件復用的基本概念引言:做事習慣性地沿用已有的經(jīng)驗和方法….簡單的說,軟件復用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng)軟件共享:在一個系統(tǒng)中多次使用一個相同的軟件成分軟件移植:對一個軟件進行修改,使它能運行于新的軟、硬件平臺第二頁,共三十四頁,2022年,8月28日軟件復用的定義在構(gòu)造新的軟件系統(tǒng)的過程中,對已存在的軟件人工制品的使用技術(shù)。制造軟件構(gòu)件的技術(shù):獨立于單個軟件系統(tǒng)開發(fā)的,可服務于整個應用領(lǐng)域的構(gòu)件生產(chǎn)技術(shù)使用軟件構(gòu)件的技術(shù):在軟件系統(tǒng)開發(fā)中使用已有軟件構(gòu)件的技術(shù),也稱為“基于構(gòu)件的軟件開發(fā)”第三頁,共三十四頁,2022年,8月28日軟件復用和軟件開發(fā)的關(guān)系: 開發(fā)伴隨著復用,開發(fā)為了復用。CBSE的一種過程模型制造軟件構(gòu)件的技術(shù)——領(lǐng)域工程基于構(gòu)件的軟件工程CBSE使用軟件構(gòu)件的技術(shù)——基于構(gòu)件的開發(fā)第四頁,共三十四頁,2022年,8月28日CBSE的一種過程模型第五頁,共三十四頁,2022年,8月28日軟件復用的重要性軟件復用的目的是能更快、更好、成本更低地生產(chǎn)軟件制品。一般地說,在軟件開發(fā)中采用復用構(gòu)件可以比從頭開發(fā)這個軟件更加容易。第六頁,共三十四頁,2022年,8月28日企業(yè)需要解決的問題充分認識軟件復用的重要性,盡快建立支持軟件復用的基礎(chǔ)設施(例如構(gòu)件庫、制造可復用構(gòu)件的輔助開發(fā)工具)建立相應的培訓計劃,在企業(yè)內(nèi)部形成一個使用復用技術(shù)的環(huán)境采用更先進的,可以促進軟件復用的軟件開發(fā)方法。如面向?qū)ο蟮拈_發(fā)方法采用相應的激勵措施。例如改變傳統(tǒng)的工作量計算方法——代碼行第七頁,共三十四頁,2022年,8月28日軟件復用的粒度

——四類源代碼復用:對構(gòu)件庫中用高級語言編寫的源代碼構(gòu)件的復用。優(yōu)點:構(gòu)件具有較高的可靠性,使用者只需設置參數(shù)而無需介入構(gòu)件內(nèi)部,降低復用的難度缺點:構(gòu)件的通用性、抽象性成為在具體使用時必須面對的問題軟件體系結(jié)構(gòu)復用:對已有的軟件體系結(jié)構(gòu)的復用。優(yōu)點:可復用較大粒度的軟件制品,其修改具有局部性缺點:難以抽象出簡明的描述,存放體系結(jié)構(gòu)的庫往往不易管理第八頁,共三十四頁,2022年,8月28日軟件復用的粒度應用程序生成器:對整個軟件系統(tǒng)的設計的復用,包括整個軟件體系結(jié)構(gòu)、相應的子系統(tǒng)和特定的數(shù)據(jù)結(jié)構(gòu)及算法。優(yōu)點:自動化程度高,能獲取某個特定領(lǐng)域的標準和以黑盒形式輸出結(jié)果(應用程序)。缺點:特定的應用程序生成器不易構(gòu)造領(lǐng)域特定的軟件體系結(jié)構(gòu)的復用:對特定領(lǐng)域中存在的一個公共體系結(jié)構(gòu)及其構(gòu)件的復用。優(yōu)點:復用的程度高,對可復用構(gòu)件的組合提供了一個通用框架缺點:前期投資很大第九頁,共三十四頁,2022年,8月28日軟件復用的形式

橫向復用:也稱為水平復用,是指復用活動的范圍跨越了幾個不同的應用領(lǐng)域,復用的軟件產(chǎn)品主要包括數(shù)據(jù)結(jié)構(gòu)、通用算法、人機界面等軟件元素。縱向復用也稱為垂直復用,是指復用活動的范圍限制在同一個應用領(lǐng)域或者是一類具有較多共性的應用領(lǐng)域內(nèi)。生產(chǎn)者復用:指建立、獲取或者重新設計可復用構(gòu)件的活動。涉及到的活動包括復用的規(guī)劃、領(lǐng)域分析、構(gòu)件的開發(fā)、構(gòu)件庫的組織和管理。消費者復用:指使用可復用的構(gòu)件建立新的系統(tǒng)的活動。涉及到的活動包括應用系統(tǒng)的規(guī)劃、構(gòu)件的檢索和選擇、應用系統(tǒng)中非復用部分的開發(fā)、應用系統(tǒng)的組裝。第十頁,共三十四頁,2022年,8月28日軟件復用的困難復用具有許多明顯的優(yōu)點,但目前應用不廣泛的主要原因是:(1)技術(shù)因素構(gòu)件與應用系統(tǒng)之間的差異;構(gòu)件要達到一定的規(guī)模,才能支持有效的復用;發(fā)現(xiàn)合用構(gòu)件的困難;基于復用的軟件開發(fā)方法和軟件過程需要一些新的理論、技術(shù)及支持環(huán)境。(2)人的因素

喜歡自己創(chuàng)造而不喜歡使用別人的東西。(3)管理因素

把復用構(gòu)件和一般軟件構(gòu)件同等看待,把復用看作可有可無的事。(4)教育因素

軟件科學技術(shù)的教育與培訓中,缺乏關(guān)于軟件復用的內(nèi)容,缺少專門教材和課程。第十一頁,共三十四頁,2022年,8月28日領(lǐng)域工程所謂的“領(lǐng)域”,指的是一組具有相似或相近軟件需求的應用系統(tǒng)所覆蓋的功能區(qū)域。最優(yōu)復用——應用系統(tǒng)形成的功能最大交集通過領(lǐng)域分析(domainanalysis)找出最優(yōu)復用,對它們進行設計和構(gòu)造,形成為可復用構(gòu)件,進而建立大規(guī)模的軟件構(gòu)件倉庫的過程,就是領(lǐng)域工程。第十二頁,共三十四頁,2022年,8月28日領(lǐng)域分析

定義領(lǐng)域分析是在特定應用領(lǐng)域?qū)ふ易顑?yōu)復用,以公共對象、類、子集合和框架等形式進行標識,然后對它們進行分析和規(guī)約。目標是獲得“領(lǐng)域需求”及“領(lǐng)域模型”作用根據(jù)領(lǐng)域需求,領(lǐng)域工程師尋找領(lǐng)域的共性,進而確定軟件的可復用構(gòu)件

第十三頁,共三十四頁,2022年,8月28日領(lǐng)域分析的輸入和輸出

第十四頁,共三十四頁,2022年,8月28日領(lǐng)域分析的步驟選擇特定的領(lǐng)域抽取具有最優(yōu)復用的功能標識該功能建立領(lǐng)域分析模型定義需求規(guī)約,得出需求規(guī)約構(gòu)件和若干個連接子配置構(gòu)成的領(lǐng)域模型第十五頁,共三十四頁,2022年,8月28日建造可復用構(gòu)件

構(gòu)件應具有的特性通用性可變性易組裝性創(chuàng)建領(lǐng)域構(gòu)件的設計框架

標準數(shù)據(jù)

標準接口協(xié)議程序模板第十六頁,共三十四頁,2022年,8月28日構(gòu)件模型

基于面向?qū)ο蠹夹g(shù)的復用構(gòu)件模型第十七頁,共三十四頁,2022年,8月28日幾種流行的構(gòu)件技術(shù)COM(組件對象模型)技術(shù)CORBA(公共對象請求代理體系結(jié)構(gòu))OpenDoc開放式文檔接口第十八頁,共三十四頁,2022年,8月28日可復用構(gòu)件

一個軟件只有在多個系統(tǒng)中被使用才可稱為“可復用構(gòu)件”,必須具備的條件:

(1)獨立性

解決一個相對獨立的問題,或大問題中某個相對獨立的部分;

(2)完整性

提供較完整的解決,不要遺留很多缺口,讓復用者做大量補充;

(3)可標識性

構(gòu)件所解決的問題應該是可標識的,可命名,有簡要介紹,便于理解和使用。(4)通用性

構(gòu)件解決的問題,應在同類應用中具有一般性;

(5)適應性應用場合有某些變化時,構(gòu)件仍是可用的,使構(gòu)件的某些數(shù)據(jù)參數(shù)化和數(shù)據(jù)類型參數(shù)化;

(6)可靠性

要求構(gòu)件對預計將要使用它的系統(tǒng)時可靠的;

(7)標準化

可復用構(gòu)件的標準化對于軟件復用是至關(guān)重要的。第十九頁,共三十四頁,2022年,8月28日建立可復用構(gòu)件庫

三種分類模式

枚舉分類:定義一個層次結(jié)構(gòu)來描述構(gòu)件,構(gòu)件庫中的構(gòu)件在該層次中定義軟件構(gòu)件的類以及不同層次的子類。圖形用戶界面類窗口類菜單類圖形窗口構(gòu)件文字窗口構(gòu)件系統(tǒng)菜單構(gòu)件彈出式菜單構(gòu)件普通菜單構(gòu)件枚舉分類的層次結(jié)構(gòu)第二十頁,共三十四頁,2022年,8月28日建立可復用構(gòu)件庫

②呈面分類:對領(lǐng)域進行分析后,對構(gòu)件可標識出一組呈面,呈面可以描述構(gòu)件的基本特征,并根據(jù)特征重要性區(qū)分優(yōu)先次序。呈面應用領(lǐng)域?qū)ο蠊δ芫幊陶Z言呈面值圖形用戶界面編程菜單動態(tài)修改菜單項JAVA第二十一頁,共三十四頁,2022年,8月28日建立可復用構(gòu)件庫

③屬性-值分類:為領(lǐng)域中的所有構(gòu)件定義一組屬性,然后賦給這組屬性一組值。該方法首先是為構(gòu)件庫中的所有構(gòu)件定義一組屬性,并賦予相應的屬性值。開發(fā)人員通過指定一組屬性值在構(gòu)件庫中對構(gòu)件進行檢索。該分類方法與呈面分類方法有幾點不同之處:屬性的數(shù)量沒有限制,而刻面描述一般限制在7或8個呈面;屬性沒有優(yōu)先級,而呈面根據(jù)其重要程度,有相應的優(yōu)先級;第二十二頁,共三十四頁,2022年,8月28日建立可復用構(gòu)件庫構(gòu)件庫必須的環(huán)境支持存放描述構(gòu)件的分類信息的數(shù)據(jù)庫;該數(shù)據(jù)庫的管理系統(tǒng);允許用戶查找構(gòu)件的檢索系統(tǒng);可以自動將構(gòu)件加入新系統(tǒng)中的CASE工具。第二十三頁,共三十四頁,2022年,8月28日領(lǐng)域工程活動內(nèi)容圖示

領(lǐng)域分析用戶需求軟件開發(fā)與構(gòu)件開發(fā)目標軟件確認可復用構(gòu)件庫檢索理解第二十四頁,共三十四頁,2022年,8月28日基于構(gòu)件的軟件開發(fā)

基于構(gòu)件的軟件工程與傳統(tǒng)的或面向?qū)ο蟮能浖こ滔啾?,有顯著的差異。

它不是針對某個特定的軟件系統(tǒng),而是針對一類軟件系統(tǒng)的共同的特征、知識和需求。

基于構(gòu)件的軟件的開發(fā)過程包括兩個并發(fā)的子過程,一個是領(lǐng)域工程,另一個是基于構(gòu)件的開發(fā)。領(lǐng)域工程完成一組可復用構(gòu)件的標示、構(gòu)造、分類和傳播;基于構(gòu)件的開發(fā)完成使用可復用構(gòu)件構(gòu)造新的軟件系統(tǒng)。第二十五頁,共三十四頁,2022年,8月28日基于構(gòu)件的軟件開發(fā)構(gòu)件集成的過程第二十六頁,共三十四頁,2022年,8月28日基于構(gòu)件的軟件開發(fā)過程1、構(gòu)件的鑒定

構(gòu)件的鑒定是對打算用于軟件開發(fā)的構(gòu)件能否滿足應用的需要,達到應用所需要的性能、可靠性、質(zhì)量的保證進行相應的考察。2、構(gòu)件的調(diào)整

通常在將構(gòu)件復用到應用中時,構(gòu)件需要進行必要的調(diào)整和修改才能適應應用的需要。3、

構(gòu)件的組裝

構(gòu)件的組裝是將經(jīng)過鑒定和調(diào)整以后的構(gòu)件組裝到應用系統(tǒng)中。通常為了達到此目的,還必須建一個基礎(chǔ)設施提供構(gòu)件協(xié)同的模型和使構(gòu)件能夠交互并完成共同任務的的特定服務。第二十七頁,共三十四頁,2022年,8月28日基于構(gòu)件的軟件開發(fā)特點基于構(gòu)件的軟件開發(fā)的一個明顯的優(yōu)點就是提高了軟件的質(zhì)量??蓮陀玫臉?gòu)件在開發(fā)過程中,都經(jīng)過嚴格的測試。第二十八頁,共三十四頁,2022年,8月28日基于構(gòu)件的開發(fā)

應用系統(tǒng)工程(ASE)實質(zhì):從一個或多個構(gòu)件系統(tǒng)中選擇構(gòu)件進行特化,最后把構(gòu)件裝配成應用系統(tǒng)ASE過程的基本步驟獲取需求分析設計應用系統(tǒng)實現(xiàn)應用系統(tǒng)測試應用系統(tǒng)應用系統(tǒng)打包第二十九頁,共三十四頁,2022年,8月28日面向?qū)ο笈c軟件復用

相輔相成OO方法的基本概念、原則與技術(shù)提供了軟件復用的有利條件軟件復用技術(shù)對面向?qū)ο蟮能浖_發(fā)提供了有利的支持OO方法對軟件復用的支持復用技術(shù)對OO方法的支持第三十頁,共三十四頁,2022年,8月28日OO方法對軟件復用的支持OOA模型OOA與OOD的分工對象的表示一般-特殊結(jié)構(gòu)整體-部分結(jié)構(gòu)實例連接類描述模板用例第三十一頁,共三十四頁,2022年,8月28日復用技術(shù)對OO方法的支持類庫構(gòu)件庫構(gòu)架庫工具OOA工具第三十二頁,共三十四頁,2022年,

溫馨提示

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

評論

0/150

提交評論