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

下載本文檔

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

文檔簡(jiǎn)介

第十章第十章軟件重用和構(gòu)件技術(shù)軟件重用技術(shù)10基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第1頁(yè)。10.1軟件重用概述

軟件重用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng),以達(dá)到提高軟件系統(tǒng)的開(kāi)發(fā)質(zhì)量與效率,降低開(kāi)發(fā)成本的目的??芍赜玫能浖煞?,也稱(chēng)為可重用構(gòu)件(ReusableComponent)可從舊軟件中提取,也可以專(zhuān)門(mén)為重用而開(kāi)發(fā)。軟件重用不僅是對(duì)程序的重用,它包括對(duì)軟件生產(chǎn)過(guò)程中任何活動(dòng)所產(chǎn)生的制成品的重用。如:項(xiàng)目計(jì)劃、可行性報(bào)告、需求定義、分析模型、詳細(xì)說(shuō)明、源程序和測(cè)試用例等等。基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第2頁(yè)。代碼的重用設(shè)計(jì)結(jié)果的重用分析結(jié)果的重用測(cè)試信息的重用

高抽象程度

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

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

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

(1)提高軟件生產(chǎn)率,降低軟件生產(chǎn)代價(jià);

(2)提高軟件質(zhì)量;

(3)互操作性好;

(4)推動(dòng)標(biāo)準(zhǔn)化;

(5)支持原型開(kāi)發(fā)?;跇?gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第4頁(yè)。10.1.2軟件重用的形式一、按照重用活動(dòng)所跨越的應(yīng)用領(lǐng)域的類(lèi)型分

1.橫向重用(horizontalreuse)也稱(chēng)為水平重用,是指重用活動(dòng)的范圍跨越了幾個(gè)不同的應(yīng)用領(lǐng)域,重用的軟件產(chǎn)品主要包括數(shù)據(jù)結(jié)構(gòu)、通用算法、人機(jī)界面等軟件元素。

2.縱向重用(verticalreuse)也稱(chēng)為垂直重用,是指重用活動(dòng)的范圍限制在同一個(gè)應(yīng)用領(lǐng)域或者是一類(lèi)具有較多共性的應(yīng)用領(lǐng)域內(nèi)。基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第5頁(yè)。二、基于軟件重用的軟件開(kāi)發(fā)過(guò)程的角度分1.生產(chǎn)者重用(productreuse)

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

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

生產(chǎn)者重用消費(fèi)者重用(為重用開(kāi)發(fā)構(gòu)件)(使用構(gòu)件開(kāi)發(fā)應(yīng)用)生產(chǎn)者重用與消費(fèi)者重用基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第6頁(yè)。

重用具有許多明顯的優(yōu)點(diǎn),目前應(yīng)用不廣泛的主要原因是:(1)技術(shù)因素構(gòu)件與應(yīng)用系統(tǒng)之間的差異;構(gòu)件要達(dá)到一定的規(guī)模,才能支持有效的重用;發(fā)現(xiàn)合用構(gòu)件的困難;基于重用的軟件開(kāi)發(fā)方法和軟件過(guò)程需要一些新的理論、技術(shù)及支持環(huán)境。10.1.3軟件重用的困難(2)人的因素

喜歡自己創(chuàng)造而不喜歡使用別人的東西?;跇?gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第7頁(yè)。

重用具有許多明顯的優(yōu)點(diǎn),目前應(yīng)用不廣泛的主要原因是:10.1.3軟件重用的困難(4)教育因素

軟件科學(xué)技術(shù)的教育與培訓(xùn)中,缺乏關(guān)于軟件重用的內(nèi)容,缺少專(zhuān)門(mén)教材和課程。(3)管理因素

把重用構(gòu)件和一般軟件構(gòu)件同等看待,把重用看作可有可無(wú)的事。基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第8頁(yè)。10.2軟件構(gòu)件與構(gòu)件工程

基于軟件構(gòu)件的軟件工程也稱(chēng)為構(gòu)件工程,是以面向?qū)ο蟮姆椒榛A(chǔ),實(shí)現(xiàn)軟件重用,構(gòu)造新系統(tǒng)的過(guò)程。為了實(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)造、分類(lèi)和傳播一組可重用的軟件。基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第9頁(yè)。圖2領(lǐng)域分析設(shè)計(jì)軟件體系結(jié)構(gòu)開(kāi)發(fā)可重用的軟件成分中心庫(kù)可重用軟件成分/構(gòu)件領(lǐng)域模型結(jié)構(gòu)模型系統(tǒng)分析規(guī)格說(shuō)明與設(shè)計(jì)建造系統(tǒng)規(guī)格說(shuō)明分析與設(shè)計(jì)模型應(yīng)用軟件用戶需求軟件工程領(lǐng)域工程重用的過(guò)程模型典型的重用的過(guò)程模型,描述了領(lǐng)域工程與軟件工程的關(guān)系。基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第10頁(yè)。

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

