非功能性需求是指根據壹些條件來判斷系統的運行或特性,而不是對系統具體行為的需求,包括安全性、可靠性、互操作性、健壯性等。非功能需求是指根據某些條件來判斷系統的運行或其特性的需求,而不是系統的具體行為。
非功能性需求是指信息系統中相應的需求要素,如保證性能、系統可靠性和可擴展性的需求。
非功能需求的內容
(1)可靠性要求:用戶對軟件故障的頻率、嚴重性、可恢復性和故障可預測性的要求。
(2)易用性要求:用戶在界面易用性和美觀性方面的要求,以及面向用戶的文檔和培訓資料。
(3)運行環境約束:用戶對軟件系統運行環境的要求。
(4)外部接口:用戶對要開發的軟件系統與其他軟件系統或硬件設備之間的接口的要求。
(5)安全需求:用戶在身份認證、授權控制和隱私方面的需求。
非功能性需求不應該脫離實際環境。
有時候,我們會因為看了壹篇文章或者壹本書,或者看到壹個感覺不完美的介紹,而變得極度偏執。在每種情況下,人們只討論壹些技術、解決方案和選項的某些方面,而忽略了壹個至關重要的問題:非功能性需求。
誠然,功能性非常重要。畢竟,如果妳不能表明構建的系統達到了預期的功能,誰會感興趣呢?采用新穎、巧妙、更簡單、更美觀或者更合適的方法來解決問題是好的,但是如果不考慮非功能性需求,解決方案不壹定有效。
我們都遇到過這樣的情況。雖然很多解決方案是合理的,但是當我們真正考慮在大規模系統的實際環境中使用它們,並且管理這些系統的人非常忙的時候,它們就變得荒謬了。造成這些災難的原因是系統的非功能性需求被忽視或忽略了。
非功能性需求就是這樣的需求,不壹定要解決“我要我的系統實現這個功能”,而是“如何讓這個系統在實際環境中運行”。