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

一種基于構件的軟件系統性能工程生命周期過程模型

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

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

一種基于構件的軟件系統性能工程生命周期過程模型

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

0 引言

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

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

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

1 構件性能的影響因素

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

構件性能的影響的因素比較復雜,因為構件的性能不僅取決于構件內部實現 (如構件實現采用的算法和編程語言),還取決于構件部署的環境。構件性能的影響因素主要包括:構件實現、請求服務、部署平臺、輸入參數、資源競爭。如圖1所示。

圖1 構件性能影響因素

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

部署平臺:構件性能受部署環境的影響,部署環境包括硬件環境和軟件環境,硬件環境如CPU的個數和主頻、內存容量、網絡帶寬、外部存儲設備的性能等。除硬件之外,還包括軟件中間層的影響,如構件容器、虛擬機、操作系統等,如.NET平臺對構件性能的影響構件。

輸入參數:當用戶調用構件提供的服務時,服務的執行時間會因用戶輸入的不同參數值而不同,如某數學運算構件,用戶輸入數值的大小會影響構件運行的時間。除用戶輸入外,構件運行時還可能需要調用其依賴的其他構件提供的參數值,這些參數值也會影響構件的執行時間。

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

2 構件生命周期的性能建模內容

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

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

在構件的實現階段,構件功能的實現需要向其他構件提供的接口請求服務,實現需求定義時的構件功能。由于此時構件尚未部署和運行,因此構件實現階段的性能模型包括不依賴硬件平臺的資源需求和構件行為信息,以及用戶輸入參數等。

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

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

3 構件系統生命周期的性能過程模型

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

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

構件開發人員將該階段的結果存入構件庫,供企業內其他人員訪問,該構件庫可以存放構件性能模型,還可存放構件的需求定義文檔、已實現的構件、其他文檔等。構件開發者也可從中檢索已有構件組合成新構件。

構件開發人員是從單個構件的視角進行性能建模,而系統架構師是從系統的角度進行全系統的性能建模,系統架構師根據設計系統架構的需求,將構件庫中的構件性能模型進行組裝,包括構件組裝模型、部署模型和運行模型,組裝模型描述了將構件庫中選擇的已有構件組裝成系統的構件連接關系,部署模型定義了構件部署的軟硬件平臺,運行模型定義了系統運行時的使用信息,如負載、輸入參數、和內部狀態等。

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

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

圖2 基于構件的軟件開發性能過程模型

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

4 結語

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

[1]王克波.基于分布構件的軟件性能工程[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]陳霄等.采用構件組裝技術協同開發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

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

軟件構件;軟件性能;過程模型

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.

猜你喜歡
模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 免费啪啪网址| 久久免费视频6| 手机成人午夜在线视频| 最新国产你懂的在线网址| 亚洲美女视频一区| AV无码国产在线看岛国岛| 好吊色国产欧美日韩免费观看| 国产精品不卡片视频免费观看| 成人看片欧美一区二区| 在线看片免费人成视久网下载| 一区二区理伦视频| 国产一级毛片网站| 久草中文网| 亚洲欧洲一区二区三区| 中国一级毛片免费观看| 精品無碼一區在線觀看 | 91精品国产91久无码网站| 亚洲精品不卡午夜精品| 亚洲91在线精品| 伊人无码视屏| 精品少妇人妻无码久久| 国产亚洲男人的天堂在线观看| 亚洲av无码牛牛影视在线二区| 青青草91视频| 一本无码在线观看| 亚洲欧美不卡视频| 国产无遮挡猛进猛出免费软件| 噜噜噜久久| 国产欧美日韩精品综合在线| 亚洲欧美成人在线视频| 激情爆乳一区二区| 国产免费人成视频网| 中文字幕无线码一区| 欧美三级自拍| 国产粉嫩粉嫩的18在线播放91 | 色亚洲成人| 国产美女精品一区二区| 国产情精品嫩草影院88av| 国产精品久久久久久久久kt| 亚洲国产欧洲精品路线久久| 久久久精品久久久久三级| 91无码人妻精品一区二区蜜桃| 国产一区二区三区夜色| 97视频在线精品国自产拍| 国产精品亚洲精品爽爽| 99视频国产精品| 国产在线观看高清不卡| 国产波多野结衣中文在线播放| 无码久看视频| 国产在线日本| 午夜a级毛片| 国产精品不卡片视频免费观看| 国产爽爽视频| 狠狠色香婷婷久久亚洲精品| 国产18在线播放| 久久夜色精品国产嚕嚕亚洲av| 99久久精彩视频| 夜夜操国产| 日韩精品久久久久久久电影蜜臀| 亚洲日韩高清在线亚洲专区| 黄色污网站在线观看| 亚洲午夜国产片在线观看| 99精品这里只有精品高清视频| 色悠久久久| 伊人久久久久久久久久| 亚洲欧洲日韩综合色天使| 色妞www精品视频一级下载| 国内精品自在自线视频香蕉| 亚洲第一网站男人都懂| 人妻丰满熟妇AV无码区| 日韩精品欧美国产在线| 中文成人在线| 国产清纯在线一区二区WWW| 成人免费一区二区三区| 亚洲人成网18禁| 伊人蕉久影院| 亚洲国产天堂在线观看| 午夜视频日本| 最新国产在线| 国产粉嫩粉嫩的18在线播放91| 国产网站黄| 丰满少妇αⅴ无码区|