軟件開發需求說明書(軟件開發需求說明書文檔精)
本篇文章給大家談談軟件開發需求說明書,以及軟件開發需求說明書文檔精對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
軟件需求說明書內容都包括哪些
規范化軟件開發過程中的《需求說明書》的編寫,使之成為整個開發工作的基礎。
2 適用范圍
本規范適用于集團開發項目的(軟件)《需求說明書》的編寫。
3 編寫內容提示
1 引言
3.1.1 背景說明
說明被開發軟件的名稱,任務提出者,用戶及實現該軟件的計算機網絡。
3.1.2 參考資料
列出有關資料(名稱,發表日期,出版單位,作者等)。
3.1.3 術語和縮寫詞
列出本文件中用到的專門術語的定義,及術語縮寫詞。
3.2 軟件總體概述
3.2.1 目標
軟件開發的意圖、應用目標、作用范圍以及需說明背景材料。
3.2.2 系統模型
圖示說明該軟件的所有功能及其相互關系和數據傳遞情況。
3.2.3 假設和約束
說明影響軟件開發、運行環境和系統能力(如預告出錯類型的能力)的某些假設和約束。3.3 詳細需求
詳細描述此軟件系統的功能需求和性能需求。
3.3.1 功能需求
對系統中每一個功能,要詳細描述(圖示或文字)。
概述 敘述功能名稱,目標和作用。
輸入 輸入該功能的信息。
處理 描述該功能做什么,如何對輸入信息進行加工并轉換成輸出信息。
輸出 列出內部生成的文件。
3.3.2 性能需求
定量地描述此軟件系統應滿足的具體性能需求??煽紤]以下方面:
3.3.2.1精度
說明系統的精度要求,如:
數據的精度要求。
數字計算的精度要求。
數據傳送的誤碼率要求。
3.3.2.2 時間特性
說明系統的時間特性要求,如:
解題時間。
詢問和更新數據文件的響應時間。
系統各項功能的順序關系。
3.3.2.3 靈活性
說明當需求發生某些變化時系統的適應能力,指出為適應這些變化而需要設計的軟件成分和過程。
3.3.2.4系統容量
包括系統的設計容量和理論(計算)容量。
3.3.3 輸入和輸出
解釋各輸入輸出數據類型,并逐項說明某媒體、格式、數值范圍等。對軟件的數據輸出及必須標明的控制輸出量進行解釋并舉例,包括對硬拷貝報告(正常結果輸出、狀態輸出及異常輸出)以及圖形或顯示報告的描述。
3.3.4 數據管理能力
說明需要管理的文卷和記錄的個數、表和文卷的大小規模,要按可預見的增長對數據及其分量的存儲要求作估算。
3.3.5 故障處理
列出可能的軟件、硬件故障以及對各項性能而言所產生的后果和對故障處理的要求。
3.4 環境
描述所開發軟件運行所需的環境。
3.4.1 設備環境
描述運行軟件系統所需的設備能力,如:
處理器的型號和內存容量。
存儲媒體的數量。
通信網絡(包括說明網絡結構,線路速度及通訊協議等)。
3.4.2 支持軟件環境
列出與待開發的軟件互相配合的支持軟件(包括名稱,版本號和文件資料),必要時還應列出測試軟件,還要指出該軟件用的編程語言,編譯程序,操作系統和數據管理系統。
3.4.3 接口
說明本軟件與其他軟件之間的接口、數據通信協議等。
3.4.4其他
說明本軟件系統在安全和保密方面的要求以及用戶對使用方便、可維護性、可補充性、易讀性、可靠性、運行環境可轉換性的特殊要求。
軟件開發的需求分析說明書是誰做給誰看的
給客戶看,還有自己項目組也會看,給客戶看是讓他們確定一下需求書他們是否滿意,給項目組看,是為了了解整個開發周期,每個階段的工作,這樣好把握整體進度
軟件需求規格說明書的內容不包括
軟件需求規格說明書的內容不包括軟件可行性研究的依據。
軟件需求規格說明書是需求分析階段的最后成果,是軟件開發的重要文檔之一。軟件需求規格說明書的作用主要有便于用戶、開發人員進行理解和交流;反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據;作為確認測試和驗收的依據等幾個方面。
在軟件開發中,需求規格說明書和系統設計說明書有什么區別?
1、內容有區別
需求規格說明書主要是描述軟件系統應該完成的功能,包含硬件、功能、性能、輸入輸出、接口需求、警示信息、保密安全、數據與數據庫、文檔和法規的要求等等。
設計說明書是說明如何實現這些功能、性能的。設計書中會對功能進行重新的分解,并需要描述這些功能如何實現,甚至包括如何用代碼實現。
2、目的不同
需求規格說明書的作用在于便于用戶、開發人員進行理解和交流,反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據,并作為確認測試和驗收的依據。
系統設計說明書編制的目的是說明對程序系統的設計考慮,包括程序系統的基本處理流程、程序系統的組織結構、模塊劃分、功能分配、接口設計、運行設計、安全設計、數據結構設計和出錯處理設計等,為程序的詳細設計提供基礎。
3、閱讀對象不同
需求規格說明書主要從用戶角度(需求或市場人員根據用戶要求編寫)描述軟件需要實現的功能。
系統設計說明書主要從軟件開發(程序員)角度描述軟件需要實現功能。
參考資料:百度百科-軟件需求說明書
參考資料:百度百科-概要設計說明書
軟件需求說明怎么寫
如何寫需求分析報告(軟件需求說明書GB856T-88)
近來學校的一些科研項目又在申報了,一些學弟開始Q我一些軟件工程上書面的問題。大概的總結了下,寫到這里。本文涉及到的是需求分析部分的書寫,主要是根據國家標準文檔中的要求來的。
在互聯網公司或者一些敏捷開發的公司里,其實大家都是秉承著重開發,重討論,而輕文檔的態度。這個輕文檔并不是指沒有文檔或者幾乎不做文檔,而是在嚴格的文檔流程中解脫出來,只把最最實際的部分寫出來。這個特征是有互聯網本身迭代周期短,版本發布快等特點決定的。而在實際的兼職項目的時候,同學們就要注意了,最重要的應該就是在簽合同的時候一定要附上最清楚的一份需求分析,雖然這份需求說明可能不是按照某些標準文檔而來的,描述清楚每個功能達到的效果,而這個效果一定要讓客戶點頭確認,而不能出現“應該是”、“可能是”、“也許是”這樣的模糊回答。否則在項目后期就會比較難過了。在學校申請的項目和大型公司項目開發中,是重視文檔流程的,一部一部來。所以還是看情況來對待文檔的深度和標準。
一、目錄:?目錄要用word的?“引用”—”目錄”,自動生成目錄,一般都是要三級目錄。通常這部分基本都不需要改結構,直接更新頁碼即可。
二、內容部分。?國家標準軟件需求說明書G856T-88下載
1引言
1.1編寫目的
說明編寫這份軟件需求說明書的目的,指出預期的讀者。
(這部分說明需求分析報告的概況,例如:本X需求分析報告是為S系統而編寫的。+S系統的兩句話概述。+本X報告旨在使U1(需求者)明確S系統的要求和細節,給U2(開發人員)了解需求實現的難度和困難,最終提供給U3(審核人、管理者)討論和審核,達到溝通效果)
1.2背景
說明:
a.??待開發的軟件系統的名稱;
b.??本項目的任務提出者、開發者、用戶及實現該軟件的計算中心或計算機網絡;
c.??該軟件系統同其他系統或其他機構的基本的相互來往關系。
(這部分可以將a,b,c分為2部分,例子如下:
1.2.1項目概況
本需求分析報告所預期開發的軟件系統是:S。S是(不是則無)SS系統的某一個功能子模塊,S和S1、S2等系統之間的聯系,以及概述其他系統的狀態等等。
1.2.2任務分配
a.???????任務提出者:xxx
b.???????軟件開發者:xx
c.???????產品使用者:xx
d.???????文檔編寫者:xx
e.???????預期產品使用者:xx
)
1.3定義
列出本文件中用到的專門術語的定義和外文首字母組詞的原詞組。
(這部分很簡單,就是描述專業詞匯,比如
1. XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言)。
2. Word2,?解釋。。。
)
1.4參考資料
列出用得著的參考資料,如:
a.??本項目的經核準的計劃任務書或合同、上級機關的批文;
b.??屬于本項目的其他已發表的文件;
c.??本文件中各處引用的文件、資料、包括所要用到的軟件開發標準。?列出這些文件資料的標題、文件編號、發表日期和出版單位,說明能夠得到這些文件資料的來源。
2任務概述
2.1目標
敘述該項軟件開發的意圖、應用目標、作用范圍以及其他應向讀者說明的有關該軟件開發的背景材料。解釋被開發軟件與其他有關軟件之間的關系。如果本軟件產品是一項獨立的軟件,而且全部內容自含,則說明這一點。如果所定義的產品是一個更大的系統的一個組成部分,則應說明本產品與該系統中其他各組成部分之間的關系,為此可使用一張方框圖來說明該系統的組成和本產品同其他各部分的聯系和接口。|
(
本模塊開發主要是為SS的整體服務,完成SS工作中的XX部分以及相關的工作。其涉及的范圍就是,從下達A、B命令后,到給出C結果的過程。具體描述:B1,來完成B11功能;B2,來完成B22功能;?等等。本部分是(否)耦合在分詞工具包其他部分中的,主要為嵌入方式和先后方式相互交互。
圖
圖1.?該系統的組成同其他各部分的聯系和接口
)
2.2用戶的特點
列出本軟件的最終用戶的特點,充分說明操作人員、維護人員的教育水平和技術專長,以及本軟件的預期使甩頻度。這些是軟件設計工作的重要約束
(例如:二次開發和系統調用人員:具有很高的專業知識水平,理解XX的運行機制??梢詫﹂_放代碼進行閱讀和分析,以完成其系統獨特的需求,提供給這部分用戶開放API手冊和Debug版本的源代碼即可;預期這部分用戶會占本系統總用戶量的多大部分。
xx使用者:具有一定的計算機操作能力和知識,了解xx領域的相關概念和用途。提供給這部分用戶操作手冊即可。預期這部分使用者主要是來簡單的xx操作。
維護人員:具有較高的計算機專業水平,可以對常見的系統Bug進行追蹤和分析,具有一定的測試能力。?這部分用戶主要是采用了本系統之后的后期工作維護者。
等等
)
2.3假定和約束
列出進行本軟件開發工作的假定和約束,例如經費限制、開發期限等。
(這部分重要是對你有的技術力量、資金狀況、人力資源等情況的假設,以使得你可以在什么樣的情況和時間范圍內完成工作。工期約束,經費約束,人員約束,地理約束,設備約束等幾個方面列舉說明。)
3需求規定
3.1對功能的規定
用列表的方式(例如IPO表即輸入、處理、輸出表的形式),逐項定量和定性地敘述對軟件所提出的功能要求,說明輸入什么量、經怎樣的處理、得到什么輸出,說明軟件應支持的終端數和應支持的并行操作的用戶數。
(例如:
INPUT輸入
PROCESS處理
OUTPUT輸出
LOAD負載量
A
預處理,做怎樣的動作,
AA
CC
B
BBBB
Bb
v
C
CCCC
cc
v
表一、xx模塊IPO表
對IPO表的簡單文字描述。
)
3.2對性能的規定
3.2.1精度
說明對該軟件的輸入、輸出數據精度的要求,可能包括傳輸過程中的精度。
(例如:
Xx目標處理:1Byt–10M,包括左右邊界值。
yy精度范圍:….
ZZ的精度:由于xx的特殊性,本系統均采用xx型來進行字符統計運算,概率部分以及其他比率部分精度精確到0.0x%。
)
3.2.2時間特性要求
說明對于該軟件的時間特性要求,如對:
a.??響應時間;
b.??更新處理時間;
c.??數據的轉換和傳送時間;
d.??解題時間;等的要求。
(這部分只要一一列舉就可以:
由于xxx過程中,需要大量xxxx操作或怎樣,故xx解題時間占總時間的最大部分。其次就是xx轉換和存儲的開銷。其具體時間特性要求,如下:
a.??xx響應時間:xxms左右;
b.??yy更新處理時間:yy;
c.??zz數據的轉換和傳送時間:zz;
d.??vv解題時間:vv。
等等
)
3.2.3靈活性
說明對該軟件的靈活性的要求,即當需求發生某些變化時,該軟件對這些變化的適應能力,如:
a.??操作方式上的變化;
b.??運行環境的變化;
c.??同其他軟件的接口的變化;
d.??精度和有效時限的變化;
e.??計劃的變化或改進。
對于為了提供這些靈活性而進行的專門設計的部分應該加以標明。
(這部分按列舉來即可,?由于本模塊第一目的是用于xxx,其次則是xxxx。故本模塊的靈活性在于實際應用者的不同。當需求發生某些變化時,該軟件對這些變化的適應能力。具體情況如下:
f.???操作方式上的變化:采用集成運行制和獨立運行制兩種模式,集成運行制是把本模塊嵌入到分詞工具包的主框架中,提供給用戶具有一定UI的可操作軟件;獨立運行制是可以獨立運行于后臺,并提供給各種程序調用的模式的工作方式,以增強其生命力。
g.??運行環境的變化:主采用Windows平臺的編譯版本運行和調試,在時間允許的情況下,同步開發支持SUSE Linux的服務器版本。;
h.??同其他軟件的接口的變化:在盡量保證接口不出現變動的情況下,允許接口的重載和再定義。但接口的命名規則是統一的;
i.???精度和有效時限的變化:精度在必須調整的條件下,可以上下浮動10個百分點;有效時限則依據現實的測試情況允許稍大范圍的變化。
j.???計劃的變化或改進:工作時間安排會存在必然的浮動,這部分要協同分詞工具包課題設計組其他成員一同來進行商定,前期的計劃可以稍微有些變動,后期的安排盡量按照計劃執行。
等等
)
3.3輸人輸出要求
解釋各輸入輸出數據類型,并逐項說明其媒體、格式、數值范圍、精度等。對軟件的數據輸出及必須標明的控制輸出量進行解釋并舉例,包括對硬拷貝報告(正常結果輸出、狀態輸出及異常輸出)以及圖形或顯示報告的描述。
(這部分可以把輸入輸出分為?3.3.1輸入要求和3.3.2輸出要求,如下給出一個單元的例子。
XXX輸出
數據名稱:XXX輸出數據
實際含義:用于XX,表示XXXX
數據類型:Character(字符串)
數據格式:XX
數據約束:由于xxx,,大小在xx以內
)
3.4數據管理能力要求
說明需要管理的文卷和記錄的個數、表和文卷的大小規模,要按可預見的增長對數據及其分量的存儲要求作出估算。
(
根據實際系統要求列舉即可
Name名稱
Number數量
Size大小
Increase增長
詞典xx
xx
xxxx
并行執行,其大小依據實際xx大文本而增長
)
3.5故障處理要求
列出可能的軟件、硬件故障以及對各項性能而言所產生的后果和對故障處理的要求。
(包括軟件壓力,內存不足,硬件損壞等,這部分可以根據百度到其常見故障。)
3.6其他專門要求
如用戶單位對安全保密的要求,對使用方便的要求,對可維護性、可補充性、易讀性、可靠性、運行環境可轉換性的特殊要求等。
(例如安全保密性:密鑰更換等;?預期擴展:擴展兼容等;OS更換:Slackware轉SUSE等
)
4運行環境規定
4.1設備
列出運行該軟件所需要的硬設備。說明其中的新型設備及其專門功能,包括:
a.??處理器型號及內存容量;
b.??外存容量、聯機或脫機、媒體及其存儲格式,設備的型號及數量;
c.??輸入及輸出設備的型號和數量,聯機或脫機;
d.??數據通信設備的型號和數量;
e.??功能鍵及其他專用硬件
(列舉說明即可)
4.2支持軟件
列出支持軟件,包括要用到的操作系統、編譯(或匯編)程序、測試支持軟件等。
(操作系統和版本:xxxx
支撐環境和版本:xxxx
備用IDE環境和版本:xxxx
與該軟件有關的軟件組件:xxxx
后續可能擴展環境:xxxx
)
4.3接口
說明該軟件同其他軟件之間的接口、數據通信協議等。
(例如:
a.用戶和主程序調用接口(圖中接口1)。這個接口采用封裝API形式和函數調用形式,分別以外部調用和內部調用的方式為不同用戶提供使用本機械分詞工具的入口。例如以xxxx方式調用DLL文件,以xxxx方式調用函數。如下圖2所示。
圖2.軟件接口調用圖
b.xx接口(圖中接口2)。這里是一個xxx的接口調用過程。xxxx
)
4.4控制
說明控制該軟件的運行的方法和控制信號,并說明這些控制信號的來源。
(例如:
下面通過圖表的形式,將本模塊以及涉及到本模塊的軟件模塊的運行方法、控制信號,以及這些控制信號的來源,其中箭頭所指方向對應的模塊的控制信號來自箭頭另一方向的模塊,具體情況如下:
圖3 .控制流程圖
圖3的具體說明情況如下表所示:
Name模塊名稱
Method運行方式
Signal控制信號
Forward控制去向
主程序模塊
運行框架
用戶調用或運行
1.???????調用xx模塊
2.???????調用xx方法
3.???????調用標準輸出模塊
xxx模塊
xxx
xxx調用
Xxx模塊
)
附錄:?軟件設計文檔國家標準(GB8567–88)軟件設計文檔國家標準(GB8567–88)GB8567——88
操作手冊(GB8567——88).doc 數據庫設計說明書(GB8567——88).doc
測試分析報告(GB8567——88).doc 數據要求說明書(GB856T——88).doc
測試計劃(GB8567——88).doc 圖1.doc
概要設計說明書(GB8567——88).doc 文件給制實施規定的實例(GB8567-88).doc
開發進度月報(GB8567——88).doc 詳細設計說明書(GB8567——88).doc
可行性研究報告(GB8567——88).doc 項目開發計劃(GB856T——88).doc
模塊開發卷宗(GB8567——88).doc 項目開發總結報告(GB8567——88).doc
軟件需求說明書(GB856T——88).doc 用戶手冊(GB8567——88).doc
關于軟件開發需求說明書和軟件開發需求說明書文檔精的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。