999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于構(gòu)件的軟件系統(tǒng)性能工程生命周期過程模型

2015-09-26 05:17:42王光偉裝甲兵工程學院科研部北京100072
現(xiàn)代計算機 2015年21期
關鍵詞:模型系統(tǒng)

王光偉(裝甲兵工程學院科研部,北京 100072)

一種基于構(gòu)件的軟件系統(tǒng)性能工程生命周期過程模型

王光偉
(裝甲兵工程學院科研部,北京100072)

0 引言

軟件構(gòu)件技術近年來在軟件開發(fā)中得到了廣泛的應用,基于構(gòu)件的軟件開發(fā)(Component-Based Software Development,CBSD)通過組裝已有的構(gòu)件實現(xiàn)軟件復用,能夠較短時間內(nèi)開發(fā)出開發(fā)新的系統(tǒng),提高了軟件開發(fā)效率和產(chǎn)品質(zhì)量。基于構(gòu)件的軟件系統(tǒng)性能是指系統(tǒng)對及時性要求的符合程度,通常用響應時間、吞吐量、資源利用率等性能指標進行衡量。

傳統(tǒng)軟件工程中的軟件性能管理通常采用 “以后修正”(Fix-it-later)的方法,在構(gòu)件設計、開發(fā)、組裝等前期階段時對性能關注不夠,直到系統(tǒng)基本完成實現(xiàn)進行測試和試運行的時候才著力解決性能瓶頸,但很多性能問題是由于在系統(tǒng)設計帶來的,此時已不能從體系結(jié)構(gòu)進行較大的更改,提高性能的途徑是有限的,往往不能從根本上解決出現(xiàn)的軟件性能問題。為解決這一問題,提出了軟件性能工程(Software Performance Engineering,SPE),軟件性能工程技術不僅能夠使得軟件的功能屬性在軟件的整個軟件開發(fā)生命周期中能夠被追蹤、管理,軟件的非功能屬性和性能也能夠被追蹤[1]。

但是傳統(tǒng)的軟件性能工程在基于構(gòu)件的軟件開發(fā)過程中遇到了新問題,與傳統(tǒng)的軟件開發(fā)方式相比,基于構(gòu)件的軟件開發(fā)更加強調(diào)構(gòu)件的組裝、配置、部署、運行與動態(tài)重構(gòu)[2],而傳統(tǒng)的軟件性能工程沒有提供對這些階段的支持方法,例如在構(gòu)件動態(tài)重構(gòu)時,因為傳統(tǒng)的軟件性能工程沒有直接提供對分布式構(gòu)件組裝的支持,軟件的原有性能就不能直接應用在基于構(gòu)件的軟件開發(fā)過程中技術中。另外,在構(gòu)件動態(tài)重構(gòu)時,軟件的原有性能屬性都會發(fā)生變化,而傳統(tǒng)的軟件性能工程都沒有提供應對變化的方法。因此需要針對構(gòu)件開發(fā)的特點,對軟件性能工程中的性能過程模型進行研究,提出適合基于構(gòu)件的軟件系統(tǒng)開發(fā)的新的性能過程模型。

1 構(gòu)件性能的影響因素

構(gòu)件是軟件系統(tǒng)中具有相對獨立功能的組成實體,通過標準接口對外提供服務,具有可復用、可組裝、可替換的特點。構(gòu)件通過對外提供的接口稱為服務接口(provide interface)、請求接口(request interface)[3]。

構(gòu)件性能的影響的因素比較復雜,因為構(gòu)件的性能不僅取決于構(gòu)件內(nèi)部實現(xiàn) (如構(gòu)件實現(xiàn)采用的算法和編程語言),還取決于構(gòu)件部署的環(huán)境。構(gòu)件性能的影響因素主要包括:構(gòu)件實現(xiàn)、請求服務、部署平臺、輸入?yún)?shù)、資源競爭。如圖1所示。

