- 性能之道:分布式系統(tǒng)全棧性能優(yōu)化
- 于君澤 曹洪偉 李偉山 秦金衛(wèi) 陳龍泉
- 955字
- 2025-02-21 17:02:50
2.2 軟件性能的一般含義
性能是軟件的一種非功能特性,可以定義為“軟件與其環(huán)境交互以獲得價值和避免損失的程度”。它不僅關(guān)注軟件是否能夠完成特定的功能,還關(guān)注軟件在完成該功能時展示出來的時空屬性。換句話說,性能就是在空間資源和時間資源有限的條件下,表征軟件是否能夠正常工作的指標。軟件的性能是建立在軟件所實現(xiàn)的功能基礎(chǔ)之上的,軟件的功能關(guān)注的是軟件做了什么,軟件的性能關(guān)注的是軟件做得如何。因此,性能是對綜合資源和速度的考量,對“空間”和“時間”都具有高敏感度。
狹義上,軟件性能指的是在盡可能少地占用系統(tǒng)資源的前提下,盡可能提高運行速度;廣義上,軟件性能指的是軟件的質(zhì)量屬性,包括正確性、可靠性、易用性、安全性、可擴展性、兼容性和可移植性等。軟件的性能是對整個軟件的整體考量,既包括所有的硬件組件和整個軟件棧,也包括所有數(shù)據(jù)在流動路徑上和軟硬件上所發(fā)生的事情。軟件性能取決于各種資源的平衡,這類似于木桶理論,某種資源的耗盡會嚴重阻礙軟件的性能。
軟件的性能可以通過客觀指標與主觀感受來描述和評價。從客觀的角度來看,可以用性能指標來描述軟件的性能。而從主觀的角度來看,由于軟件的性能是由人來感受的,不同的人對于同樣的軟件可能會有不同的主觀感受,這與軟件的用戶體驗相關(guān)。
ISO 9241-210:2019中這樣描述用戶體驗:人們對使用或期望使用的產(chǎn)品、系統(tǒng)或者服務(wù)的認知、印象和回應(yīng)。用戶體驗是主觀的,所以會更注重實際應(yīng)用效果。ISO在定義的補充說明中有如下解釋:用戶體驗是指用戶在使用一個產(chǎn)品或系統(tǒng)之前、使用期間和使用之后的全部感受,包括情感、信仰、喜好、認知印象、生理和心理反應(yīng)、行為、成就等各個方面。因此,許多因素都可以影響用戶體驗,這些因素被分為三大類:使用者的狀態(tài)、系統(tǒng)性能及環(huán)境。其中,系統(tǒng)性能被認為是軟件產(chǎn)品自身影響用戶體驗的關(guān)鍵因素。不同的人關(guān)注軟件性能的視角也不同。對使用軟件的用戶而言,更關(guān)注及時性;對軟件服務(wù)或軟件產(chǎn)品提供者而言,既關(guān)注時間因素,又關(guān)注空間使用率,是多種因素的權(quán)衡。
因此,軟件的性能是指軟件在運行過程中表現(xiàn)出來的時間效率、空間效率與用戶需求之間的吻合程度。如果時間效率、空間效率與用戶的心理期待一致,或者能夠達到用戶的具體要求,那么用戶就會認為這款軟件的性能符合要求;反之,用戶會認為這款軟件的性能有問題,或者難以接受。
- 新一代通用視頻編碼H.266/VVC:原理、標準與實現(xiàn)
- C#完全自學(xué)教程
- 無代碼編程:用云表搭建企業(yè)數(shù)字化管理平臺
- 算法大爆炸:面試通關(guān)步步為營
- Python網(wǎng)絡(luò)爬蟲從入門到實踐(第2版)
- Django Design Patterns and Best Practices
- HTML5游戲開發(fā)案例教程
- Effective Python Penetration Testing
- Functional Kotlin
- PySide GUI Application Development(Second Edition)
- C語言課程設(shè)計
- Python數(shù)據(jù)結(jié)構(gòu)與算法(視頻教學(xué)版)
- Scala編程(第5版)
- Mastering Gephi Network Visualization
- Elasticsearch搜索引擎構(gòu)建入門與實戰(zhàn)