(1)獨(dú)立性

解決一個(gè)相對(duì)獨(dú)立的問(wèn)題,或大問(wèn)題中某個(gè)相對(duì)獨(dú)立的部分;

(2)完整性

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

(3)可標(biāo)識(shí)性

構(gòu)件所解決的問(wèn)題應(yīng)該是可標(biāo)識(shí)的,可命名,有簡(jiǎn)要介紹,便于理解和使用。6.2.1可重用構(gòu)件

基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第11頁(yè)。

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

(4)通用性

構(gòu)件解決的問(wèn)題,應(yīng)在同類(lèi)應(yīng)用中具有一般性;

(5)適應(yīng)性

應(yīng)用場(chǎng)合有某些變化時(shí),構(gòu)件仍是可用的,使構(gòu)件的某些數(shù)據(jù)參數(shù)化和數(shù)據(jù)類(lèi)型參數(shù)化;

(6)可靠性

要求構(gòu)件對(duì)預(yù)計(jì)將要使用它的系統(tǒng)時(shí)可靠的;

(7)標(biāo)準(zhǔn)化

可重用構(gòu)件的標(biāo)準(zhǔn)化對(duì)于軟件重用是至關(guān)重要的。10.2.1可重用構(gòu)件

基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第12頁(yè)。6.2.2基于構(gòu)件的軟件工程

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

它不是針對(duì)某個(gè)特定的軟件系統(tǒng),而是針對(duì)一類(lèi)軟件系統(tǒng)的共同的特征、知識(shí)和需求?;跇?gòu)件的軟件的開(kāi)發(fā)過(guò)程包括兩個(gè)并發(fā)的子過(guò)程,一個(gè)是領(lǐng)域工程,另一個(gè)是基于構(gòu)件的開(kāi)發(fā)。領(lǐng)域工程完成一組可重用構(gòu)件的標(biāo)示、構(gòu)造、分類(lèi)和傳播;基于構(gòu)件的開(kāi)發(fā)完成使用可重用構(gòu)件構(gòu)造新的軟件系統(tǒng)?;跇?gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第13頁(yè)。

領(lǐng)域分析是對(duì)特定應(yīng)用領(lǐng)域中共同的特征、知識(shí)、需求的標(biāo)識(shí)、分析和規(guī)約。領(lǐng)域分析是特定領(lǐng)域內(nèi)軟件重用的基礎(chǔ),它的目標(biāo)就是:發(fā)現(xiàn)和挖掘在特定領(lǐng)域內(nèi)可以被重用的構(gòu)件。領(lǐng)域分析活動(dòng)中輸入和輸出如圖所示:10.2.3領(lǐng)域分析領(lǐng)域分析輸入信息技術(shù)文獻(xiàn)已有應(yīng)用專(zhuān)家經(jīng)驗(yàn)/建議當(dāng)前與未來(lái)的需求輸出信息

領(lǐng)域語(yǔ)言重用標(biāo)準(zhǔn)分類(lèi)方法功能/行為模型領(lǐng)域分析的輸入和輸出基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第14頁(yè)。

領(lǐng)域分析(DomainAnalysis)是對(duì)一類(lèi)應(yīng)用系統(tǒng)的共同應(yīng)用領(lǐng)域進(jìn)行系統(tǒng)化分析,以發(fā)現(xiàn)該領(lǐng)域的共同知識(shí)、需求及其應(yīng)用系統(tǒng)的共同特征。領(lǐng)域分析又稱(chēng)領(lǐng)域工程(DomainEngineering),是軟件工程的發(fā)展與延伸。領(lǐng)域分析是一項(xiàng)比系統(tǒng)分析更難的工作。領(lǐng)域分析方法可采用結(jié)構(gòu)化方法和面向?qū)ο蠓椒?,而后者將成為主流?/p>

領(lǐng)域分析不是針對(duì)某個(gè)特定的軟件系統(tǒng),而是針對(duì)一類(lèi)軟件系統(tǒng)的共同的特征、知識(shí)和需求。比需求分析更一般、更抽象、更廣泛的特征?;跇?gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第15頁(yè)。10.3構(gòu)件的開(kāi)發(fā)與構(gòu)件庫(kù)