圖1 構(gòu)件性能影響因素

構(gòu)件的實現(xiàn):在構(gòu)件定義時,對于相同的服務接口,不同的構(gòu)件開發(fā)人員可以使用完全不同的方法實現(xiàn),雖然這些構(gòu)件提供的服務接口都是相同的,即構(gòu)件功能是相同的,但是由于構(gòu)件內(nèi)部具體實現(xiàn)不同,如采用的算法不同、編程實現(xiàn)不同等。即使在相同的運行環(huán)境下,這些服務接口相同內(nèi)部實現(xiàn)不同的構(gòu)件展現(xiàn)出的構(gòu)件性能仍然是不同的。

部署平臺:構(gòu)件性能受部署環(huán)境的影響,部署環(huán)境包括硬件環(huán)境和軟件環(huán)境,硬件環(huán)境如CPU的個數(shù)和主頻、內(nèi)存容量、網(wǎng)絡帶寬、外部存儲設備的性能等。除硬件之外,還包括軟件中間層的影響,如構(gòu)件容器、虛擬機、操作系統(tǒng)等,如.NET平臺對構(gòu)件性能的影響構(gòu)件。

輸入?yún)?shù):當用戶調(diào)用構(gòu)件提供的服務時,服務的執(zhí)行時間會因用戶輸入的不同參數(shù)值而不同,如某數(shù)學運算構(gòu)件,用戶輸入數(shù)值的大小會影響構(gòu)件運行的時間。除用戶輸入外,構(gòu)件運行時還可能需要調(diào)用其依賴的其他構(gòu)件提供的參數(shù)值,這些參數(shù)值也會影響構(gòu)件的執(zhí)行時間。

資源競爭:在運行平臺上構(gòu)件通常不是獨立的,而是與其他進程一起運行,構(gòu)件與該平臺環(huán)境中其他運行的進程之間可能存在資源競爭關系,如線程池的線程數(shù)量、數(shù)據(jù)庫連接數(shù)、信號量等,構(gòu)件在運行時等待競爭資源的時間會影響構(gòu)件執(zhí)行的總時間,帶來構(gòu)件性能的影響。

2 構(gòu)件生命周期的性能建模內(nèi)容

在構(gòu)件生命周期的不同階段,對構(gòu)件性能起重要作用的影響因素是不同的,因此,需要提出構(gòu)件生命周期性能模型。文獻[4]把構(gòu)件生命周期分為三個階段:設計階段、部署階段和運行階段。Cheesman和Daniels[5]提出了的理想化的構(gòu)件生命周期的四個階段:構(gòu)件的定義、構(gòu)件的實現(xiàn)、構(gòu)件的部署和構(gòu)件的運行。在構(gòu)件生命周期的每個階段,構(gòu)件性能建模的內(nèi)容和關注點有所不同。

在構(gòu)件的定義階段,性能管理主要體現(xiàn)為描述構(gòu)件的服務接口和請求接口,可以使用UML建模語言進行描述。由于此時構(gòu)件還沒有實現(xiàn),對該構(gòu)件的實現(xiàn)、部署、運行時的有關性能的相關信息無法得到,所以構(gòu)件性能模型只能對該構(gòu)件提供服務接口的性能需求進行定義和描述,即對構(gòu)件性能指標的定義,如某數(shù)據(jù)庫訪問構(gòu)件的查詢操作的最長時間不超過10秒。

在構(gòu)件的實現(xiàn)階段,構(gòu)件功能的實現(xiàn)需要向其他構(gòu)件提供的接口請求服務,實現(xiàn)需求定義時的構(gòu)件功能。由于此時構(gòu)件尚未部署和運行,因此構(gòu)件實現(xiàn)階段的性能模型包括不依賴硬件平臺的資源需求和構(gòu)件行為信息,以及用戶輸入?yún)?shù)等。

