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

下載本文檔

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

文檔簡介

1、第9章 基于構(gòu)件的軟件開發(fā)l長期以來的軟件開發(fā)狀況l多數(shù)軟件都是針對某個(gè)具體的應(yīng)用系統(tǒng)從頭進(jìn)行開發(fā)的多數(shù)軟件都是針對某個(gè)具體的應(yīng)用系統(tǒng)從頭進(jìn)行開發(fā)的l導(dǎo)致:出現(xiàn)了大量的同類軟件重復(fù)開發(fā),造成大量人力、財(cái)導(dǎo)致:出現(xiàn)了大量的同類軟件重復(fù)開發(fā),造成大量人力、財(cái)力的浪費(fèi),而且軟件的質(zhì)量也不高力的浪費(fèi),而且軟件的質(zhì)量也不高l對比:汽車工業(yè)的生產(chǎn)模式l在已有的部件基礎(chǔ)上通過組裝進(jìn)行生產(chǎn):有專門的部件生產(chǎn)在已有的部件基礎(chǔ)上通過組裝進(jìn)行生產(chǎn):有專門的部件生產(chǎn)工廠,汽車設(shè)計(jì)者在設(shè)計(jì)中選擇市場上已有的合適的部件工廠,汽車設(shè)計(jì)者在設(shè)計(jì)中選擇市場上已有的合適的部件l避免了大量的重復(fù)勞動(dòng),提高了產(chǎn)品質(zhì)量和生產(chǎn)效率,促進(jìn)

2、避免了大量的重復(fù)勞動(dòng),提高了產(chǎn)品質(zhì)量和生產(chǎn)效率,促進(jìn)分工合作分工合作l我們的目標(biāo):將制造業(yè)中的組裝式生產(chǎn)模式引入到軟件開發(fā)中l(wèi)基于構(gòu)件的軟件開發(fā)概述l建造可復(fù)用構(gòu)件l應(yīng)用系統(tǒng)工程l構(gòu)件的管理l小結(jié)l建造可復(fù)用構(gòu)件l應(yīng)用系統(tǒng)工程l構(gòu)件的管理l小結(jié)l基于構(gòu)件的軟件開發(fā)lComponent-Based Software DevelopmentComponent-Based Software Developmentl簡稱簡稱CBSDCBSDl是指使用可復(fù)用構(gòu)件來開發(fā)應(yīng)用軟件是指使用可復(fù)用構(gòu)件來開發(fā)應(yīng)用軟件l基于構(gòu)件的軟件工程lComponent-Based Software EngineeringCo

3、mponent-Based Software Engineeringl簡稱簡稱CBSECBSElPressman書中的定義:構(gòu)件是某系統(tǒng)中有價(jià)值的、幾乎獨(dú)立的并可替換的一個(gè)部分,它在良好定義的體系結(jié)構(gòu)語境內(nèi)滿足某清晰的功能lBrown的定義:構(gòu)件是一個(gè)獨(dú)立發(fā)布的功能部分,可以通過其接口訪問它的服務(wù)l“計(jì)算機(jī)科學(xué)技術(shù)百科全書”的定義:軟件構(gòu)件是軟件系統(tǒng)中具有相對獨(dú)立功能,可以明確標(biāo)識(shí),接口由規(guī)約指定,與語境有明顯依賴關(guān)系,可獨(dú)立部署,且多由第三方提供的可組裝軟件實(shí)體;軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型;可復(fù)用構(gòu)件是指具有可復(fù)用價(jià)值的構(gòu)件lCommercial off-the-shelf

4、l簡稱COTSl指由第三方開發(fā)的滿足一定構(gòu)件標(biāo)準(zhǔn)的,可組裝的軟件構(gòu)件 l規(guī)格說明:建立在接口概念之上,作為服務(wù)提供方與客戶方之間的契約l一個(gè)或多個(gè)實(shí)現(xiàn)l受約束的構(gòu)件標(biāo)準(zhǔn)l包裝方法l部署方法l關(guān)于構(gòu)件的一個(gè)指導(dǎo)性模型l由構(gòu)件的三個(gè)不同方面的描述組成l概念概念(concept)(concept):關(guān)于:關(guān)于“構(gòu)件做什么構(gòu)件做什么”的抽象描述,可以的抽象描述,可以通過概念去理解構(gòu)件的功能。概念包括接口規(guī)約和語義通過概念去理解構(gòu)件的功能。概念包括接口規(guī)約和語義描述兩部分,語義描述和每個(gè)操作相關(guān)聯(lián)描述兩部分,語義描述和每個(gè)操作相關(guān)聯(lián)( (至少表示為前至少表示為前后置謂詞形式后置謂詞形式) ) l內(nèi)容內(nèi)容

