第八章基于構(gòu)件的軟件工程_第1頁
第八章基于構(gòu)件的軟件工程_第2頁
第八章基于構(gòu)件的軟件工程_第3頁
第八章基于構(gòu)件的軟件工程_第4頁
第八章基于構(gòu)件的軟件工程_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第11章第八章基于構(gòu)件的軟件工程基于構(gòu)件的軟件工程第11章基于構(gòu)件的軟件工程1111.1軟件復(fù)用的基本概念11.3構(gòu)件的開發(fā)與構(gòu)件庫11.2軟件構(gòu)件與構(gòu)件工程11.1軟件復(fù)用的基本概念軟件復(fù)用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng),以達(dá)到提高軟件系統(tǒng)的開發(fā)質(zhì)量與效率,降低開發(fā)成本的目的。

可復(fù)用的軟件成分—可復(fù)用構(gòu)件(ReusableComponent)可從舊軟件中提取,也可以專門為復(fù)用而開發(fā)。軟件復(fù)用不僅是對(duì)程序的復(fù)用,它包括對(duì)軟件生產(chǎn)過程中任何活動(dòng)所產(chǎn)生的制成品的復(fù)用。如:項(xiàng)目計(jì)劃、可行性報(bào)告、需求定義、分析模型、詳細(xì)說明、源程序和測(cè)試用例等等。11.1軟件復(fù)用的基本概念代碼的復(fù)用設(shè)計(jì)結(jié)果的復(fù)用分析結(jié)果的復(fù)用測(cè)試信息的復(fù)用

高抽象程度

低11.1.1軟件復(fù)用的級(jí)別包括目標(biāo)代碼,也包括文本形式的源代碼。受實(shí)際環(huán)境影響小,可復(fù)用機(jī)會(huì)多,所需修改少??杀粡?fù)用的分析結(jié)果是針對(duì)問題域的某些事物或某些問題的抽象程度更高的解法。主要包括測(cè)試用例(testcase)的復(fù)用和測(cè)試過程信息的復(fù)用。三種方式復(fù)用:

從現(xiàn)有系統(tǒng)的分析結(jié)果中提取可復(fù)用構(gòu)件用于新系統(tǒng)的分析;用一份完整的分析文檔作為輸入,成生針對(duì)不通軟硬件平臺(tái)和其它實(shí)現(xiàn)條件的多項(xiàng)設(shè)計(jì);獨(dú)立于具體應(yīng)用,專門開發(fā)一些可復(fù)用的分析構(gòu)件。11.1.1軟件復(fù)用的級(jí)別

軟件生產(chǎn)過程主要是正向過程,即軟件產(chǎn)品從抽象級(jí)別較高的形態(tài)向抽象級(jí)別較低的形態(tài)演化,所以較高級(jí)別的復(fù)用容易帶動(dòng)較低級(jí)別的復(fù)用,反之則不然。復(fù)用級(jí)別越高,可得到的回報(bào)也越大,因此分析軟件(AnalysisWare)和設(shè)計(jì)軟件(DesignWare)的復(fù)用備受重視。軟件復(fù)用的優(yōu)點(diǎn):

(1)提高軟件生產(chǎn)率,降低軟件生產(chǎn)代價(jià);(2)提高軟件質(zhì)量;(3)互操作性好;(4)推動(dòng)標(biāo)準(zhǔn)化;(5)支持原型開發(fā)。

軟件復(fù)用的級(jí)別11.1.2軟件復(fù)用的形式一、按照重用活動(dòng)所跨越的應(yīng)用領(lǐng)域的類型分

