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