構(gòu)件的開(kāi)發(fā)

領(lǐng)域分析的結(jié)果為構(gòu)件的選取和開(kāi)發(fā)提供了指導(dǎo)性的原則。除了有領(lǐng)域分析作為其基礎(chǔ),構(gòu)件開(kāi)發(fā)還需要遵循一定的設(shè)計(jì)概念和原則。構(gòu)件應(yīng)該具有相當(dāng)?shù)囊话阈院统橄笮裕軌蛴糜跐M足一類(lèi)相似的需求,一個(gè)過(guò)于特殊的構(gòu)件是很難被重復(fù)使用的。即使一個(gè)通用性很高的構(gòu)件也不可能完全適應(yīng)用戶的需求和運(yùn)行環(huán)境,所以在一個(gè)構(gòu)件被不同的應(yīng)用重用時(shí),對(duì)它的某些部分進(jìn)行修改是不可避免的。所以構(gòu)件開(kāi)發(fā)時(shí),需要為用戶對(duì)構(gòu)件的調(diào)整和修改留出余地。例如繼承、參數(shù)化、模板和宏都是典型的提高構(gòu)件靈活性和可調(diào)整性的機(jī)制?;跇?gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第16頁(yè)。10.3.1構(gòu)件庫(kù)

構(gòu)件庫(kù)(ComponentLibrary)用于對(duì)可重用構(gòu)件進(jìn)行存儲(chǔ)和管理。它是支持軟件重用的必要設(shè)施。構(gòu)件庫(kù)必須有大量的可重用構(gòu)件。構(gòu)件庫(kù)系統(tǒng)應(yīng)提供的主要功能:構(gòu)件的存儲(chǔ)、管理、檢索以及庫(kù)的瀏覽與維護(hù)等。關(guān)鍵是支持使用者高效而準(zhǔn)確地發(fā)現(xiàn)所需的可重用構(gòu)件。相關(guān)的主要技術(shù)是分類(lèi)方法和檢索方法。支持方便的、友好的用戶管理和使用界面。構(gòu)件分類(lèi)構(gòu)件檢索涉及兩個(gè)基本問(wèn)題:基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第17頁(yè)。

大多數(shù)的構(gòu)件分類(lèi)模式可以歸納為以下三種類(lèi)型:(1)枚舉分類(lèi)通過(guò)定義一個(gè)層次結(jié)構(gòu)來(lái)對(duì)構(gòu)件進(jìn)行分類(lèi)。構(gòu)件庫(kù)中的可重用構(gòu)件按照某種標(biāo)準(zhǔn)被分成了若干個(gè)大類(lèi),而每個(gè)大類(lèi)中的構(gòu)件再被劃分成若干個(gè)小類(lèi),依此類(lèi)推,這樣就形成了一個(gè)構(gòu)件分類(lèi)的層次結(jié)構(gòu),圖形用戶界面類(lèi)窗口類(lèi)菜單類(lèi)圖形窗口構(gòu)件文字窗口構(gòu)件系統(tǒng)菜單構(gòu)件彈出式菜單構(gòu)件普通菜單構(gòu)件枚舉分類(lèi)的層次結(jié)構(gòu)10.3.2構(gòu)件的分類(lèi)基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第18頁(yè)。(2)刻面分類(lèi)一個(gè)刻面描述構(gòu)件某一個(gè)方面的特征??堂娣诸?lèi)則是從不同的側(cè)面對(duì)構(gòu)件進(jìn)行分類(lèi),每一種分類(lèi)方式稱(chēng)為一個(gè)刻面。不同的刻面根據(jù)其重要性可以設(shè)置不同的優(yōu)先級(jí)??堂鎽?yīng)用領(lǐng)域?qū)ο蠊δ芫幊陶Z(yǔ)言刻面值圖形用戶界面編程菜單動(dòng)態(tài)修改菜單項(xiàng)JAVA

對(duì)構(gòu)件的每個(gè)刻面賦予相應(yīng)的值,用以描述該構(gòu)件??堂娣诸?lèi)具有較好的靈活性,易于加入新的刻面值,因此刻面分類(lèi)比枚舉分類(lèi)更易于擴(kuò)展和修改。該方法首先是為構(gòu)件庫(kù)中的所有構(gòu)件定義一組屬性,并賦予相應(yīng)的屬性值。開(kāi)發(fā)人員通過(guò)指定一組屬性值在構(gòu)件庫(kù)中對(duì)構(gòu)件進(jìn)行檢索。基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第19頁(yè)??堂娣诸?lèi)法(FacetedClassification):

