1. 程式人生 > >軟體開發需求分析規範

軟體開發需求分析規範

軟體需求規格說明書是軟體開發過程需求分析階段需要產出的文件,是為了使使用者和軟體開發者對軟體的規格有一個共同的理解而撰寫的,軟體需求規格說明有標準的模板
其規範結構包括:

第一章是引言。
描述軟體需求規格說明書的縱覽,幫助讀者理解文件如何編寫並且如何閱讀和理解,包含五個部分:
1.1 編寫目的
//對產品(專案)進行定義,在該文件中詳盡說明這個產品的軟體需求,包 //括修正或發行版本號。如果這個軟體需求規格說明書只與整個系統的一 //部分有關,那麼只定義文件中說明的部分或子系統。
1.2 文件約定
//描述編寫文件時所採用的標準或排版約定,包括正文風格,提示區或重 //要符號。例如,說明高層需求的優先順序是否可以被所有細化分需求所繼 //承,或者每個需求陳述是否都有優先順序。
1.3 讀者物件和閱讀建議


//列舉軟體需求規格說明書所針對的不同讀者,例如開發人員、專案經理、 //營銷人員、使用者、測試人員等。描述文件中剩餘部分的內容及其組織結 //構。提出最適合每一類讀者閱讀文件的建議。
1.4 專案範圍
//提供對指定的軟體及其目的的簡短描述,包括利益和目標。把軟體與企業 //目標或業務策略相聯絡。可以參考專案範圍文件,而不是將其內容複製到 //這裡
1.5 參考資料
//列舉編寫軟體需求規格說明書時所參考的資料或其它來源。可能包括使用者 //介面風格指導、合同、標準、系統需求規格說明書,使用者需求、相關產品 //的軟體需求規格說明書。這裡應給出詳細的資訊,包括標題名稱、作者、 //版本號、日期、出版單位或資料來源,以方便讀者查閱這些文獻。

第二章是總體描述
2.1 產品前景
//描述軟體需求規格說明書中所定義的產品的背景和起源。說明該產品是否 //是產品系列中的下一個成員,是否是成熟產品所改進的下一代產品,是否 //是現有應用程式的替代品,或者什邡市一個全新的產品。
//如果軟體需求規格說明書定義了大系統的一個組成部分,那麼就要說明這 //部分軟體是怎樣與整個系統相關聯的,並且要定義出兩者之間的介面。建 //議使用系統結構圖或者實體關係圖表示
2.2 產品的功能
//概述產品所具有的主要功能,詳細內容在第4節描述,所以這裡只需要概括 //總結,例如用列表的方法給出。很好地組織產品的功能,使每個讀者都易 //於理解。用圖形表示主要的需求分組以及它們之間的聯絡。
//建議使用資料流程圖(DFD)的頂層圖或者類圖來實現圖形化
2.3 使用者類及其特徵


//確定可能使用該產品的不同使用者類並描述它們相關的特徵。有一些需求可 //能只與特定的使用者類相關。將該產品的重要使用者類與那些不太重要的使用者 //類區分開
2.4 執行環境
//描述軟體的執行環境,包括硬體平臺、作業系統和版本,還有其它的軟體 //元件或者與其共存的應用程式。
2.5 設計和實現上的約束
//確定影響開發人員自由選擇的問題,並說明這些問題為什麼成為一種限
//制。可能的限制包括:
//◆必須使用或者避免的特定技術、工具、程式語言、資料庫
//◆經費、進度、資源等方面的限制
//◆所要求的開發規範或標準
//◆企業策略、政府法規或工業標準
//◆硬體限制,例如定時需求或儲存器限制
//◆資料轉換格式標準
//◆其它
2.6 假設和依賴

第三章是系統功能。
需要列出每個功能點,每個功能點包含以下三個方面:
3.X.1 描述和優先順序
3.X.2 請求/響應序列
3.X.3 功能性需求
//詳細列出提交給使用者的軟體功能,使用者可以使用所提供的功能執行服務 //或者使用所指定的用例執行任務。並且描述產品如何響應可預知的出錯 //條件或非法輸入或動作。

第四章是外部介面需求。
4.1 使用者介面
//陳述所需要的使用者介面。描述每個使用者介面的邏輯特徵。以下是可能要 //包括的一些特徵:
//◆將要採用的使用者介面標準或產品系列的風格
//◆屏幕布局或解決方案的限制
//◆將出現在每個螢幕的標準按鈕、功能或導航連結
//◆快捷鍵
//◆錯誤資訊顯示標準
//對於使用者介面的細節,例如特定對話方塊的佈局,建議寫入一個獨立的用 //戶介面規格說明中,不要寫入軟體需求規格說明書中
4.2 硬體介面
//描述系統中硬體每個介面的特徵。可能包括支援的硬體型別、軟硬體之間 //交流的資料和控制資訊的性質以及所使用的通訊協議
4.3 軟體介面
//描述產品與其它外部元件的連線,包括資料庫,作業系統,工具庫和整合 //的商業元件。明確並描述在軟體元件之間交換資料或資訊的目的,描述所 //需要的服務及內部元件通訊的性質,確定將在元件之間共享的資料。如果 //必須用一種特殊的方法來實現資料共享機制,那麼就必須把它定義為一種 //實現上的限制
4.4 通訊介面
//描述與產品所使用的通訊功能相關的需求,包括電子郵件、WEB瀏覽器、 //網路通訊標準或協議及電子表格等,定義相關的資訊格式、規定通訊安全 //或加密問題、資料傳輸速率和同步通訊機制
第五章是其他非功能性需求。

5.1 效能需求
//闡述不同的應用領域對產品效能的需求,並解釋它們的原理以幫助開
//發人員做出合理的設計選擇。確定相互合作的使用者數或者所支援的操 //作,響應時間以及與實時系統的時間關係;還要定義容量需求,例如存 //儲器和磁碟空間的需求或者儲存在資料庫中表的最大行數。也可能需要
//針對每個功能需求或特性分別陳述其效能需求
5.2 安全性需求
//陳述與系統安全性、完整性相關的需求,包括產品建立或使用的資料保 //護。明確產品必須滿足的安全性或保密性策略。
5.3 軟體質量屬性
//詳細陳述與客戶或開發人員至關重要的質量特性。這些特性必須是確定 //的、定量的並可檢驗的。至少應指明不同屬性的相對側重點。
5.4 其它需求
//定義至今未出現的需求。例如國際化需求、法律上的需求、有關操作、管 //理、維護、安裝、配置、啟動、關閉、修復、容錯、監控等等方面的需求

第六章是資料字典。
6.1 實體關係圖
6.2 實體定義

第七章是業務規則與業務演算法:
7.1業務規則
//列舉出有關產品的所有操作規則。例如什麼人在特定環境下可以進行何種 //操作。這些規則不是功能需求,但它們可以暗示某些功能需求執行這些規 //則。業務規則的範例如下圖所示:
7.2演算法說明
//用於實施系統計算功能的公式和演算法的描述,類似於業務規則。如神州行
//套餐的計費標準說明。
//a.每個主要演算法的概況;
//b.用於每個主要演算法的詳細公式。
文件的最後是附錄部分,包括:
附錄A:分析模型(包括涉及的資料流圖、類圖、狀態轉換圖)
附錄B:待確定問題的列表
附錄C:編寫文件的原則**