SRS:软件需求规格说明书
SRS:Software Requirement Specification,軟件需求規格說明書。
文檔結構如下:
1. 引言
引言提出了對軟件需求規格說明的縱覽,這有助于讀者理解文檔如何編寫并且如何閱讀和解釋。
1.1. 目的
對產品進行定義,在該文檔中詳盡說明了這個產品的軟件需求,包括修正或發行版本號。如果這個軟件需求規格說明只與整個系統的一部分有關系,那么只定義文檔中說明的部分或子系統。
1.2. 文檔約定(實際文檔無)
描述編寫文檔時所采用的標準或排版約定,包括正文風格、提示區或重要符號。列如,說明了高層需求的優先級是否可以被其所有細化的需求繼承,或者每個需求陳述是否都有其自身的優先級。
1.3. 預期的讀者和閱讀建議
列舉了軟件需求規格說明所針對的不同讀者,列如開發人員、項目經理、營銷人員、用戶、測試人員或文檔的編寫人員。描述了文檔中剩余部分的內容及其組織結構。提出了最適合于每一類型讀者閱讀文檔的建議。
1.4. 產品的范圍
提供了對指定的軟件及其目的的簡短描述,包括利益和目標。把軟件與企業目標或業務策略相聯系。可以參考項目視圖和范圍文檔而不是將其內容復制到這里。
1.5. 參考文獻
列舉了編寫軟件需求規格說明時所參考的資料或其它資源。這可能包括用戶界面風格指導、合同、標準、系統需求規格說明、使用實例文檔,或相關產品的軟件需求規格說明。在這里應該給出詳細的信息,包括標題名稱、作者、版本號、日期、出版單位或資料來源,以方便讀者查閱這些文獻。
2. 綜合描述
這一部分概述了正在定義的產品以及它所運行的環境、使用產品的用戶和已制知的限制、假設和依賴。
2.1. 產品的前景
描述了軟件需求規格說明中所定義的產品的北京和起源。說明了該產品是否是產品系列中的下一成員,是否是成熟產品所改進的下一產品、是否是現有應用程序的替代品,或者是否是一個新型的、自含型產品。如果軟件需求規格說明定義了大系統的一個組成部分,那么就要說明這部分軟件是怎樣與整個系統相關的,并且要定義出兩者之間的接口。
2.2. 產品的功能
概述了產品所具有的主要功能。其詳細內容將在系統特性中描述,所以在此只需要概略地總結,例如用列表的方法給出。很好地組織產品的功能,使每個讀者都易于理解。用圖形表示主要的需求分組以及它們之間的聯系,例如數據流程圖的頂層圖或類圖,都是有用的。
2.3. 用戶類和特征
確定你覺得可能使用該產品的不同用戶類并描述它們相關的特征。有一些需求可能只與特定的用戶類相關。將該產品的重要用戶類與那些不太重要的用戶類區分開。
2.4. 運行環境
描述了軟件的運行環境,包括硬件平臺、操作系統和版本,還有其它的軟件組件或與其共存的應用程序。
2.5. 設計和實現上的限制
確定影響開發人員自由選擇的問題,并說明這些問題為什么成為一種限制。可能的限制包括如下內容:
- 必須使用或者避免的特定技術、工具、編程語言和數據庫。
- 所需求的開發規范和標準(例如,如果由客戶的公司負責軟件維護,就必須定義轉包者所使用的設計符號表示和編碼標準。)
- 企業策略、政府法規或工業標準。
- 硬件限制,例如定時需求或存儲器限制。
- 數據轉換格式標準。
2.6. 假設和依賴
列舉出在對軟件需求規格說明中影響需求陳述的假設因素(與已知因素相對立)。這可能包括你打算要用的商業足見或有關開發或運行環境的問題。你可能認為產品將符合一個特殊的用戶界面設計約定,但是另一個SRS讀者卻可能不這樣認為。如果這些假設不正確、不一致或被更改,就會使項目受到影響。
此外,確定項目對外部因素存在的依賴。例如,如果你打算把其它項目開發的組件集成到系統中,那么你就要依賴哪個項目按時提供正確的操作組件,如果這些依賴已經記錄到其它文檔(來歷如項目計劃)中了,那么在此就可以參考其它文檔。
3. 外部接口需求
利用本節來確定可以保證新產品與外部組件正確連接的需求。關聯圖表示了高層抽象的外部接口。需要把對接口數據和控制組件的詳細描述寫入數據字典中。如果產品的不同部分有不同的外部接口,那么應把這些外部接口的詳細需求并入到這一部分的實例中。
3.1. 用戶界面
陳述所需要的用戶界面的軟件組件。描述每個用戶界面的邏輯特征。以下是可能要包括的一些特征:
- 將要采用的圖形用戶界面(GUI)標準或產品系列的風格。
- 屏幕布局或解決方案的限制。
- 將出現在每個屏幕的標準按鈕、功能或導航鏈接(例如一個幫助按鈕)。
- 快捷鍵。
- 錯誤信息顯示標準。
對于用戶界面的細節,例如特定對話的布局,應該寫入一個獨立的用戶界面規格說明中,而不能寫入軟件需求規格說明中。
3.2. 硬件接口
描述系統中軟件和硬件每一接口的特征。這種描述可能包括支持的硬件類型、軟硬件之間的交流的數據和控制信息的性質以及使用的通信協議。
3.3. 軟件接口
描述該產品與其他外部組件(由名字和版本識別)的連接,包括數據庫、操作系統、工具、庫和集成的商業組件,明確并描述在軟件組件之間交換數據或消息的目的,描述所需要的服務以及內部組件通令的性質,確定將在組件之間共享的數據,如果必須用一種特殊的方法來實現數據共享機制,例如在多任務操作系統中的一個全局數據區,那么就必須把它定義為一種實現上的限制。
3.4. 通信接口
描述與產品所使用的通信功能相關的,包括電子、Web瀏覽器、網絡通信標準或協議及電子表格等等。定義了相關的消息格式。規定通信安全或加密問題、數據傳輸速率和同步通信機制。
4. 系統特性
功能是根據系統特性即產品所提供的主要服務來組織的。你可能更喜歡通過使用實例、運行模式、用戶類、對象類或功能等級來組織這部分內容(IEEE1998)。你還可以使用這些元素的組合。總而言之,你必須選擇一種使讀者易二理解預期產品的組織方案。
僅用簡短的語句說明特性的名稱,例如“4.1拼寫檢查和拼寫字典管理”。無論你想說明何種特性,闡述每種特性時都將重述從4.1-4.3這三步系統特性。
4.1. 說明和優先級
提出了對該系統特性的簡短說明并指出該特性的優先級是高、中,還是低。或者你還可以包括對特定優先級部分的評價,例如利益、損失、費用和風險,其相對優先等級可以從1(低)到9(高)。
4.2. 激勵/響應序列
列出輸入激勵(用戶動作、來自外部設備的信號或其它觸發器)和定義這一特性行為的系統響應序列。就像在第8章講座的那樣,這些序列將與使用實例相關的對話元素相對應。
4.3. 功能需求
列出與該特性相關的詳細功能。這些是必須提交給用戶的軟件功能,使用戶可以使用所提供的特性招待6服務或者使用所指定的使用實例招待任務。描述產品如何響應可預知的出錯條件或者非法輸入或動作。就像本章開頭所描述的那樣,你必須唯一的標識每個需求。
5. 其它非功能需求
這部分列舉出了所有非功能需求,而不是外部接口需求和限制。
5.1. 性能需求
闡述了不同的應用領域對產品性能的需求,并解釋它們的原理以幫助開發人員作出合理的設計選擇。確定相互合作的用戶數或者所支持的操作、響應時間以及與實時系統的時間關系。你還可以在這里定義容量需求,例如存儲器和磁盤窨的需求或者存儲在數據庫中表的最大行數。盡可能詳細地確定性能需求。可能需要針對每個功能需求或特性分別陳述其性能需求,而不是把它們都集中在一起陳述。例如,“在運行微軟Windows 2000的450MhzPentium II的計算機上,當系統至少有50%的空閑資源時,95%的目錄數據庫查詢必須在兩秒內完成”。
5.2. 安全設施需求
詳盡陳述與產品使用過程中可能發生的損失、破壞或危害相關的需求。定義必須采取的安全保護或動作,還有那些預防的潛在的危險動作。明確產品必須遵從的安全標準、策略或規則。一個安全設施需求的范例如下:“如果油箱的壓力超過了規定的最大壓力的95%,那么必須在1秒種內終止操作”。
5.3. 安全性需求
詳盡陳述與系統安全性、完整性或與私人問題相關的需求,這些問題將會影響到產品的使用和產品所創建或使用的數據的保護。定義用戶身份確認或授權需求。明確產品必須滿足的安全性或保密性策略。你可能更喜歡通過稱為完整性的質量屬性來闡述這些需求,完整性將在第11章介紹。一個軟件系統的安全需求的范例如下:“每個用戶在第一次登錄后,必須更改翁的最初登錄密碼。最初的登錄密碼不能重用。”
5.4. 軟件質量屬性
詳盡陳述與客戶或開發人員至關重要的其產品質量特性。這些特性必須是確定、定量的并在可能時是可驗證的。至少應指明不同屬性的相對側重點,例如易用程度優于易學程度,或者可移植優于有效性。
5.5. 業務規則
列舉出有關產品的所有操作規則,例如什么人在特定環境下可以進行何種操作。這些本身不是功能需求,但它們可以暗示某些功能需求執行這些規則。一個業務規則的范例如下:“只有持有管理員密碼的用戶才能執行$100.00或更大額的退款操作。“
5.6. 用戶文檔
列舉出將與軟件一同發行的用戶文檔部分,例如,用戶手冊、在線幫助和教程。明確所有已知的用戶文檔的交付格式和標準。
6. 其它需求
定義在軟件需求規格說明的其它部分未出現的需求,例如國際化需求或法律上的需求。你還可以增加有關操作、管理和維護部分來完善產品安裝、配置、啟動和關閉、修復和容錯,以及登錄和監控操作等方面的需求。在模板中加入與你的項目相關的新部分。如果你不需要增加其它需求,就省略這一部分。
附錄A:詞匯表
定義所有必要的術語,以便讀者可以正確地解釋軟件需求說明,包括詞頭和縮寫。你可能希望為整個公司創建一張跨越多項項目的詞匯表,并且只包括特定于單一項目的軟件需求規格說明中的術語。
附錄B:分析模型
這個可選部分包括或涉及到相關的分析模型的位置,例如數據流程圖、類圖、狀態轉換圖或實體-關系圖。
附錄C:待確定問題的列表
編輯一張在軟件需求規格說明中待確定問題的列表,其中每一表項都是編上號的,以便于跟蹤調查。
參考實現:
https://gitee.com/isdu2020/srs
https://blog.csdn.net/WhatWhoWhere/article/details/1865476
總結
以上是生活随笔為你收集整理的SRS:软件需求规格说明书的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言从入门到精通第四版电子书_C语言从
- 下一篇: c语言安卓贪吃蛇代码下载,C语言贪吃蛇代