5、(content)(content):概念的具體實(shí)現(xiàn),描述構(gòu)件如何完成概:概念的具體實(shí)現(xiàn),描述構(gòu)件如何完成概念所刻畫的功能念所刻畫的功能l周境周境(context)(context):描述構(gòu)件和外圍環(huán)境在概念級(jí)和內(nèi)容級(jí):描述構(gòu)件和外圍環(huán)境在概念級(jí)和內(nèi)容級(jí)的關(guān)系,刻畫構(gòu)件的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性的關(guān)系,刻畫構(gòu)件的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性修改提供指導(dǎo)修改提供指導(dǎo)lREBOOT(Reuse Based on Object_Oriented Technology):基于面向?qū)ο蠹夹g(shù)的復(fù)用l一種基于刻面(facet)的模型l刻面:對領(lǐng)域進(jìn)行分析,所得到的一組基本的描述特征刻面:對領(lǐng)域進(jìn)行分

6、析,所得到的一組基本的描述特征l刻面可以描述構(gòu)件執(zhí)行的功能、所操作的數(shù)據(jù)、構(gòu)件應(yīng)用的周境或任刻面可以描述構(gòu)件執(zhí)行的功能、所操作的數(shù)據(jù)、構(gòu)件應(yīng)用的周境或任何其他特征何其他特征l通常的刻面描述限制在不超過通常的刻面描述限制在不超過7 7或或8 8個(gè)刻面?zhèn)€刻面l一個(gè)構(gòu)件通常包括以下刻面:l抽象抽象(abstraction)(abstraction):它是構(gòu)件概念的抽象性描述:它是構(gòu)件概念的抽象性描述l操作操作(operation)(operation):它是構(gòu)件所提供的操作的描述:它是構(gòu)件所提供的操作的描述l操作對象操作對象(operand)(operand):它描述操作的對象:它描述操作的對象l依

7、賴依賴(dependency)(dependency):它描述構(gòu)件與外界的依賴關(guān)系:它描述構(gòu)件與外界的依賴關(guān)系lCORBA(公共對象請求代理體系結(jié)構(gòu))lCommon Object Request Broker ArchitectureCommon Object Request Broker ArchitecturelOMGOMG發(fā)布的構(gòu)件標(biāo)準(zhǔn)發(fā)布的構(gòu)件標(biāo)準(zhǔn)l核心是核心是ORB(Object Request Broker)ORB(Object Request Broker),定義了異構(gòu)環(huán)境下對象,定義了異構(gòu)環(huán)境下對象透明地發(fā)送請求和接收響應(yīng)的基本機(jī)制透明地發(fā)送請求和接收響應(yīng)的基本機(jī)制lCOM+l

8、微軟開發(fā)的一個(gè)構(gòu)件對象模型,提供了在運(yùn)行于微軟開發(fā)的一個(gè)構(gòu)件對象模型,提供了在運(yùn)行于WindowsWindows操作操作系統(tǒng)之上的單個(gè)應(yīng)用中使用不同廠商生產(chǎn)的對象的規(guī)約系統(tǒng)之上的單個(gè)應(yīng)用中使用不同廠商生產(chǎn)的對象的規(guī)約 lEJB:一種基于Java的構(gòu)件標(biāo)準(zhǔn)l提供了讓客戶端使用遠(yuǎn)程的分布式對象的框架提供了讓客戶端使用遠(yuǎn)程的分布式對象的框架lEJBEJB規(guī)約規(guī)定了規(guī)約規(guī)定了EJBEJB構(gòu)件如何與構(gòu)件如何與EJBEJB容器進(jìn)行交互容器進(jìn)行交互l領(lǐng)域分析:首先要進(jìn)行領(lǐng)域分析,收集領(lǐng)域中有代表性的應(yīng)用樣本,分析應(yīng)用中的公共部分或相似部分,抽取該領(lǐng)域的應(yīng)用體系結(jié)構(gòu)l建立領(lǐng)域特定的基準(zhǔn)體系結(jié)構(gòu)模型:在領(lǐng)域分析

