信息工程方法_第1頁
信息工程方法_第2頁
信息工程方法_第3頁
信息工程方法_第4頁
信息工程方法_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、信信 息息 工工 程程 方方 法法 軟件工程應(yīng)用實踐教程軟件工程應(yīng)用實踐教程 第第11章章 軟件復(fù)用軟件復(fù)用 n11.1 11.1 軟件復(fù)用技術(shù)的發(fā)展和存在的障礙軟件復(fù)用技術(shù)的發(fā)展和存在的障礙 n11.2 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 n11.3 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n11.4 11.4 構(gòu)件的開發(fā)構(gòu)件的開發(fā) 概述概述 n軟件復(fù)用是指重復(fù)使用“為了復(fù)用目的而設(shè)計的軟件”的過程,而 可復(fù)用軟件則是指為了復(fù)用目的而設(shè)計的軟件。軟件復(fù)用更強(qiáng)調(diào)的 是復(fù)用的目的,它是一種系統(tǒng)化的方法,為了復(fù)用而進(jìn)行設(shè)計,為 了復(fù)用而開發(fā),并且要有效地組織和管理這

2、些復(fù)用產(chǎn)品,方便人們 的查找和使用。 n軟件復(fù)用的意義: n軟件復(fù)用能夠提高軟件生產(chǎn)率,從而降低開發(fā)成本。 n軟件復(fù)用能夠減少系統(tǒng)的維護(hù)代價。 n軟件復(fù)用能夠提高系統(tǒng)間的互操作性。 n軟件復(fù)用能夠支持快速原型設(shè)計。 n軟件復(fù)用還能夠減少培訓(xùn)開銷。 n大量使用可復(fù)用軟件部件,可以提高軟件的靈活性和標(biāo)準(zhǔn)化程度。 11.1 軟件復(fù)用技術(shù)的發(fā)展和存在的障礙軟件復(fù)用技術(shù)的發(fā)展和存在的障礙 n結(jié)構(gòu)化程序設(shè)計的時代,軟件復(fù)用主要體現(xiàn): n源代碼復(fù)用 n目標(biāo)代碼級復(fù)用 n面向?qū)ο蟪绦蛟O(shè)計復(fù)用方式 n類庫復(fù)用 n軟件構(gòu)件復(fù)用 11.1 軟件復(fù)用技術(shù)的發(fā)展和存在的障礙軟件復(fù)用技術(shù)的發(fā)展和存在的障礙 n可復(fù)用的軟件

3、制品可復(fù)用的軟件制品 n項目計劃 n成本估計 n體系結(jié)構(gòu) n需求模型和規(guī)約 n設(shè)計 n源代碼 n用戶手冊和技術(shù)文檔 n用戶界面 n數(shù)據(jù) n測試用例 n其他元素:特定的分析建模方法、檢查技術(shù)、測試用例設(shè)計技術(shù)、質(zhì)量 保障過程等 11.1 軟件復(fù)用技術(shù)的發(fā)展和存在的障礙軟件復(fù)用技術(shù)的發(fā)展和存在的障礙 n 軟件復(fù)用存在的一些障礙軟件復(fù)用存在的一些障礙 n很少有公司或開發(fā)機(jī)構(gòu)制定了可復(fù)用軟件的開發(fā)計劃。 n雖然越來越多的軟件銷售商正在銷售有助于軟件復(fù)用的輔助工具和構(gòu)件, 但是大多數(shù)軟件開發(fā)商不使用它們。 n幾乎沒有相應(yīng)的培訓(xùn),幫助軟件工程師和管理者理解并應(yīng)用復(fù)用。 n很多軟件實踐者仍然相信復(fù)用相對于其

4、價值來說會帶來更多的麻煩。 n很多公司仍然使用對復(fù)用活動毫無促進(jìn)作用的軟件開發(fā)方法學(xué),而不鼓 勵使用那些可能對復(fù)用活動有促進(jìn)的方法學(xué)。 n很少有公司對生產(chǎn)可復(fù)用軟件構(gòu)件有激勵措施。因為,在開發(fā)可復(fù)用的 軟件構(gòu)件時可能會提高成本。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 n com+/dcom,javabean/enterprise javabean,corba構(gòu)件模構(gòu)件模 型三足鼎立型三足鼎立 ncorba ncorba(common object request broker architecture)即公共對象請求代 理體系結(jié)構(gòu),是國際對象管理組織(omg)在20世紀(jì)90年代早期提

5、出的分 布式對象規(guī)范。 n一個對象請求代理提供了一系列服務(wù),它們使得一個構(gòu)件可以和其他構(gòu) 件通信,而不管這些對象在系統(tǒng)中的位置。 ncorba構(gòu)件模型的底層結(jié)構(gòu)為orb(object request broker,對象請求代 理)。 n一個corba構(gòu)件采用接口描述語言(interface description language)進(jìn)行 描述。 ncorba提供了idl到c,c+,java,cobol等語言的映射機(jī)制 idl編譯器。 ncorba同時提供了一系列的公共對象服務(wù)規(guī)范(common object service specification,coss) ncorba是一種語言中性的構(gòu)

