




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程第十章第一頁,共三十四頁,2022年,8月28日軟件復(fù)用的基本概念引言:做事習(xí)慣性地沿用已有的經(jīng)驗(yàn)和方法….簡單的說,軟件復(fù)用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng)軟件共享:在一個系統(tǒng)中多次使用一個相同的軟件成分軟件移植:對一個軟件進(jìn)行修改,使它能運(yùn)行于新的軟、硬件平臺第二頁,共三十四頁,2022年,8月28日軟件復(fù)用的定義在構(gòu)造新的軟件系統(tǒng)的過程中,對已存在的軟件人工制品的使用技術(shù)。制造軟件構(gòu)件的技術(shù):獨(dú)立于單個軟件系統(tǒng)開發(fā)的,可服務(wù)于整個應(yīng)用領(lǐng)域的構(gòu)件生產(chǎn)技術(shù)使用軟件構(gòu)件的技術(shù):在軟件系統(tǒng)開發(fā)中使用已有軟件構(gòu)件的技術(shù),也稱為“基于構(gòu)件的軟件開發(fā)”第三頁,共三十四頁,2022年,8月28日軟件復(fù)用和軟件開發(fā)的關(guān)系: 開發(fā)伴隨著復(fù)用,開發(fā)為了復(fù)用。CBSE的一種過程模型制造軟件構(gòu)件的技術(shù)——領(lǐng)域工程基于構(gòu)件的軟件工程CBSE使用軟件構(gòu)件的技術(shù)——基于構(gòu)件的開發(fā)第四頁,共三十四頁,2022年,8月28日CBSE的一種過程模型第五頁,共三十四頁,2022年,8月28日軟件復(fù)用的重要性軟件復(fù)用的目的是能更快、更好、成本更低地生產(chǎn)軟件制品。一般地說,在軟件開發(fā)中采用復(fù)用構(gòu)件可以比從頭開發(fā)這個軟件更加容易。第六頁,共三十四頁,2022年,8月28日企業(yè)需要解決的問題充分認(rèn)識軟件復(fù)用的重要性,盡快建立支持軟件復(fù)用的基礎(chǔ)設(shè)施(例如構(gòu)件庫、制造可復(fù)用構(gòu)件的輔助開發(fā)工具)建立相應(yīng)的培訓(xùn)計(jì)劃,在企業(yè)內(nèi)部形成一個使用復(fù)用技術(shù)的環(huán)境采用更先進(jìn)的,可以促進(jìn)軟件復(fù)用的軟件開發(fā)方法。如面向?qū)ο蟮拈_發(fā)方法采用相應(yīng)的激勵措施。例如改變傳統(tǒng)的工作量計(jì)算方法——代碼行第七頁,共三十四頁,2022年,8月28日軟件復(fù)用的粒度
——四類源代碼復(fù)用:對構(gòu)件庫中用高級語言編寫的源代碼構(gòu)件的復(fù)用。優(yōu)點(diǎn):構(gòu)件具有較高的可靠性,使用者只需設(shè)置參數(shù)而無需介入構(gòu)件內(nèi)部,降低復(fù)用的難度缺點(diǎn):構(gòu)件的通用性、抽象性成為在具體使用時必須面對的問題軟件體系結(jié)構(gòu)復(fù)用:對已有的軟件體系結(jié)構(gòu)的復(fù)用。優(yōu)點(diǎn):可復(fù)用較大粒度的軟件制品,其修改具有局部性缺點(diǎn):難以抽象出簡明的描述,存放體系結(jié)構(gòu)的庫往往不易管理第八頁,共三十四頁,2022年,8月28日軟件復(fù)用的粒度應(yīng)用程序生成器:對整個軟件系統(tǒng)的設(shè)計(jì)的復(fù)用,包括整個軟件體系結(jié)構(gòu)、相應(yīng)的子系統(tǒng)和特定的數(shù)據(jù)結(jié)構(gòu)及算法。優(yōu)點(diǎn):自動化程度高,能獲取某個特定領(lǐng)域的標(biāo)準(zhǔn)和以黑盒形式輸出結(jié)果(應(yīng)用程序)。缺點(diǎn):特定的應(yīng)用程序生成器不易構(gòu)造領(lǐng)域特定的軟件體系結(jié)構(gòu)的復(fù)用:對特定領(lǐng)域中存在的一個公共體系結(jié)構(gòu)及其構(gòu)件的復(fù)用。優(yōu)點(diǎn):復(fù)用的程度高,對可復(fù)用構(gòu)件的組合提供了一個通用框架缺點(diǎn):前期投資很大第九頁,共三十四頁,2022年,8月28日軟件復(fù)用的形式
橫向復(fù)用:也稱為水平復(fù)用,是指復(fù)用活動的范圍跨越了幾個不同的應(yīng)用領(lǐng)域,復(fù)用的軟件產(chǎn)品主要包括數(shù)據(jù)結(jié)構(gòu)、通用算法、人機(jī)界面等軟件元素??v向復(fù)用也稱為垂直復(fù)用,是指復(fù)用活動的范圍限制在同一個應(yīng)用領(lǐng)域或者是一類具有較多共性的應(yīng)用領(lǐng)域內(nèi)。生產(chǎn)者復(fù)用:指建立、獲取或者重新設(shè)計(jì)可復(fù)用構(gòu)件的活動。涉及到的活動包括復(fù)用的規(guī)劃、領(lǐng)域分析、構(gòu)件的開發(fā)、構(gòu)件庫的組織和管理。消費(fèi)者復(fù)用:指使用可復(fù)用的構(gòu)件建立新的系統(tǒng)的活動。涉及到的活動包括應(yīng)用系統(tǒng)的規(guī)劃、構(gòu)件的檢索和選擇、應(yīng)用系統(tǒng)中非復(fù)用部分的開發(fā)、應(yīng)用系統(tǒng)的組裝。第十頁,共三十四頁,2022年,8月28日軟件復(fù)用的困難復(fù)用具有許多明顯的優(yōu)點(diǎn),但目前應(yīng)用不廣泛的主要原因是:(1)技術(shù)因素構(gòu)件與應(yīng)用系統(tǒng)之間的差異;構(gòu)件要達(dá)到一定的規(guī)模,才能支持有效的復(fù)用;發(fā)現(xiàn)合用構(gòu)件的困難;基于復(fù)用的軟件開發(fā)方法和軟件過程需要一些新的理論、技術(shù)及支持環(huán)境。(2)人的因素
喜歡自己創(chuàng)造而不喜歡使用別人的東西。(3)管理因素
把復(fù)用構(gòu)件和一般軟件構(gòu)件同等看待,把復(fù)用看作可有可無的事。(4)教育因素
軟件科學(xué)技術(shù)的教育與培訓(xùn)中,缺乏關(guān)于軟件復(fù)用的內(nèi)容,缺少專門教材和課程。第十一頁,共三十四頁,2022年,8月28日領(lǐng)域工程所謂的“領(lǐng)域”,指的是一組具有相似或相近軟件需求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域。最優(yōu)復(fù)用——應(yīng)用系統(tǒng)形成的功能最大交集通過領(lǐng)域分析(domainanalysis)找出最優(yōu)復(fù)用,對它們進(jìn)行設(shè)計(jì)和構(gòu)造,形成為可復(fù)用構(gòu)件,進(jìn)而建立大規(guī)模的軟件構(gòu)件倉庫的過程,就是領(lǐng)域工程。第十二頁,共三十四頁,2022年,8月28日領(lǐng)域分析
定義領(lǐng)域分析是在特定應(yīng)用領(lǐng)域?qū)ふ易顑?yōu)復(fù)用,以公共對象、類、子集合和框架等形式進(jìn)行標(biāo)識,然后對它們進(jìn)行分析和規(guī)約。目標(biāo)是獲得“領(lǐng)域需求”及“領(lǐng)域模型”作用根據(jù)領(lǐng)域需求,領(lǐng)域工程師尋找領(lǐng)域的共性,進(jìn)而確定軟件的可復(fù)用構(gòu)件
第十三頁,共三十四頁,2022年,8月28日領(lǐng)域分析的輸入和輸出
第十四頁,共三十四頁,2022年,8月28日領(lǐng)域分析的步驟選擇特定的領(lǐng)域抽取具有最優(yōu)復(fù)用的功能標(biāo)識該功能建立領(lǐng)域分析模型定義需求規(guī)約,得出需求規(guī)約構(gòu)件和若干個連接子配置構(gòu)成的領(lǐng)域模型第十五頁,共三十四頁,2022年,8月28日建造可復(fù)用構(gòu)件
構(gòu)件應(yīng)具有的特性通用性可變性易組裝性創(chuàng)建領(lǐng)域構(gòu)件的設(shè)計(jì)框架
標(biāo)準(zhǔn)數(shù)據(jù)
標(biāo)準(zhǔn)接口協(xié)議程序模板第十六頁,共三十四頁,2022年,8月28日構(gòu)件模型
基于面向?qū)ο蠹夹g(shù)的復(fù)用構(gòu)件模型第十七頁,共三十四頁,2022年,8月28日幾種流行的構(gòu)件技術(shù)COM(組件對象模型)技術(shù)CORBA(公共對象請求代理體系結(jié)構(gòu))OpenDoc開放式文檔接口第十八頁,共三十四頁,2022年,8月28日可復(fù)用構(gòu)件
一個軟件只有在多個系統(tǒng)中被使用才可稱為“可復(fù)用構(gòu)件”,必須具備的條件:
(1)獨(dú)立性
解決一個相對獨(dú)立的問題,或大問題中某個相對獨(dú)立的部分;
(2)完整性
提供較完整的解決,不要遺留很多缺口,讓復(fù)用者做大量補(bǔ)充;
(3)可標(biāo)識性
構(gòu)件所解決的問題應(yīng)該是可標(biāo)識的,可命名,有簡要介紹,便于理解和使用。(4)通用性
構(gòu)件解決的問題,應(yīng)在同類應(yīng)用中具有一般性;
(5)適應(yīng)性應(yīng)用場合有某些變化時,構(gòu)件仍是可用的,使構(gòu)件的某些數(shù)據(jù)參數(shù)化和數(shù)據(jù)類型參數(shù)化;
(6)可靠性
要求構(gòu)件對預(yù)計(jì)將要使用它的系統(tǒng)時可靠的;
(7)標(biāo)準(zhǔn)化
可復(fù)用構(gòu)件的標(biāo)準(zhǔn)化對于軟件復(fù)用是至關(guān)重要的。第十九頁,共三十四頁,2022年,8月28日建立可復(fù)用構(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日建立可復(fù)用構(gòu)件庫
②呈面分類:對領(lǐng)域進(jìn)行分析后,對構(gòu)件可標(biāo)識出一組呈面,呈面可以描述構(gòu)件的基本特征,并根據(jù)特征重要性區(qū)分優(yōu)先次序。呈面應(yīng)用領(lǐng)域?qū)ο蠊δ芫幊陶Z言呈面值圖形用戶界面編程菜單動態(tài)修改菜單項(xiàng)JAVA第二十一頁,共三十四頁,2022年,8月28日建立可復(fù)用構(gòu)件庫
③屬性-值分類:為領(lǐng)域中的所有構(gòu)件定義一組屬性,然后賦給這組屬性一組值。該方法首先是為構(gòu)件庫中的所有構(gòu)件定義一組屬性,并賦予相應(yīng)的屬性值。開發(fā)人員通過指定一組屬性值在構(gòu)件庫中對構(gòu)件進(jìn)行檢索。該分類方法與呈面分類方法有幾點(diǎn)不同之處:屬性的數(shù)量沒有限制,而刻面描述一般限制在7或8個呈面;屬性沒有優(yōu)先級,而呈面根據(jù)其重要程度,有相應(yīng)的優(yōu)先級;第二十二頁,共三十四頁,2022年,8月28日建立可復(fù)用構(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ā)目標(biāo)軟件確認(rèn)可復(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)域工程完成一組可復(fù)用構(gòu)件的標(biāo)示、構(gòu)造、分類和傳播;基于構(gòu)件的開發(fā)完成使用可復(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)件能否滿足應(yīng)用的需要,達(dá)到應(yīng)用所需要的性能、可靠性、質(zhì)量的保證進(jìn)行相應(yīng)的考察。2、構(gòu)件的調(diào)整
通常在將構(gòu)件復(fù)用到應(yīng)用中時,構(gòu)件需要進(jìn)行必要的調(diào)整和修改才能適應(yīng)應(yīng)用的需要。3、
構(gòu)件的組裝
構(gòu)件的組裝是將經(jīng)過鑒定和調(diào)整以后的構(gòu)件組裝到應(yīng)用系統(tǒng)中。通常為了達(dá)到此目的,還必須建一個基礎(chǔ)設(shè)施提供構(gòu)件協(xié)同的模型和使構(gòu)件能夠交互并完成共同任務(wù)的的特定服務(wù)。第二十七頁,共三十四頁,2022年,8月28日基于構(gòu)件的軟件開發(fā)特點(diǎn)基于構(gòu)件的軟件開發(fā)的一個明顯的優(yōu)點(diǎn)就是提高了軟件的質(zhì)量??蓮?fù)用的構(gòu)件在開發(fā)過程中,都經(jīng)過嚴(yán)格的測試。第二十八頁,共三十四頁,2022年,8月28日基于構(gòu)件的開發(fā)
應(yīng)用系統(tǒng)工程(ASE)實(shí)質(zhì):從一個或多個構(gòu)件系統(tǒng)中選擇構(gòu)件進(jìn)行特化,最后把構(gòu)件裝配成應(yīng)用系統(tǒng)ASE過程的基本步驟獲取需求分析設(shè)計(jì)應(yīng)用系統(tǒng)實(shí)現(xiàn)應(yīng)用系統(tǒng)測試應(yīng)用系統(tǒng)應(yīng)用系統(tǒng)打包第二十九頁,共三十四頁,2022年,8月28日面向?qū)ο笈c軟件復(fù)用
相輔相成OO方法的基本概念、原則與技術(shù)提供了軟件復(fù)用的有利條件軟件復(fù)用技術(shù)對面向?qū)ο蟮能浖_發(fā)提供了有利的支持OO方法對軟件復(fù)用的支持復(fù)用技術(shù)對OO方法的支持第三十頁,共三十四頁,2022年,8月28日OO方法對軟件復(fù)用的支持OOA模型OOA與OOD的分工對象的表示一般-特殊結(jié)構(gòu)整體-部分結(jié)構(gòu)實(shí)例連接類描述模板用例第三十一頁,共三十四頁,2022年,8月28日復(fù)用技術(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)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025別墅裝修合同協(xié)議
- 《稅務(wù)代理》課件
- 股權(quán)無償贈與協(xié)議書二零二五年
- 深圳股權(quán)轉(zhuǎn)讓書二零二五年
- 二零二五版股權(quán)質(zhì)押協(xié)議標(biāo)準(zhǔn)范文
- 聘用獸醫(yī)協(xié)議
- 雙方夫妻離婚協(xié)議書
- 二零二五工程墊資合同
- 二零二五版建筑物沉降觀測合同
- 擔(dān)保公司履約保函格式二零二五年
- 貨幣銀行學(xué) 康書生課件 第1章 貨幣
- 頸椎病診治指南
- 會計(jì)師事務(wù)所財(cái)政支出績效評價業(yè)務(wù)指引
- 綜合能力測試真題與答案解析
- 2022年防腐防火涂裝、鋼結(jié)構(gòu)變形檢測試卷及答案
- 【課件】抒情與寫意-文人畫 課件高中美術(shù)人美版(2019)美術(shù)鑒賞
- 戰(zhàn)略管理學(xué)英文課件:14 Leadership and Strategic Change
- 質(zhì)性研究方法3-質(zhì)性研究的編碼課件
- 內(nèi)科學(xué)課件:心律失常(二)
- 心理治療師考試精讀與習(xí)題
- 加油站安全設(shè)施設(shè)計(jì)專篇
評論
0/150
提交評論