9、的基礎(chǔ)上,構(gòu)造該領(lǐng)域的基準(zhǔn)體系結(jié)構(gòu),這個(gè)基準(zhǔn)體系結(jié)構(gòu)應(yīng)是可以裁剪和擴(kuò)充的,并可供該領(lǐng)域的應(yīng)用復(fù)用l標(biāo)識(shí)候選構(gòu)件:在領(lǐng)域分析和領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)模型的基礎(chǔ)上標(biāo)識(shí)該領(lǐng)域的候選構(gòu)件l泛化(generalization)和可變性(variability)分析:提高其通用性,同時(shí)尋找候選構(gòu)件在不同應(yīng)用中的變化點(diǎn)(variation point),通過設(shè)置參數(shù)、繼承或其他手段,使可變部分局部化l重建構(gòu)件:在泛化和可變性分析的基礎(chǔ)上,重建構(gòu)件,使它成為可復(fù)用構(gòu)件l構(gòu)件的測試:對重建的可復(fù)用構(gòu)件要嚴(yán)格測試,以提高其可靠性l構(gòu)件的包裝:經(jīng)測試的構(gòu)件應(yīng)根據(jù)構(gòu)件庫的要求,對它進(jìn)行包裝,以便構(gòu)件庫對它分類儲(chǔ)存和檢索l構(gòu)

10、件入庫:包裝后的構(gòu)件即可存入構(gòu)件庫l建立應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型:可以使用構(gòu)件生產(chǎn)者提供的領(lǐng)域特定的基準(zhǔn)體系結(jié)構(gòu)經(jīng)裁剪和/或擴(kuò)充而獲得l尋找候選構(gòu)件:根據(jù)應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型,從構(gòu)件庫或其他可利用的構(gòu)件源中尋找候選構(gòu)件l評價(jià)和選擇合適的構(gòu)件:評價(jià)候選構(gòu)件以判斷是否適合于待開發(fā)的軟件l構(gòu)件的修改(modify)和特化(specialize):在復(fù)用時(shí)對構(gòu)件進(jìn)行特化以滿足特定應(yīng)用的需要l開發(fā)未被復(fù)用的部分:對新系統(tǒng)中未復(fù)用的部分進(jìn)行開發(fā)l構(gòu)件的組裝:將特化和修改后的可復(fù)用構(gòu)件和新開發(fā)的部分組裝成一個(gè)新的軟件系統(tǒng)l集成測試:對組裝后的軟件系統(tǒng)進(jìn)行集成測試l評價(jià)被復(fù)用的構(gòu)件,并推薦可能的新構(gòu)件l對質(zhì)量

11、的影響:隨著長期的測試和使用,構(gòu)件能夠保證很高的質(zhì)量,因此可以使系統(tǒng)開發(fā)的質(zhì)量得到保證l對生產(chǎn)率的影響:一般來說,大約30% 50%的復(fù)用可使生產(chǎn)率提高25%40% l對成本的影響l與復(fù)用相關(guān)的成本應(yīng)由多個(gè)采用復(fù)用技術(shù)的項(xiàng)目來分擔(dān)與復(fù)用相關(guān)的成本應(yīng)由多個(gè)采用復(fù)用技術(shù)的項(xiàng)目來分擔(dān)l通常要經(jīng)過通常要經(jīng)過2323個(gè)采用復(fù)用的生產(chǎn)周期個(gè)采用復(fù)用的生產(chǎn)周期( (大約大約3 3年左右年左右) )復(fù)用復(fù)用才能帶來顯著的效益才能帶來顯著的效益l基于構(gòu)件的軟件開發(fā)概述l應(yīng)用系統(tǒng)工程l構(gòu)件的管理l小結(jié)l建造構(gòu)件的目的是為了以后復(fù)用構(gòu)件,即為復(fù)用而建造構(gòu)件l在建造構(gòu)件時(shí)仍應(yīng)遵循抽象、逐步求精、信息隱蔽、功能獨(dú)立、結(jié)

