歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > PPTX文檔下載  

軟件工程導論第11章軟件重用

  • 資源ID:249042244       資源大?。?span id="k4ymiq0" class="font-tahoma">617.70KB        全文頁數:59頁
  • 資源格式: PPTX        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

軟件工程導論第11章軟件重用

單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,,,*,單擊鼠標左鍵換頁!,第11章 軟件重用,退出,,重用(reuse)也稱為再用或復用,是指同一事物不做修改或稍加改動就多次重復使用。,軟件,重用,的優(yōu)點:,(1)提高軟件生產率,降低軟件生產代價;,(2)提高軟件質量;,(3)互操作性好;,(4)推動標準化;,(5)支持原型開發(fā)。,,,,軟件復,用,用就是,將,將已有,的,的軟件,成,成分用,于,于構造,新,新的軟,件,件系統(tǒng),,,,以達,到,到提高,軟,軟件系,統(tǒng),統(tǒng)的開,發(fā),發(fā)質量,與,與效率,,,,降低,開,開發(fā)成,本,本的目,的,的。,可復用,的,的軟件,成,成分,,也,也稱為,可,可復用,構,構件(ReusableComponent)可從,舊,舊軟件,中,中提取,,,,也可,以,以專門,為,為復用,而,而開發(fā),。,。,軟件復,用,用不僅,是,是對程,序,序的復,用,用,它,包,包括對,軟,軟件生,產,產過程,中,中任何,活,活動所,產,產生的,制,制成品,的,的復用,。,。如:,項,項目計,劃,劃、可,行,行性報,告,告、需,求,求定義,、,、分析,模,模型、,詳,詳細說,明,明、源,程,程序和,測,測試用,例,例等等,。,。,,,軟件生,產,產過程,主,主要是,正,正向過,程,程,即,軟,軟件產,品,品從抽,象,象級別,較,較高的,形,形態(tài)向,抽,抽象級,別,別較低,的,的形態(tài),演,演化,,所,所以較,高,高級別,的,的復用,容,容易帶,動,動較低,級,級別的,復,復用,,反,反之則,不,不然。,復用級,別,別越高,,,,可得,到,到的回,報,報也越,大,大,因,此,此分析,軟,軟件(AnalysisWare)和,設,設計軟,件,件(DesignWare)的,復,復用備,受,受重視,。,。,,,軟件復,用,用的形,式,式,一、按,照,照重用,活,活動所,跨,跨越的,應,應用領,域,域的類,型,型分,1.橫,向,向復用,(,(horizontalreuse),也,也稱為,水,水平復,用,用,是,指,指復用,活,活動的,范,范圍跨,越,越了幾,個,個不同,的,的應用,領,領域,,復,復用的,軟,軟件產,品,品主要,包,包括數,據,據結構,、,、通用,算,算法、,人,人機界,面,面等軟,件,件元素,。,。,2.縱,向,向復用,(,(verticalreuse,),)也稱,為,為垂直,復,復用,,是,是指復,用,用活動,的,的范圍,限,限制在,同,同一個,應,應用領,域,域或者,是,是一類,具,具有較,多,多共性,的,的應用,領,領域內,。,。,,,二、基,于,于軟件,復,復用的,軟,軟件開,發(fā),發(fā)過程,的,的角度,分,分,1.生,產,產者復,用,用(productreuse),指建立,、,、獲取,或,或者重,新,新設計,可,可復用,構,構件的,活,活動。,涉,涉及到,的,的活動,包,包括:,復,復用的,規(guī),規(guī)劃、,領,領域分,析,析、構,件,件的開,發(fā),發(fā)、構,件,件庫的,組,組織和,管,管理。,2.消,費,費者復,用,用(consumer reuse),指使用,可,可復用,的,的構件,建,建立新,的,的系統(tǒng),的,的活動,。,。涉及,到,到的活,動,動包括,:,:應用,系,系統(tǒng)的,規(guī),規(guī)劃、,構,構件的,檢,檢索和,選,選擇、,應,應用系,統(tǒng),統(tǒng)中非,復,復用部,分,分的開,發(fā),發(fā)、應,用,用系統(tǒng),的,的組裝,。,。,建立構件,組裝應用,,生產者復用   消費者復用,(為復用開發(fā)構件) (使用構件開發(fā)應用),生產者復用與消費者復用,,,復用具,有,有許多,明,明顯的,優(yōu),優(yōu)點,,目,目前應,用,用不廣,泛,泛的主,要,要原因,是,是:,(1),技,技術因,素,素,構件與,應,應用系,統(tǒng),統(tǒng)之間,的,的差異,;,;,構件要,達,達到一,定,定的規(guī),模,模,才,能,能支持,有,有效的,復,復用;,發(fā)現合,用,用構件,的,的困難,;,;,基于復,用,用的軟,件,件開發(fā),方,方法和,軟,軟件過,程,程需要,一,一些新,的,的理論,、,、技術,及,及支持,環(huán),環(huán)境。,軟件,復用的,困,困難,(,2)人,的,的因素,喜歡自,己,己創(chuàng)造,而,而不喜,歡,歡使用,別,別人的,東,東西。,,,(3),管,管理因,素,素,把復用,構,構件和,一,一般軟,件,件構件,同,同等看,待,待,把,復,復用看,作,作可有,可,可無的,事,事。,(4),教,教育因,素,素,軟件科,學,學技術,的,的教育,與,與培訓,中,中,缺,乏,乏關于,軟,軟件復,用,用的內,容,容,缺,少,少專門,教,教材和,課,課程。,,軟件,復用的,困,困難,,,11.1,可,可重用,的,的軟件,成,成分,11.2,軟,軟件重,用,用過程,11.3,領,領域工,程,程,11.4,開,開發(fā)可,重,重用的,構,構件,11.5,分,分類和,檢,檢索構,件,件,11.6,軟,軟件重,用,用的效,益,益,11.7,小,小結,,,11.1,可,可重用,的,的軟件,成,成分,廣義地,說,說,軟,件,件重用,可,可劃分,成,成以下,三,三個層,次,次:①,知,知識重,用,用(例,如,如,軟,件,件工程,知,知識的,重,重用),;,;②方,法,法和標,準,準的重,用,用(例,如,如,面,向,向對象,方,方法或,國,國家標,準,準局制,定,定的軟,件,件開發(fā),規(guī),規(guī)范或,某,某些國,際,際標準,的,的重用);③,軟,軟件成,分,分的重,用,用。本,章,章僅討,論,論軟件,成,成分的,重,重用問,題,題。,,,,代碼的復用,設計結果的復用,分析結果的復用,測試信息的復用,,高,,抽,象,程,度,,,,低,包括目標代,碼,碼,也包括,文,文本形式的,源,源代碼。,受實際環(huán)境,影,影響小,可,復,復用機會多,,,,所需修改,少,少。,可被復用的,分,分析結果是,針,針對問題域,的,的某些事物,或,或某些問題,的,的抽象程度,更,更高的解法,。,。,主要包括測,試,試用例(test case)的,復,復用和測試,過,過程信息的,復,復用。,三種方式復,用,用:,,從現有系統(tǒng),的,的分析結果,中,中提取可復,用,用構件用于,新,新系統(tǒng)的分,析,析;,用一份完整,的,的分析文檔,作,作為輸入,,成,成生針對不,通,通軟硬件平,臺,臺和其它實,現,現條件的多,項,項設計;,獨立于具體,應,應用,專門,開,開發(fā)一些可,復,復用的分析,構,構件。,,,軟件成分的,重,重用可以進,一,一步劃分成,以,以下三個級,別,別。,(1) 代,碼,碼重用,(2) 設,計,計結果重用,,,設計結果重,用,用指的是,,重,重用某個軟,件,件系統(tǒng)的設,計,計模型(即,求,求解域模型)。這個級,別,別的重用有,助,助于把一個,應,應用系統(tǒng)移,植,植到完全不,同,同的軟/硬,件,件平臺上。,,,(3) 分,析,析結果重用,,,這是一種更,高,高級別的重,用,用,即重用,某,某個系統(tǒng)的,分,分析模型。,這,這種重用特,別,別適用于用,戶,戶需求未改,變,變,但系統(tǒng),體,體系結構發(fā),生,生了根本變,化,化的場合。,,更具體地,說,說,可能被,重,重用的軟件,成,成分主要有,以,以下10種,。,。,· 項目計,劃,劃。軟件項,目,目計劃的基,本,本結構和許,多,多內容(例,如,如,SQA,計,計劃)都是,可,可以跨項目,重,重用的。這,樣,樣做減少了,用,用于制定計,劃,劃的時間,,也,也降低了與,建,建立進度表,和,和進行風險,分,分析等活動,相,相關聯的不,確,確定性。,,,· 成本估,計,計。因為在,不,不同項目中,經,經常含有類,似,似的功能,,所,所以有可能,在,在只做極少,修,修改或根本,不,不做修改的,情,情況下,重,用,用對該功能,的,的成本估計,結,結果。,· 體系結,構,構。即使在,考,考慮不同的,應,應用領域時,,,,也很少有,截,截然不同的,程,程序和數據,體,體系結構。,因,因此,有可,能,能創(chuàng)建一組,類,類屬的體系,結,結構模板(,例,例如,事務,處,處理體系結,構,構),并把,那,那些模板作,為,為可重用的,設,設計框架。,,,· 需求模,型,型和規(guī)格說,明,明。類和對,象,象的模型及,規(guī),規(guī)格說明是,明,明顯的重用,的,的候選者,,此,此外,用傳,統(tǒng),統(tǒng)軟件工程,方,方法開發(fā)的,分,分析模型(,例,例如,數據,流,流圖),也,是,是可重用的,。,。,,,· 設計。,用,用傳統(tǒng)方法,開,開發(fā)的體系,結,結構、數據,、,、接口和過,程,程設計結果,,,,是重用的,候,候選者,更,常,常見的是,,系,系統(tǒng)和對象,設,設計是可重,用,用的。,· 源代碼,。,。用兼容的,程,程序設計語,言,言書寫的、,經,經過驗證的,程,程序構件,,是,是重用的候,選,選者。,· 用戶文,檔,檔和技術文,檔,檔。即使針,對,對的應用是,不,不同的,也,經,經常有可能,重,重用用戶文,檔,檔和技術文,檔,檔的大部分,。,。,· 用戶界,面,面。這可能,是,是最廣泛被,重,重用的軟件,成,成分,GUI(圖形用,戶,戶界面)軟,件,件經常被重,用,用。因為它,可,可占到一個,應,應用程序的60%代碼,量,量,因此,,重,重用的效果,非,非常顯著。,,,,,· 數據。,在,在大多數經,常,常被重用的,軟,軟件成分中,,,,被重用的,數,數據包括:,內,內部表、列,表,表和記錄結,構,構,以及文,件,件和完整的,數,數據庫。,· 測試用,例,例。一旦設,計,計或代碼構,件,件將被重用,,,,相關的測,試,試用例應該,“,“附屬于”,它,它們。,,,11.2,軟,軟件重用,過,過程,11.2.1 構件,組,組裝模型,“重用”應,該,該是每個軟,件,件過程的一,個,個不可缺少,的,的組成部分,。,。圖11.1所示的構,件,件組裝模型,,,,舉例說明,了,了怎樣把一,個,個可重用的,軟,軟件構件庫,集,集成到典型,的,的演化過程,模,模型中。,,,圖11.1,構,構件組,裝,裝模型,,,11.2.2 類構,件,件,利用面向對,象,象技術,可,以,以比較方便,、,、有效地實,現,現軟件重用,。,。面向對象,技,技術中的“,類,類”,是比,較,較理想的可,重,重用的軟構,件,件,不妨稱,之,之為類構件,,,,在上一小,節(jié),節(jié)中講述的,構,構件組裝模,型,型,就是利,用,用類構件來,構,構造應用程,序,序。,1. 可重,用,用的軟構件,應,應具備的特,點,點,(1) 模,塊,塊獨立性強,,,(2) 具,有,有高度可塑,性,性,(3) 接,口,口清晰、簡,明,明、可靠,,,2. 類構,件,件的重用方,式,式,(1) 實,例,例重用,(2) 繼,承,承重用,面向對象方,法,法特有的繼,承,承性,提供,了,了一種對已,有,有的類構件,進,進行裁剪的,機,機制。當已,有,有的類構件,不,不能通過實,例,例重用完全,滿,滿足當前系,統(tǒng),統(tǒng)需求時,,繼,繼承重用提,供,供了一種安,全,全地修改已,有,有類構件,,以,以便在當前,系,系統(tǒng)中重用,的,的手段,(3) 多,態(tài),態(tài)重用,利用多態(tài)性,不,不僅可以使,對,對象的對外,接,接口更加一,般,般化(基類,與,與派生類的,許,許多對外接,口,口是相同的),從而降,低,低了消息連,接,接的復雜程,度,度,而且還,提,提供了一種,簡,簡便可靠的,軟,軟構件組合,機,機制,系統(tǒng),運,運行時,根,據,據接收消息,的,的對象類型,,,,由多態(tài)性,機,機制啟動正,確,確的方法,,去,去響應一個,一,一般化的消,息,息,從而簡,化,化了消息界,面,面和軟構件,連,連接過程。,,,,,11.2.3 重用,過,過程模型,為了實現軟,件,件重用,已,經,經提出了許,多,多過程模型,,,,這些模型,都,都強調領域,工,工程與軟件,工,工程同時進,行,行。領域工,程,程完成一系,列,列工作,以,建,建立一組可,以,以被軟件工,程,程師重用的,軟,軟件成分。,,,圖11.2,給,給出了一個,典,典型的明顯,適,適用于重用,的,的過程模型,。,。領域工程,創(chuàng),創(chuàng)建應用領,域,域的模型,,在,在軟件工程,流,流中使用該,模,模型作為分,析,析用戶需求,的,的基礎。軟,件,件體系結構,及,及相應的結,構,構點(見11.3.3,節(jié),節(jié))為應用,系,系統(tǒng)的設計,提,提供了輸入,信,信息。最后,,,,在可重用,的,的軟件成分,作,作為領域工,程,程的一部分,被,被構造出來,之,之后,它們,可,可以在軟件,開,開發(fā)活動中,被,被軟件工程,師,師使用。,,,圖11.2,一,一個強,調,調重用的過,程,程,模型,,,11.3,領,領域工程,領域工程的,目,目的是,標,識,識、構造、,分,分類和傳播,一,一組軟件成,分,分,在特定,的,的應用領域,中,中這些軟件,成,成分可適用,于,于現有的和,未,未來的軟件,系,系統(tǒng)。其總,體,體目標是,,建,建立相應的,機,機制,使得,軟,軟件工程師,可,可以在新的,或,或現有的系,統(tǒng),統(tǒng)中分享這,些,些軟件成分,—,——重用它,們,們。,領域工程包,括,括三個主要,的,的活動,它,們,們是分析、,構,構造和傳播,。,。,,,圖2,領域分析,設計軟件,體系結構,開發(fā)可重用,的軟件成分,中心庫,可重用軟件,成分/構件,領域,模型,結構,模型,系統(tǒng)分析,規(guī)格說明,與設計,建造,系統(tǒng)規(guī),格說明,分析與,設計模型,應用,軟件,用戶,需求,軟件工程,領域工程,重用的過程,模,模型,典型的重用,的,的過程模型,,,,描述了領,域,域工程與軟,件,件工程的關,系,系。,,,11.3.1 分析,過,過程,領域分析過,程,程基本上由,下,下述步驟組,成,成。,· 定義被,研,研究的領域,。,。,· 把從該,領,領域中抽取,出,出來的項分,類,類。,· 收集該,領,領域中有代,表,表性的應用,樣,樣本。,· 分析每,個,個應用樣本,。,。,· 開發(fā)對,象,象的分析模,型,型。,,,,領域分析是,對,對特定應用,領,領域中共同,的,的特征、知,識,識、需求的,標,標識、分析,和,和規(guī)約。領,域,域分析是特,定,定領域內軟,件,件重用的基,礎,礎,它的目,標,標就是:發(fā),現,現和挖掘在,特,特定領域內,可,可以被復用,的,的構件。領,域,域分析活動,中,中輸入和輸,出,出如圖所示,:,:,,領域分析,輸入信息,技術文獻,已有應用,專家經驗/建議,當前與未來的需,求,求,輸出信息,領域語言,復用標準,分類方法,功能/行為模型,領域分析的輸入,和,和輸出,,,領域分析(Domain Analysis),是,是對一類應用系,統(tǒng),統(tǒng)的共同應用領,域,域進行系統(tǒng)化分,析,析,以發(fā)現該領,域,域的共同知識、,需,需求及其應用系,統(tǒng),統(tǒng)的共同特征。,領域分析又稱領,域,域工程(Domain Engineering),是軟件工,程,程的發(fā)展與延伸,。,。,領域分析是一項,比,比系統(tǒng)分析更難,的,的工作。領域分,析,析方法可采用結,構,構化方法和面向,對,對象方法,而后,者,者將成為主流。,領域分析不是針,對,對某個特定的軟,件,件系統(tǒng),而是針,對,對一類軟件系統(tǒng),的,的共同的特征、,知,知識和需求,。,比需求分析更一,般,般、更抽象、更,廣,廣泛的特征。,,,11.3.2,領,領域特征,為了確定一個可,能,能可重用的軟件,成,成分在特定情況,下,下是否確實可以,被,被使用,有必要,定,定義一組領域特,征,征,這些特征是,該,該領域中所有軟,件,件共有的。領域,特,特征定義了該領,域,域中所有產品共,有,有的類屬屬性,,例,例如,安全(或,可,可靠性)的重要,性,性,程序設計語,言,言,處理中的并,發(fā),發(fā)性等。,一個可重用的軟,件,件成分的領域特,征,征集可以表示為,{,{D,P,},集合中每一,項,項D,Pi,表示一個特定的,領,領域特征。賦給D,Pi,的值表示等級,,它,它指出該特征與,軟,軟件成分P的相,關,關性。典型的等,級,級如下。,,,· 與重用是否,合,合適不相關。,· 僅在特殊情,況,況下才相關。,· 相關,但存,在,在差異無關緊要,,,,該軟件成分經,過,過修改后仍然可,以,以被使用。,· 明顯相關,,如,如果新軟件不具,有,有此特征,雖然,重,重用仍然是可能,的,的,但卻是低效,的,的。,· 很相關,如,果,果新軟件不具有,此,此特征,重用將,是,是非常低效的,,此,此時不推薦重用,。,。,當在該應用領域,中,中要開發(fā)一個新,軟,軟件w時,可以,為,為它導出一組領,域,域特征{D,w,},然后比較D,Pi,與D,wi,,以決定是否現,存,存的軟件成分P,可,可以在應用系統(tǒng)w中有效地重用,。,。,表11.1列出,了,了可能對軟件重,用,用有影響的典型,的,的領域特征,為,了,了有效地重用軟,件,件成分,必須考,慮,慮這些領域特征,。,。,,,,,即使待開發(fā)的軟,件,件明顯屬于某個,應,應用領域,對該,領,領域中可重用的,軟,軟件成分也必須,加,加以分析,以確,定,定它們在當前項,目,目中的可重用性,。,。在少數情況下,,,,從頭開發(fā)可能,仍,仍然是成本最低,的,的途徑。,11.3.3,結,結構建模和結,構,構點,每個應用領域都,可,可以用一個結構,模,模型來刻畫(例,如,如,不同飛行器,飛,飛行控制系統(tǒng)的,細,細節(jié)差別很大,,但,但是在該領域的,所,所有現代軟件都,具,具有相同的結構,模,模型),因此,,結,結構模型是一種,體,體系結構制品,,它,它可以也應該在,該,該領域內的所有,應,應用系統(tǒng)中被重,用,用。,,,11.4 開,發(fā),發(fā)可重用的構件,11.4.1,為,為了重用的分,析,析與設計,當開發(fā)一個新軟,件,件時,應該對描,述,述需求的分析模,型,型進行分析,以,發(fā),發(fā)現模型中那些,指,指向現有的可重,用,用的軟件成分的,元,元素。為此,應,該,該使用能夠導致,“,“規(guī)格說明匹配,”,”的方式從需求,模,模型中抽取信息,。,。,,,領域分析的結果,為,為構件的選取和,開,開發(fā)提供了指導,性,性的原則。除了,有,有領域分析作為,其,其基礎,構件開,發(fā),發(fā)還需要遵循一,定,定的設計概念和,原,原則。,構件應該具有,相,相當的一般性,和,和抽象性,能,夠,夠用于滿足一,類,類相似的需求,,,,一個過于特,殊,殊的構件是很,難,難被重復使用,的,的。即使一個,通,通用性很高的,構,構件也不可能,完,完全適應用戶,的,的需求和運行,環(huán),環(huán)境,所以在,一,一個構件被不,同,同的應用復用,時,時,對它的某,些,些部分進行修,改,改是不可避免,的,的。所以構件,開,開發(fā)時,需要,為,為用戶對構件,的,的調整和修改,留,留出余地。例,如,如繼承、參數,化,化、模板和宏,都,都是典型的提,高,高構件靈活性,和,和可調整性的,機,機制。,,,一個軟件只有,在,在多個系統(tǒng)中,被,被使用才可稱,為,為“可復用構,件,件”,必須具,備,備的條件:,(1)獨立性,解決一個相對,獨,獨立的問題,,或,或大問題中某,個,個相對獨立的,部,部分;,(2)完整性,提供較完整的,解,解決,不要遺,留,留很多缺口,,讓,讓復用者做大,量,量補充;,(3)可標識,性,性,構件所解決的,問,問題應該是可,標,標識的,可命,名,名,有簡要介,紹,紹,便于理解,和,和使用。,11.4.2可復用構件,,,(4)通用性,構件解決的問,題,題,應在同類,應,應用中具有一,般,般性;,(5)適應性,應用場合有某,些,些變化時,構,件,件仍是可用的,,,,使構件的某,些,些數據參數化,和,和數據類型參,數,數化;,(6)可靠性,要求構件對預,計,計將要使用它,的,的系統(tǒng)時可靠,的,的;,(7)標準化,可復用構件的,標,標準化對于軟,件,件復用是至關,重,重要的。,,,11.4.3,基,基于構件,的,的開發(fā),當重用在應用,系,系統(tǒng)開發(fā)中占,據,據主導地位時,,,,就把這樣的,開,開發(fā)方法稱為,基,基于構件的開,發(fā),發(fā)或構件軟件,。,。領域工程為,基,基于構件的開,發(fā),發(fā)提供了所需,要,要的可重用構,件,件庫,這些可,重,重用的構件中,的,的一部分是內,部,部開發(fā)的,另,一,一部分是從現,有,有的應用系統(tǒng),中,中抽取出來的,,,,還有一部分,是,是從第三方獲,取,取的。,但是,怎樣創(chuàng),建,建一個具有一,致,致結構的構件,的,的庫呢?答案,是,是,采用統(tǒng)一,的,的構件標準。,因為重用對軟,件,件產業(yè)有非常,巨,巨大的潛在影,響,響,主要的公,司,司和產業(yè)聯盟,已,已經提出了構,件,件軟件的一些,標,標準。,,,1. OpenDoc,主要技術公司(包括IBM,、,、Apple,和,和Novell)的一個聯,盟,盟,提出了復,合,合文檔和構件,軟,軟件的標準OpenDoc,。,。該標準定義,了,了為使一個開,發(fā),發(fā)者提供的構,件,件能夠和另一,個,個開發(fā)者提供,的,的構件互操作,,,,而必須實現,的,的服務、控制,基,基礎設施和體,系,系結構。,2O(jiān)MG/CORBA,對象管理組織(OMG)發(fā),布,布了公共對象,請,請求代理體系,結,結構(OMG/CORBA)。一個對象,請,請求代理(ORB)提供了,一,一系列服務,,這,這些服務使得,可,可重用的構件(對象)能夠,與,與其他構件通,信,信,而不管它,們,們在系統(tǒng)中位,于,于何處。當應,用,用OMG/CORBA標準,建,建立構件時,,可,可以保證這些,構,構件無需修改,就,就能集成到一,個,個系統(tǒng)中。,,,以客戶/服務,器,器結構為例,,在,在客戶端應用,系,系統(tǒng)中的對象,可,可以向ORB,服,服務器請求一,個,個或多個服務,。,。對象請求代,理,理(ORB),是,是一個中間件,構,構件,通過它,駐,駐留在客戶端,的,的對象可以向,駐,駐留在服務器,上,上的對象發(fā)送,消,消息,請求提,供,供服務。在客,戶,戶和服務器兩,端,端的對象和類,都,都用接口描述,語,語言(IDL)定義。為了,適,適應客戶端對,象,象對服務器端,方,方法的請求,,需,需要創(chuàng)建客戶,和,和服務器的IDL存根(stub),它,提,提供了一條通,路,路,通過這條,通,通路可滿足跨,越,越客戶/服務,器,器系統(tǒng)的對象,的,的請求。,由于對跨越網,絡,絡的對象的請,求,求在運行時發(fā),生,生,因此必須,建,建立存儲對象,描,描述的機制,,以,以便在需要時,可,可以獲得關于,對,對象及其位置,的,的信息,接口,倉,倉庫提供了這,種,種機制。,,,3. COM,,,Microsoft公司開,發(fā),發(fā)了構件對象,模,模型(COM),它提供了,為,為在一個應用,系,系統(tǒng)中使用不,同,同廠商生產的,對,對象而需要的,規(guī),規(guī)格說明。,COM的核心,是,是一組應用程,序,序調用接口API,該接口,提,提供了創(chuàng)建構,件,件和組裝構件,的,的功能。COM標準具有下,述,述特點。,· 構件間的,互,互操作基于指,針,針,依賴于操,作,作系統(tǒng)的API。,· 對Windows的依,賴,賴性強,對其,他,他操作系統(tǒng)的,支,支持相對不足,。,。,· 構件運行,環(huán),環(huán)境的提供者,僅,僅限于Microsoft,公,公司,但支持COM標準的,開,開發(fā)工具比較,多,多(例如,VC++、VB,等,等)。,對象連接與嵌,入,入(OLE),是,是COM的一,部,部分,其定義,了,了可重用構件,的,的標準結構。OLE已經成,為,為Microsoft操作,系,系統(tǒng)(例如,Windows98,WindowsNT)的一部,分,分。,,,4. JavaBean,JavaBean構件實現,標,標準由Sun,公,公司在Java語言的基礎,上,上提出。由于Java是一,種,種純面向對象,語,語言,因此JavaBean標準比較簡,潔,潔、完備。JavaBean具有下述特,點,點。,· 構件模型,比,比較完備。,· 僅支持Java語言。,,,· 構件運行,環(huán),環(huán)境主要由Sun公司提供,,,,其他廠商也,可,可提供運行環(huán),境,境,支持該標,準,準的開發(fā)工具,較,較多(例如,VisualCafe,VisualAge for Java等)。,,,基于構件的軟,件,件工程與傳統(tǒng),的,的或面向對象,的,的軟件工程相,比,比,有顯著的,差,差異。,它不是針對某,個,個特定的軟件,系,系統(tǒng),而是針,對,對一類軟件系,統(tǒng),統(tǒng)的共同的特,征,征、知識和需,求,求。,基于構件的軟,件,件的開發(fā)過程,包,包括兩個并發(fā),的,的子過程,一,個,個是領域工程,,,,另一個是基,于,于構件的開發(fā),。,。領域工程完,成,成一組可復用,構,構件的標示、,構,構造、分類和,傳,傳播;基于構,件,件的開發(fā)完成,使,使用可復用構,件,件構造新的軟,件,件系統(tǒng)。,,,基于構件/構,架,架的軟件開發(fā),方,方式,,,基于構件的開,發(fā),發(fā)是使用可復,用,用構件組裝開,發(fā),發(fā)新的應用系,統(tǒng),統(tǒng)。,一、開發(fā)過程,1、,構件的鑒定,構件的鑒定是,對,對打算用于軟,件,件開發(fā)的構件,能,能否滿足應用,的,的需要,達到,應,應用所需要的,性,性能、可靠性,、,、質量的保證,進,進行相應的考,察,察。,2、,構件的調整,通常在將構件,復,復用到應用中,時,時,構件需要,進,進行必要的調,整,整和修改才能,適,適應應用的需,要,要。,3、,構件的組裝,構件的組裝是,將,將經過鑒定和,調,調整以后的構,件,件組裝到應用,系,系統(tǒng)中。通常,為,為了達到此目,的,的,還必須建,一,一個基礎設施,提,提供構件協(xié)同,的,的模型和使構,件,件能夠交互并,完,完成共同任務,的,的的特定服務,。,。,,,基于構件的軟,件,件開發(fā)特點,1、開發(fā)的質,量,量,基于構件的軟,件,件開發(fā)的一個,明,明顯的優(yōu)點就,是,是提高了軟件,的,的質量。,可復用的構件,在,在開發(fā)過程中,,,,都經過嚴格,的,的測試。,,2、開發(fā)的效,率,率,,3、開發(fā)的成,本,本,,,11.5,分,分類和檢索構,件,件,11.5.1,描,描述可重,用,用的構件,可以用很多種,方,方式描述可重,用,用的軟件構件,,,,但是一種理,想,想的描述方式,是,是Tracz,提,提出的3C模,型,型——概念(concept)、內容(content)和語境(context)。,軟件構件的“,概,概念”是對構,件,件做什么的描,述,述,應該完整,地,地描述構件的,接,接口,并在前,置,置條件和后置,條,條件的語境中,標,標識構件的語,義,義。概念應該,表,表達出構件的,意,意圖。,,,,構件的“內容,”,”描述實現概,念,念的方法。本,質,質上,內容是,對,對一般用戶隱,藏,藏的信息,只,有,有那些打算修,改,改該構件的人,才,才需要知道這,些,些信息。,“語境”把可,重,重用的軟件構,件,件置于其應用,領,領域中,也就,是,是說,通過指,定,定概念的、操,作,作的和實現的,特,特征,語境使,得,得軟件工程師,能,能夠找到適當,的,的構件以滿足,應,應用需求。,為了能夠在實,際,際環(huán)境中應用,,,,必須把概念,、,、內容和語境,轉,轉換成具體的,規(guī),規(guī)格說明模式,。,。人們對可重,用,用的軟件構件,的,的分類模式已,經,經做過許多研,究,究,所提出的,方,方法可分為三,大,大類:圖書館,和,和信息科學方,法,法、人工智能,方,方法以及超文,本,本系統(tǒng)。到目,前,前為止,絕大,部,部分研究工作,建,建議使用圖書,館,館科學方法對,構,構件分類。,,,圖11.3,源,源于圖書館,科,科學索引,法的分類法,,,1. 枚舉分,類,類(EnumeratedClassification),通過定義一個,層,層次結構來描,述,述構件,在該,結,結構中定義軟,件,件構件的類以,及,及子類的不同,層,層次。把,實際的構件羅,列,列在枚舉層次,的,的適當路徑的,最,最低層。,2. 刻面分,類,類(Faceted Classification),分析應用領域,并,并標識出一組,基,基本的描述特,征,征,這些特征,稱,稱為刻面。然,后,后,根據重要,性,性確定刻面的,優(yōu),優(yōu)先次序并把,它,它們與構件聯,系,系起來??堂?可,可以描述構件,完,完成的功能、,加,加工的數據、,應,應用構件的語,境,境以及任何其,他,他特征。描述,一,一個構件的刻,面,面的集合稱為,刻,刻面描述表,,通,通常,限定刻,面,面描述不超過7或8個刻面,。,。,,,作為,在,在構,件,件分,類,類中,使,使用,刻,刻面,的,的一,個,個簡,單,單例,子,子,,考,考慮,使,使用,下,下述,刻,刻面,描,描述,表,表的,模,模式,:,:,{function,objecttype,systemtype},,,刻面,描,描述,表,表中,的,的每,個,個刻,面,面可,以,以取,一,一個,或,或多,個,個值,,,,這,些,些值,通,通常,是,是描,述,述性,的,的關,鍵,鍵詞,,,,例,如,如,,如,如果,function(功,能,能),是,是構,件,件的,一,一個,刻,刻面,,,,賦,給,給此,刻,刻面,的,的典,型,型值,可,可能,是,是:,,,function=(copy,from)or(copy,replace,all),使,使,用,用多,個,個刻,面,面值,可,可以,使,使得,基,基本,功,功能copy,被,被更,充,充分,地,地細,化,化,,,把關,鍵,鍵詞(值)賦,給,給重,用,用庫,中,中每,個,個構,件,件的,刻,刻面,集,集。,當,當軟,件,件工,程,程師,在,在設,計,計過,程,程中,希,希望,從,從構,件,件庫,中,中找,到,到可,重,重用,的,的構,件,件時,,,,他,應,應該,指,指定,一,一系,列,列希,望,望有,的,的值,并,并搜,索,索構,件,件庫,以,以查,找,找匹,配,配的,構,構件,。,。可,以,以使,用,用自,動,動工,具,具完,成,成同,義,義詞,詞,詞典,功,功能,,,,從,而,而不,僅,僅搜,索,索軟,件,件工,程,程師,指,指定,的,的關,鍵,鍵詞,,,,而,且,且也,搜,搜索,這,這些,關,關鍵,詞,詞的,技,技術,同,同義,詞,詞。,,,刻面,分,分類,模,模式,使,使得,領,領域,工,工程,師,師在,指,指定,構,構件,的,的復,雜,雜描,述,述表,時,時擁,有,有更,大,大的,靈,靈活,性,性,,因,因為,可,可以,很,很容,易地,加,加入,新,新的,刻,刻面,值,值,,因,因此,,,,刻,面,面分,類,類模,式,式比,枚,枚舉,分,分類,法,法更,易,易于,擴,擴充,和,和進,行,行適,應,應性,修,修改,。,。,,,3.,屬,屬,性,性—,值,值分,類,類(,Attribute-ValueClassification,),這種,分,分類,法,法要,求,求,,為,為一,個,個領,域,域中,的,的所,有,有構,件,件定,義,義一,組,組屬,性,性,,然,然后,用,用與,刻,刻面,分,分類,法,法非,常,常相,似,似的,方,方式,給,給這,些,些屬,性,性賦,值,值。,事,事實,上,上,,屬,屬性,—,—值,分,分類,法,法與,刻,刻面,分,分類,法,法相,似,似,,只,只有,以,以下,幾,幾點,不,不同,:,:①,對,對可,用,用的,屬,屬性,個,個數,沒,沒有,限,限制,;,;②,屬,屬性,沒,沒有,優(yōu),優(yōu)先,級,級;,③,③不,使,使用,同,同義,詞,詞詞,典,典功,能,能。,,,對上述分類方法,的,的實驗研究表明,,,,沒有明顯“最,好,好”的技術,而,且,且各種方法在查,找,找效果方面都大,致,致相同??磥恚?對,對重用庫有效分,類,類模式的研究,,仍,仍有許多工作要,做,做。,,,11.5.2,重,重用環(huán)境,軟件構件重用必,須,須由相應的環(huán)境,來,來支持,環(huán)境應,包,包含下述元素。,,,· 構件庫,用,于,于存儲軟件構件,和,和檢索構件所需,要,要的分類信息。,,,· 庫管理系統(tǒng),,,,用于管理對構,件,件庫的訪問。,· 軟件構件檢,索,索系統(tǒng)(例如,,對,對象請求代理),,,,通過它客戶應,用,用系統(tǒng)可以從庫,服,服務器中檢索構,件,件和服務。,· CASE工,具,具,幫助把重用,的,的構件集成到新,設,設計或實現中。,,,,,上述每個功能都,可,可以嵌入到重用,庫,庫中。重用庫是,更,更大型的CASE倉庫的一個組,成,成元素,其為存,儲,儲各種各樣的可,重,重用的軟件成分(例如,規(guī)格說,明,明、設計、代碼,、,、測試用例和用,戶,戶指南)提供必,要,要的設施。重用,庫,庫包括一個數據,庫,庫和一些工具,,這,這些工具是查詢,數,數據庫以及從庫,中,中檢索構件所必,需,需的,構件分類,模,模式(見11.5.1節(jié))是庫,查,查詢的基礎。,查詢通常用前述,的,的3C模型中的,語,語境元素來刻畫,,,,如果一次初始,查,查詢得到大量的,候,候選構件,則對,查,查詢求精以減少,候,候選對象。在找,到,到候選構件以后,,,,抽取出概念信,息,息和內容信息,,以,以幫助開發(fā)者選,取,取合適的構件。,,,,,11.5.3構,件,件檢索,構件庫中檢索一,個,個構件和在數據,庫,庫中檢索一個記,錄,錄是不同的。,構件庫檢索的不,確,確定性帶來兩種,相,相互矛盾的結果,:,:檢索的結果可,能,能是一個較大的,構,構件集合,要從,中,中找到所需的構,件,件仍然很費力;,檢,檢索得到的集合,沒,沒有把真正需要,的,的構件包括在內,。,。,解決方法:,(一)一般構件,庫,庫系統(tǒng)能對提出,的,的檢索條件作廣,義,義解釋。,建立同義詞對照,表,表,例如“商品,銷,銷售”、“售貨,”,”、“賣貨”看,作,作一組同義詞;,建立近意詞對照,表,表,例如把“商,業(yè),業(yè)”、“商場”,、,、“連鎖店”看,作,作一組近意詞。,系統(tǒng)首先匹配同,義,義詞,再匹配近,意,意詞,都可以被,包,包括到廣義結果,集,集合中。,,,(二)使檢索得,到,到的構件集合盡,可,可能不包括對用,戶,戶無用的構件。,增加更多的刻面,與,與構件屬性:較,多,多的刻面和屬性,值,值,將得到更小,的,的子集合文集,,減,減輕最終發(fā)現和,確,確認所需構件的,難,難度;,建立構件關鍵詞,:,:根據構件內容,提,提煉關鍵詞,如,同,同學術論文的關,鍵,鍵詞,反映有關,構,構件內容的一些,主,主要信息。,例如,找功能構,件,件的關鍵詞有“,壓,壓入”、“彈出,”,”、“后進先出,”,”等等。如果通,過,過刻面和構件屬,性,性得到的構件子,集,集較大,可用關,鍵,鍵詞作進一步的,檢,檢索,以縮小搜,索,索范圍。,,改進構件檢索的,其,其它措施:,(1)記錄用戶,使,使用構件庫的經,驗,驗,并根據這些,經,經驗改經構件檢,索,索系統(tǒng);,(2)對每個構,件,件給出一段文字,的,的簡要介紹;,(3)提供較強,的,的人機對話功能,;,;,(4)引導用戶,對,對自己需求的表,達,達不斷精化。,,,11.6 軟,件,件重用的效益,近幾年來軟件產,業(yè),業(yè)界的實例研究,表,表明,通過積極,的,的軟件重用能夠,獲,獲得可觀的商業(yè),效,效益,產品質量,、,、開發(fā)生產率和,整,整體成本都得到,了,了改善。,1. 質量,理想情況下,為,了,了重用而開發(fā)的,軟,軟件構件已被證,明,明是正確的,且,沒,沒有缺陷。事實,上,上,并不能定期,進,進行形式化驗證,,,,錯誤可能而且,也,也確實存在。但,是,是,隨著每一次,重,重用,都會有一,些,些錯誤被發(fā)現并,被,被清除,構件的,質,質量也會隨之改,善,善。隨著時間的,推,推移,構件將變,成,成實質上無錯誤,的,的。,,,2. 生產率,當把可重用的軟,件,件成分應用于軟,件,件開發(fā)的全過程,時,時,創(chuàng)建計劃、,模,模型、文檔、代,碼,碼和數據所需花,費,費的時間將減少,,,,從而將用較少,的,的投入給客戶提,供,供相同級別的產,品,品,因此,生產,率,率得到了提高。,3. 成本,軟件重用帶來的,凈,凈成本節(jié)省可以,用,用下式估算:,C=C,s,-C,r,-C,d,,其中,,C,s,是項目從頭開發(fā)(沒有重用)時,所,所需要的成本;,C,r,是與重用相關聯,的,的成本;,C,d,是交付給客戶的,軟,軟件的實際成本,。,。,,,可以使用本書第10章講述的技,術,術來估算C,s,,而與重用相關,聯,聯的成本C,r,主要包括下述成,本,本:,· 領域分析與,建,建模的成本;,· 設計領域體,系,系結構的成本;,,,· 為便于重用,而,而增加的文檔的,成,成本;,· 維護和完善,可,可重用的軟件成,分,分的成本;,· 為從外部獲,取,取構件所付出的,版,版稅和許可證費,;,;,· 創(chuàng)建(或購,買,買)及運行重用,庫,庫的費用;,· 對設計和實,現,現可重用構件的,人,人員的培訓費用,。,。,雖然和領域分析,及,及運行重用庫相,關,關聯的成本可能,相,相當高,但是它,們,們可以由許多項,目,目分攤。上面列,出,出的很多其他成,本,本所解決的問題,,,,實際上是良好,軟,軟件工程實踐的,一,一部分,不管是,否,否優(yōu)先考慮重用,,,,這些問題都應,該,該解決。,,,11.7 小,結,結,軟件重用是降低,軟,軟件整體成本、,提,提高軟件質量和,開,開發(fā)生產率的合,理,理而且有效的途,徑,徑。,可重用的軟件成,分,分包括軟件的技,術,術表示(例如,,規(guī),規(guī)格說明、體系,結,結構模型、設計,和,和代碼)、文檔,、,、測試數據,甚,至,至還包括與過程,相,相關的任務(例,如,如,審查技術),。,。,,,重用過程包括兩,個,個并發(fā)的子過程,:,:領域工程和軟,件,件工程。領域工,程,程的目的是在特,定,定的應用領域中,標,標識、構造、分,類,類和傳播一組軟,件,件成分。然后,,軟,軟件工程在開發(fā),新,新系統(tǒng)的過程中,選,選取適當的軟件,成,成分供重用。,分析和設計可重,用,用構件的技術,,使,使用與良好的軟,件,件工程實踐中使,用,用的相同的概念,和,和原理。可重用,構,構件應該在這樣,一,一個環(huán)境中設計,,,,該環(huán)境為每個,應,應用領域建立標,準,準的數據結構、,接,接口協(xié)議和程序,體,體系結構。,,,基于構件的開發(fā),使,使用數據交換模,型,型、自動化工具,、,、結構化存儲以,及,及底層對象模型,,,,以利用已有的,構,構件來構造應用,系,系統(tǒng)。對象模型,通,通常遵守一個或,多,多個構件標準(,例,例如,OMG/CORBA),,構,構件標準定義了,應,應用系統(tǒng)訪問可,重,重用對象的方式,。,。,軟件構件的分類,模,模式使得開發(fā)者,能,能夠發(fā)現和檢索,可,可重用的構件,,這,這些分類模式遵,照,照明確標識概念,、,、內容和語境的3C模型。枚舉,分,分類、刻面分類,和,和屬性—值分類,是,是眾多構件分類,模,模式中的典型代,表,表。,,,

注意事項

本文(軟件工程導論第11章軟件重用)為本站會員(付****f)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