在構(gòu)件的部署階段,已實現(xiàn)的構(gòu)件與其他構(gòu)件進行裝配后部署到硬件平臺上,該階段的構(gòu)件性能模型包括構(gòu)件容器、操作系統(tǒng)和硬件的信息。此時與硬件平臺無關的資源需求可以轉(zhuǎn)換為平臺相關的資源需求,如將構(gòu)件實現(xiàn)階段的 “處理器周期”轉(zhuǎn)換為 “執(zhí)行時間”。

最后,在構(gòu)件的運行階段,構(gòu)件被實例化并運行,可以響應客戶端的請求。此時的構(gòu)件是在運行在內(nèi)存中的一個對象的實例。構(gòu)件運行階段的性能模型,還包括此階段構(gòu)件的吞吐量 (即客戶端調(diào)用構(gòu)件的數(shù)量),用戶的輸入?yún)?shù)以及與構(gòu)件性能相關的內(nèi)部狀態(tài)。此外,系統(tǒng)的整體性能模型還包括系統(tǒng)中與構(gòu)件并行運行的其他進程參與系統(tǒng)資源的情況。

3 構(gòu)件系統(tǒng)生命周期的性能過程模型

在基于構(gòu)件的軟件系統(tǒng)生命周期中,從早期設計階段的性能預測到運行階段的性能測試,都需要采用來自系統(tǒng)架構(gòu)師和構(gòu)件開發(fā)人員提供的信息。首先進行系統(tǒng)需求分析,構(gòu)件開發(fā)人員根據(jù)需求檢索已有構(gòu)件,判斷現(xiàn)有構(gòu)件是否滿足需求:如果已有構(gòu)件能夠?qū)崿F(xiàn)所需功能和性能需求,則對該構(gòu)件進行性能測試,放入構(gòu)件庫;如果沒有滿足功能需求的構(gòu)件,需要進行構(gòu)件需求分析,定義構(gòu)件的功能需求和性能需求,進行構(gòu)件性能建模,此時的模型稱為架構(gòu)模型,包括構(gòu)件部署模型、構(gòu)件組裝模型和構(gòu)件運行模型,架構(gòu)模型經(jīng)過模型轉(zhuǎn)換成為可以進行分析和評估的系統(tǒng)性能模型,通常使用排序網(wǎng)絡等技術進行系統(tǒng)性能模型建模,對性能模型進行分析評估或者仿真運行,得到可供分析評估構(gòu)架性能的數(shù)據(jù),形成構(gòu)件性能矩陣,對性能數(shù)據(jù)進行評估,檢查性能需求是否滿足。如果滿足需求則進行構(gòu)件組裝、測試和發(fā)布,否則檢查性能模型并重新設計,再次建模。基于構(gòu)件的軟件系統(tǒng)生命周期性能模型如圖2所示。

構(gòu)件開發(fā)人員為構(gòu)件的性能模型提供性能預測需要的參數(shù),得到參數(shù)化的構(gòu)件性能模型,構(gòu)件開發(fā)者對構(gòu)件的性能建模需要從構(gòu)件定義開始,而此時構(gòu)件尚未實現(xiàn),構(gòu)件性能模型需要的參數(shù)是未知的,需要構(gòu)件開發(fā)者進行估計,例如資源的需求和依賴的服務。如果存在已實現(xiàn)的構(gòu)件,則對構(gòu)件進行靜態(tài)分析或者使用試驗床上進行運行得到構(gòu)件性能參數(shù)。

構(gòu)件開發(fā)人員將該階段的結(jié)果存入構(gòu)件庫,供企業(yè)內(nèi)其他人員訪問,該構(gòu)件庫可以存放構(gòu)件性能模型,還可存放構(gòu)件的需求定義文檔、已實現(xiàn)的構(gòu)件、其他文檔等。構(gòu)件開發(fā)者也可從中檢索已有構(gòu)件組合成新構(gòu)件。