12、構(gòu)化程序設(shè)計(jì)等思想和原則l由于面向?qū)ο蠓椒ň哂蟹庋b性、繼承等特點(diǎn),能有力地支持復(fù)用,所以應(yīng)盡可能考慮采用面向?qū)ο蠓椒╨構(gòu)件的設(shè)計(jì)應(yīng)具有較高的通用程度l構(gòu)件應(yīng)易于調(diào)整l構(gòu)件應(yīng)易于組裝l構(gòu)件必須具有可檢索性l構(gòu)件必須經(jīng)過充分的測試l除應(yīng)遵循已有的設(shè)計(jì)概念和原則外,還必須考慮應(yīng)用領(lǐng)域的特征,例如:l標(biāo)準(zhǔn)數(shù)據(jù)標(biāo)準(zhǔn)數(shù)據(jù):應(yīng)該研究應(yīng)用領(lǐng)域,并標(biāo)識(shí)出標(biāo)準(zhǔn)的全局?jǐn)?shù):應(yīng)該研究應(yīng)用領(lǐng)域,并標(biāo)識(shí)出標(biāo)準(zhǔn)的全局?jǐn)?shù)據(jù)結(jié)構(gòu)據(jù)結(jié)構(gòu)( (如文件結(jié)構(gòu)或完整的數(shù)據(jù)庫如文件結(jié)構(gòu)或完整的數(shù)據(jù)庫) )。于是所有設(shè)計(jì)的。于是所有設(shè)計(jì)的構(gòu)件都可以用這些標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)來刻畫構(gòu)件都可以用這些標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)來刻畫l標(biāo)準(zhǔn)接口協(xié)議標(biāo)準(zhǔn)接口協(xié)議:應(yīng)該建立三

13、個(gè)層次的接口協(xié)議:構(gòu)件內(nèi):應(yīng)該建立三個(gè)層次的接口協(xié)議:構(gòu)件內(nèi)(intramodular)(intramodular)接口、構(gòu)件外接口以及人機(jī)接口接口、構(gòu)件外接口以及人機(jī)接口l程序模板程序模板:程序的結(jié)構(gòu)模型可以作為新程序的體系結(jié)構(gòu):程序的結(jié)構(gòu)模型可以作為新程序的體系結(jié)構(gòu)設(shè)計(jì)的模板設(shè)計(jì)的模板l構(gòu)件應(yīng)具有較強(qiáng)的通用性和可變性l為了滿足不同的復(fù)用需求,需要在構(gòu)件復(fù)用時(shí)可能發(fā)生變化的一個(gè)或多個(gè)位置上標(biāo)識(shí)變化點(diǎn)(variation point),同時(shí)為變化點(diǎn)附加一個(gè)或多個(gè)變體(variant)l繼承:在變化點(diǎn)上創(chuàng)建指定抽象類型或抽象類的子類型或子類。l擴(kuò)展和擴(kuò)展點(diǎn):可以在用況和對象構(gòu)件中的變化點(diǎn)(或擴(kuò)展

14、點(diǎn))上附加變體(或擴(kuò)展)l參數(shù)化:用于模板、框架和宏的類型和類l適用于變體較小時(shí)適用于變體較小時(shí)( (經(jīng)常是一個(gè)數(shù)值、短語或經(jīng)常是一個(gè)數(shù)值、短語或表達(dá)式表達(dá)式) )l基于構(gòu)件的軟件開發(fā)概述l建造可復(fù)用構(gòu)件l構(gòu)件的管理l小結(jié)l任務(wù):通過組裝可復(fù)用構(gòu)件得到應(yīng)用系統(tǒng)lCBSD中構(gòu)件是組成應(yīng)用系統(tǒng)的基本單元l注重體系結(jié)構(gòu)和構(gòu)件接口的分析和設(shè)計(jì),忽略構(gòu)件內(nèi)部實(shí)現(xiàn)的設(shè)計(jì)l接口是構(gòu)件行為的描述機(jī)制,并提供了對其服務(wù)的訪問l供應(yīng)接口供應(yīng)接口(Provided interface)(Provided interface):描述構(gòu)件所提供的服務(wù),可以被其他構(gòu):描述構(gòu)件所提供的服務(wù),可以被其他構(gòu)件訪問件訪問l請求接