6、件模型,可以跨越不同的網(wǎng)絡(luò)、不同的機(jī) 器和不同的操作系統(tǒng),實現(xiàn)分布式對象之間的互操作。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 ncom+/dcom ncom+(component object model)/dcom(distributed component objectmodel)是微軟與其他業(yè)界廠商合作提出的一種構(gòu)件/分布式構(gòu)件對 象模型 ndcom起源于動態(tài)數(shù)據(jù)交換(dde)技術(shù)。 n對象鏈接與嵌入ole 。 n微軟引入了構(gòu)件對象模型com,形成了com對象之間實現(xiàn)互操作的二 進(jìn)制標(biāo)準(zhǔn)。 ncom規(guī)定了對象模型和編程要求,使com對象可以與其他對象互操作。 這些對象可以用不同

7、的語言實現(xiàn),其結(jié)構(gòu)也可以不同。 ndcom是com在分布式計算方面的發(fā)展,它為分布在網(wǎng)絡(luò)上不同節(jié)點(diǎn)的 com構(gòu)件之間提供了互操作的基礎(chǔ)結(jié)構(gòu)。 n在公共服務(wù)方面,微軟提出了自己的事務(wù)服務(wù)器mts(microsoft transaction server)和消息隊列服務(wù)器msmq(microsoft message queue server)。前者與corba對象事務(wù)服務(wù)目標(biāo)類似,后者則是為了保證應(yīng) 用之間進(jìn)行可靠的消息通信和管理。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 njavabean njava是一個應(yīng)用程序開發(fā)平臺,它按照高性能、可移植、可解釋的原則, 提供面向?qū)ο蟮木幊陶Z言和運(yùn)

8、行環(huán)境。 n在java中,軟件構(gòu)件是能夠進(jìn)行可視化操作的可復(fù)用軟件,它滿足一定 的特征要求,并可以根據(jù)需要進(jìn)行定制和組裝。 njava的軟件構(gòu)件稱為javabean,或者簡稱bean。 n作為一種典型的構(gòu)件模型,javabean具有屬性、方法、事件、自我檢查、 定制和永久性等6個方面的特征。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 n軟件構(gòu)架技術(shù)軟件構(gòu)架技術(shù) n軟件構(gòu)架(又稱軟件體系結(jié)構(gòu))描述的是系統(tǒng)整體設(shè)計格局,它為基于構(gòu) 件的軟件開發(fā)提供了構(gòu)件組裝的基礎(chǔ)和上下文。 n一個典型的軟件構(gòu)架是由系統(tǒng)中的構(gòu)件、接口和約束構(gòu)成的配置格局。 n軟件開發(fā)實際上是從問題域向最終解決方案逐步映射和轉(zhuǎn)

9、換的過程,而 特定領(lǐng)域軟件構(gòu)架和軟件構(gòu)架風(fēng)格分別從問題域和軟件解決方案兩個方 向提供了若干經(jīng)過考驗的候選轉(zhuǎn)換路徑。 n軟件構(gòu)架風(fēng)格則根據(jù)系統(tǒng)結(jié)構(gòu)的組織模式確定了一組可以用于實例中的 構(gòu)件和接口,以及它們的拓?fù)浣Y(jié)構(gòu)、組裝規(guī)則、局部和全局約束,從而 定義了一個面向系統(tǒng)結(jié)構(gòu)的構(gòu)架家族。 n軟件構(gòu)架風(fēng)格與面向?qū)ο蟮脑O(shè)計模式或框架一樣,為設(shè)計經(jīng)驗的復(fù)用提 供了技術(shù)支持。 n客戶/服務(wù)器(client/server)、分層的體系結(jié)構(gòu)、分布式對象計算、管道和 過濾器、黑板系統(tǒng)等都是廣泛使用的軟件構(gòu)架風(fēng)格。 11.2 幾種構(gòu)件模型的比較幾種構(gòu)件模型的比較 n比較分析比較分析 corba/orbactivex/

10、dcomejb/rmi 集成性集成性 支持跨語言操作aad 跨平臺操作aca 網(wǎng)絡(luò)通信aba 公共服務(wù)構(gòu)件ada 可用性可用性 事務(wù)處理acb 消息服務(wù)ebb 安全服務(wù)aba 目錄服務(wù)acb 容錯性ccc 產(chǎn)品成熟性cbd 軟件開發(fā)商支持度baa 可擴(kuò)展可擴(kuò)展aba 備注:a:最好 b:比較 c:好 d:一般 e:差 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n當(dāng)復(fù)用占據(jù)了一個應(yīng)用開發(fā)的主導(dǎo)地位時,構(gòu)造方法被稱為基于構(gòu)當(dāng)復(fù)用占據(jù)了一個應(yīng)用開發(fā)的主導(dǎo)地位時,構(gòu)造方法被稱為基于構(gòu) 件的軟件開發(fā)。件的軟件開發(fā)。 n軟件復(fù)用過程包括兩個并發(fā)的子過程軟件復(fù)用過程包括兩個并發(fā)的子過程領(lǐng)域