構(gòu)件開發(fā)人員是從單個構(gòu)件的視角進行性能建模,而系統(tǒng)架構(gòu)師是從系統(tǒng)的角度進行全系統(tǒng)的性能建模,系統(tǒng)架構(gòu)師根據(jù)設計系統(tǒng)架構(gòu)的需求,將構(gòu)件庫中的構(gòu)件性能模型進行組裝,包括構(gòu)件組裝模型、部署模型和運行模型,組裝模型描述了將構(gòu)件庫中選擇的已有構(gòu)件組裝成系統(tǒng)的構(gòu)件連接關系,部署模型定義了構(gòu)件部署的軟硬件平臺,運行模型定義了系統(tǒng)運行時的使用信息,如負載、輸入?yún)?shù)、和內(nèi)部狀態(tài)等。

然后系統(tǒng)架構(gòu)師將包含組裝模型、部署模型和運行模型的完整架構(gòu)模型進行組裝,轉(zhuǎn)換成系統(tǒng)級的性能模型,通常使用排隊網(wǎng)絡、隨機Petri網(wǎng)、隨機進程代數(shù)等方法建模并進行模擬,得出系統(tǒng)的性能指標,如響應時間、吞吐量和資源利用率等,系統(tǒng)架構(gòu)師將這些數(shù)據(jù)與系統(tǒng)性能需求指標進行比較,檢查是否符合系統(tǒng)性能需求。

下面對構(gòu)件性能模型進行需求評審,如果評審的預測的結(jié)果表明,現(xiàn)有的構(gòu)件設計不能滿足性能需求,則架構(gòu)模型需要重新設計,以提高性能。軟件架構(gòu)師也可以改用其他構(gòu)件或采用其他性能模型,以改變性能,這時往往需要與客戶進行重新協(xié)商。修改完成之后,得到新的體系結(jié)構(gòu)模型,對新模型重新進行預測性能和評估。

圖2 基于構(gòu)件的軟件開發(fā)性能過程模型

如果預測結(jié)果表明該設計可以滿足需求,則可以開始進行系統(tǒng)的實現(xiàn)。在構(gòu)件配置階段,軟件架構(gòu)師可以建造或購買決策中指定的構(gòu)件體系結(jié)構(gòu)模型。一旦所有的構(gòu)件都實現(xiàn)或購買,軟件架構(gòu)師即可進行構(gòu)件組裝和整個系統(tǒng)的測試。除了功能測試,軟件架構(gòu)師對系統(tǒng)的性能進行容量規(guī)劃(如確定最大負荷)。測試完成后,軟件設計師給客戶發(fā)布完整的系統(tǒng)。

4 結(jié)語

通過分析在傳統(tǒng)的軟件性能工程中對基于構(gòu)件的軟件系統(tǒng)的性能出現(xiàn)的新問題,研究了構(gòu)件的性能影響因素和,面向構(gòu)件生命周期的全過程對性能模型進行了分析,最后給出了一種基于構(gòu)件的軟件系統(tǒng)生命周期性能模型,該模型為在基于構(gòu)件的軟件系統(tǒng)的設計開發(fā)過程中,更好地進行性能預測和性能管理提供了一種參考模型。

[1]王克波.基于分布構(gòu)件的軟件性能工程[J].計算機工程與科學,2006,28(11):105-107.

[2]R Dube.A comparison of the memory management subsystem in FreeBSD and Linux[R].Technical Report CST R3929,University of Maryland,1998.

[3]陳霄等.采用構(gòu)件組裝技術協(xié)同開發(fā)Web應用的方法[J].計算機科學與探索,2013,7(2):115-116.

[4]B.Christiansson,L.Jakobsson,and I.Crnkovic,“CBD Process,”building reliable component-based software systems,I.Crnkovic and M.Larsson,eds.,pp.89-113,Artech House,2002.

[5]J.Cheesman,J.Daniels.UML Components:A simple process for specifying component-based software systems.Addison-Wesley,2001.

Software Component;Software Performance;Process Model