1、橫向復(fù)用(horizontalreuse)也稱為水平復(fù)用,是指復(fù)用活動(dòng)的范圍跨越了幾個(gè)不同的應(yīng)用領(lǐng)域,復(fù)用的軟件產(chǎn)品主要包括數(shù)據(jù)結(jié)構(gòu)、通用算法、人機(jī)界面等軟件元素。2、縱向復(fù)用(verticalreuse)也稱為垂直復(fù)用,是指復(fù)用活動(dòng)的范圍限制在同一個(gè)應(yīng)用領(lǐng)域或者是一類具有較多共性的應(yīng)用領(lǐng)域內(nèi)。11.1.2軟件復(fù)用的形式二、基于軟件復(fù)用的軟件開發(fā)過程的角度分1、生產(chǎn)者復(fù)用(productreuse)

指建立、獲取或者重新設(shè)計(jì)可復(fù)用構(gòu)件的活動(dòng)。涉及到的活動(dòng)包括:復(fù)用的規(guī)劃、領(lǐng)域分析、構(gòu)件的開發(fā)、構(gòu)件庫的組織和管理。2、消費(fèi)者復(fù)用(consumerreuse)

指使用可復(fù)用的構(gòu)件建立新的系統(tǒng)的活動(dòng)。涉及到的活動(dòng)包括:應(yīng)用系統(tǒng)的規(guī)劃、構(gòu)件的檢索和選擇、應(yīng)用系統(tǒng)中非復(fù)用部分的開發(fā)、應(yīng)用系統(tǒng)的組裝。11.1.2軟件復(fù)用的形式建立構(gòu)件組裝應(yīng)用

生產(chǎn)者復(fù)用消費(fèi)者復(fù)用(為復(fù)用開發(fā)構(gòu)件)(使用構(gòu)件開發(fā)應(yīng)用)圖11.1生產(chǎn)者復(fù)用與消費(fèi)者復(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)境。11.1.3軟件復(fù)用的困難(2)人的因素喜歡自己創(chuàng)造而不喜歡使用別人的東西。(4)教育因素軟件科學(xué)技術(shù)的教育與培訓(xùn)中,缺乏關(guān)于軟件復(fù)用的內(nèi)容,缺少專門教材和課程。(3)管理因素把復(fù)用構(gòu)件和一般軟件構(gòu)件同等看待,把復(fù)用看作可有可無的事。11.1.3軟件復(fù)用的困難11.2軟件構(gòu)件與構(gòu)件工程

