版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第11章第八章基于構件的軟件工程基于構件的軟件工程第11章基于構件件的軟件件工程1111.1軟軟件復用用的基本本概念11.3構件件的開發(fā)發(fā)與構件件庫11.2軟件件構件與與構件工工程11.1軟軟件復用用的基本本概念軟件復用用就是將將已有的的軟件成成分用于于構造新新的軟件件系統(tǒng),,以達到提提高軟件件系統(tǒng)的的開發(fā)質質量與效效率,降降低開發(fā)發(fā)成本的的目的。??蓮陀玫牡能浖沙煞帧煽蓮陀脴嫎嫾?ReusableComponent))可從舊舊軟件中中提取,,也可以以專門為為復用而而開發(fā)。。軟件復用用不僅是是對程序序的復用用,它包包括對軟軟件生產(chǎn)產(chǎn)過程中中任何活活動所產(chǎn)產(chǎn)生的制制成品的的復用。。如:項項目計劃劃、可行行性報告告、需求求定義、、分析模模型、詳詳細說明明、源程程序和測測試用例例等等。。11.1軟軟件復用用的基本本概念代碼的復用設計結果的復用分析結果的復用測試信息的復用
高抽象程度
低11.1.1軟件復用用的級別別包括目標標代碼,,也包括括文本形形式的源源代碼。。受實際環(huán)環(huán)境影響響小,可可復用機機會多,,所需修修改少。??杀粡陀糜玫姆治鑫鼋Y果是是針對問問題域的的某些事事物或某某些問題題的抽象象程度更更高的解解法。主要包括括測試用用例(testcase))的復用和和測試過過程信息息的復用用。三種方式式復用::從現(xiàn)有系系統(tǒng)的分分析結果果中提取取可復用用構件用用于新系系統(tǒng)的分分析;用一份完完整的分分析文檔檔作為輸輸入,成成生針對對不通軟軟硬件平平臺和其其它實現(xiàn)現(xiàn)條件的的多項設設計;獨立于具具體應用用,專門門開發(fā)一一些可復復用的分分析構件件。11.1.1軟件復用用的級別別軟件生產(chǎn)產(chǎn)過程主主要是正正向過程程,即軟軟件產(chǎn)品品從抽象象級別較較高的形形態(tài)向抽抽象級別別較低的的形態(tài)演演化,所所以較高高級別的的復用容容易帶動動較低級級別的復復用,反反之則不不然。復用級別別越高,,可得到到的回報報也越大大,因此此分析軟軟件(AnalysisWare)和設計軟軟件(DesignWare)的復用備備受重視視。軟件復用用的優(yōu)點點:(1)提提高軟件件生產(chǎn)率率,降低低軟件生生產(chǎn)代價價;(2)提提高軟件件質量;;(3)互互操作性性好;(4)推推動標準準化;(5)支支持原型型開發(fā)。。11.1.1軟件復用用的級別別11.1.2軟件復用用的形式式一、按照照重用活活動所跨跨越的應應用領域域的類型型分1、橫向向復用((horizontalreuse)也稱為水水平復用用,是指指復用活活動的范范圍跨越越了幾個個不同的的應用領領域,復復用的軟軟件產(chǎn)品品主要包包括數(shù)據(jù)據(jù)結構、、通用算算法、人人機界面面等軟件件元素。。2、縱向向復用((verticalreuse)也稱為垂垂直復用用,是指指復用活活動的范范圍限制制在同一一個應用用領域或或者是一一類具有有較多共共性的應應用領域域內。11.1.2軟軟件復復用的形形式二、基于于軟件復復用的軟軟件開發(fā)發(fā)過程的的角度分1、生產(chǎn)產(chǎn)者復用用(productreuse)指建立、、獲取或或者重新新設計可可復用構構件的活活動。涉涉及到的的活動包包括:復復用的規(guī)規(guī)劃、領領域分析析、構件件的開發(fā)發(fā)、構件件庫的組組織和管管理。2、消費費者復用用(consumerreuse)指使用可可復用的的構件建建立新的的系統(tǒng)的的活動。。涉及到到的活動動包括::應用系系統(tǒng)的規(guī)規(guī)劃、構構件的檢檢索和選選擇、應應用系統(tǒng)統(tǒng)中非復復用部分分的開發(fā)發(fā)、應用用系統(tǒng)的的組裝。。11.1.2軟軟件復復用的形形式建立構件組裝應用
生產(chǎn)者復用消費者復用(為復用開發(fā)構件)(使用構件開發(fā)應用)圖11.1生產(chǎn)者復用與消費者復用復用具有有許多明明顯的優(yōu)優(yōu)點,但但目前應應用不廣廣泛的主主要原因因是:(1)技技術因素素構件與應應用系統(tǒng)統(tǒng)之間的的差異;;構件要達達到一定定的規(guī)模模,才能能支持有有效的復復用;發(fā)現(xiàn)合用用構件的的困難;;基于復用用的軟件件開發(fā)方方法和軟軟件過程程需要一一些新的的理論、、技術及及支持環(huán)環(huán)境。11.1.3軟軟件復用的困困難(2)人人的因素素喜歡自己己創(chuàng)造而而不喜歡歡使用別別人的東東西。(4)教教育因素素軟件科學學技術的的教育與與培訓中中,缺乏乏關于軟軟件復用用的內容容,缺少少專門教教材和課課程。(3)管管理因素素把復用構構件和一一般軟件件構件同同等看待待,把復復用看作作可有可可無的事事。11.1.3軟軟件復復用的困困難11.2軟件件構件與與構件工工程基于軟件件構件的的軟件工工程也稱稱為構件件工程,是以面面向對象象的方法法為基礎礎,實現(xiàn)現(xiàn)軟件重重用,構構造新系系統(tǒng)的過過程。為了實現(xiàn)現(xiàn)軟件重重用,基于軟件件構件的的軟件工工程強調調領域工工程與軟軟件工程程同時進進行。領域工程程創(chuàng)建應應用領域域的模型型,標識識、構造造、分類類和傳播播一組可可重用的的軟件。。軟件工程程師則在在軟件開開發(fā)過程程中重用用它們。。圖11.2給給出了一一個典型型的重用用的過程程模型,,描述了了領域工工程與軟軟件工程程的關系系。11.2軟件件構件與與構件工工程圖2領域分析設計軟件體系結構開發(fā)可重用的軟件成分中心庫可重用軟件成分/構件領域模型結構模型系統(tǒng)分析規(guī)格說明與設計建造系統(tǒng)規(guī)格說明分析與設計模型應用軟件用戶需求軟件工程領域工程圖11..2重用的過過程模型型11.2軟件件構件與與構件工工程一個軟件件只有在在多個系系統(tǒng)中被被使用才才可稱為為“可復復用構件件”,必必須具備備的條件件:(1)獨獨立性解決一個個相對獨獨立的問問題,或或大問題題中某個個相對獨獨立的部部分;(2)完完整性提供較完完整的解解決,不不要遺留留很多缺缺口,讓讓復用者者做大量量補充;;(3)可可標識性性構件所解解決的問問題應該該是可標標識的,,可命名名,有簡簡要介紹紹,便于于理解和和使用。。(4)通用性構件解決決的問題題,應在在同類應應用中具具有一般般性;(5)適應性應用場合合有某些些變化時時,構件件仍是可可用的,,使構件件的某些些數(shù)據(jù)參參數(shù)化和和數(shù)據(jù)類類型參數(shù)數(shù)化;(11))可靠性要求構件件對預計計將要使使用它的的系統(tǒng)時時可靠的的;(7)標準化可復用構構件的標標準化對對于軟件件復用是是至關重重要的。。11.2.1可復用構構件11.2.1可復用構構件11.2.2基基于構構件的軟軟件工程程基于構件件的軟件件工程與與傳統(tǒng)的的或面向向對象的的軟件工工程相比比,有顯顯著的差差異。它不是針針對某個個特定的的軟件系系統(tǒng),而而是針對對一類軟軟件系統(tǒng)統(tǒng)的共同同的特征征、知識識和需求求?;跇嫾能浖拈_發(fā)發(fā)過程包包括兩個個并發(fā)的的子過程程,一個個是領域域工程,,另一個個是基于于構件的的開發(fā)。。領域工工程完成成一組可可復用構構件的標標示、構構造、分分類和傳傳播;基基于構件件的開發(fā)發(fā)完成使使用可復復用構件件構造新新的軟件件系統(tǒng)。。8.2..2基基于構件件的軟件件工程領域分析析是對特特定應用用領域中中共同的的特征、、知識、、需求的的標識、、分析和和規(guī)約。。領域分分析是特特定領域域內軟件件重用的的基礎,,它的目目標就是是:發(fā)現(xiàn)現(xiàn)和挖掘掘在特定定領域內內可以被被復用的的構件。。領域分分析活動動中輸入入和輸出出如圖11.33所示::11.2.3領領域分分析領域分析析輸入信息息技術文獻獻已有應用用專家經(jīng)驗驗/建議議當前與未未來的需需求輸出信息息領域語言言復用標準準分類方法法功能/行行為模型型圖11..3領領域分析析的輸入入和輸出出領域分析析不是針針對某個個特定的的軟件系系統(tǒng),而而是針對對一類軟軟件系統(tǒng)統(tǒng)的共同同的特征征、知識識和需求求。比需求分分析更一一般、更更抽象、、更廣泛泛的特征征。11.2.3領領域分分析領域分析析(DomainAnalysis))是對一類類應用系系統(tǒng)的共共同應用用領域進進行系統(tǒng)統(tǒng)化分析析,以發(fā)發(fā)現(xiàn)該領領域的共共同知識識、需求求及其應應用系統(tǒng)統(tǒng)的共同同特征。。領域分析析又稱作作領域工工程(DomainEngineering)),是軟件工工程的發(fā)發(fā)展與延延伸。領域分析析是一項項比系統(tǒng)統(tǒng)分析更更難的工工作。領領域分析析方法可可采用結結構化方方法和面面向對象象方法,,而后者者將成為為主流。。11.2.3領領域分分析11.3構件件的開發(fā)發(fā)與構件件庫構件的開開發(fā)領域分析析的結果果為構件件的選取取和開發(fā)發(fā)提供了了指導性性的原則則。除了了有領域域分析作作為其基基礎,構構件開發(fā)發(fā)還需要要遵循一一定的設設計概念念和原則則。構件應該該具有相相當?shù)囊灰话阈院秃统橄笮孕?,能夠夠用于滿滿足一類類相似的的需求,,一個過過于特殊殊的構件件是很難難被重復復使用的的。即使使一個通通用性很很高的構構件也不不可能完完全適應應用戶的的需求和和運行環(huán)環(huán)境,所所以在一一個構件件被不同同的應用用復用時時,對它它的某些些部分進進行修改改是不可可避免的的。所以以構件開開發(fā)時,,需要為為用戶對對構件的的調整和和修改留留出余地地。例如如繼承、、參數(shù)化化、模板板和宏都都是典型型的提高高構件靈靈活性和和可調整整性的機機制。11.3構件件的開發(fā)發(fā)與構件件庫11.3.1構構件庫庫構件庫(ComponentLibrary))用于對可可復用構構件進行行存儲和和管理。。它是支支持軟件件復用的的必要設設施。構構件庫必必須有大大量的可可復用構構件。構件庫系系統(tǒng)應提提供的主主要功能能:構件件的存儲儲、管理理、檢索索以及庫庫的瀏覽覽與維護護等。關鍵是支支持使用用者高效效而準確確地發(fā)現(xiàn)現(xiàn)所需的的可復用用構件。。相關的的主要技技術是分分類方法法和檢索索方法。。支持方便便的、友友好的用用戶管理理和使用用界面。。構件分類類構件檢索索涉及兩個個基本問問題:11.3.1構構件庫庫大多數(shù)的的構件分分類模式式可以歸歸納為以以下三種種類型::(1)枚枚舉分類類通過定義義一個層層次結構構來對構構件進行行分類。。構件庫庫中的可可復用構構件按照照某種標標準被分分成了若若干個大大類,而而每個大大類中的的構件再再被劃分分成若干干個小類類,依此此類推,,這樣就就形成了了一個構構件分類類的層次次結構,,圖形用戶界面類窗口類菜單類圖形窗口構件文字窗口構件系統(tǒng)菜單構件彈出式菜單構件普通菜單構件圖11..4枚舉分類類的層次次結構11.3.2構件的分分類11.3.2構件的分分類(2)刻刻面分類類一個刻面面描述構構件某一一個方面面的特征征??堂婷娣诸悇t則是從不不同的側側面對構構件進行行分類,,每一種種分類方方式稱為為一個刻刻面。不不同的刻刻面根據(jù)據(jù)其重要要性可以以設置不不同的優(yōu)優(yōu)先級。??堂鎽妙I域對象功能編程語言刻面值圖形用戶界面編程菜單動態(tài)修改菜單項JAVA對構件的的每個刻刻面賦予予相應的的值,用用以描述述該構件件。刻面面分類具具有較好好的靈活活性,易易于加入入新的刻刻面值,,因此刻刻面分類類比枚舉舉分類更更易于擴擴展和修修改。該方法首首先是為為構件庫庫中的所所有構件件定義一一組屬性性,并賦賦予相應應的屬性性值。開開發(fā)人員員通過指指定一組組屬性值值在構件件庫中對對構件進進行檢索索。11.3.2構件的分分類刻面分類類法(FacetedClassification):支持多重重觀點對對構件進進行分類類,例如如從構件件的應用用領域、、構件所所描述的的對象、、構件的的觀點和和編程語語言等不不同的方方式來分分類。每一種分分類方式式稱為一一個刻面面。每個刻面面把構件件集合劃劃分為一一個子集集,各刻刻面所劃劃分的子子集形成成一些較較小的交交集。一個構件件對每個個每個刻刻面有一一個刻面面值,例例如:應用領域域=計計算機機繪圖對對象象=橢橢圓功能==彩色色填充,,編編程語言言=C++11.3.2構件的分分類檢索一個個構件時時,給出出一組刻刻面值,,將確定定一組子子集合,,構件應應該在這這些子結結合的交交集中,,從其中中確認所所需的構構件就比比較容易易。構件可用用屬性描描述,例例如構件件類型、、開發(fā)單單位、作作者、提提交日期期等屬性性。檢索索時通過過構件的的屬性可可以縮小小搜索范范圍??堂婧蛯賹傩远疾徊簧婕皹嫎嫾炔坎繉崿F(xiàn),,只是為為了便于于構件的的管理、、檢索和和使用。。如果把把構件比比作一只只箱子,,其內容容如同箱箱子中裝裝的東西西,刻面面和屬性性則如同同箱子外外邊的標標簽??堂娣诸愵惙梢砸钥醋鲗訉哟畏诸愵惙ǖ臄U擴充。11.3.2構件的分分類(3)屬屬性-值值分類該方法首首先是為為構件庫庫中的所所有構件件定義一一組屬性性,并賦賦予相應應的屬性性值。開開發(fā)人員員通過指指定一組組屬性值值在構件件庫中對對構件進進行檢索索。該分類方方法與刻刻面分類類方法有有幾點不不同之處處:屬性的數(shù)數(shù)量沒有有限制,,而刻面面描述一一般限制制在7或或8個刻刻面;屬性沒有有優(yōu)先級級,而刻刻面根據(jù)據(jù)其重要要程度,,有相應應的優(yōu)先先級;11.3.2構件的分分類構件庫中中檢索一一個構件件和在數(shù)數(shù)據(jù)庫中中檢索一一個記錄錄是不同同的。構件庫檢檢索的不不確定性性帶來兩兩種相互互矛盾的的結果::檢索的的結果可可能是一一個較大大的構件件集合,,要從中中找到所所需的構構件仍然然很費力力;檢索索得到的的集合沒沒有把真真正需要要的構件件包括在在內。解決方法法:(一)一一般構件件庫系統(tǒng)統(tǒng)能對提提出的檢檢索條件件作廣義義解釋。。建立同義義詞對照照表,例例如“商商品銷售售”、““售貨””、“賣賣貨”看看作一組組同義詞詞;建立近意意詞對照照表,例例如把““商業(yè)””、“商商場”、、“連鎖鎖店”看看作一組組近意詞詞。系統(tǒng)首先先匹配同同義詞,,再匹配配近意詞詞,都可可以被包包括到廣廣義結果果集合中中。11.3.3構件檢索索11.3.3構件檢索索(二)使使檢索得得到的構構件集合合盡可能能不包括括對用戶戶無用的的構件。。增加更多多的刻面面與構件件屬性::較多的的刻面和和屬性值值,將得得到更小小的子集集合文集集,減輕輕最終發(fā)發(fā)現(xiàn)和確確認所需需構件的的難度;;建立構件件關鍵詞詞:根據(jù)據(jù)構件內內容提煉煉關鍵詞詞,如同同學術論論文的關關鍵詞,,反映有有關構件件內容的的一些主主要信息息。例如,找找功能構構件的關關鍵詞有有“壓入入”、““彈出””、“后后進先出出”等等等。如果果通過刻刻面和構構件屬性性得到的的構件子子集較大大,可用用關鍵詞詞作進一一步的檢檢索,以以縮小搜搜索范圍圍。改進構件件檢索的的其它措措施:(1)記記錄用戶戶使用構構件庫的的經(jīng)驗,,并根據(jù)據(jù)這些經(jīng)經(jīng)驗改經(jīng)經(jīng)構件檢檢索系統(tǒng)統(tǒng);(2)對對每個構構件給出出一段文文字的簡簡要介紹紹;(3)提提供較強強的人機機對話功功能;(4)引引導用戶戶對自己己需求的的表達不不斷精化化。11.3.3構件檢索索11.3.4基基于構構件的開開發(fā)11.3.4基基于于構件的的開發(fā)基于構件件的開發(fā)發(fā)是使用用可復用用構件組組裝開發(fā)發(fā)新的應應用系統(tǒng)統(tǒng)。一、開發(fā)發(fā)過程1、構件的鑒鑒定構件的鑒鑒定是對對打算用用于軟件件開發(fā)的的構件能能否滿足足應用的的需要,,達到應應用所需需要的性性能、可可靠性、、質量的的保證進進行相應應的考察察。2、構件的調調整通常在將將構件復復用到應應用中時時,構件件需要進進行必要要的調整整和修改改才能適適應應用用的需要要。3、構件的組組裝構件的組組裝是將將經(jīng)過鑒鑒定和調調整以后后的構件件組裝到到應用系系統(tǒng)中。。通常為為了達到到此目的的,還必必須建一一個基礎礎設施提提供構件件協(xié)同的的模型和和使構件件能夠交交互并完完成共同同任務的的的特定定服務。。二、基于于構件的的軟件開開發(fā)特點點1、開發(fā)發(fā)的質量量基于構件件的軟件件開發(fā)的的一個明明顯的優(yōu)優(yōu)點就是是提高了了軟件的的質量。。可復用的的構件在在開發(fā)過過程中,,都經(jīng)過過嚴格的的測試。。118..3.4基于于構件的的開發(fā)11.3.5可可復用用的軟件件構架在同一個個領域的的應用系系統(tǒng)之間間,不但但可以找找到其共共同的軟軟件構件件,而且且可以發(fā)發(fā)現(xiàn)共同同的或相相似的軟軟件體系系結構((SoftwareArchitecture)。專向領域域的復用用開拓了了一種新新的復用用境界,,被復用用的不僅僅是可實實現(xiàn)某種種局部功功能的軟軟件構件件,而且且可以是是一些形形成系統(tǒng)統(tǒng)總體結結構,并并把各個個可復用用構件連連接到一一起的軟軟件構架架(SoftwareFramework)。電子產(chǎn)品品的主電電路板可可看成該該產(chǎn)品可可復用的的構架,,它把許許多可復復用的電電子器件件連接在在一起。。軟件構架架是一種種由特定定領域的的軟件體體系結構構所決定定的軟件件構造框框架。
11.3.5可可復用用的軟件件構架軟件構架架不是解解決軟件件的某個個局部問問題,而而是描述述了軟件件的總體體結構。。它描述述了一類類軟件的的總體構構成情況況,包括括該軟件件有哪些些主要部部件以及及各部件件之間的的關系,,但是不不涉及每每個部件件的細節(jié)節(jié)??蓮陀玫牡能浖嫎嫾芙o出出一類應應用系統(tǒng)統(tǒng)在總體體構造上上的共性性或相似似性,忽忽略了各各個系統(tǒng)統(tǒng)的局部部差異。。例如,一一個超級級市場的的銷售管管理系統(tǒng)統(tǒng)的軟件件構架,,它包括括的類有有收款機機、商品品一覽表表、商品品、供貨貨員、銷銷售事件件、帳冊冊和上級級系統(tǒng)接接口等。。它只表表明一般般情況下下系統(tǒng)應應由哪些些類構成成,并指指出這些些類之間間的關系系。但沒沒有定義義每個類類,在每每個具體體情況的的系統(tǒng)中中,各個個類的內內部特征征可能是不不同的。。
11.3.5可可復用用的軟件件構架在使用這這個軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:近紅外光刺激輔助執(zhí)行功能訓練改善兒童發(fā)展性閱讀障礙機制研究
- 2025年度個人與公司間藝術品收藏與交易合同4篇
- 2025年度個人房產(chǎn)買賣資金監(jiān)管服務合同4篇
- 二零二五年度車位鎖維修與保養(yǎng)服務合同3篇
- 二零二五年度體育用品買賣合同附帶運動損傷防護與售后服務4篇
- 2025年物流園區(qū)車位租賃與倉儲管理合作協(xié)議4篇
- 2025年度智能挖掘機銷售與遠程控制技術支持合同4篇
- 二零二五山地旅游交通服務租賃協(xié)議3篇
- 二零二五年度寵物寄養(yǎng)中心租賃合同規(guī)范4篇
- 二零二五年度工業(yè)用地租賃合同示范文本
- 2024年山東省泰安市高考物理一模試卷(含詳細答案解析)
- 護理指南手術器械臺擺放
- 腫瘤患者管理
- 2025春夏運動戶外行業(yè)趨勢白皮書
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動合同
- 2024年醫(yī)療器械經(jīng)營質量管理規(guī)范培訓課件
- 零部件測繪與 CAD成圖技術(中職組)沖壓機任務書
- 2024年計算機二級WPS考試題庫380題(含答案)
- 高低壓配電柜產(chǎn)品營銷計劃書
- 1-1《送瘟神》課件-高教版中職語文職業(yè)模塊
評論
0/150
提交評論