摘 要:在信息發(fā)展的時代,軟件的應用已經(jīng)普及到了千家萬戶。而各種應用軟件的開發(fā)中,對軟件性能工程方法的使用非常關(guān)鍵,關(guān)系著軟件能否有非常良好的使用體驗。特別是對于交互式軟件的開發(fā)來說,軟件性能工程方法的應用非常關(guān)鍵。本文就從軟件性能工程方法使用的角度,對其在交互式軟件開發(fā)中的應用作簡要分析。
關(guān)鍵詞:軟件性能工程;交互式軟件;軟件開發(fā)
中圖分類號:TP311.5
在以往的軟件開發(fā)過程中,主要將著重點放在軟件功能的開發(fā)上面,而對于軟件性能相對來說在開發(fā)階段并不是放在首位,主要在維護修理階段才著重軟件性能的加強。但這種軟件開發(fā)方式相對來說比較消耗精力與時間,因此在軟件開發(fā)中使用軟件性能工程方法是一種非常不錯的方法。
1 軟件性能工程來歷與發(fā)展
軟件性能工程方法也就是一種在軟件的整個開發(fā)過程中,保證軟件性能良好穩(wěn)定的方法。此概念于1981年由史密斯率先提出,針對于傳統(tǒng)的軟件性能后期改進方式已經(jīng)不足以滿足如今的軟件使用需求的情況,因此在軟件開發(fā)使著重注意了軟件性能的控制。軟件性能工程方法控制軟件開發(fā)性能主要包括用戶在使用軟件時的任務(wù)完成效率、軟件對于硬件以及網(wǎng)絡(luò)的負荷、預計對用戶要求的相應時間、軟件系統(tǒng)的功能及儲存擴展能力等方面。
自軟件性能工程概念提出以來,學術(shù)界就一直致力于對軟件開發(fā)時的性能保障與提高研究,經(jīng)過多年的發(fā)展,軟件性能工程方法取得了較為明顯的成就,在軟件開發(fā)中起到了非常顯著的作用。如今所研究的項目包括了軟件性能保證,性能測量及建模分析,性能服務(wù)質(zhì)量,軟件優(yōu)化等多個方面的內(nèi)容。
2 軟件性能工程的主要作用
在上文已有所提及,軟件性能工程方法在軟件開發(fā)中起著非常重要的作用。在軟件開發(fā)的全過程中,幾乎都有需要軟件性能工程的保駕護航,為軟件的整體質(zhì)量提升做出了非常大的貢獻。在整個軟件性能工程方法使用中,主要包括了一下幾個方面的作用:
2.1 提高軟件開發(fā)效率
一些商家在沒有使用軟件性能工程方法的時候,經(jīng)常會出現(xiàn)軟件總體性能達不到預期希望值或者開發(fā)完成后需要對性能進行改進處理的情況,在這時經(jīng)常采取的措施是放棄該軟件開發(fā)成果重新開發(fā)新的類似軟件,對于軟件開發(fā)的效率及成本產(chǎn)生了很大的影響。而有了軟件性能工程方法在軟件開發(fā)中的性能檢測與性能完善,就可以保證軟件總體性能一直處于較為良好的狀態(tài)。
2.2 提高軟件產(chǎn)品的使用體驗效果
軟件的使用體驗,主要是指用戶使用該軟件完成任務(wù)的效率與質(zhì)量。軟件性能良好的話,那么軟件在面對用戶指令的時候反應速度也會更快,能夠更加流暢地完成所要處理的任務(wù)。并且通常由于軟件性能良好,系統(tǒng)漏洞少,所以任務(wù)處理過程中幾乎不會受到不良因素的干擾,在任務(wù)的完成質(zhì)量上面能夠讓用戶滿意。
2.3 減小軟件對硬件及網(wǎng)絡(luò)的負擔
減小軟件對硬件及網(wǎng)絡(luò)的負擔,也就是我們常說的軟件系統(tǒng)優(yōu)化。一些優(yōu)化做得不好的軟件對計算機系統(tǒng)的硬件設(shè)施是不小的壓力,運轉(zhuǎn)這類軟件所占的空間也會非常多,并且消耗網(wǎng)絡(luò)資源,對用戶體驗以及硬件的使用壽命都有不良的影響。
2.4 提高軟件智能化程度,避免調(diào)試修改
應用軟件性能工程方法,可以對軟件進行可升級的性能調(diào)整處理,提高軟件整體功能更新能力,加大系統(tǒng)存儲量,避免在軟件使用中為了跟上用戶的需求而進行繁瑣的調(diào)試與修改,使得軟件更加智能化。
3 軟件性能工程方法應用于交互式軟件開發(fā)
軟件性能工程在軟件開發(fā)的全過程中都需要使用到,主要包括軟件的體系基本結(jié)構(gòu)的設(shè)計、建立、選擇等方面。軟件性能工程方法中最為核心的一點就是性能模型的建立,利用模型對軟件性能進行分析,并在開發(fā)過程中進行實時的修改。通過建模措施,可以對軟件系統(tǒng)的性能進行數(shù)據(jù)收集、分析、整理、追蹤、性能基本指標原則等方面進行監(jiān)控與預測。
軟件性能工程方法的建模是開始所有性能預測工作的關(guān)鍵,因此,在這里著重介紹其在交互式軟件開發(fā)中的建模方法:
3.1 軟件性能工程建模步驟
在軟件性能工程建模中,主要包括了建立系統(tǒng)模型、測量現(xiàn)有系統(tǒng)模式、刻畫負載特征并輸入模型參數(shù)、確認調(diào)整模型等主要步驟。與傳統(tǒng)的建模相比,軟件性能工程建模還加入了軟件執(zhí)行的模型來測量軟件性能。除了可以通過具體的量化值判斷軟件的性能之外,還可以直接進行性能評估,不依靠量化值的標準判斷軟件性能,在效率上相比于傳統(tǒng)建模方式提高了許多。
3.2 軟件性能工程建模與軟件性能指標原則
軟件性能工程建模關(guān)系著對軟件性能的預測效果,因此在建模與軟件性能檢測及優(yōu)化的時候應該掌握并遵循以下幾個方面的原則:
(1)固定點早晚把握適度的原則:固定點是指軟件任務(wù)目標與任物執(zhí)行指令發(fā)生聯(lián)系的時間點,對于軟件系統(tǒng)的反應速度和靈活性有比較大的影響。通常來說,早建立固定點的話系統(tǒng)反應度會更高,而晚建立固定點的話則系統(tǒng)的靈活性會得到增強。
(2)軟件系統(tǒng)與計算機硬件的對應原則:也就是說,軟件的性能指標數(shù)據(jù)要在符合相應硬件標準的條件下進行,否則容易造成硬件負荷過大的情況,這是軟件開發(fā)過程中必須要盡量避免的。
(3)任務(wù)適當分解原則:該原則主要是針對用戶對軟件的反應速度要求很高的時候,如果進行多次任務(wù)指令反應速度過慢的話,那么就可以將任務(wù)分解成若干個子任務(wù),以此來加快整個任務(wù)反應的速度,縮短反應時間。
(4)重心協(xié)調(diào)原則:這只要是為用戶使用軟件時候的軟件人性化服務(wù)而設(shè)定的原則,通過對用戶常使用的軟件任務(wù)類型的設(shè)定,來簡化軟件總體處理步驟,進而起到提高軟件性能的效果。
(5)性能指標代碼必須原則:加入性能指標代碼并不能直接提高軟件的性能,但卻是軟件性能工程對負載流、資源需求、以及性能要求進行測定及分析的主要依據(jù),如果沒有這類代碼,則這些預測及分析也就不能進行。通常性能指標代碼是在軟件程序設(shè)計的時候加進去的,在程序設(shè)計好之后一般很難加入代碼。
3.3 軟件性能工程建模所需要的信息
在進行性能建模的時候,得到所需要的相應建模信息是非常必要的,包括軟件系統(tǒng)的任務(wù)目標、軟件性能參數(shù)、性能影響因素等方面。
(1)系統(tǒng)任務(wù)目標:系統(tǒng)任務(wù)目標包括了軟件的系統(tǒng)環(huán)境以及在該系統(tǒng)環(huán)境下達成性能要求的目標。比如交互式軟件中,系統(tǒng)環(huán)境就包括了用戶與軟件內(nèi)部的交互以及其達成任務(wù)的指令步驟。
(2)軟件性能參數(shù):通常是指軟件對用戶任務(wù)的反應速度要求、軟件單位工作頻率要求以及軟件總?cè)蝿?wù)工作容量要求。
(3)軟件性能影響因素:通常來說,軟件性能影響因素包括軟件在處理任務(wù)時的資源需求類型、資源分配方式等因素。按照影響來源劃分,一般將性能影響因素分為軟件系統(tǒng)自身影響因素以及軟件工作環(huán)境影響因素。
總之,在交互式軟件開發(fā)中應用軟件性能工程,既可以通過全面定量性能的估算,依據(jù)具體性能量化值來預測并改進軟件性能,也可以通過非定量性能來進行簡單低成本的性能預測分析,具有很強大的軟件性能分析監(jiān)控能力。
4 結(jié)束語
通過對軟件性能工程方法的討論可以發(fā)現(xiàn),這種軟件開發(fā)方法在現(xiàn)在乃至于在未來都將對交互式軟件性能的保證起著非常關(guān)鍵的作用。因此,用戶對于一款交互式軟件的使用體驗必將會提升到一個新的臺階。
參考文獻:
[1]范光宇.軟件優(yōu)化技術(shù)在軟件開發(fā)項目中的應用研究[D].電子科技大學,2010.
[2]劉廉如.動態(tài)服務(wù)資源分發(fā)網(wǎng)絡(luò)的若干關(guān)鍵技術(shù)研究[D].北京郵電大學,2012.
[3]朱名勛.可信軟件非功能需求獲取與分析研究[D].中南大學,2012.
[4]胡勁松.軟件工程方法在MIS開發(fā)中的作用探析[J].信息與電腦(理論版),2012,12:109-110.
[5]李峰.Web應用軟件建模過程中性能參數(shù)研究[D].中國石油大學,2011.
作者單位:周口師范學院計算機科學系大三,河南周口 466000