11、工程和軟件工程。領(lǐng)領(lǐng)域工程和軟件工程。領(lǐng) 域工程提供了基于構(gòu)件開發(fā)所需要的可復(fù)用構(gòu)件庫。軟件工程可在域工程提供了基于構(gòu)件開發(fā)所需要的可復(fù)用構(gòu)件庫。軟件工程可在 新系統(tǒng)的開發(fā)中選擇這些軟件構(gòu)件進(jìn)行復(fù)用。新系統(tǒng)的開發(fā)中選擇這些軟件構(gòu)件進(jìn)行復(fù)用。 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n構(gòu)件的獲取構(gòu)件的獲取 n商業(yè)采購 n利用項目承包商和合作伙伴開發(fā)的ndi構(gòu)件(non developmental item) n在領(lǐng)域工程和再工程的基礎(chǔ)上從已有的應(yīng)用系統(tǒng)中發(fā)掘和提煉 n自主開發(fā)新構(gòu)件 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n構(gòu)件的表示和檢索構(gòu)件的表示和檢索

12、 n一方面,擁有大量可復(fù)用構(gòu)件的組織必須以一種易于分類管理而又方便 復(fù)用者檢索的機(jī)制來表示和保存軟件構(gòu)件; n另一方面,有效的構(gòu)件檢索機(jī)制有助于構(gòu)件查找和理解,而構(gòu)件的合理 表示和分類正是實現(xiàn)高效、方便檢索的基礎(chǔ)。 n3c模型:概念(concept)、內(nèi)容(content)、上下文(context) n概念是關(guān)于“構(gòu)件做什么”的抽象描述,可以通過概念去理解構(gòu)件 的功能。概念包括接口規(guī)約和語義描述兩個部分。 n內(nèi)容是概念的具體實現(xiàn),描述構(gòu)件如何完成概念所刻畫的功能。 n上下文描述構(gòu)件和外圍環(huán)境在概念級和內(nèi)容級的關(guān)系,它刻畫構(gòu)件 的應(yīng)用環(huán)境,為構(gòu)件的選用和適應(yīng)性修改提供指導(dǎo)。 n將3c模型用于實際

13、環(huán)境中,必須把概念、內(nèi)容和上下文描述轉(zhuǎn)換為具體 的規(guī)則。從構(gòu)件表示出發(fā)可以分為人工智能方法、超文本方法和信息科 學(xué)方法3類。 其中,使用信息科學(xué)方法進(jìn)行構(gòu)件分類是實際應(yīng)用中比較 成功的一種方法。 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n信息科學(xué)方法以枚舉、刻面、屬性-值、關(guān)鍵詞和正文檢索等技術(shù)為核心。 n枚舉分類 n刻面分類 n屬性-值分類法 11.3 基于可復(fù)用構(gòu)件的軟件開發(fā)基于可復(fù)用構(gòu)件的軟件開發(fā) n構(gòu)件組裝構(gòu)件組裝 n基于構(gòu)件的開發(fā)通過構(gòu)件組裝得到最終應(yīng)用系統(tǒng),構(gòu)件組裝必須以某個 框架或構(gòu)架為藍(lán)圖,實際可以看做是用構(gòu)件實例將軟件構(gòu)架具體化的過 程。 n構(gòu)件組裝技術(shù)以

14、構(gòu)件模型、構(gòu)件-構(gòu)架描述和開放系統(tǒng)技術(shù)為基礎(chǔ),成功 的組裝必須以開放構(gòu)件模型和規(guī)范的構(gòu)架描述(包括對構(gòu)件連接和交互協(xié) 議的嚴(yán)格定義)為基礎(chǔ),構(gòu)件實例必須符合系統(tǒng)中其他部分的要求。 n真正意義上的基于構(gòu)件的軟件開發(fā)應(yīng)該在分析、設(shè)計、實現(xiàn)和測試等不 同階段,在函數(shù)、對象、模塊、框架、服務(wù)進(jìn)程和程序等不同粒度上, 從構(gòu)件構(gòu)架的開發(fā)、描述、瀏覽、插裝、定制等不同方面對構(gòu)件組裝提 供全面的支持。 n目前仍然缺乏通用的構(gòu)件組裝平臺。 11.4 構(gòu)件的開發(fā)構(gòu)件的開發(fā) n域分析域分析 11.4 構(gòu)件的開發(fā)構(gòu)件的開發(fā) n開發(fā)可復(fù)用構(gòu)件的分析和設(shè)計開發(fā)可復(fù)用構(gòu)件的分析和設(shè)計 n數(shù)據(jù)、功能和行為模型可以用于描述特定應(yīng)用必須完成的任務(wù)。首先應(yīng) 該研究分析模型,以確定模型中的哪些部分用現(xiàn)存的可復(fù)用軟件構(gòu)件。 n當(dāng)構(gòu)件庫中沒

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論