• 軟體測試術語表
  • 首頁

軟體需求規格說明書



軟體是根據客戶提供的需求開發的。任何需求偏差都被視為軟體中的缺陷。因此,在軟體實施過程中,開發人員應格外小心,以確保軟體是根據需求和規格開發的。

什麼是軟體需求規格說明書?

軟體需求規格說明書描述了在目標環境中執行特定功能的軟體的規格。它包含軟體要實現的多個目標。它可以由客戶或開發人員編寫。

參與軟體需求規格說明書的客戶主要關注終端使用者的需求和期望。編寫軟體需求規格說明書的開發人員則服務於多個目的,包括定義客戶和開發人員之間的合同。

軟體需求規格說明書的特點

軟體需求規格說明書的特點如下:

1. 正確性

進行客戶評審以在軟體需求規格說明書中描述適當的需求。如果它包含軟體應具有的每個需求,則被認為是理想的。

2. 完整性

在以下條件下,軟體需求規格說明書被認為是完整的:

  • 應包含所有涵蓋所有功能、設計、架構、效能引數、依賴關係、約束條件、屬性、介面等的所有強制性需求。
  • 它還應包含軟體對有效和無效輸入資料集的響應。
  • 它應包含各種圖形、圖表、單位和術語的標籤和描述。

3. 一致性

如果任何需求的任何子部分彼此之間不矛盾,則軟體需求規格說明書被認為是一致的。軟體需求規格說明書文件中出現的不同型別的衝突如下:

  • 現實實體的特定行為可能相互矛盾。例如,一個需求中可能將輸出報告的格式定義為 pdf,但在另一個需求中可能將其定義為文件格式。一個條件可能描述所有輸出都應為整數型別,而另一個需求則描述所有輸出都應為 long 型別。
  • 兩個特定活動之間可能存在合理的或暫時的衝突。例如,一個需求可能定義軟體應每天處理付款,但另一個需求可能描述軟體應每小時處理付款。一個條件可能敘述付款將在訂單成功放置後處理,但另一個條件可能描述這兩個活動都應共存。
  • 多個需求可能使用不同的術語來描述類似的現實實體。例如,使用者輸入在一個需求中可以稱為警報,在另一個需求中可以稱為對話方塊。

4. 無歧義性

如果每個需求都具有一致的解釋和明確的描述,則軟體需求規格說明書被認為是無歧義的。所有需求都應該清晰易懂。

5. 穩定性和重要性的排序

軟體需求規格說明書中的每個需求都應根據其穩定性和重要性進行排序。並非所有需求都相同,對於某些需求,前提條件是強制性的,而對於其他需求則可能並非如此。所有這些因素都應明確地描述。其他因素包括需求、不錯、可選的需求類別。

6. 可修改性

軟體需求規格說明書中的所有需求都應該是可修改的,並且每個更改都應進行交叉引用和索引。

7. 可驗證性

軟體需求規格說明書中的所有需求都應透過廣泛和定期的審查進行驗證。

8. 可追溯性

軟體需求規格說明書中的所有需求都應可追溯到每個需求的來源。它們還應參考將來發生的任何開發或增強。

9. 設計獨立性

軟體應該提供一個選項,從各種設計方案中選擇一個用於軟體的設計。軟體需求規格說明書不應包含任何軟體的實現細節。

10. 可測試性

軟體需求規格說明書應該用簡單的語言描述,以便能夠輕鬆地從中生成測試計劃和測試用例。

11. 易於理解

軟體需求規格說明書的語言應該清晰易懂。它不應包含任何正式的符號和標記。

12. 抽象性

如果在需求分析階段描述軟體需求規格說明書,則應明確說明。

可追溯性型別

不同型別的可追溯性列示如下:

後向可追溯性

它取決於各個需求明確指向其來源。

前向可追溯性

它取決於軟體需求規格說明書中的各個元素是否具有唯一的編號或名稱。它主要對維護和操作階段至關重要。由於程式碼和設計會發生變化,因此應確保這些更改與新的需求保持一致。

軟體需求規格說明書的特性

軟體需求規格說明書的特性列示如下:

  • 軟體需求規格說明書文件應簡潔、清晰、統一且完整。不必要和冗餘的描述會降低其可讀性,並使其更容易出錯。
  • 軟體需求規格說明書文件應遵循系統化的方式。它會經歷各種修改以滿足所有客戶的需求。此外,由於其結構化格式,軟體需求規格說明書中的更改也易於合併。
  • 軟體需求規格說明書文件應廣泛涵蓋軟體的黑盒需求。這意味著它應該描述從各種輸入集中生成的軟體輸出。它定義了軟體的外部特性,而不涉及其內部實現細節。
  • 軟體需求規格說明書文件應包含對軟體中意外事件的響應。因此,它應該總結對極端情況的響應。
  • 軟體需求規格說明書文件應包含所有正確的需求。

結論

這總結了我們關於軟體需求規格說明書教程的全面概述。我們從描述什麼是軟體需求規格說明書、軟體需求規格說明書的特徵是什麼、不同型別的可追溯性是什麼以及軟體需求規格說明書的特性是什麼開始。這使您具備了對軟體需求規格說明書的深入瞭解。明智的做法是不斷練習您所學到的知識,並探索與軟體測試相關的其他知識,以加深您的理解並拓寬您的視野。

廣告