軟件功能與性能的關係

首先,軟件的性能和功能的源頭都是來自於用戶的需求。

功能指的是在一般條件下軟件系統能夠爲用戶做什麼,能夠滿足用戶什麼樣的需求。拿一個電子郵件系統來講,用戶期望這個軟件系統能夠提供收發電子郵件、保存草稿、設置偏好等功能,只有這些功能實現了,用戶才認爲這是他想要的軟件。但是隨着軟件市場競爭的激烈,軟件技術的日益提高,系統能不能工作已經是一個最起碼的門檻,能夠“又好又快”纔會得到用戶的青睞,而性能則是衡量軟件系統“好快”的一個重要考慮因素。“好”就是要爲用戶省錢,用最小的硬件成本運行軟件系統;“快”就是軟件響應時間要短,我們的用戶都是急性子,最好一秒鐘也不要等。簡單地說,性能就是在空間和時間資源有限的條件下,軟件系統還能不能工作。

如果把上面郵件的功能和性能需求量化,寫成用戶需求說明書可能是下面這個樣子:

功能:郵件系統能夠支持收發以30種語言爲標題和正文的郵件,並支持粘貼10MB的郵件附件。

性能:郵件系統能夠在2GB RAM/1GHz CPU的服務器上,支持10000註冊用戶,日均處理10000郵件,響應時間不超過5秒/封。

我們來對比一下功能需求說明和性能需求說明,發現兩者有一些不同之處:

(1)功能需求中名詞和動詞多,描述軟件主體和動作行爲,比如“標題”、“正文”、“收發”、“粘貼”等;

(2)性能需求中對涉及容量和時間詞彙多,如“2GB RAM服務器”、“1000註冊用戶”、“5秒/封”等。

相信我們的讀者已經從上面的對比看出功能和性能的區別了,軟件性能和功能區別的實質是,軟件功能焦點在於軟件“做什麼”,關注軟件物質“主體”發生的“事件”;而軟件性能則關注於軟件物質“做得如何”,這是綜合“空間”和“時間”考慮的方案(資源和速度),表現爲軟件對“空間”和“時間”的敏感度。認識到性能的這個基本特徵對於性能測試人員非常重要,因爲在下面的章節中我們將要通過多個“空間”和“時間”的組合,來揭開性能指標的實質和提高的辦法。另外,我們也要認清一個事實,軟件的性能實現是建立在功能實現的基礎之上的。

這就像一個人首先要能跑,這是一個健康的人的正常功能,然後才能參加百米比賽,這就如對人身體的性能考驗。而百米比賽隱含了兩個要素:一個是運動員有一個一百米的運動空間;另一個是比賽,要跑得足夠快,要在短時間內跑完。因此我們說百米比賽其實就是一個空間和時間的綜合結果。

“空間”和“時間”是一個哲學中抽象層次較高的概念,在不同的應用範圍有不同的詮釋。那麼在軟件理論和實踐中,我們怎樣理解“空間”和“時間”呢?所謂“仁者見仁,智者見智”,下面我們就分別從用戶的角度和軟件人員的角度來看一下軟件的性能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章