功能需求與非功能需求
功能性需求和非功能性需求之間的關鍵區別在於,功能性需求描述了系統應該做什麼,而非功能性需求描述了系統如何工作。
在軟件工程中,軟件需求集中於軟件應該解決的需求。開發軟件時,第一步就是收集需求。這是最重要的步驟之一,因為整個產品依賴於收集的需求。一旦收集到需求,就對它們進行分析並記錄到軟件需求規範(SRS)中。軟件需求可以分為功能需求和非功能需求兩部分。
目錄
1. 概述和主要區別
2. 什麼是功能需求
3. 什麼是非功能需求
4. 並列比較——功能需求與非功能需求的表格形式
5. 摘要
什麼是功能要求(functional requirements)?
指定軟件功能方面的需求稱為功能需求。功能需求從一個項目變更到另一個項目。它們定義了系統或組件提供的功能。
假設一個醫院管理系統。它可以有登錄模塊、病人模塊、醫生模塊、預約模塊、報表模塊、計費模塊等幾個模塊。當提供正確的用戶名和密碼時,登錄模塊應成功登錄到系統。患者模塊應保存、編輯和刪除患者詳細信息。醫生模塊應保存、編輯和刪除醫生詳細信息。預約模塊應安排、重新安排和刪除預約。報告模塊應生成醫療報告。計費模塊應生成用於支付的賬單。這些是醫院管理系統的一些功能要求。
什麼是非功能需求(non functional requirements)?
與軟件功能方面無關的需求屬於非功能需求類別。它們定義了軟件的預期特性。用戶可以對它們進行假設。許多用戶關心如何正確地處理非功能性需求,特別是對於大型系統。
醫院管理系統應具有以下非功能性要求。速度是一個相當大的要求。系統應在最短的響應時間內處理數據。系統應該是安全的。數據只能由授權用戶訪問。它應該易於維護。該軟件應該是一個工作和可用的產品。數據應可靠,必要時可用。因此,醫院管理系統應具有性能、安全性、可維護性、可用性、可靠性和可用性等非功能性要求。
功能性(functional)和非功能需求(non functional requirements)的區別
功能需求與非功能需求 | |
功能需求是定義系統或其子系統功能的需求。 | 非功能需求是指規定可用於判斷系統運行情況的標準的需求。 |
使用 | |
功能需求用於描述系統的功能。 | 非功能需求描述了系統的質量特性或質量屬性。 |
總結 - 功能性(functional) vs. 非功能需求(non functional requirements)
本文討論了這兩類軟件需求之間的區別。功能性需求和非功能性需求的區別在於,功能性需求描述了系統應該做什麼,而非功能性需求描述了系統如何工作。
引用
1.“軟件要求”,教程點,2018年1月8日。此處提供