⑴ 軟體需求說明怎麼寫
近來學校的一些科研項目又在申報了,一些學弟開始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
⑵ 軟體使用說明書如何寫(包含哪些內容)有沒有模板的
有的,網上可以搜到挺多,我不知道怎麼提供給你下載,這個你可以參考參考。
軟體使用說明書模板
1. 引言
1.1編寫目的【闡明編寫手冊的目的。指明讀者對象。】
1.2項目背景【說明項目來源、委託單位、開發單位及主管部門】
1.3 定義【列出手冊中使用的專門術語的定義和縮寫詞的原意】
1.4參考資料【列出有關資料的作者、標題、編號、發表日期、出版單位或資料來源,
可包括:a.項目的計劃任務書、合同或批文;b.項目開發計劃;C. 需求規格說
明書;d.概要設計說明書;e。詳細設計說明書;f.測試計劃;g。手冊中引用
的其他資料、採用的軟體工程標准或軟體工程規范。】
2. 軟體概述
2.1目標
2.2功能
2.3 性能
a.數據精確度【包括輸入、輸出及處理數據的精度】
b.時間特性【如響應時間、處理時間、數據傳輸時間等。】
c.靈活性【在操作方式、運行環境需做某些變更時軟體的適應能力。】
3. 運行環境
3.1硬體【列出軟體系統運行時所需的硬體最小配置,如a. 計算機型號、主存容量;b.
外存儲器、媒體、記錄格式、設備型號及數量;c。輸入、輸出設備;d.數據傳輸設
備及數據轉換設備的型號及數量。】
3.2支持軟體【如:a。操作系統名稱及版本號;b. 語言編譯系統或匯編系統的名稱及版
本號;C。資料庫管理系統的名稱及版本號;d.其他必要的支持軟體。】
4. 使用說明
4.1安裝和初始化【給出程序的存儲形式、操作命令、反饋信息及其含意、表明安裝完成
的測試實例以及安裝所需的軟體工具等。】
4.2輸入【給出輸入數據或參數的要求。】
4.2.1數據背景【說明數據來源、存儲媒體、出現頻度、限制和質量管理等。】
4.2.2數據格式【如:a。長度;b.格式基準;C,標號;d.順序;e。分隔符;f.
詞彙表;g. 省略和重復;h.控制。】
4.2.3輸入舉例
4.3輸出【給出每項輸出數據的說明】
4.3.l數據背景【說明輸出數據的去向使用頻度、存放媒體及質量管理等。】
4.3.2數據格式【詳細闡明每一輸出數據的格式,如:首部、主體和尾部的具體形式。】
4.3.3舉例
4.4出錯和恢復【給出:a。出錯信息及其含意;b.用戶應採取的措施,如修改、恢復、
再啟動.】
4.5求助查詢【說明如何操作】
5. 運行說明
5.1運行表【列出每種可能的運行情況,說明其運行目的。】
5.2運行步驟【按順序說明每種運行的步驟,應包括:】
5.2.1運行控制
5.2.2操作信息
a. 運行目的;b.操作要求;C。啟動方法; d.預計運行時間;e。操作命令格
式及格式說明;f.其他事項。
5.2.3輸入/輸出文件【給出建立或更新文件的有關信息,如:】
a.文件的名稱及編號;b.記錄媒體;C。存留的目錄;d.文件的支配
【說明確定保留文件或廢棄文件的准則,分發文件的對象,佔用硬體的優先
級及保密控制等.】
5.2.4啟動或恢復過程
6. 非常規過程
【提供應急或非常規操作的必要信息及操作步驟,如出錯處理操作、向後備系統切換操作以
及維護人員須知的操作和注意事項。】
7. 操作命令一覽表
【按字母順序逐個列出全部操作命令的格式、功能及參數說明。】
8. 程序文件(或命令文件)和數據文件一覽表
【按文件名字母順序或按功能與模塊分類順序逐個列出文件名稱、標識符及說明。】
9. 用戶操作舉例
⑶ 軟體需求說明怎麼寫
一 引言
1、編寫目的
說明編寫這份項目需求說明書的目的,指出預期的讀者。
2、背景說明:
(1)待開發的軟體系統的名稱。
(2)本項目的任務提出者、開發者、用戶及實現該軟體的計算中心或計算機網路。
(3)該軟體系統同其他系統或其他機構的基本的相互來往關系。
3、定義
列出本文件中用到的專門術語的定義和外文首字母組詞的原片語。
4、參考資料
列出用得著的參考資料,如:
(1)本項目的經核準的計劃任務書或合同、上級機關的批文。
(2)屬於本項目的其他已發表的文件。
(3)本文件中各處引用的文件、資料、包括所要用到的軟體開發標准。列出這些文件資料的標題、文件編號、發表日期和出版單位,說明能夠得到這些文件資料的來源。
二 任務概述
1、目標
敘述該項軟體開發的意圖、應用目標、作用范圍以及其它應向讀者說明的有關該軟體開發的背景材料。解釋被開發軟體與其它有關軟體之間的關系。如果本軟體產品是一項獨立的軟體,而且全部內容自含,則說明這一點。如果所定義的產品是一個更大的系統的一個組成部分,則應說明本產品與該系統中其他各組成部分之間的關系,為此可使用一張方框圖來說明該系統的組成和本產品同其他各部分的聯系和介面。
2、用戶的特點
列出本軟體的最終用戶的特點,充分說明操作人員、維護人員的教育水平和技術專長,以及本軟體的預期使用頻度。這些是軟體設計工作的重要約束。
3、假定和約束
列出進行本軟體開發工作的假定和約束,例如經費限制、開發期限等。
三 需求規定
1、對功能的規定
用列表的方式(例如IPO表即輸入、處理、輸出表的形式),逐項定量和定性地敘述對軟體所提出的功能要求,說明輸入什麼量、經怎樣的處理、得到什麼輸出,說明軟體應支持的終端數和應支持的並行操作的用戶數。
2、對性能的規定
(1)精度
說明對該軟體的輸入、輸出數據精度的要求,可能包括傳輸過程中的精度。
(2)時間特性要求
說明對於該軟體的時間特性要求,如對:
① 響應時間。
② 更新處理時間。
③ 數據的轉換和傳送時間。
④ 解題時間。
等的要求。
(3)靈活性
說明對該軟體的靈活性的要求,即當需求發生某些變化時,該軟體對這些變化的適應能力,如:
① 操作方式上的變化。
② 運行環境的變化。
③ 同其他軟體的介面的變化。
④ 精度和有效時限的變化。
⑤ 計劃的變化或改進。
對於為了提供這些靈活性而進行的專門設計的部分應該加以標明。
3、輸入輸出要求
解釋各輸入輸出數據類型,並逐項說明其媒體、格式、數值范圍、精度等。對軟體的數據輸出及必須標明的控制輸出量進行解釋並舉例,包括對硬拷貝報告(正常結果輸出、狀態輸出及異常輸出)以及圖形或顯示報告的描述。
4、數據管理能力要求
說明需要管理的文卷和記錄的個數、表和文卷的大小規模,要按可預見的增長對數據及其分量的存儲要求作出估算。
5、故障處理要求
列出可能的軟體、硬體故障以及對各項性能而言所產生的後果和對故障處理的要求。
6、其它專門要求
如用戶單位對安全保密的要求,對使用方便的要求,對可維護性、可補充性、易讀性、可靠性、運行環境可轉換性的特殊要求等。
四 運行環境規定
1、設備
列出運行該軟體所需要的硬體設備。說明其中的新型設備及其專門功能,包括:
(1) 處理器型號及內存容量。
(2) 外存容量、聯機或離線、媒體及其存儲格式,設備的型號及數量。
(3) 輸入及輸出設備的型號和數量,聯機或離線。
(4) 數據通信設備的型號和數量。
(5) 功能鍵及其他專用硬體。
2、支持軟體
列出支持軟體,包括要用到的操作系統、編譯(或匯編)程序、測試支持軟體等。
3、介面
說明該軟體同其他軟體之間的介面、數據通信協議等。
4、控制
說明控制該軟體的運行的方法和控制信號,並說明這些控制信號的來源。
五 數據要求
1、數據的邏輯描述
對數據進行邏輯描述時可把數據分為動態數據和靜態數據。所謂靜態數據,指在運行過程中主要作為參考的數據,它們在很長的一段時間內不會變化,一般不隨運行而改變。所謂動態數據.包括所有在運行中要發生變化的數據以及在運行中要輸入、輸出的數據。進行描述時應把各數據元素邏輯地分成若干組,列如函數、源數據或對於其應用更為恰當的邏輯分組。給出每一數據元的名稱(包括縮寫和代碼)、定義(或物理意義)度量單位、值域、格式和類型等有關信息。
(1) 靜態數據??列出所有作為控制或參考用的靜態數據元素。
(2) 動態輸人數據??列出動態輸入數據元素(包括在常規運行中或聯機操作中要改變的數據)。
(3) 動態輸出數據??列出動態輸出數據元素(包括在常規運行中或聯機操作中要改變的數據)。
(4) 內部生成數據??列出向用戶或開發單位中的維護調試人員提供的內部生成數據。
(5) 數據約定??說明對數據要求的制約。逐條列出對進一步擴充或使用方面的考慮而提出的對數據要求的限制(容量、文卷、記錄和數據元的個數的最大值)。對於在設計和開發中確定是臨界性的限制更要明確指出。
2、數據的採集
(1) 要求和范圍
按數據元的邏輯分組來說明數據採集的要求和范圍,指明數據的採集方法,說明數據採集工作的承擔者是用戶還是開發者。具體的內容包括:
① 輸入數據的來源:例如是單個操作員、數據輸入站,專業的數據輸入公司或它們的一個分組。
② 數據輸入(指把數據輸入處理系統內部)所用的媒體和硬體設備。如果只有指定的輸入點的輸入才是合法的,則必須對此加以說明。
③ 接受者:說明輸出數據的接受者。
④ 輸出數據的形式和設備列出輸出數據的形式和硬設備。無論接受者將接收到的數據是列印輸出,還是CRT上的一組字元、一幀圖形,或一聲警鈴,或向開關線圈提供的一個電脈沖,或常用介質如磁碟、磁帶、穿孔卡片等,均應具體說明。
⑤ 數據值的范圍:給出每一個數據元的合法值的范圍。
⑥ 量綱:給出數字的度量單位、增量的步長、零點的定標等。在數據是非數字量的情況下,要給出每一種合法值的形式和含意。
⑦ 更新和處理的頻度:給出預定的對輸入數據的更新和處理的頻度。如果數據的輸入是隨機的,應給出更新處理的頻度的平均值,或變化情況的某種其他度量。
(2) 輸入的承擔者
說明預定的對數據輸入工作的承擔者。如果輸入數據同某一介面軟體有關,還應說明該介面軟體的來源。
(3) 預處理
對數據的採集和預處理過程提出專門的規定,包括適合應用的數據格式、預定的數據通信媒體和對輸入的時間要求等。對於需經模擬轉換或數字轉換處理的數據量,要給出轉換方法和轉換因子等有關信息,以便軟體系統使用這些數據。
(4) 影響
說明這些數據要求對於設備、軟體、用戶、開發單位所可能產生的影響,例如要求用戶單位增設某個機構等。
⑷ 軟體詳細設計說明書
面向對象軟體設計說明書模板
1 概述
1.1 系統簡述
對系統要完成什麼,所面向的用戶以及系統運行的環境的簡短描述,這部分主要來源於需求說明書的開始部分。
1.2 軟體設計目標
這部分論述整個系統的設計目標,明確地說明哪些功能是系統決定實現而哪些時不準備實現的。同時,對於非功能性的需求例如性能、可用性等,亦需提及。需求規格說明書對於這部分的內容來說是很重要的參考,看看其中明確了的功能性以及非功能性的需求。
這部分必須說清楚設計的全貌如何,務必使讀者看後知道將實現的系統有什麼特點和功能。在隨後的文檔部分,將解釋設計是怎麼來實現這些的。
1.3 參考資料
列出本文檔中所引用的參考資料。(至少要引用需求規格說明書)
1.4 修訂版本記錄
列出本文檔修改的歷史紀錄。必須指明修改的內容、日期以及修改人。
2 術語表
對本文檔中所使用的各種術語進行說明。如果一些術語在需求規格說明書中已經說明過了,此處不用再重復,可以指引讀者參考需求說明。
3 用例
此處要求系統用用例圖表述(UML),對每個用例(正常處理的情況)要有中文敘述。
4 設計概述
4.1 簡述
這部分要求突出整個設計所採用的方法(是面向對象設計還是結構化設計)、系統的體系結構(例如客戶/伺服器結構)以及使用到的相應技術和工具(例如OMT、Rose)
4.2 系統結構設計
這部分要求提供高層系統結構的描述,使用方框圖來顯示主要的組件及組件間的交互。最好是把邏輯結構同物理結構分離,對前者進行描述。別忘了說明圖中用到的俗語和符號。
4.2.1 頂層系統結構
4.2.2 子系統1結構
4.2.3 子系統2結構
4.3 系統界面
各種提供給用戶的界面以及外部系統在此處要予以說明。如果在需求規格說明書中已經對用戶界面有了敘述,此處不用再重復,可以指引讀者參考需求說明。如果系統提供了對其它系統的介面,比如說從其它軟體系統導入/導出數據,必須在此說明。
4.4 約束和假定
描述系統設計中最主要的約束,這些是由客戶強制要求並在需求說明書寫明的。說明系統是如何來適應這些約束的。
另外如果本系統跟其它外部系統交互或者依賴其它外部系統提供一些功能輔助,那麼系統可能還受到其它的約束。這種情況下,要求清楚地描述與本系統有交互的軟體類型(比如某某某資料庫軟體,某某某EMail軟體)以及這樣導致的約束(比如只允許純文本的Email)。
實現的語言和平台也會對系統有約束,同樣在此予以說明。
對於因選擇具體的設計實現而導致對系統的約束,簡要地描述你的想法思路,經過怎麼樣的權衡,為什麼要採取這樣的設計等等。
5 對象模型
5.1 系統對象模型
提供整個系統的對象模型,如果模型過大,按照可行的標准把它劃分成小塊,例如可以把客戶端和伺服器端的對象模型分開成兩個圖表述。
對象圖應該包含什麼呢?
在其中應該包含所有的系統對象。這些對象都是從理解需求後得到的。要明確哪些應該、哪些不應該被放進圖中。
所有對象之間的關聯必須被確定並且必須指明聯系的基數(一對一、一對多還是多對多,0..1,*,1..*)。聚合和繼承關系必須清楚地確定下來。每個圖必須附有簡單的說明。
可能經過多次反復之後才能得到系統的正確的對象模型。
6 對象描述
在這個部分敘述每個對象的細節,它的屬性、它的方法。在這之前必須從邏輯上對對象進行組織。你可能需要用結構圖把對象按子系統劃分好。
為每個對象做一個條目。在系統對象模型中簡要的描述它的用途、約束(如只能有一個實例),列出它的屬性和方法。如果對象是存儲在持久的數據容器中,標明它是持久對象,否則說明它是個臨時對象(transient object)。
對每個對象的每個屬性詳細說明:名字、類型,如果屬性不是很直觀或者有約束(例如,每個對象的該屬性必須有一個唯一的值或者值域是有限正整數等)。
對每個對象的每個方法詳細說明:方法名,返回類型,返回值,參數,用途以及使用的演算法的簡要說明(如果不是特別簡單的話)。如果對變數或者返回值由什麼假定的話,Pre-conditions和Post-conditions必須在此說明。列出它或者被它調用的方法需要訪問或者修改的屬性。最後,提供可以驗證實現方法的測試案例。
6.1 子系統1中的對象
6.1.1 對象:對象1
用途:
約束:
持久性:
6.1.1.1 屬性描述:
1. 屬性:屬性1
類型:
描述:
約束:
2. 屬性:屬性2
6.1.1.2 方法描述:
1. 方法:方法1
返回類型:
參數:
返回值:
Pre-Condition:
Post-Condition:
讀取/修改的屬性:
調用的方法:
處理邏輯:
測試例:用什麼參數調用該方法,期望的輸出是什麼……
7 動態模型
這部分的作用是描述系統如何響應各種事件。例如,可以建立系統的行為模型。一般使用順序圖和狀態圖。
確定不同的場景(Scenario)是第一步,不需要確定所有可能的場景,但是必須至少要覆蓋典型的系統用例。不要自己去想當然地創造場景,通常的策略是描述那些客戶可以感受得到的場景。
7.1 場景(Scenarios)
對每個場景做一則條目,包括以下內容:
場景名:給它一個可以望文生義的名字
場景描述:簡要敘述場景是干什麼的以及發生的動作的順序。
順序圖:描述各種事件及事件發生的相對時間順序。
7.1.1 場景:場景1
描述:
動作1
動作2
7.2 狀態圖
這部分的內容包括系統動態模型重要的部分的狀態圖。可能你想為每個對象畫一個狀態圖,但事實上會導致太多不期望的細節信息,只需要確定系統中一些重要的對象並為之提供狀態圖即可。
7.2.1 狀態圖1:
8 非功能性需求
在這個部分,必須說明如何處理需求文檔中指定的非功能性需求。盡可能客觀地評估系統應付每一個非功能性的需求的能力程度。如果某些非功能性需求沒有完全在設計的系統中實現,請務必在此說明。另外,你也需要對系統將來的進化作一個估計並描述本設計如何使系統能夠適應這些可預見的變化。
9 輔助文檔
提供能幫助理解設計的相應文檔。
10 詞彙索引
文章錄入
⑸ 如何編寫軟體設計說明書
文字超過1萬字,請到我提供的網址下載
1.1目的
編寫詳細設計說明書是軟體開發過程必不可少的部分,其目的是為了使開發人員在完成概要設計說明書的基礎上完成概要設計規定的各項模塊的具體實現的設計工作。
1.2背景
一、 軟體名稱
⑹ 軟體使用手冊怎麼寫
在網上復制給你的
引言
1.1編寫目的
【闡明編寫手冊的目的。指明讀者對象。】
1.2項目背景
【說明項目來源、委託單位、開發單位及主管部門】
1.3 定義
【列出手冊中使用的專門術語的定義和縮寫詞的原意】
1.4參考資料
【列出有關資料的作者、標題、編號、發表日期、出版單位或資料來源,可包括:a.項目的計劃任務書、合同或批文;b.項目開發計劃;C. 需求規格說明書;d.概要設計說明書;e。詳細設計說明書;f.測試計劃;g。手冊中引用的其他資料、採用的軟體工程標准或軟體工程規范。】
2. 軟體概述
2.1目標
2.2功能
2.3 性能
a.數據精確度【包括輸入、輸出及處理數據的精度】
b.時間特性【如響應時間、處理時間、數據傳輸時間等。】
c.靈活性【在操作方式、運行環境需做某些變更時軟體的適應能力。】
3. 運行環境
3.1硬體
【列出軟體系統運行時所需的硬體最小配置,如
a. 計算機型號、主存容量;
b. 外存儲器、媒體、記錄格式、設備型號及數量;
c. 輸入、輸出設備;
d. 數據傳輸設備及數據轉換設備的型號及數量。】
3.2支持軟體
【如:a. 操作系統名稱及版本號;
b. 語言編譯系統或匯編系統的名稱及版本號;
c. 資料庫管理系統的名稱及版本號;
d. 其他必要的支持軟體。】
4. 使用說明
4.1安裝和初始化
【給出程序的存儲形式、操作命令、反饋信息及其含意、表明安裝完成的測試實例以及安裝所需的軟體工具等。】
4.2輸入
【給出輸入數據或參數的要求。】
4.2.1數據背景
【說明數據來源、存儲媒體、出現頻度、限制和質量管理等。】
4.2.2數據格式
【如:a。長度;b.格式基準;C,標號;d.順序;e。分隔符;f.詞彙表;g. 省略和重復;h.控制。】
4.2.3輸入舉例
4.3輸出
【給出每項輸出數據的說明】
4.3.l數據背景
【說明輸出數據的去向使用頻度、存放媒體及質量管理等。】
4.3.2數據格式
【詳細闡明每一輸出數據的格式,如:首部、主體和尾部的具體形式。】
4.3.3舉例