A Life-Cycle Process Model of Software System Performance Engineering Based on Component

WANG Guang-wei
(Department of Scientific Research,Academy of Armored Forces Engineering,Beijing 100072)

1007-1423(2015)21-0014-04

10.3969/j.issn.1007-1423.2015.21.004

王光偉(1980-),男,山東沂南人,講師,碩士,研究方向為軟件工程

2015-06-04

2015-07-01

在基于構(gòu)件的軟件系統(tǒng)開發(fā)過程中,傳統(tǒng)的軟件性能工程不能解決構(gòu)件的組裝、部署、運行等階段的軟件性能管理問題。為解決這一問題,研究構(gòu)件生命周期的每個階段的軟件性能影響因素,提出一種基于構(gòu)件的軟件系統(tǒng)性能模型。

軟件構(gòu)件;軟件性能;過程模型

In the development process of component-based software system,the traditional methods in software performance engineering can not solve the software performance management problems in the stages of component assembling,deployment,runtime etc.To solve this problem,researches factors influencing component performance in each stage of the life-cycle process,and proposes a model for componentsbased software system performance.

猜你喜歡
模型系統(tǒng)
一半模型
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 久久不卡精品| 最新国产成人剧情在线播放| 色成人亚洲| 亚瑟天堂久久一区二区影院| 朝桐光一区二区| 91久久国产热精品免费| 日本人又色又爽的视频| 九九热这里只有国产精品| 成人av专区精品无码国产| 国产视频入口| 97青草最新免费精品视频| 国产美女自慰在线观看| 国产亚洲精品资源在线26u| 二级特黄绝大片免费视频大片| 欧美一级视频免费| 制服丝袜一区| 国产尤物视频在线| 国产人碰人摸人爱免费视频| 一本大道香蕉久中文在线播放| 国产成熟女人性满足视频| 久久久国产精品免费视频| 国产无遮挡猛进猛出免费软件| 天堂在线视频精品| 国产精品毛片一区视频播| 狠狠色噜噜狠狠狠狠色综合久| 制服丝袜国产精品| 国产成人精品一区二区秒拍1o| 亚洲伊人久久精品影院| 亚洲中文字幕日产无码2021| 在线免费亚洲无码视频| 亚洲国产一成久久精品国产成人综合| 亚洲av片在线免费观看| 国产呦视频免费视频在线观看| 91精品国产一区| 国产精品成人啪精品视频| 成年网址网站在线观看| 亚洲国产理论片在线播放| 青青久久91| 中文字幕 欧美日韩| 欧美国产日产一区二区| 色精品视频| 亚洲无码37.| 亚洲一区黄色| 亚洲国产成人麻豆精品| 99精品视频九九精品| 88av在线| 91精品国产自产在线观看| 亚洲一区二区三区国产精品| 国产91精品久久| 制服丝袜一区| 青青草原国产av福利网站| 亚洲精品自拍区在线观看| 欧美午夜精品| 在线视频一区二区三区不卡| 亚洲欧美日韩综合二区三区| 国产www网站| 熟女成人国产精品视频| 亚洲日韩AV无码一区二区三区人| 国产无人区一区二区三区| 人禽伦免费交视频网页播放| 精品亚洲欧美中文字幕在线看| 国产成人夜色91| 一区二区午夜| 无码国产伊人| 日韩资源站| 一区二区午夜| 精品国产香蕉在线播出| 天堂成人在线视频| 亚洲午夜久久久精品电影院| 国产在线八区| 无遮挡一级毛片呦女视频| 国产亚洲欧美日韩在线观看一区二区| 成人免费黄色小视频| 极品尤物av美乳在线观看| 亚洲天堂网在线播放| 欧美日韩激情在线| 波多野结衣国产精品| 亚洲网综合| 久久国产高潮流白浆免费观看| 2020精品极品国产色在线观看| 国产成人精品免费av| 国产在线观看第二页|