需求工程之需求規格說明文檔模板內容

引言
提出對軟件需求規格說明的縱覽,幫助讀者理解該文檔是如何編寫並且如何閱讀和解釋。
編寫目的
對產品進行定義,在該文檔中詳盡說明該產品的軟件需求,包括修正或發行版本號。如果該軟件需求規格說明只與整個系統的一部分有關係,那麼就只定義文檔中說明的部分或子系統。
文檔約定
描述編寫文檔時所採用的標準或排版約定,包括正文風格、提示區或重要符號。例如,說明高層需求的優先級是否可以被其所有細化的需求所繼承,或者每個需求陳述是否都有其自身的優先級。
背景
說明待開發的軟件系統的名稱;本項目的任務提出者、開發者、用戶以及實現該軟件的計算中心或者計算機網絡。
預期的讀者和閱讀建議
列舉軟件需求規格說明所針對的不同讀者。例如開發人員、項目經理、營銷人員、用戶、測試人員或文檔編寫人員。描述文檔中剩餘部分的內容及其組織結構,提出最適合於每一類型讀者閱讀文檔的建議。
定義
列出本文件中用到的專門術語的定義,外文首字母組詞的原詞組。
產品的範圍
提供對指定的軟件及其項目的簡短描述,包括利益和目標。把軟件與企業目標或業務策略相聯繫。可以參考項目視圖和範圍文檔而不是將其內容複製到這裏。
參考資料
列舉編寫軟件需求規格說明時所參考的資料或其他資源。可能包括用戶界面風格指導、合同、標準、系統需求規格說明、使用實例文檔,或相關產品的軟件需求規格說明,此處應給出詳細的信息,包括標題的名稱、作者、版本號、日期、出版單位或資料來源,以方便讀者查閱這些文獻。例如,本項目的經覈准的計劃任務書或者合同或者上級機關的批文;屬於本項目的其他已發表的文件;本文件中各處引用的文件、資料,包括要用到的軟件開發標準。列出這些文件資料的標題、文件編號、發表日期、出版單位,說明能夠得到這些文件資料的來源。
目標
敘述軟件開發的意圖、應用目標、作用範圍以及其他應向讀者說明的有關軟件開發的背景材料。解釋開發軟件與其他軟件之間的關係。如果本軟件產品是一項獨立的軟件,而且全部內容包含,則說明這一點。如果所定義的產品是一個更大的系統的一個組成部分,則應說明本產品與該系統中其他各組成部分之間的關係,爲此可以使用一張方框圖來說明該系統的組成和本產品同其他各部分的聯繫和接口。
用戶的特點
列出本軟件的最終用戶的特點,充分說明操作人員、維護人員的教育水平和技術專長,以及本軟件的預期使用額度。這些是軟件設計工作的重要約束。
假定和約束
列出本軟件開發工作的假定和約束,例如經費限制、開發期限等。
綜合描述
概述正在定義的產品以及它所運行的環境、使用產品的用戶和已知的限制、假設和依賴。
產品的前景
描述軟件需求規格說明中所定義的產品的背景和起源。說明該產品是否是產品系列中的下一成員,是否是成熟產品所改進的下一代產品、是否是現有應用程序的替代品,或者是否是一個新型的、自含型產品。如果軟件需求規格說明定義了大系統的一個組成部分,那麼就要說明這部分軟件是怎樣與整個系統相關聯的,並且要定義出兩者之間的接口。
產品的功能
概述產品所具有的主要功能。其詳細內容將在後續章節中描述,所以此處只需要概括地總結。例如用列表的方法給出。很好組織產品的功能,使每個讀者都易於理解。用圖形表示主要的需求分組以及他們之間的聯繫,例如數據流程圖的頂層圖或類圖,都可以。
用戶類和特徵
確定可能使用該產品的不同用戶類並描述他們相關的特徵。有些需求可能只與特定的用戶類相關。將該產品的重要用戶類與那些不太重要的用戶類區分開。
運行環境
描述軟件的運行環境,包括硬件平臺、操作系統和版本,還有其他的軟件組件或與其共存的應用程序。
設計和實現上的限制
確定影響開發人員自由選擇的問題,並說明這些問題爲什麼成爲一種限制。可能的限制包括以下內容:必須使用或者避免的特定技術、工具、編程語言和數據庫。所要求的開發規範或標準(例如,如果有客戶的公司負責軟件維護,就必須定義轉包者所使用的設計符號表示和編碼標準。企業策略、政府法規或工業標準。硬件限制,例如定時需求或存儲器限制。數據轉換格式標準。
假設和依賴
列舉在對軟件需求規格說明中影響需求陳述的假設因素(與已知因素相對立)。可能包括打算要用的商業組件或有關開發或運行環境的問題。可能認爲產品將符合一個特殊的用戶界面設計約定,但是另一個 SRS 讀者卻可能不這樣認爲。如果這些假設不正確、不一致或被更改,就會使項目受到影響。此外,確定項目對外部因素存在的依賴。例如,如果打算把其他項目開發集成到系統中,那麼就要依賴那個項目按時提供正確的操作組件。如果這些依賴已經記錄到其他文檔(例如項目計劃)中了,那麼在此就可以參考其他文檔。
外部接口需求
確定可以保證新產品與外部組件正確連接的需求。關聯圖表示了高層抽象的外部接口。需要把對接口數據和控制組件的詳細描述寫入數據字典中。如果產品的不同部分有不同的外部接口,那麼應該把這些外部接口的詳細需求併入到這部分的實例中。
用戶界面
陳述所需要的用戶界面的軟件組件。描述每個用戶界面的邏輯特徵。可能包括的一些特徵如,將要採用的圖形用戶界面(GUI)標準或產品系列的風格;屏幕布局或解決方案的限制;將出現在每個屏幕的按鈕、功能或導航鏈結(例如一個幫助按鈕);快捷鍵;錯誤信息顯示標準對於用戶界面的細節,比如特定對話框的佈局,應該寫入一個獨立的用戶界面規格說明中,而不能寫入軟件需求規格說明中。
硬件接口
描述系統中軟件和硬件每一接口的特徵。這種描述可能包括支持的硬件類型、軟硬件之間交流的數據和控制信息的性質以及所使用的通信協議。
軟件接口
描述該產品與其他外部組件(由名字和版本識別)的連接,包括數據庫、操作系統、工具、庫和集成的商業組件。明確並描述在軟件組件之間交換數據或消息的目的。描述所需要的服務以及內部組件通信的性質。確定將在組件之間共享的數據。如果必須用一種特殊的方法來實現數據共享機制,例如在多任務操作系統中的一個全局數據區,那麼就必須把它定義爲一種實現上的限制。
通信接口
描述與產品所使用的通信功能相關的需求,包括電子郵件、Web 瀏覽器、網絡通信標準或協議及電子表格等等。定義相關的消息格式。規定通信安全或加密問題、數據傳輸速率和同步通信機制。
系統特性
在模板中,功能需求是根據系統特性即產品所提供的主要服務來組織的。可通過使用實例、運行模式、用戶類、對象類、功能等級,或這些元素的組合來組織這部分內容(IEEE1998)。總而言之,必須選擇一種使讀者易於理解預期產品的組織方案。另外,僅用簡短的語句說明特性的名稱,例如“4.1 拼寫檢查和拼寫字典管理”。
說明和優先級
提出對該系統特性的簡短說明並指出該特性的優先級是高、中,還是低。或者還可以包括對特定優先級部分的評價,例如利益、損失、費用或風險,其相對優先等級還可以從 1(低)到 9(高)。
激勵/響應序列
列出輸入激勵(用戶動作、來自外部設備的信號或其他觸發器)和定義這一特性行爲的系統響應序列。這些序列將與使用實例相關的對話元素相對應。
功能需求
詳列出與該特性相關的詳細功能需求。是必須提交給用戶的軟件功能,使用戶可使用所提供的特性執行服務或者使用所指定的使用實例執行任務。描述產品如何響應可預知的出錯條件或者非法輸入或動作。必須唯一地標示每一個需求。
非功能需求
列舉出所有非功能需求,而不是外部接口需求和限制。
性能需求
闡述不同的應用領域對產品性能的需求,並解釋它們的原理以幫助開發人員做出合理的設計選擇。確定相互合作的用戶數或者所支持的操作、響應時間以及與實時系統的時間關係。可在此處定義容量需求,例如存儲器和磁盤空間的需求或者存儲在數據庫中表中的最大行數。儘可能詳細地確定性能需求。可能需要針對每個功能需求或特性分別陳述其性能需求,而不是把它們都集中在一起陳述。例如,“在運行微軟 Windows 2000 的 450 MhzPentium II 的計算機上,當系統至少有 50%的空閒資源時,95%的目錄數據庫查詢必須在兩秒內完成。”
安全設施需求
詳盡陳述與產品使用過程中可能發生的損失、破壞或危害相關的需求。定義必須採取的安全保護或動作,以及應預防的潛在的危險動作。明確產品必須遵從的安全標準、策略或規則。一個安全設施需求的範例如下:“如果油箱的壓力超過了規定的最大壓力的 95%,那麼必須在 1 秒中內終止操作。”
安全性需求
詳盡陳述與系統安全性、完整性或與私人問題相關的需求,這些問題將會影響到產品的使用和產品所創建或使用的數據的保護。定義用戶身份確認或授權需求。明確產品必須滿足的安全性或保密性策略,用“完整性”的質量屬性來闡述這些需求。一個軟件系統的安全性需求的範例如下:“每個用戶在第一次登錄後,必須更改他的最初登錄密碼。最初的登錄密碼不能重用。”
軟件質量屬性
詳盡陳述與客戶或開發人員至關重要的其他產品質量特性。這些特性必須是確定、定量,並在可能時可驗證。至少應指明不同屬性的相對側重點。例如易用程度優於易學程度,或者可移植性優於有效性。
業務規則
列舉出有關產品的所有操作規則,例如什麼人在特定的環境下可以進行何種操作。這些本身不是功能需求,但它們可以暗示某些功能需求執行這些規則。一個業務規則的範例如下:“只有持有管理員密碼的用戶才能執行¥100.00 或更大額的退款操作。”
用戶文檔
列舉出將與軟件一同發行的用戶文檔部分。例如,用戶手冊、在線幫助和教程。明確所有已知的用戶文檔的交付格式或標準。
其他需求
定義在軟件需求規格說明的其他部分未出現的需求,例如國際化需求或法律上的需求。還可以增加有關操作、管理和維護部分來完善產品安裝、配置、啓動和關閉、修復和容錯,以及登錄和監控操作等方面的需求。在模板中加入與本系統相關的新部分。果不需要增加其它需求,就省略這一部分。
附錄 A:詞彙表
定義所有必要的術語,以便讀者可以正確地解釋軟件需求規格說明,包括詞頭和縮寫。可爲整個公司創建一張跨多項項目的詞彙表,並且只包括特定於單一項目的軟件需求規格說明中的術語。
附錄 B: 分析模型
這個可選部分包括後文涉及到相關的分析模型的位置,例如數據流程圖、類圖、狀態轉換圖或實體關係圖,以及查閱這些圖的位置說明。
附錄 C:待確定問題的列表
編輯一張在軟件需求規格說明中待確定的問題的列表,其中每一表項都是編號的,以便於跟蹤調查。
————————————————
版權聲明:本文爲CSDN博主「dongyuyuu」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/id__39/article/details/105262120
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章