软件开发中的非功能需求类型
?在軟件開發中,很多程序員都將完成需求當作任務目標。但是在驗收、代碼評審的時候,我們對于程序員來講,除了能完成外,還有一些其它一些要求條件:例如代碼健壯性,可擴展性,性能等等考核指標。
這些其它的條件,其實我們可以理解為非功能性需求。
非功能性需求,我們一般分為以下幾個指標:
?
觀感性
簡單來說,就是頁面的觀看舒適度。界面舒適度很大的效果上是來自操作者的反饋。
主要描述了需求外觀的期望、情緒和風格。簡單點來說就是對頁面的視覺感官。
易接受性:色彩是否和當前系統類型一致,例如藍色偏商務風等。
風格統一性:設計風格是否統一,一看就知道是一個系統的內容,主要考慮人們在多個系統之間進行系統切換的時候,怎樣打開多頁面不迷失的問題。
易用性
易用性會提高用戶習慣的能力和對使用的期望。主要從消費者的生產效率、容錯率等方面來考究。
易理解:用戶在使用該系統的時候,思維方式和常規人或軟件的思維方式一樣。例如1+1 結果為2(十進制),而不是10(二進制)
易學習:用戶使用該系統所花費的成本是否過高。每個功能是否需要單獨學習相關的操作和理解。
易操作:操作和控制該系統是否方便。例如頁面排版上,下拉框數據過多的時候,是否有搜索功能等,可以方便快速找到內容。
可執行性
可以理解為執行效率。一般情況下對于可執行性的考核都是從時間維度和空間維度來考量。
時間維度:主要是看運行功能所需的時間。一般使用時間復雜度T(n)來表示。值越大,說明花費的時間越多。
空間維度:主要是看運行功能所需的資源(內存)。一般使用空間復雜度O(n)來表示,和上面一樣,值越大,說明使用的內存越大。
可靠性
在規定的時間和條件下,其穩定運行的能力。主要從以下幾個方面考量
穩定性:無錯運行可以拿到幾個9。例如99.99%這種。
容錯性:軟件在錯誤的數據和環境下,對于錯誤的處理能力。
可恢復性:程序在宕機后,多長時間能恢復。?
可維護性
程序在上線后,進行修改和跟蹤所需要花費的精力。一般從以下幾個方面考量
分析性:為跟蹤確定bug所花費的精力的長短比例。
擴展性:后續修改代碼已有功能所花費的時間的長短比例
測試性:在修改后,驗證功能所花費的時間比例。
可移植性
程序從一個環境切換到另外一套環境所需的時間考量
適應性:程序從一個環境切換到另外一個環境下,所需要準備的成本花費比例。例如從window切換到linux。
安裝性:在不同環境下安裝所花費的成本比例。
替換性:替換其它功能的機會成本
寫代碼,除了完成需求規定的功能外,還要綜合考量在性能、可用性等
總結
以上是生活随笔為你收集整理的软件开发中的非功能需求类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php网易音乐api接口,网易云音乐AP
- 下一篇: Leetcode 279. Perfec