1. 程式人生 > >什麼是軟體需求,什麼是功能需求?——論需求的三個層次和三個方面(2)

什麼是軟體需求,什麼是功能需求?——論需求的三個層次和三個方面(2)

  業務需求(Business requirement)表示組織或客戶高層次的目標。業務需求通常來自專案投資人、購買產品的客戶、實際使用者的管理者、市場營銷部門或產品策劃部門。業務需求描述了組織為什麼要開發一個系統,即組織希望達到的目標。使用前景和範圍(vision and scope)文件來記錄業務需求,這份文件有時也被稱作專案輪廓圖或市場需求(project charter 或 market requirement)文件。
  使用者需求(user requirement)描述的是使用者的目標,或使用者要求系統必須能完成的任務。用例、場景描述和事件――響應表都是表達使用者需求的有效途徑。也就是說使用者需求描述了使用者能使用系統來做些什麼。
  功能需求
(functional requirement)規定開發人員必須在產品中實現的軟體功能,使用者利用這些功能來完成任務,滿足業務需求。功能需求有時也被稱作行為需求(behavīoral requirement),因為習慣上總是用“應該”對其進行描述:“系統應該傳送電子郵件來通知使用者已接受其預定”。功能需求描述是開發人員需要實現什麼。注意:使用者需求不總是被轉變成功能需求。產品特性,所謂特性(feature),是指一組邏輯上相關的功能需求,它們為使用者提供某項功能,使業務目標得以滿足。對商業軟體而言,特性則是一組能被客戶識別,並幫助他決定是否購買的需求,也就是產品說明書中用著重號標明的部分。客戶希望得到的產品特性和使用者的任務相關的需求不完全是一回事。一項特性可以包括多個用例,每個用例又要求實現多項功能需求,以便使用者能夠執行某項任務。

  系統需求
(system requirement)用於描述包含有多個子系統的產品(即系統)的頂級需求。系統可以只包含軟體系統,也可以既包含軟體又包含硬體子系統。人也可以是系統的一部分,因此某些系統功能可能要由人來承擔。
  業務規則包括企業方針、政府條例、工業標準、會計準則和計算方法等。業務規劃本身並非軟體需求,因為它們不屬於任何特定軟體系統的範圍。然而,業務規則常常會限制誰能夠執行某些特定用例,或者規定系統為符合相關規則必須實現某些特定功能。有時,功能中特定的質量屬性(通過功能實現)也源於業務規則。所以,對某些功能需求進行追溯時,會發現其來源正是一條特定的業務規則。
  功能需求記錄在軟體需求規格說明(SRS)中。SRS完整地描述了軟體系統的預期特性。SRS我們一般把它當作文件,其實,SRS還可以是包含需求資訊的資料庫
或電子表格;或者是儲存在商業需求管理工具中的資訊;而對於小型專案,甚至可能是一疊索引卡片。開發、測試、質量保證、專案管理和其他相關的專案功能都要用到 SRS。