支持多重觀點(diǎn)對(duì)構(gòu)件進(jìn)行分類(lèi),例如從構(gòu)件的應(yīng)用領(lǐng)域、構(gòu)件所描述的對(duì)象、構(gòu)件的觀點(diǎn)和編程語(yǔ)言等不同的方式來(lái)分類(lèi)。每一種分類(lèi)方式稱(chēng)為一個(gè)刻面。每個(gè)刻面把構(gòu)件集合劃分為一個(gè)子集,各刻面所劃分的子集形成一些較小的交集。一個(gè)構(gòu)件對(duì)每個(gè)每個(gè)刻面有一個(gè)刻面值,例如:

應(yīng)用領(lǐng)域=計(jì)算機(jī)繪圖對(duì)象=橢圓 功能=彩色填充,編程語(yǔ)言=C++基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第20頁(yè)。

檢索一個(gè)構(gòu)件時(shí),給出一組刻面值,將確定一組子集合,構(gòu)件應(yīng)該在這些子結(jié)合的交集中,從其中確認(rèn)所需的構(gòu)件就比較容易。構(gòu)件可用屬性描述,例如構(gòu)件類(lèi)型、開(kāi)發(fā)單位、作者、提交日期等屬性。檢索時(shí)通過(guò)構(gòu)件的屬性可以縮小搜索范圍??堂婧蛯傩远疾簧婕皹?gòu)件內(nèi)部實(shí)現(xiàn),只是為了便于構(gòu)件的管理、檢索和使用。如果把構(gòu)件比作一只箱子,其內(nèi)容如同箱子中裝的東西,刻面和屬性則如同箱子外邊的標(biāo)簽??堂娣诸?lèi)法可以看作層次分類(lèi)法的擴(kuò)充?;跇?gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第21頁(yè)。(3)屬性-值分類(lèi)該方法首先是為構(gòu)件庫(kù)中的所有構(gòu)件定義一組屬性,并賦予相應(yīng)的屬性值。開(kāi)發(fā)人員通過(guò)指定一組屬性值在構(gòu)件庫(kù)中對(duì)構(gòu)件進(jìn)行檢索。該分類(lèi)方法與刻面分類(lèi)方法有幾點(diǎn)不同之處:屬性的數(shù)量沒(méi)有限制,而刻面描述一般限制在7或8個(gè)刻面;屬性沒(méi)有優(yōu)先級(jí),而刻面根據(jù)其重要程度,有相應(yīng)的優(yōu)先級(jí);基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第22頁(yè)。

構(gòu)件庫(kù)中檢索一個(gè)構(gòu)件和在數(shù)據(jù)庫(kù)中檢索一個(gè)記錄是不同的。構(gòu)件庫(kù)檢索的不確定性帶來(lái)兩種相互矛盾的結(jié)果:檢索的結(jié)果可能是一個(gè)較大的構(gòu)件集合,要從中找到所需的構(gòu)件仍然很費(fèi)力;檢索得到的集合沒(méi)有把真正需要的構(gòu)件包括在內(nèi)。解決方法:

(一)一般構(gòu)件庫(kù)系統(tǒng)能對(duì)提出的檢索條件作廣義解釋。建立同義詞對(duì)照表,例如“商品銷(xiāo)售”、“售貨”、“賣(mài)貨”看作一組同義詞;建立近意詞對(duì)照表,例如把“商業(yè)”、“商場(chǎng)”、“連鎖店”看作一組近意詞。系統(tǒng)首先匹配同義詞,再匹配近意詞,都可以被包括到廣義結(jié)果集合中。10.3.3構(gòu)件檢索基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第23頁(yè)。(二)使檢索得到的構(gòu)件集合盡可能不包括對(duì)用戶無(wú)用的構(gòu)件。增加更多的刻面與構(gòu)件屬性:較多的刻面和屬性值,將得到更小的子集合文集,減輕最終發(fā)現(xiàn)和確認(rèn)所需構(gòu)件的難度;建立構(gòu)件關(guān)鍵詞:根據(jù)構(gòu)件內(nèi)容提煉關(guān)鍵詞,如同學(xué)術(shù)論文的關(guān)鍵詞,反映有關(guān)構(gòu)件內(nèi)容的一些主要信息。例如,找功能構(gòu)件的關(guān)鍵詞有“壓入”、“彈出”、“后進(jìn)先出”等等。如果通過(guò)刻面和構(gòu)件屬性得到的構(gòu)件子集較大,可用關(guān)鍵詞作進(jìn)一步的檢索,以縮小搜索范圍。改進(jìn)構(gòu)件檢索的其它措施:

