(格式)
1.引言
引言是對這份軟件產(chǎn)品需求分析報告的概覽,是為了幫助閱讀者了解這份文檔是如何編寫的,并且應該如何閱讀、理解和解釋這份文檔。
1.1編寫目的
說明這份軟件產(chǎn)品需求分析報告是為哪個軟件產(chǎn)品編寫的,開發(fā)這個軟件產(chǎn)品意義、作用、以及最終要達到的意圖。通過
這份軟件產(chǎn)品需求分析報告詳盡說明了該軟件產(chǎn)品的需求規(guī)格,包括修正和(或)發(fā)行版本號,從而對該軟件產(chǎn)品進行準確的定
義。
如果這份軟件產(chǎn)品需求分析報告只與整個系統(tǒng)的某一部分有關系,那么只定義軟件產(chǎn)品需求分析報告中說明的那個部分或
子系統(tǒng)。
1.2項目風險
具體說明本軟件開發(fā)項目的全部風險承擔者,以及各自在本階段所需要承擔的主要風險,首要風險承擔者包括:任務提出者;
軟件開發(fā)者;
產(chǎn)品使用者。
?文檔約定
描述編寫文檔時所采用的標準(如果有標準的話),或者各種排版約定。排版約定應該包括:
正文風格;
提示方式;
重要符號;
也應該說明高層次需求是否可以被其所有細化的需求所繼承,或者每個需求陳述是否都有其自己的優(yōu)先級。
?預期讀者和閱讀建議
列舉本軟件產(chǎn)品需求分析報告所針對的各種不同的預期讀者,例如,可能包括:
?用戶;
?開發(fā)人員;
?項目經(jīng)理;
?營銷人員;
?測試人員;
?文檔編寫人員。
并且描述了文檔中,其余部分的內容及其組織結構,并且針對每一類讀者提出最適合的文檔閱讀建議。
?產(chǎn)品范圍
說明該軟件產(chǎn)品及其開發(fā)目的的簡短描述,包括利益和目標。把軟件產(chǎn)品開發(fā)與企業(yè)目標,或者業(yè)務策略相聯(lián)系。
描述產(chǎn)品范圍時需注意,可以參考項目視圖和范圍文檔,但是不能將其內容復制到這里。
?參考文獻
列舉編寫軟件產(chǎn)品需求分析報告時所用到的參考文獻及資料,可能包括:
6本項目的合同書;
7上級機關有關本項目的批文;
8本項目已經(jīng)批準的計劃任務書;
9用戶界面風格指導;
10開發(fā)本項目時所要用到的標淮;
11系統(tǒng)規(guī)格需求說明;
12使用實例文檔;
13屬于本項目的其它已發(fā)表文件;
14本軟件產(chǎn)品需求分析報告中所引用的文件、資料;
15相關軟件產(chǎn)品需求分析報告;
為了方便讀者查閱,所有參考資料應該按一定順序排列。如果可能,每份資料都應該給出:
16標題名稱;
17作者或者合同簽約者;
18文件編號或者版本號;
19發(fā)表日期或者簽約日期;
20出版單位或者資料來源。
?.綜合描述
這一部分概述了正在定義的軟件產(chǎn)品的作用范圍以及該軟件產(chǎn)品所運行的環(huán)境、使用該軟件產(chǎn)品的用戶、對該軟件產(chǎn)品已知的限制、有關該軟件產(chǎn)品的假設和依賴。
產(chǎn)品的狀況
描述了在軟件產(chǎn)品需求分析報告中所定義的軟件產(chǎn)品的背景和起源。說明了該軟件產(chǎn)品是否屬于下列情況:
671-0d3a-4911-bbf2-176ce1222c2e-Bulleted_da359ac3-3b2是否是產(chǎn)品系列中的下一成員;
671-0d3a-4911-bbf2-176ce1222c2e-Bulleted_da359ac3-3b2是否是成熟產(chǎn)品所改進的下一代產(chǎn)品;
671-0d3a-4911-bbf2-176ce1222c2e-Bulleted_da359ac3-3b2是否是現(xiàn)有應用軟件的替代品(升級產(chǎn)品);
671-0d3a-4911-bbf2-176ce1222c2e-Bulleted_da359ac3-3b2是否是一個新型的、自主型的產(chǎn)品。
如果該軟件產(chǎn)品需求分析報告定義的軟件系統(tǒng)是:
671-0d3a-4911-bbf2-176ce1222c2e-Bulleted_da359ac3-3b2大系統(tǒng)的一個組成部分;
671-0d3a-4911-bbf2-176ce1222c2e-Bulleted_da359ac3-3b2與其它系統(tǒng)和其它機構之間存在基本的相互關系。
那么必須說明軟件產(chǎn)品需求分析報告定義的這部分軟件是怎樣與整個大系統(tǒng)相關聯(lián)的,或者(同時)說明相互關系的存在形式,并且要定義出兩者之間的全部接口。
產(chǎn)品的功能
因為將在需求分析報告的第4部分中詳細描述軟件產(chǎn)品的功能,所以在此只需要概略地總結。僅從業(yè)務層面陳述本軟件產(chǎn)品所應具有的主要功能,在描述功能時應該針對每一項需求準確地描述其各項規(guī)格說明。如果存在引起誤解的可能,在陳述本軟件產(chǎn)品主要功能的作用領域時,也需要對應陳述本軟件產(chǎn)品的非作用領域,以利讀者理解本軟件產(chǎn)品。
為了很好地組織產(chǎn)品功能,使每個讀者都容易理解,可以采用列表的方法給出。也可以采用圖形方式,將主要的需求分組以及它們之間的聯(lián)系使用數(shù)據(jù)流程圖的頂層圖或類圖進行表示,這種表示方法是很有用的。
參考用戶當前管理組織構架,了解各個機構的主要職能,將有助于陳述軟件產(chǎn)品的主要功能。
用戶類和特性
確定有可能使用該軟件產(chǎn)品的不同用戶類,并且描述它們相關的特征。往往有一些軟件需求,只與特定的用戶類有關。描述時,應該將該軟件產(chǎn)品的重要用戶類與非重要用戶類區(qū)分開。
用戶不一定是軟件產(chǎn)品的直接使用者,通過報表、應用程序接口、系統(tǒng)硬件接口得到軟件產(chǎn)品的數(shù)據(jù)和服務的人、或者機構也有他們的需求。所以,應該將這些外部需求視為通過報表、應用程序接口、系統(tǒng)硬件接口附加給軟件產(chǎn)品的附加用戶類。
運行環(huán)境
描述了本軟件的運行環(huán)境,一般包括:
?硬件平臺;
?操作系統(tǒng)和版本;
支撐環(huán)境(例如:數(shù)據(jù)庫等)和版本;
其它與該軟件有關的軟件組件;
與該軟件共存的應用程序。
設計和實現(xiàn)上的限制
確定影響開發(fā)人員自由選擇的問題,并且說明這些問題為什么成為一種限制。可能的限制包括下列內容:
必須使用的特定技術、工具、編程語言和數(shù)據(jù)庫;
避免使用的特定技術、工具、編程語言和數(shù)據(jù)庫;
要求遵循的開發(fā)規(guī)范和標準
例如,如果由客戶的公司或者第三方公司負責軟件維護,就必須定義轉包者所使用的設計符號表示和編碼標準;
企業(yè)策略的限制;
政府法規(guī)的限制;
工業(yè)標準的限制;
?硬件的限制
例如,定時需求或存儲器限制;
數(shù)據(jù)轉換格式標淮的限制。
假設和約束(依賴)
列舉出對軟件產(chǎn)品需求分析報告中,影響需求陳述的假設因素(與已知因素相對立)。如果這些假設因素不正確、不一致或
者被修改,就會使軟件產(chǎn)品開發(fā)項目受到影響。這些假設的因素可能包括:
計劃使用的商業(yè)組件,或者其它軟件中的某個部件;
假定產(chǎn)品中某個用戶界面將符合一個特殊的設計約定;
有關本軟件用戶的若干假定(例如:假定用戶會熟練使用SQL語言。);
有關本軟件開發(fā)工作的若干假定(例如:用戶承諾的優(yōu)惠、方便、上級部門給予的特殊政策和支持等。);
有關本軟件運行環(huán)境的一些問題;
止匕外,確定本軟件開發(fā)項目對外部約束因素所存在的依賴。有關的約束可能包括:
工期約束;
經(jīng)費約束;
人員約束;
設備約束;
地理位置約束;
其它有關項目約束;
?.外部接口需求
通過本節(jié)描述可以確定,保證軟件產(chǎn)品能和外部組件正確連接的需求。關聯(lián)圖僅能表示高層抽象的外部接口,必須對接口數(shù)據(jù)和外部組件進行詳細描述,并且寫入數(shù)據(jù)定義中。如果產(chǎn)品的不同部分有不同的外部接口,那么應該把這些外部接口的全部詳細需求并入到這一部分實例中。
注意:必須將附加用戶類的特征與外部接口需求加以區(qū)分,附加用戶類的特征描述的是通過接口取得
軟件產(chǎn)品的數(shù)據(jù)和服務的人的需求;而外部接口需求描述的是接口本身的需求。
用戶界面
陳述需要使用在用戶界面上的軟件組件,描述每一個用戶界面的邏輯特征。必須注意,這里需要描述的是用戶界面的邏輯特征,而不是用戶界面。以下是可能包括的一些特征:
將要采用的圖形用戶界面(GUI)標準或者產(chǎn)品系列的風格;
有關屏幕布局或者解決方案的限制;
將要使用在每一個屏幕(圖形用戶界面)上的軟件組件,可能包括:
選單;
標準按鈕;
導航鏈接;
各種功能組件;
消息欄;
快捷鍵;
各種顯示格式的規(guī)定,可能包括:
不同情況下文字的對齊方式;
不同情況下數(shù)字的表現(xiàn)格式與對齊方式;
日期的表現(xiàn)方法與格式;
計時方法與時間格式;
等等。
錯誤信息顯示標準;
對于用戶界面的細節(jié),例如:一個特定對話框的布局,應該寫入具體的用戶界面設計說明中,而不能寫入軟件需求規(guī)格說明中。
如果采用現(xiàn)成的、合適的用戶界面設計規(guī)范(標準),或者另文描述,可以在這里直接說明,并且將其加入?yún)⒖嘉墨I。
硬件接口
描述待開發(fā)的軟件產(chǎn)品與系統(tǒng)硬件接口的特征,若有多個硬件接口,則必須全都描述。接口特征的描述內容可能包括:支持的硬件類型;
軟、硬件之間交流的數(shù)據(jù);
控制信息的性質;
使用的通訊協(xié)議;
軟件接口
描述該軟件產(chǎn)品與其它外部組件的連接,這些外部組件必須明確它們的名稱和版本號以資識別,可能的外部組件包括:操作系統(tǒng);
數(shù)據(jù)庫;
工具;
函數(shù)庫;
集成的商業(yè)組件
說明:這里所說的集成的商業(yè)組件”,是指與系統(tǒng)集成的商業(yè)組件,而不是與軟件產(chǎn)品集成的商業(yè)組件。例如:中間件、消息服務,等等。
描述并且明確軟件產(chǎn)品與軟件組件之間交換數(shù)據(jù)或者消息的目的。描述所需要的服務,以及與內部組件通訊的性質。確定軟件產(chǎn)品將與組件之間共享的數(shù)據(jù)。如果必須使用一種特殊的方法來實現(xiàn)數(shù)據(jù)共享機制,例如:在多用戶系統(tǒng)中的一個全局數(shù)據(jù)區(qū),那么就必須把它定義為一種實現(xiàn)上的限制。
通訊接口
描述與軟件產(chǎn)品所使用的通訊功能相關的需求,包括:
電子郵件;
WEB瀏覽器;
網(wǎng)絡通訊標準或者協(xié)議;
數(shù)據(jù)交互用電子表格;
必須定義相關的:
消息格式;
通訊安全或加密問題;
數(shù)據(jù)傳輸速率;
同步和異步通訊機制;
?.系統(tǒng)功能需求
需要進行詳細的需求記錄,詳細列出與該系統(tǒng)功能相關的詳細功能需求,并且,唯一地標識每一項需求。這是必須提交給用戶的軟件功能,使得用戶可以使用所提供的功能執(zhí)行服務或者使用所指定的使用實例執(zhí)行任務。描述軟件產(chǎn)品如何響應已知的出錯條件、非法輸入、非法動作。
如果每一項功能需求都能用一項,也只需要用一項測試用例就能進行驗證,那么就可以認為功能需求已經(jīng)適當?shù)剡M行描述了。如果某項功能需求找不到合適的測試用例,或者必須使用多項測試用例才能驗證,那么該項功能需求的描述必然存在某些
問題。
功能需求是根據(jù)系統(tǒng)功能,即軟件產(chǎn)品所提供的主要服務來組織的。可以通過使用實例、運行模式、用戶類、對象類或者功能等級來組