15、口請求接口(requived interface)(requived interface):請求接口描述構(gòu)件為完成其功能:請求接口描述構(gòu)件為完成其功能( (服務(wù)服務(wù)) )需請求其他構(gòu)件為其提供的服務(wù)需請求其他構(gòu)件為其提供的服務(wù)l一個(gè)接口可以有多種實(shí)現(xiàn),并且對使用者隱蔽l接口描述是構(gòu)件使用者能依賴的所有信息,因此構(gòu)件接口描述的表達(dá)能力和完整性是CBSD方法主要關(guān)注的問題之一l基于構(gòu)件的應(yīng)用系統(tǒng)體系結(jié)構(gòu)l描述了組成應(yīng)用系統(tǒng)的構(gòu)件,構(gòu)件之間的組織結(jié)構(gòu)、交互、描述了組成應(yīng)用系統(tǒng)的構(gòu)件,構(gòu)件之間的組織結(jié)構(gòu)、交互、約束和關(guān)系約束和關(guān)系l對系統(tǒng)的組成、結(jié)構(gòu)以及系統(tǒng)如何工作的較為宏觀的描述對系統(tǒng)的組成、結(jié)構(gòu)以

16、及系統(tǒng)如何工作的較為宏觀的描述l如果在領(lǐng)域工程中已開發(fā)了領(lǐng)域基準(zhǔn)體系結(jié)構(gòu)(reference architecture),則可以通過對基準(zhǔn)體系結(jié)構(gòu)的剪裁和/或擴(kuò)充獲得應(yīng)用系統(tǒng)的體系結(jié)構(gòu)l邏輯體系結(jié)構(gòu)l以接口形式對每組服務(wù)進(jìn)行描述,并描述這些包怎樣交以接口形式對每組服務(wù)進(jìn)行描述,并描述這些包怎樣交互來滿足通常的用戶使用場景互來滿足通常的用戶使用場景l(fā)展示了系統(tǒng)設(shè)計(jì)的藍(lán)圖,可用于驗(yàn)證系統(tǒng)是否提供了適展示了系統(tǒng)設(shè)計(jì)的藍(lán)圖,可用于驗(yàn)證系統(tǒng)是否提供了適當(dāng)?shù)墓δ?,并能在系統(tǒng)功能需求變化時(shí)方便地改變系統(tǒng)當(dāng)?shù)墓δ?,并能在系統(tǒng)功能需求變化時(shí)方便地改變系統(tǒng)的設(shè)計(jì)的設(shè)計(jì)l物理體系結(jié)構(gòu)l描述系統(tǒng)的物理設(shè)計(jì),包括硬件及

17、其拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)和描述系統(tǒng)的物理設(shè)計(jì),包括硬件及其拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)和通信協(xié)議、基礎(chǔ)設(shè)施通信協(xié)議、基礎(chǔ)設(shè)施( (如運(yùn)行平臺(tái)、中間件、數(shù)據(jù)庫管如運(yùn)行平臺(tái)、中間件、數(shù)據(jù)庫管理系統(tǒng)等理系統(tǒng)等) ),以及軟件系統(tǒng)的部署,以及軟件系統(tǒng)的部署l展示了系統(tǒng)的實(shí)現(xiàn)構(gòu)架,有助于理解系統(tǒng)的許多非功能展示了系統(tǒng)的實(shí)現(xiàn)構(gòu)架,有助于理解系統(tǒng)的許多非功能屬性,如性能、吞吐量、服務(wù)的可用性等屬性,如性能、吞吐量、服務(wù)的可用性等lRationel統(tǒng)一過程lRationalRationals Unified Processs Unified Process,簡稱,簡稱RUPRUPl一個(gè)關(guān)于軟件開發(fā)的廣泛的過程框架,覆蓋了整個(gè)一個(gè)關(guān)