(1)記錄用戶使用構(gòu)件庫(kù)的經(jīng)驗(yàn),并根據(jù)這些經(jīng)驗(yàn)改經(jīng)構(gòu)件檢索系統(tǒng);

(2)對(duì)每個(gè)構(gòu)件給出一段文字的簡(jiǎn)要介紹;

(3)提供較強(qiáng)的人機(jī)對(duì)話功能;

(4)引導(dǎo)用戶對(duì)自己需求的表達(dá)不斷精化?;跇?gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第24頁(yè)。10.3.4基于構(gòu)件的開(kāi)發(fā)

基于構(gòu)件的開(kāi)發(fā)是使用可重用構(gòu)件組裝開(kāi)發(fā)新的應(yīng)用系統(tǒng)。一、開(kāi)發(fā)過(guò)程1、構(gòu)件的鑒定

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

通常在將構(gòu)件重用到應(yīng)用中時(shí),構(gòu)件需要進(jìn)行必要的調(diào)整和修改才能適應(yīng)應(yīng)用的需要。3、

構(gòu)件的組裝

構(gòu)件的組裝是將經(jīng)過(guò)鑒定和調(diào)整以后的構(gòu)件組裝到應(yīng)用系統(tǒng)中。通常為了達(dá)到此目的,還必須建一個(gè)基礎(chǔ)設(shè)施提供構(gòu)件協(xié)同的模型和使構(gòu)件能夠交互并完成共同任務(wù)的的特定服務(wù)?;跇?gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第25頁(yè)。二、基于構(gòu)件的軟件開(kāi)發(fā)特點(diǎn)

1、開(kāi)發(fā)的質(zhì)量基于構(gòu)件的軟件開(kāi)發(fā)的一個(gè)明顯的優(yōu)點(diǎn)就是提高了軟件的質(zhì)量。

可重用的構(gòu)件在開(kāi)發(fā)過(guò)程中,都經(jīng)過(guò)嚴(yán)格的測(cè)試。

基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第26頁(yè)。

在同一個(gè)領(lǐng)域的應(yīng)用系統(tǒng)之間,不但可以找到其共同的軟件構(gòu)件,而且可以發(fā)現(xiàn)共同的或相似的軟件體系結(jié)構(gòu)(SoftwareArchitecture)。專(zhuān)向領(lǐng)域的重用開(kāi)拓了一種新的重用境界,被重用的不僅是可實(shí)現(xiàn)某種局部功能的軟件構(gòu)件,而且可以是一些形成系統(tǒng)總體結(jié)構(gòu),并把各個(gè)可重用構(gòu)件連接到一起的軟件構(gòu)架(SoftwareFramework)。電子產(chǎn)品的主電路板可看成該產(chǎn)品可重用的構(gòu)架,它把許多可重用的電子器件連接在一起。軟件構(gòu)架是一種由特定領(lǐng)域的軟件體系結(jié)構(gòu)所決定的軟件構(gòu)造框架。

10.3.5可重用的軟件構(gòu)架基于構(gòu)件的軟件工程全文共32頁(yè),當(dāng)前為第27頁(yè)。

軟件構(gòu)架不是解決軟件的某個(gè)局部問(wèn)題,而是描述了軟件的總體結(jié)構(gòu)。它描述了一類(lèi)軟件的總體構(gòu)成情況,包括該軟件有哪些主要部件以及各部件之間的關(guān)系,但是不涉及每個(gè)部件的細(xì)節(jié)。可重用的軟件構(gòu)架給出一類(lèi)應(yīng)用系統(tǒng)在總體構(gòu)造上的共性或相似性,忽略了各個(gè)系統(tǒng)的局部差異。例如,一個(gè)超級(jí)市場(chǎng)的銷(xiāo)售管理系統(tǒng)的軟件構(gòu)架,它包括的類(lèi)有收款機(jī)、商品一覽表、商品、供貨員、銷(xiāo)售事件、帳冊(cè)和上級(jí)系統(tǒng)接口等。它只表明一般情況下系統(tǒng)應(yīng)由哪些類(lèi)構(gòu)成,并指出這些類(lèi)之間的關(guān)系。但沒(méi)有定義每個(gè)類(lèi),在每個(gè)具體情況的系統(tǒng)中,各個(gè)類(lèi)的內(nèi)部特征可能是不同的。

基于構(gòu)件的軟件工程全文共

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論