基于軟件構(gòu)件的軟件工程也稱為構(gòu)件工程,是以面向?qū)ο蟮姆椒榛A(chǔ),實(shí)現(xiàn)軟件重用,構(gòu)造新系統(tǒng)的過程。為了實(shí)現(xiàn)軟件重用,基于軟件構(gòu)件的軟件工程強(qiáng)調(diào)領(lǐng)域工程與軟件工程同時(shí)進(jìn)行。領(lǐng)域工程創(chuàng)建應(yīng)用領(lǐng)域的模型,標(biāo)識(shí)、構(gòu)造、分類和傳播一組可重用的軟件。軟件工程師則在軟件開發(fā)過程中重用它們。圖11.2給出了一個(gè)典型的重用的過程模型,描述了領(lǐng)域工程與軟件工程的關(guān)系。11.2軟件構(gòu)件與構(gòu)件工程圖2領(lǐng)域分析設(shè)計(jì)軟件體系結(jié)構(gòu)開發(fā)可重用的軟件成分中心庫可重用軟件成分/構(gòu)件領(lǐng)域模型結(jié)構(gòu)模型系統(tǒng)分析規(guī)格說明與設(shè)計(jì)建造系統(tǒng)規(guī)格說明分析與設(shè)計(jì)模型應(yīng)用軟件用戶需求軟件工程領(lǐng)域工程圖11.2重用的過程模型11.2軟件構(gòu)件與構(gòu)件工程一個(gè)軟件只只有在多個(gè)個(gè)系統(tǒng)中被被使用才可可稱為“可可復(fù)用構(gòu)件件”,必須須具備的條條件:(1)獨(dú)立立性解決一個(gè)相相對(duì)獨(dú)立的的問題,或或大問題中中某個(gè)相對(duì)對(duì)獨(dú)立的部部分;(2)完整整性提供較完整整的解決,,不要遺留留很多缺口口,讓復(fù)用用者做大量量補(bǔ)充;(3)可標(biāo)標(biāo)識(shí)性構(gòu)件所解決決的問題應(yīng)應(yīng)該是可標(biāo)標(biāo)識(shí)的,可可命名,有有簡要介紹紹,便于理理解和使用用。(4)通用性構(gòu)件解決的的問題,應(yīng)應(yīng)在同類應(yīng)應(yīng)用中具有有一般性;;(5)適應(yīng)性應(yīng)用場(chǎng)合有有某些變化化時(shí),構(gòu)件件仍是可用用的,使構(gòu)構(gòu)件的某些些數(shù)據(jù)參數(shù)數(shù)化和數(shù)據(jù)據(jù)類型參數(shù)數(shù)化;(11)可靠性要求構(gòu)件對(duì)對(duì)預(yù)計(jì)將要要使用它的的系統(tǒng)時(shí)可可靠的;(7)標(biāo)準(zhǔn)化可復(fù)用構(gòu)件件的標(biāo)準(zhǔn)化化對(duì)于軟件件復(fù)用是至至關(guān)重要的的??蓮?fù)用構(gòu)件件可復(fù)用構(gòu)件件11.2.2基于于構(gòu)件的軟軟件工程基于構(gòu)件的的軟件工程程與傳統(tǒng)的的或面向?qū)?duì)象的軟件件工程相比比,有顯著著的差異。。它不是針對(duì)對(duì)某個(gè)特定定的軟件系系統(tǒng),而是是針對(duì)一類類軟件系統(tǒng)統(tǒng)的共同的的特征、知知識(shí)和需求求。基于構(gòu)件的的軟件的開開發(fā)過程包包括兩個(gè)并并發(fā)的子過過程,一個(gè)個(gè)是領(lǐng)域工工程,另一一個(gè)是基于于構(gòu)件的開開發(fā)。領(lǐng)域域工程完成成一組可復(fù)復(fù)用構(gòu)件的的標(biāo)示、構(gòu)構(gòu)造、分類類和傳播;;基于構(gòu)件件的開發(fā)完完成使用可可復(fù)用構(gòu)件件構(gòu)造新的的軟件系統(tǒng)統(tǒng)。8.2.2基于構(gòu)構(gòu)件的軟件件工程領(lǐng)域分析是是對(duì)特定應(yīng)應(yīng)用領(lǐng)域中中共同的特特征、知識(shí)識(shí)、需求的的標(biāo)識(shí)、分分析和規(guī)約約。領(lǐng)域分分析是特定定領(lǐng)域內(nèi)軟軟件重用的的基礎(chǔ),它它的目標(biāo)就就是:發(fā)現(xiàn)現(xiàn)和挖掘在在特定領(lǐng)域域內(nèi)可以被被復(fù)用的構(gòu)構(gòu)件。領(lǐng)域域分析活動(dòng)動(dòng)中輸入和和輸出如圖圖11.33所示:11.2.3領(lǐng)域域分析領(lǐng)域分析輸入信息技術(shù)文獻(xiàn)已有應(yīng)用專家經(jīng)驗(yàn)/建議當(dāng)前與未來來的需求輸出信息領(lǐng)域語言復(fù)用標(biāo)準(zhǔn)分類方法功能/行為為模型圖11.33領(lǐng)域分分析的輸入入和輸出領(lǐng)域分析不不是針對(duì)某某個(gè)特定的的軟件系統(tǒng)統(tǒng),而是針針對(duì)一類軟軟件系統(tǒng)的的共同的特特征、知識(shí)識(shí)和需求。比需求分析析更一般、、更抽象、、更廣泛的的特征。11.2.3領(lǐng)域域分析領(lǐng)域分析(DomainAnalysis)是對(duì)一類類應(yīng)用系統(tǒng)統(tǒng)的共同應(yīng)應(yīng)用領(lǐng)域進(jìn)進(jìn)行系統(tǒng)化化分析,以以發(fā)現(xiàn)該領(lǐng)領(lǐng)域的共同同知識(shí)、需需求及其應(yīng)應(yīng)用系統(tǒng)的的共同特征征。領(lǐng)域分析析又稱作作領(lǐng)域工工程(DomainEngineering),是軟軟件工程程的發(fā)展展與延伸伸。領(lǐng)域分析析是一項(xiàng)項(xiàng)比系統(tǒng)統(tǒng)分析更更難的工工作。領(lǐng)領(lǐng)域分析析方法可可采用結(jié)結(jié)構(gòu)化方方法和面面向?qū)ο笙蠓椒?,,而后者者將成為為主流。。領(lǐng)領(lǐng)域分分析11.3構(gòu)件件的開發(fā)發(fā)與構(gòu)件件庫構(gòu)件的開開發(fā)領(lǐng)域分析析的結(jié)果果為構(gòu)件件的選取取和開發(fā)發(fā)提供了了指導(dǎo)性性的原則則。除了了有領(lǐng)域域分析作作為其基基礎(chǔ),構(gòu)構(gòu)件開發(fā)發(fā)還需要要遵循一一定的設(shè)設(shè)計(jì)概念念和原則則。構(gòu)件應(yīng)該該具有相相當(dāng)?shù)囊灰话阈院秃统橄笮孕?,能夠夠用于滿滿足一類類相似的的需求,,一個(gè)過過于特殊殊的構(gòu)件件是很難難被重復(fù)復(fù)使用的的。即使使一個(gè)通通用性很很高的構(gòu)構(gòu)件也不不可能完完全適應(yīng)應(yīng)用戶的的需求和和運(yùn)行環(huán)環(huán)境,所所以在一一個(gè)構(gòu)件件被不同同的應(yīng)用用復(fù)用時(shí)時(shí),對(duì)它它的某些些部分進(jìn)進(jìn)行修改改是不可可避免的的。所以以構(gòu)件開開發(fā)時(shí),,需要為為用戶對(duì)對(duì)構(gòu)件的的調(diào)整和和修改留留出余地地。例如如繼承、、參數(shù)化化、模板板和宏都都是典型型的提高高構(gòu)件靈靈活性和和可調(diào)整整性的機(jī)機(jī)制。11.3構(gòu)件件的開發(fā)發(fā)與構(gòu)件件庫構(gòu)構(gòu)件庫庫構(gòu)件庫(ComponentLibrary)用于對(duì)可可復(fù)用構(gòu)構(gòu)件進(jìn)行行存儲(chǔ)和和管理。。它是支支持軟件件復(fù)用的的必要設(shè)設(shè)施。構(gòu)構(gòu)件庫必必須有大大量的可可復(fù)用構(gòu)構(gòu)件。構(gòu)件庫系系統(tǒng)應(yīng)提提供的主主要功能能:構(gòu)件件的存儲(chǔ)儲(chǔ)、管理理、檢索索以及庫庫的瀏覽覽與維護(hù)護(hù)等。關(guān)鍵是支支持使用用者高效效而準(zhǔn)確確地發(fā)現(xiàn)現(xiàn)所需的的可復(fù)用用構(gòu)件。。相關(guān)的的主要技技術(shù)是分分類方法法和檢索索方法。。支持方便便的、友友好的用用戶管理理和使用用界面。。構(gòu)件分類類構(gòu)件檢索索涉及兩個(gè)個(gè)基本問問題:構(gòu)構(gòu)件庫庫大多數(shù)的的構(gòu)件分分類模式式可以歸歸納為以以下三種種類型::(1)枚枚舉分類類通過定義義一個(gè)層層次結(jié)構(gòu)構(gòu)來對(duì)構(gòu)構(gòu)件進(jìn)行行分類。。構(gòu)件庫庫中的可可復(fù)用構(gòu)構(gòu)件按照照某種標(biāo)標(biāo)準(zhǔn)被分分成了若若干個(gè)大大類,而而每個(gè)大大類中的的構(gòu)件再再被劃分分成若干干個(gè)小類類,依此此類推,,這樣就就形成了了一個(gè)構(gòu)構(gòu)件分類類的層次次結(jié)構(gòu),,圖形用戶界面類窗口類菜單類圖形窗口構(gòu)件文字窗口構(gòu)件系統(tǒng)菜單構(gòu)件彈出式菜單構(gòu)件普通菜單構(gòu)件圖11.4枚舉分類類的層次次結(jié)構(gòu)構(gòu)件的分分類構(gòu)件的分分類(2)刻刻面分類類一個(gè)刻面面描述構(gòu)構(gòu)件某一一個(gè)方面面的特征征。刻面面分類則則是從不不同的側(cè)側(cè)面對(duì)構(gòu)構(gòu)件進(jìn)行行分類,,每一種種分類方方式稱為為一個(gè)刻刻面。不不同的刻刻面根據(jù)據(jù)其重要要性可以以設(shè)置不不同的優(yōu)優(yōu)先級(jí)。??堂鎽?yīng)用領(lǐng)域?qū)ο蠊δ芫幊陶Z言刻面值圖形用戶界面編程菜單動(dòng)態(tài)修改菜單項(xiàng)JAVA對(duì)構(gòu)件的的每個(gè)刻刻面賦予予相應(yīng)的的值,用用以描述述該構(gòu)件件??堂婷娣诸惥呔哂休^好好的靈活活性,易易于加入入新的刻刻面值,,因此刻刻面分類類比枚舉舉分類更更易于擴(kuò)擴(kuò)展和修修改。該方法首首先是為為構(gòu)件庫庫中的所所有構(gòu)件件定義一一組屬性性,并賦賦予相應(yīng)應(yīng)的屬性性值。開開發(fā)人員員通過指指定一組組屬性值值在構(gòu)件件庫中對(duì)對(duì)構(gòu)件進(jìn)進(jìn)行檢索索。構(gòu)件的分分類刻面分類類法(FacetedClassification):支持多重重觀點(diǎn)對(duì)對(duì)構(gòu)件進(jìn)進(jìn)行分類類,例如如從構(gòu)件件的應(yīng)用用領(lǐng)域、、構(gòu)件所所描述的的對(duì)象、、構(gòu)件的的觀點(diǎn)和和編程語語言等不不同的方方式來分分類。每一種分分類方式式稱為一一個(gè)刻面面。每個(gè)刻面面把構(gòu)件件集合劃劃分為一一個(gè)子集集,各刻刻面所劃劃分的子子集形成成一些較較小的交交集。一個(gè)構(gòu)件件對(duì)每個(gè)個(gè)每個(gè)刻刻面有一一個(gè)刻面面值,例例如:應(yīng)用領(lǐng)域域=計(jì)計(jì)算機(jī)機(jī)繪圖對(duì)對(duì)象象=橢橢圓功能==彩色色填充,,編編程語言言=C++11.3.2構(gòu)件的分分類檢索一個(gè)個(gè)構(gòu)件時(shí)時(shí),給出出一組刻刻面值,,將確定定一組子子集合,,構(gòu)件應(yīng)應(yīng)該在這這些子結(jié)結(jié)合的交交集中,,從其中中確認(rèn)所所需的構(gòu)構(gòu)件就比比較容易易。構(gòu)件可用用屬性描描述,例例如構(gòu)件件類型、、開發(fā)單單位、作作者、提提交日期期等屬性性。檢索索時(shí)通過過構(gòu)件的的屬性可可以縮小小搜索范范圍??堂婧蛯傩远级疾簧婕皹?gòu)件件內(nèi)部實(shí)現(xiàn),,只是為了便便于構(gòu)件的管管理、檢索和和使用。如果果把構(gòu)件比作作一只箱子,,其內(nèi)容如同同箱子中裝的的東西,刻面面和屬性則如如同箱子外邊邊的標(biāo)簽。刻面分類法可可以看作層次次分類法的擴(kuò)擴(kuò)充。11.3.2構(gòu)件的分類(3)屬性-值分類該方法首先是是為構(gòu)件庫中中的所有構(gòu)件件定義一組屬屬性,并賦予予相應(yīng)的屬性性值。開發(fā)人人員通過指定定一組屬性值值在構(gòu)件庫中中對(duì)構(gòu)件進(jìn)行行檢索。該分類方法與與刻面分類方方法有幾點(diǎn)不不同之處:屬性的數(shù)量沒沒有限制,而而刻面描述一一般限制在7或8個(gè)刻面面;屬性沒有優(yōu)先先級(jí),而刻面面根據(jù)其重要要程度,有相相應(yīng)的優(yōu)先級(jí)級(jí);11.3.2構(gòu)件的分類構(gòu)件庫中檢索索一個(gè)構(gòu)件和和在數(shù)據(jù)庫中中檢索一個(gè)記記錄是不同的的。構(gòu)件庫檢索的的不確定性帶帶來兩種相互互矛盾的結(jié)果果:檢索的結(jié)結(jié)果可能是一一個(gè)較大的構(gòu)構(gòu)件集合,要要從中找到所所需的構(gòu)件仍仍然很費(fèi)力;;檢索得到的的集合沒有把把真正需要的的構(gòu)件包括在在內(nèi)。解決方法:(一)一般構(gòu)構(gòu)件庫系統(tǒng)能能對(duì)提出的檢檢索條件作廣廣義解釋。建立同義詞對(duì)對(duì)照表,例如如“商品銷售售”、“售貨貨”、“賣貨貨”看作一組組同義詞;建立近意詞對(duì)對(duì)照表,例如如把“商業(yè)””、“商場(chǎng)””、“連鎖店店”看作一組組近意詞。系統(tǒng)首先匹配配同義詞,再再匹配近意詞詞,都可以被被包括到廣義義結(jié)果集合中中。構(gòu)件檢索11.3.3構(gòu)件檢索(二)使檢索索得到的構(gòu)件件集合盡可能能不包括對(duì)用用戶無用的構(gòu)構(gòu)件。增加更多的刻刻面與構(gòu)件屬屬性:較多的的刻面和屬性性值,將得到到更小的子集集合文集,減減輕最終發(fā)現(xiàn)現(xiàn)和確認(rèn)所需需構(gòu)件的難度度;建立構(gòu)件關(guān)鍵鍵詞:根據(jù)構(gòu)構(gòu)件內(nèi)容提煉煉關(guān)鍵詞,如如同學(xué)術(shù)論文文的關(guān)鍵詞,,反映有關(guān)構(gòu)構(gòu)件內(nèi)容的一一些主要信息息。例如,找功能能構(gòu)件的關(guān)鍵鍵詞有“壓入入”、“彈出出”、“后進(jìn)進(jìn)先出”等等等。如果通過過刻面和構(gòu)件件屬性得到的的構(gòu)件子集較較大,可用關(guān)關(guān)鍵詞作進(jìn)一一步的檢索,,以縮小搜索索范圍。改進(jìn)構(gòu)件檢索索的其它措施施:(1)記錄用用戶使用構(gòu)件件庫的經(jīng)驗(yàn),,并根據(jù)這些些經(jīng)驗(yàn)改經(jīng)構(gòu)構(gòu)件檢索系統(tǒng)統(tǒng);(2)對(duì)每個(gè)個(gè)構(gòu)件給出一一段文字的簡簡要介紹;(3)提供較較強(qiáng)的人機(jī)對(duì)對(duì)話功能;(4)引導(dǎo)用用戶對(duì)自己需需求的表達(dá)不不斷精化。11.3.3構(gòu)件檢索11.3.4基于構(gòu)件件的開發(fā)11.3.4基于構(gòu)構(gòu)件的開發(fā)基于構(gòu)件的開開發(fā)是使用可可復(fù)用構(gòu)件組組裝開發(fā)新的的應(yīng)用系統(tǒng)。。一、開發(fā)過程程1、構(gòu)件的鑒定構(gòu)件的鑒定是是對(duì)打算用于于軟件開發(fā)的的構(gòu)件能否滿滿足應(yīng)用的需需要,達(dá)到應(yīng)應(yīng)用所需要的的性能、可靠靠性、質(zhì)量的的保證進(jìn)行相相應(yīng)的考察。。2、構(gòu)件的調(diào)整通常在在將構(gòu)構(gòu)件復(fù)復(fù)用到到應(yīng)用用中時(shí)時(shí),構(gòu)構(gòu)件需需要進(jìn)進(jìn)行必必要的的調(diào)整整和修修改才才能適適應(yīng)應(yīng)應(yīng)用的的需要要。3、構(gòu)件的的組裝裝構(gòu)件的的組裝裝是將將經(jīng)過過鑒定定和調(diào)調(diào)整以以后的的構(gòu)件件組裝裝到應(yīng)應(yīng)用系系統(tǒng)中中。通通常為為了達(dá)達(dá)到此此目的的,還還必須須建一一個(gè)基基礎(chǔ)設(shè)設(shè)施提提供構(gòu)構(gòu)件協(xié)協(xié)同的的模型型和使使構(gòu)件件能夠夠交互互并完完成共共同任任務(wù)的的的特特定服服務(wù)。。二、基基于構(gòu)構(gòu)件的的軟件件開發(fā)發(fā)特點(diǎn)點(diǎn)1、開開發(fā)的的質(zhì)量量基于構(gòu)構(gòu)件的的軟件件開發(fā)發(fā)的一一個(gè)明明顯的的優(yōu)點(diǎn)點(diǎn)就是是提高高了軟軟件的的質(zhì)量量??蓮?fù)用用的構(gòu)構(gòu)件在在開發(fā)發(fā)過程程中,,都經(jīng)經(jīng)過嚴(yán)嚴(yán)格的的測(cè)試試?;跇?gòu)構(gòu)件的的開發(fā)發(fā)可可復(fù)復(fù)用的的軟件件構(gòu)架架在同一一個(gè)領(lǐng)領(lǐng)域的的應(yīng)用用系統(tǒng)統(tǒng)之間間,不不但可可以找找到其其共同同的軟軟件構(gòu)構(gòu)件,,而且且可以以發(fā)現(xiàn)現(xiàn)共同同的或或相似似的軟軟件體體系結(jié)結(jié)構(gòu)(SoftwareArchitecture)。專向領(lǐng)領(lǐng)域的的復(fù)用用開拓拓了一一種新新的復(fù)復(fù)用境境界,,被復(fù)復(fù)用的的不僅僅是可可實(shí)現(xiàn)現(xiàn)某種種局部部功能能的軟軟件構(gòu)構(gòu)件,,而且且可以以是一一些形形成系系統(tǒng)總總體結(jié)結(jié)構(gòu),,并把把各個(gè)個(gè)可復(fù)復(fù)用構(gòu)構(gòu)件連連接到到一起起的軟軟件構(gòu)構(gòu)架(SoftwareFramework)。電子產(chǎn)產(chǎn)品的的主電電路板板可看看成該該產(chǎn)品品可復(fù)復(fù)用的的構(gòu)架架,它它把許許多可可復(fù)用用的電電子器器件連連接在在一起起。軟件構(gòu)構(gòu)架是是一種種由特特定領(lǐng)領(lǐng)域的的軟件件體系系結(jié)構(gòu)構(gòu)所決決定的的軟件件構(gòu)造造框架架??煽蓮?fù)復(fù)用的的軟件件構(gòu)架架軟件構(gòu)構(gòu)架不不是解解決軟軟件的的某個(gè)個(gè)局部部問題題,而而是描描述了了軟件件的總總體結(jié)結(jié)構(gòu)。。它描描述了了一類類軟件件的總總體構(gòu)構(gòu)成情情況,,包括括該軟軟件有有哪些些主要要部件件以及及各部部件之之間的的關(guān)系系,但但是不不涉及及每個(gè)個(gè)部件件的細(xì)細(xì)節(jié)。。可復(fù)用用的軟軟件構(gòu)構(gòu)架給給出一一類應(yīng)應(yīng)用系系統(tǒng)在在總體體構(gòu)造造上的的共性性或相相似性性,忽忽略了了各個(gè)個(gè)系統(tǒng)統(tǒng)的局局部差差異。。例如,,一個(gè)個(gè)超級(jí)級(jí)市場(chǎng)場(chǎng)的銷銷售管管理系系統(tǒng)的的軟件件構(gòu)架架,它它包括括的類類有收收款機(jī)機(jī)、商商品一一覽表表、商商品、、供貨貨員、、銷售售事件件、帳帳冊(cè)和和上級(jí)級(jí)系統(tǒng)統(tǒng)接口口等。。它只只表明明一般般情況況下系系統(tǒng)應(yīng)應(yīng)由哪哪些類類構(gòu)成成,并并指出出這些些類之之間的的關(guān)系系。但但沒有有定義義每個(gè)個(gè)類,,在每每個(gè)具具體情情況的的系統(tǒng)統(tǒng)中,,各個(gè)個(gè)類的的內(nèi)部部特征征可能能是是不不同同的的。??煽蓮?fù)復(fù)用用的的軟軟件件構(gòu)構(gòu)架架在使使用用這這個(gè)個(gè)軟軟件件架架構(gòu)構(gòu)和和一些些構(gòu)構(gòu)件件組組裝裝成成一一個(gè)個(gè)具具體體的的應(yīng)應(yīng)用用系系統(tǒng)統(tǒng)時(shí)時(shí),,可可以以根根據(jù)據(jù)該該系系統(tǒng)統(tǒng)的的特特殊殊要要求求選選用用不不同同的的構(gòu)構(gòu)件件,,也也可可能能對(duì)對(duì)構(gòu)構(gòu)件件做做一一些些局局部部修修改改。??梢娨?,,軟軟件件構(gòu)構(gòu)架架的的使使用用將將把把軟軟件件開開發(fā)發(fā)看看作作一一個(gè)個(gè)組組裝裝過過程程,,在在軟軟件件構(gòu)構(gòu)架架的的指指導(dǎo)導(dǎo)下下尋尋找找可可復(fù)復(fù)用用構(gòu)構(gòu)件件(及及開開發(fā)發(fā)一一些些新新構(gòu)構(gòu)件件)并并進(jìn)進(jìn)行行組組裝裝。。這種種基基于于構(gòu)構(gòu)件件/架架構(gòu)構(gòu)的的組組裝裝式式軟軟件件開開發(fā)發(fā)過過程程是是目目前前很很受受重重視視的的研研究究動(dòng)動(dòng)向向。。可可復(fù)復(fù)用用的的軟軟件件構(gòu)構(gòu)架架基于于構(gòu)構(gòu)件件/構(gòu)構(gòu)架架的的軟軟件件開開發(fā)發(fā)基于于專專向向領(lǐng)領(lǐng)域域的的軟軟件

溫馨提示

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

評(píng)論

0/150

提交評(píng)論