18、于軟件開發(fā)的廣泛的過程框架,覆蓋了整個(gè)軟件生命周期軟件生命周期l使用使用UMLUML進(jìn)行分析和設(shè)計(jì)建模,鼓勵(lì)使用進(jìn)行分析和設(shè)計(jì)建模,鼓勵(lì)使用CBSDCBSD方法方法lSterling Software的Enterprise-CBD方法l鼓勵(lì)使用鼓勵(lì)使用UMLUML的擴(kuò)展形式把構(gòu)件的規(guī)格說明和實(shí)現(xiàn)分的擴(kuò)展形式把構(gòu)件的規(guī)格說明和實(shí)現(xiàn)分離離l允許制作技術(shù)中立的規(guī)格說明,然后再使用不同的允許制作技術(shù)中立的規(guī)格說明,然后再使用不同的實(shí)現(xiàn)技術(shù)來實(shí)現(xiàn)規(guī)格說明實(shí)現(xiàn)技術(shù)來實(shí)現(xiàn)規(guī)格說明l共同點(diǎn):關(guān)注構(gòu)件庫中的構(gòu)件、接口的設(shè)計(jì)和基于構(gòu)件構(gòu)架的應(yīng)用程序組裝l目的:確保獲得的構(gòu)件可以完成所需的功能并能被集成在系統(tǒng)中與系

19、統(tǒng)的其他構(gòu)件正確交互l主要依據(jù)是構(gòu)件的接口描述和相關(guān)的規(guī)格說明,但這些信息往往還不足以確保構(gòu)件能成功地集成到系統(tǒng)中l(wèi)對于外部提供的成品構(gòu)件(COTS)可通過運(yùn)行構(gòu)件測試版進(jìn)行鑒定l應(yīng)用編程接口(API)l該構(gòu)件所需的開發(fā)和集成工具l運(yùn)行時(shí)需求,包括使用的資源(如內(nèi)存或存儲(chǔ)器)、時(shí)間或速度以及網(wǎng)絡(luò)協(xié)議l服務(wù)需求,包括操作系統(tǒng)接口和來自其他構(gòu)件的支持l安全特征,包括訪問控制和身份驗(yàn)證協(xié)議l嵌入式設(shè)計(jì)假定,包括特定的數(shù)值或非數(shù)值算法的使用l異常處理l構(gòu)件特化l根據(jù)應(yīng)用系統(tǒng)的具體情況對其進(jìn)行特化,對變化點(diǎn)根據(jù)應(yīng)用系統(tǒng)的具體情況對其進(jìn)行特化,對變化點(diǎn)配置特定的變體,必要時(shí)要自行開發(fā)變體配置特定的變體,必

20、要時(shí)要自行開發(fā)變體l如果所選的構(gòu)件不能完全滿足應(yīng)用系統(tǒng)的功能需求,如果所選的構(gòu)件不能完全滿足應(yīng)用系統(tǒng)的功能需求,還需對構(gòu)件作適當(dāng)?shù)男薷倪€需對構(gòu)件作適當(dāng)?shù)男薷膌如果所選的構(gòu)件未按構(gòu)件標(biāo)準(zhǔn)開發(fā)如果所選的構(gòu)件未按構(gòu)件標(biāo)準(zhǔn)開發(fā)( (如遺產(chǎn)系統(tǒng)中抽如遺產(chǎn)系統(tǒng)中抽取的構(gòu)件取的構(gòu)件) )時(shí),還需按某種構(gòu)件標(biāo)準(zhǔn)對其進(jìn)行包裝時(shí),還需按某種構(gòu)件標(biāo)準(zhǔn)對其進(jìn)行包裝l構(gòu)件組裝l將經(jīng)過鑒定和特化后的構(gòu)件組裝成應(yīng)用系統(tǒng)將經(jīng)過鑒定和特化后的構(gòu)件組裝成應(yīng)用系統(tǒng)l提倡使用構(gòu)件組裝工具來組裝應(yīng)用系統(tǒng)提倡使用構(gòu)件組裝工具來組裝應(yīng)用系統(tǒng)( (能檢查接口能檢查接口匹配中的錯(cuò)誤,實(shí)現(xiàn)組裝的自動(dòng)化或半自動(dòng)化匹配中的錯(cuò)誤,實(shí)現(xiàn)組裝的自動(dòng)化或半

21、自動(dòng)化) )l基于構(gòu)件的軟件開發(fā)概述l建造可復(fù)用構(gòu)件l應(yīng)用系統(tǒng)工程l小結(jié)l構(gòu)件的分類描述l對構(gòu)件庫中的構(gòu)件進(jìn)行合理的分類和組織,幫助軟對構(gòu)件庫中的構(gòu)件進(jìn)行合理的分類和組織,幫助軟件開發(fā)人員方便地找到所需要的構(gòu)件件開發(fā)人員方便地找到所需要的構(gòu)件l大多數(shù)的研究都建議使用圖書館科學(xué)索引方法進(jìn)行大多數(shù)的研究都建議使用圖書館科學(xué)索引方法進(jìn)行構(gòu)件分類構(gòu)件分類l構(gòu)件庫管理系統(tǒng):主要用于構(gòu)件的儲(chǔ)存、檢索、瀏覽和管理l枚舉分類(Enumerated Classification)l將構(gòu)件組織成分類層次結(jié)構(gòu),構(gòu)件庫中的構(gòu)件按某些性將構(gòu)件組織成分類層次結(jié)構(gòu),構(gòu)件庫中的構(gòu)件按某些性質(zhì)分成若干大類,每個(gè)大類又分成若干較

