




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第11章第八章基于構件的軟件工程基于構件的軟件工程第11章基于構件件的軟件件工程1111.1軟軟件復用用的基本本概念11.3構件件的開發發與構件件庫11.2軟件件構件與與構件工工程11.1軟軟件復用用的基本本概念軟件復用用就是將將已有的的軟件成成分用于于構造新新的軟件件系統,,以達到提提高軟件件系統的的開發質質量與效效率,降降低開發發成本的的目的。。可復用的的軟件成成分—可可復用構構件(ReusableComponent))可從舊舊軟件中中提取,,也可以以專門為為復用而而開發。。軟件復用用不僅是是對程序序的復用用,它包包括對軟軟件生產產過程中中任何活活動所產產生的制制成品的的復用。。如:項項目計劃劃、可行行性報告告、需求求定義、、分析模模型、詳詳細說明明、源程程序和測測試用例例等等。。11.1軟軟件復用用的基本本概念代碼的復用設計結果的復用分析結果的復用測試信息的復用
高抽象程度
低11.1.1軟件復用用的級別別包括目標標代碼,,也包括括文本形形式的源源代碼。。受實際環環境影響響小,可可復用機機會多,,所需修修改少。。可被復用用的分析析結果是是針對問問題域的的某些事事物或某某些問題題的抽象象程度更更高的解解法。主要包括括測試用用例(testcase))的復用和和測試過過程信息息的復用用。三種方式式復用::從現有系系統的分分析結果果中提取取可復用用構件用用于新系系統的分分析;用一份完完整的分分析文檔檔作為輸輸入,成成生針對對不通軟軟硬件平平臺和其其它實現現條件的的多項設設計;獨立于具具體應用用,專門門開發一一些可復復用的分分析構件件。11.1.1軟件復用用的級別別軟件生產產過程主主要是正正向過程程,即軟軟件產品品從抽象象級別較較高的形形態向抽抽象級別別較低的的形態演演化,所所以較高高級別的的復用容容易帶動動較低級級別的復復用,反反之則不不然。復用級別別越高,,可得到到的回報報也越大大,因此此分析軟軟件(AnalysisWare)和設計軟軟件(DesignWare)的復用備備受重視視。軟件復用用的優點點:(1)提提高軟件件生產率率,降低低軟件生生產代價價;(2)提提高軟件件質量;;(3)互互操作性性好;(4)推推動標準準化;(5)支支持原型型開發。。11.1.1軟件復用用的級別別11.1.2軟件復用用的形式式一、按照照重用活活動所跨跨越的應應用領域域的類型型分1、橫向向復用((horizontalreuse)也稱為水水平復用用,是指指復用活活動的范范圍跨越越了幾個個不同的的應用領領域,復復用的軟軟件產品品主要包包括數據據結構、、通用算算法、人人機界面面等軟件件元素。。2、縱向向復用((verticalreuse)也稱為垂垂直復用用,是指指復用活活動的范范圍限制制在同一一個應用用領域或或者是一一類具有有較多共共性的應應用領域域內。11.1.2軟軟件復復用的形形式二、基于于軟件復復用的軟軟件開發發過程的的角度分1、生產產者復用用(productreuse)指建立、、獲取或或者重新新設計可可復用構構件的活活動。涉涉及到的的活動包包括:復復用的規規劃、領領域分析析、構件件的開發發、構件件庫的組組織和管管理。2、消費費者復用用(consumerreuse)指使用可可復用的的構件建建立新的的系統的的活動。。涉及到到的活動動包括::應用系系統的規規劃、構構件的檢檢索和選選擇、應應用系統統中非復復用部分分的開發發、應用用系統的的組裝。。11.1.2軟軟件復復用的形形式建立構件組裝應用
生產者復用消費者復用(為復用開發構件)(使用構件開發應用)圖11.1生產者復用與消費者復用復用具有有許多明明顯的優優點,但但目前應應用不廣廣泛的主主要原因因是:(1)技技術因素素構件與應應用系統統之間的的差異;;構件要達達到一定定的規模模,才能能支持有有效的復復用;發現合用用構件的的困難;;基于復用用的軟件件開發方方法和軟軟件過程程需要一一些新的的理論、、技術及及支持環環境。11.1.3軟軟件復用的困困難(2)人人的因素素喜歡自己己創造而而不喜歡歡使用別別人的東東西。(4)教教育因素素軟件科學學技術的的教育與與培訓中中,缺乏乏關于軟軟件復用用的內容容,缺少少專門教教材和課課程。(3)管管理因素素把復用構構件和一一般軟件件構件同同等看待待,把復復用看作作可有可可無的事事。11.1.3軟軟件復復用的困困難11.2軟件件構件與與構件工工程基于軟件件構件的的軟件工工程也稱稱為構件件工程,是以面面向對象象的方法法為基礎礎,實現現軟件重重用,構構造新系系統的過過程。為了實現現軟件重重用,基于軟件件構件的的軟件工工程強調調領域工工程與軟軟件工程程同時進進行。領域工程程創建應應用領域域的模型型,標識識、構造造、分類類和傳播播一組可可重用的的軟件。。軟件工程程師則在在軟件開開發過程程中重用用它們。。圖11.2給給出了一一個典型型的重用用的過程程模型,,描述了了領域工工程與軟軟件工程程的關系系。11.2軟件件構件與與構件工工程圖2領域分析設計軟件體系結構開發可重用的軟件成分中心庫可重用軟件成分/構件領域模型結構模型系統分析規格說明與設計建造系統規格說明分析與設計模型應用軟件用戶需求軟件工程領域工程圖11..2重用的過過程模型型11.2軟件件構件與與構件工工程一個軟件件只有在在多個系系統中被被使用才才可稱為為“可復復用構件件”,必必須具備備的條件件:(1)獨獨立性解決一個個相對獨獨立的問問題,或或大問題題中某個個相對獨獨立的部部分;(2)完完整性提供較完完整的解解決,不不要遺留留很多缺缺口,讓讓復用者者做大量量補充;;(3)可可標識性性構件所解解決的問問題應該該是可標標識的,,可命名名,有簡簡要介紹紹,便于于理解和和使用。。(4)通用性構件解決決的問題題,應在在同類應應用中具具有一般般性;(5)適應性應用場合合有某些些變化時時,構件件仍是可可用的,,使構件件的某些些數據參參數化和和數據類類型參數數化;(11))可靠性要求構件件對預計計將要使使用它的的系統時時可靠的的;(7)標準化可復用構構件的標標準化對對于軟件件復用是是至關重重要的。。11.2.1可復用構構件11.2.1可復用構構件11.2.2基基于構構件的軟軟件工程程基于構件件的軟件件工程與與傳統的的或面向向對象的的軟件工工程相比比,有顯顯著的差差異。它不是針針對某個個特定的的軟件系系統,而而是針對對一類軟軟件系統統的共同同的特征征、知識識和需求求。基于構件件的軟件件的開發發過程包包括兩個個并發的的子過程程,一個個是領域域工程,,另一個個是基于于構件的的開發。。領域工工程完成成一組可可復用構構件的標標示、構構造、分分類和傳傳播;基基于構件件的開發發完成使使用可復復用構件件構造新新的軟件件系統。。8.2..2基基于構件件的軟件件工程領域分析析是對特特定應用用領域中中共同的的特征、、知識、、需求的的標識、、分析和和規約。。領域分分析是特特定領域域內軟件件重用的的基礎,,它的目目標就是是:發現現和挖掘掘在特定定領域內內可以被被復用的的構件。。領域分分析活動動中輸入入和輸出出如圖11.33所示::11.2.3領領域分分析領域分析析輸入信息息技術文獻獻已有應用用專家經驗驗/建議議當前與未未來的需需求輸出信息息領域語言言復用標準準分類方法法功能/行行為模型型圖11..3領領域分析析的輸入入和輸出出領域分析析不是針針對某個個特定的的軟件系系統,而而是針對對一類軟軟件系統統的共同同的特征征、知識識和需求求。比需求分分析更一一般、更更抽象、、更廣泛泛的特征征。11.2.3領領域分分析領域分析析(DomainAnalysis))是對一類類應用系系統的共共同應用用領域進進行系統統化分析析,以發發現該領領域的共共同知識識、需求求及其應應用系統統的共同同特征。。領域分析析又稱作作領域工工程(DomainEngineering)),是軟件工工程的發發展與延延伸。領域分析析是一項項比系統統分析更更難的工工作。領領域分析析方法可可采用結結構化方方法和面面向對象象方法,,而后者者將成為為主流。。11.2.3領領域分分析11.3構件件的開發發與構件件庫構件的開開發領域分析析的結果果為構件件的選取取和開發發提供了了指導性性的原則則。除了了有領域域分析作作為其基基礎,構構件開發發還需要要遵循一一定的設設計概念念和原則則。構件應該該具有相相當的一一般性和和抽象性性,能夠夠用于滿滿足一類類相似的的需求,,一個過過于特殊殊的構件件是很難難被重復復使用的的。即使使一個通通用性很很高的構構件也不不可能完完全適應應用戶的的需求和和運行環環境,所所以在一一個構件件被不同同的應用用復用時時,對它它的某些些部分進進行修改改是不可可避免的的。所以以構件開開發時,,需要為為用戶對對構件的的調整和和修改留留出余地地。例如如繼承、、參數化化、模板板和宏都都是典型型的提高高構件靈靈活性和和可調整整性的機機制。11.3構件件的開發發與構件件庫11.3.1構構件庫庫構件庫(ComponentLibrary))用于對可可復用構構件進行行存儲和和管理。。它是支支持軟件件復用的的必要設設施。構構件庫必必須有大大量的可可復用構構件。構件庫系系統應提提供的主主要功能能:構件件的存儲儲、管理理、檢索索以及庫庫的瀏覽覽與維護護等。關鍵是支支持使用用者高效效而準確確地發現現所需的的可復用用構件。。相關的的主要技技術是分分類方法法和檢索索方法。。支持方便便的、友友好的用用戶管理理和使用用界面。。構件分類類構件檢索索涉及兩個個基本問問題:11.3.1構構件庫庫大多數的的構件分分類模式式可以歸歸納為以以下三種種類型::(1)枚枚舉分類類通過定義義一個層層次結構構來對構構件進行行分類。。構件庫庫中的可可復用構構件按照照某種標標準被分分成了若若干個大大類,而而每個大大類中的的構件再再被劃分分成若干干個小類類,依此此類推,,這樣就就形成了了一個構構件分類類的層次次結構,,圖形用戶界面類窗口類菜單類圖形窗口構件文字窗口構件系統菜單構件彈出式菜單構件普通菜單構件圖11..4枚舉分類類的層次次結構11.3.2構件的分分類11.3.2構件的分分類(2)刻刻面分類類一個刻面面描述構構件某一一個方面面的特征征。刻面面分類則則是從不不同的側側面對構構件進行行分類,,每一種種分類方方式稱為為一個刻刻面。不不同的刻刻面根據據其重要要性可以以設置不不同的優優先級。。刻面應用領域對象功能編程語言刻面值圖形用戶界面編程菜單動態修改菜單項JAVA對構件的的每個刻刻面賦予予相應的的值,用用以描述述該構件件。刻面面分類具具有較好好的靈活活性,易易于加入入新的刻刻面值,,因此刻刻面分類類比枚舉舉分類更更易于擴擴展和修修改。該方法首首先是為為構件庫庫中的所所有構件件定義一一組屬性性,并賦賦予相應應的屬性性值。開開發人員員通過指指定一組組屬性值值在構件件庫中對對構件進進行檢索索。11.3.2構件的分分類刻面分類類法(FacetedClassification):支持多重重觀點對對構件進進行分類類,例如如從構件件的應用用領域、、構件所所描述的的對象、、構件的的觀點和和編程語語言等不不同的方方式來分分類。每一種分分類方式式稱為一一個刻面面。每個刻面面把構件件集合劃劃分為一一個子集集,各刻刻面所劃劃分的子子集形成成一些較較小的交交集。一個構件件對每個個每個刻刻面有一一個刻面面值,例例如:應用領域域=計計算機機繪圖對對象象=橢橢圓功能==彩色色填充,,編編程語言言=C++11.3.2構件的分分類檢索一個個構件時時,給出出一組刻刻面值,,將確定定一組子子集合,,構件應應該在這這些子結結合的交交集中,,從其中中確認所所需的構構件就比比較容易易。構件可用用屬性描描述,例例如構件件類型、、開發單單位、作作者、提提交日期期等屬性性。檢索索時通過過構件的的屬性可可以縮小小搜索范范圍。刻面和屬屬性都不不涉及構構件內部部實現,,只是為為了便于于構件的的管理、、檢索和和使用。。如果把把構件比比作一只只箱子,,其內容容如同箱箱子中裝裝的東西西,刻面面和屬性性則如同同箱子外外邊的標標簽。刻面分類類法可以以看作層層次分類類法的擴擴充。11.3.2構件的分分類(3)屬屬性-值值分類該方法首首先是為為構件庫庫中的所所有構件件定義一一組屬性性,并賦賦予相應應的屬性性值。開開發人員員通過指指定一組組屬性值值在構件件庫中對對構件進進行檢索索。該分類方方法與刻刻面分類類方法有有幾點不不同之處處:屬性的數數量沒有有限制,,而刻面面描述一一般限制制在7或或8個刻刻面;屬性沒有有優先級級,而刻刻面根據據其重要要程度,,有相應應的優先先級;11.3.2構件的分分類構件庫中中檢索一一個構件件和在數數據庫中中檢索一一個記錄錄是不同同的。構件庫檢檢索的不不確定性性帶來兩兩種相互互矛盾的的結果::檢索的的結果可可能是一一個較大大的構件件集合,,要從中中找到所所需的構構件仍然然很費力力;檢索索得到的的集合沒沒有把真真正需要要的構件件包括在在內。解決方法法:(一)一一般構件件庫系統統能對提提出的檢檢索條件件作廣義義解釋。。建立同義義詞對照照表,例例如“商商品銷售售”、““售貨””、“賣賣貨”看看作一組組同義詞詞;建立近意意詞對照照表,例例如把““商業””、“商商場”、、“連鎖鎖店”看看作一組組近意詞詞。系統首先先匹配同同義詞,,再匹配配近意詞詞,都可可以被包包括到廣廣義結果果集合中中。11.3.3構件檢索索11.3.3構件檢索索(二)使使檢索得得到的構構件集合合盡可能能不包括括對用戶戶無用的的構件。。增加更多多的刻面面與構件件屬性::較多的的刻面和和屬性值值,將得得到更小小的子集集合文集集,減輕輕最終發發現和確確認所需需構件的的難度;;建立構件件關鍵詞詞:根據據構件內內容提煉煉關鍵詞詞,如同同學術論論文的關關鍵詞,,反映有有關構件件內容的的一些主主要信息息。例如,找找功能構構件的關關鍵詞有有“壓入入”、““彈出””、“后后進先出出”等等等。如果果通過刻刻面和構構件屬性性得到的的構件子子集較大大,可用用關鍵詞詞作進一一步的檢檢索,以以縮小搜搜索范圍圍。改進構件件檢索的的其它措措施:(1)記記錄用戶戶使用構構件庫的的經驗,,并根據據這些經經驗改經經構件檢檢索系統統;(2)對對每個構構件給出出一段文文字的簡簡要介紹紹;(3)提提供較強強的人機機對話功功能;(4)引引導用戶戶對自己己需求的的表達不不斷精化化。11.3.3構件檢索索11.3.4基基于構構件的開開發11.3.4基基于于構件的的開發基于構件件的開發發是使用用可復用用構件組組裝開發發新的應應用系統統。一、開發發過程1、構件的鑒鑒定構件的鑒鑒定是對對打算用用于軟件件開發的的構件能能否滿足足應用的的需要,,達到應應用所需需要的性性能、可可靠性、、質量的的保證進進行相應應的考察察。2、構件的調調整通常在將將構件復復用到應應用中時時,構件件需要進進行必要要的調整整和修改改才能適適應應用用的需要要。3、構件的組組裝構件的組組裝是將將經過鑒鑒定和調調整以后后的構件件組裝到到應用系系統中。。通常為為了達到到此目的的,還必必須建一一個基礎礎設施提提供構件件協同的的模型和和使構件件能夠交交互并完完成共同同任務的的的特定定服務。。二、基于于構件的的軟件開開發特點點1、開發發的質量量基于構件件的軟件件開發的的一個明明顯的優優點就是是提高了了軟件的的質量。。可復用的的構件在在開發過過程中,,都經過過嚴格的的測試。。118..3.4基于于構件的的開發11.3.5可可復用用的軟件件構架在同一個個領域的的應用系系統之間間,不但但可以找找到其共共同的軟軟件構件件,而且且可以發發現共同同的或相相似的軟軟件體系系結構((SoftwareArchitecture)。專向領域域的復用用開拓了了一種新新的復用用境界,,被復用用的不僅僅是可實實現某種種局部功功能的軟軟件構件件,而且且可以是是一些形形成系統統總體結結構,并并把各個個可復用用構件連連接到一一起的軟軟件構架架(SoftwareFramework)。電子產品品的主電電路板可可看成該該產品可可復用的的構架,,它把許許多可復復用的電電子器件件連接在在一起。。軟件構架架是一種種由特定定領域的的軟件體體系結構構所決定定的軟件件構造框框架。
11.3.5可可復用用的軟件件構架軟件構架架不是解解決軟件件的某個個局部問問題,而而是描述述了軟件件的總體體結構。。它描述述了一類類軟件的的總體構構成情況況,包括括該軟件件有哪些些主要部部件以及及各部件件之間的的關系,,但是不不涉及每每個部件件的細節節。可復用的的軟件構構架給出出一類應應用系統統在總體體構造上上的共性性或相似似性,忽忽略了各各個系統統的局部部差異。。例如,一一個超級級市場的的銷售管管理系統統的軟件件構架,,它包括括的類有有收款機機、商品品一覽表表、商品品、供貨貨員、銷銷售事件件、帳冊冊和上級級系統接接口等。。它只表表明一般般情況下下系統應應由哪些些類構成成,并指指出這些些類之間間的關系系。但沒沒有定義義每個類類,在每每個具體體情況的的系統中中,各個個類的內內部特征征可能是不不同的。。
11.3.5可可復用用的軟件件構架在使用這這個軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025初三升高一數學暑假銜接講義25講含答案(必修一內容)2.2 基本不等式 -(必修第一冊)含答案
- 政治●廣東卷丨2022年廣東省普通高中學業水平選擇性考試政治試卷及答案
- 考研復習-風景園林基礎考研試題附參考答案詳解【培優a卷】
- 考研復習-風景園林基礎考研試題(易錯題)附答案詳解
- 風景園林基礎考研資料試題及參考答案詳解【滿分必刷】
- 《風景園林招投標與概預算》試題A帶答案詳解(預熱題)
- 2025-2026年高校教師資格證之《高等教育法規》通關題庫附答案詳解ab卷
- 2023國家能源投資集團有限責任公司第一批社會招聘筆試備考題庫含答案詳解(基礎題)
- 2025福建晉園發展集團有限責任公司權屬子公司招聘7人筆試備考題庫完整答案詳解
- 2025年黑龍江省五常市輔警招聘考試試題題庫含答案詳解(b卷)
- GB/T 36187-2024冷凍魚糜
- 小班幼兒在區域游戲中模仿行為的觀察
- 2024年全國預防接種技能競賽【決賽】考試題庫-上(單選題)
- 2025屆全國新高考語文60篇必背課文合集
- 2024年甘肅省高考化學真題試卷含答案
- 2024年遼寧阜新市事業單位招聘普通高校退伍大學生(高頻重點復習提升訓練)共500題附帶答案詳解
- 降血糖藥 教學課件
- 22G101三維彩色立體圖集
- 《生命第一-員工安全意識手冊》
- DL∕T 552-2015 火力發電廠空冷凝汽器傳熱元件性能試驗規程
- 四川省自貢市2023-2024學年八年級下學期期末歷史試題 (無答案)
評論
0/150
提交評論