22、小的類,經(jīng)過質(zhì)分成若干大類,每個(gè)大類又分成若干較小的類,經(jīng)過若干次分解,形成構(gòu)件分類的層次結(jié)構(gòu),實(shí)際的構(gòu)件位若干次分解,形成構(gòu)件分類的層次結(jié)構(gòu),實(shí)際的構(gòu)件位于層次結(jié)構(gòu)的最低層,其他層次則表示構(gòu)件的類或子類于層次結(jié)構(gòu)的最低層,其他層次則表示構(gòu)件的類或子類l枚舉分類模式的分層結(jié)構(gòu)易于理解和檢索,但是,在建枚舉分類模式的分層結(jié)構(gòu)易于理解和檢索,但是,在建立層次結(jié)構(gòu)之前,必須進(jìn)行領(lǐng)域分析,尋找合適的供分立層次結(jié)構(gòu)之前,必須進(jìn)行領(lǐng)域分析,尋找合適的供分類的性質(zhì)。類的性質(zhì)。l屬性值分類(Attribute_Value Classification)l為所有構(gòu)件定義一組屬性,每個(gè)構(gòu)件都具有一組屬性值,為所有

23、構(gòu)件定義一組屬性,每個(gè)構(gòu)件都具有一組屬性值,開發(fā)人員通過指定一組屬性值對構(gòu)件庫檢索開發(fā)人員通過指定一組屬性值對構(gòu)件庫檢索l與刻面分類方法非常類似,不同點(diǎn)在于:屬性與刻面分類方法非常類似,不同點(diǎn)在于:屬性值分類值分類法對可使用的屬性數(shù)量沒有限制;屬性沒有優(yōu)先級(jí);不法對可使用的屬性數(shù)量沒有限制;屬性沒有優(yōu)先級(jí);不使用同義詞使用同義詞l刻面分類(Faceted Classification)l根據(jù)一組刻面對構(gòu)件分類,每個(gè)刻面從不同的側(cè)面對構(gòu)件根據(jù)一組刻面對構(gòu)件分類,每個(gè)刻面從不同的側(cè)面對構(gòu)件庫中的構(gòu)件進(jìn)行分類,并根據(jù)重要性設(shè)置刻面的優(yōu)先級(jí)庫中的構(gòu)件進(jìn)行分類,并根據(jù)重要性設(shè)置刻面的優(yōu)先級(jí)l每個(gè)刻面由一組術(shù)語每個(gè)刻面由一組術(shù)語(term)(term)構(gòu)成構(gòu)成, ,稱之為術(shù)語空間稱之為術(shù)語空間(term (term space)space),這些術(shù)語通常是描述性的關(guān)鍵詞,這些術(shù)語通常是描述性的關(guān)鍵詞l檢索:用戶通過指定一組刻面的術(shù)語值尋找匹配的構(gòu)件檢索:用戶通過指定一組刻面的術(shù)語值尋找匹配的構(gòu)件l使用同義詞詞典使用同義詞詞典(thesaurus)(thesaurus)解決用戶指定的術(shù)語值與庫解決用戶指定的術(shù)語值與庫中構(gòu)件所對應(yīng)的術(shù)語值之間的不一致問題中構(gòu)件所對應(yīng)的術(shù)語值之間的不一致問題l評價(jià):具有較好的靈活性,易于加入新的刻面值,比枚舉評價(jià):具有較好的靈活性,易于加入新的刻面值,比枚舉

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論