1 概述
1.1 系統(tǒng)簡述
對系統(tǒng)要完成什么,所面向的用戶以及系統(tǒng)運行的環(huán)境的簡短描述,這部分主要來源于需求說明書的開始部分。
1.2 軟件設計目標
這部分論述整個系統(tǒng)的設計目標,明確地說明哪些功能是系統(tǒng)決定實現(xiàn)而哪些時不準備實現(xiàn)的。同時,對于非功能性的需求例如性能、可用性等,亦需提及。需求規(guī)格說明書對于這部分的內(nèi)容來說是很重要的參考,看看其中明確了的功能性以及非功能性的需求。
這部分必須說清楚設計的全貌如何,務必使讀者看后知道將實現(xiàn)的系統(tǒng)有什么特點和功能。在隨后的文檔部分,將解釋設計是怎么來實現(xiàn)這些的。
1.3 參考資料
列出本文檔中所引用的參考資料。(至少要引用需求規(guī)格說明書)
1.4 修訂版本記錄
列出本文檔修改的歷史紀錄。必須指明修改的內(nèi)容、日期以及修改人。
2 術(shù)語表
對本文檔中所使用的各種術(shù)語進行說明。如果一些術(shù)語在需求規(guī)格說明書中已經(jīng)說明過了,此處不用再重復,可以指引讀者參考需求說明。
3 用例
此處要求系統(tǒng)用用例圖表述(UML),對每個用例(正常處理的情況)要有中文敘述。
4 設計概述
4.1 簡述
這部分要求突出整個設計所采用的方法(是面向?qū)ο笤O計還是結(jié)構(gòu)化設計)、系統(tǒng)的體系結(jié)構(gòu)(例如客戶/服務器結(jié)構(gòu))以及使用到的相應技術(shù)和工具(例如OMT、Rose)
4.2 系統(tǒng)結(jié)構(gòu)設計
這部分要求提供高層系統(tǒng)結(jié)構(gòu)的描述,使用方框圖來顯示主要的組件及組件間的交互。是把邏輯結(jié)構(gòu)同物理結(jié)構(gòu)分離,對前者進行描述。別忘了說明圖中用到的俗語和符號。
4.2.1 頂層系統(tǒng)結(jié)構(gòu)
4.2.2 子系統(tǒng)1結(jié)構(gòu)
4.2.3 子系統(tǒng)2結(jié)構(gòu)
4.3 系統(tǒng)界面
各種提供給用戶的界面以及外部系統(tǒng)在此處要予以說明。如果在需求規(guī)格說明書中已經(jīng)對用戶界面有了敘述,此處不用再重復,可以指引讀者參考需求說明。如果系統(tǒng)提供了對其它系統(tǒng)的接口,比如說從其它軟件系統(tǒng)導入/導出數(shù)據(jù),必須在此說明。
4.4 約束和假定
描述系統(tǒng)設計中最主要的約束,這些是由客戶強制要求并在需求說明書寫明的。說明系統(tǒng)是如何來適應這些約束的。
另外如果本系統(tǒng)跟其它外部系統(tǒng)交互或者依賴其它外部系統(tǒng)提供一些功能輔助,那么系統(tǒng)可能還受到其它的約束。這種情況下,要求清楚地描述與本系統(tǒng)有交互的軟件類型(比如某某某數(shù)據(jù)庫軟件,某某某EMail軟件)以及這樣導致的約束(比如只允許純文本的Email)。
實現(xiàn)的語言和平臺也會對系統(tǒng)有約束,同樣在此予以說明。
對于因選擇具體的設計實現(xiàn)而導致對系統(tǒng)的約束,簡要地描述你的想法思路,經(jīng)過怎么樣的權(quán)衡,為什么要采取這樣的設計等等。
5 對象模型
5.1 系統(tǒng)對象模型
提供整個系統(tǒng)的對象模型,如果模型過大,按照可行的標準把它劃分成小塊,例如可以把客戶端和服務器端的對象模型分開成兩個圖表述。
對象圖應該包含什么呢?
在其中應該包含所有的系統(tǒng)對象。這些對象都是從理解需求后得到的。要明確哪些應該、哪些不應該被放進圖中。
所有對象之間的關聯(lián)必須被確定并且必須指明聯(lián)系的基數(shù)(一對一、一對多還是多對多,0..1,*,1..*)。聚合和繼承關系必須清楚地確定下來。每個圖必須附有簡單的說明。
可能經(jīng)過多次反復之后才能得到系統(tǒng)的正確的對象模型。
1.1 系統(tǒng)簡述
對系統(tǒng)要完成什么,所面向的用戶以及系統(tǒng)運行的環(huán)境的簡短描述,這部分主要來源于需求說明書的開始部分。
1.2 軟件設計目標
這部分論述整個系統(tǒng)的設計目標,明確地說明哪些功能是系統(tǒng)決定實現(xiàn)而哪些時不準備實現(xiàn)的。同時,對于非功能性的需求例如性能、可用性等,亦需提及。需求規(guī)格說明書對于這部分的內(nèi)容來說是很重要的參考,看看其中明確了的功能性以及非功能性的需求。
這部分必須說清楚設計的全貌如何,務必使讀者看后知道將實現(xiàn)的系統(tǒng)有什么特點和功能。在隨后的文檔部分,將解釋設計是怎么來實現(xiàn)這些的。
1.3 參考資料
列出本文檔中所引用的參考資料。(至少要引用需求規(guī)格說明書)
1.4 修訂版本記錄
列出本文檔修改的歷史紀錄。必須指明修改的內(nèi)容、日期以及修改人。
2 術(shù)語表
對本文檔中所使用的各種術(shù)語進行說明。如果一些術(shù)語在需求規(guī)格說明書中已經(jīng)說明過了,此處不用再重復,可以指引讀者參考需求說明。
3 用例
此處要求系統(tǒng)用用例圖表述(UML),對每個用例(正常處理的情況)要有中文敘述。
4 設計概述
4.1 簡述
這部分要求突出整個設計所采用的方法(是面向?qū)ο笤O計還是結(jié)構(gòu)化設計)、系統(tǒng)的體系結(jié)構(gòu)(例如客戶/服務器結(jié)構(gòu))以及使用到的相應技術(shù)和工具(例如OMT、Rose)
4.2 系統(tǒng)結(jié)構(gòu)設計
這部分要求提供高層系統(tǒng)結(jié)構(gòu)的描述,使用方框圖來顯示主要的組件及組件間的交互。是把邏輯結(jié)構(gòu)同物理結(jié)構(gòu)分離,對前者進行描述。別忘了說明圖中用到的俗語和符號。
4.2.1 頂層系統(tǒng)結(jié)構(gòu)
4.2.2 子系統(tǒng)1結(jié)構(gòu)
4.2.3 子系統(tǒng)2結(jié)構(gòu)
4.3 系統(tǒng)界面
各種提供給用戶的界面以及外部系統(tǒng)在此處要予以說明。如果在需求規(guī)格說明書中已經(jīng)對用戶界面有了敘述,此處不用再重復,可以指引讀者參考需求說明。如果系統(tǒng)提供了對其它系統(tǒng)的接口,比如說從其它軟件系統(tǒng)導入/導出數(shù)據(jù),必須在此說明。
4.4 約束和假定
描述系統(tǒng)設計中最主要的約束,這些是由客戶強制要求并在需求說明書寫明的。說明系統(tǒng)是如何來適應這些約束的。
另外如果本系統(tǒng)跟其它外部系統(tǒng)交互或者依賴其它外部系統(tǒng)提供一些功能輔助,那么系統(tǒng)可能還受到其它的約束。這種情況下,要求清楚地描述與本系統(tǒng)有交互的軟件類型(比如某某某數(shù)據(jù)庫軟件,某某某EMail軟件)以及這樣導致的約束(比如只允許純文本的Email)。
實現(xiàn)的語言和平臺也會對系統(tǒng)有約束,同樣在此予以說明。
對于因選擇具體的設計實現(xiàn)而導致對系統(tǒng)的約束,簡要地描述你的想法思路,經(jīng)過怎么樣的權(quán)衡,為什么要采取這樣的設計等等。
5 對象模型
5.1 系統(tǒng)對象模型
提供整個系統(tǒng)的對象模型,如果模型過大,按照可行的標準把它劃分成小塊,例如可以把客戶端和服務器端的對象模型分開成兩個圖表述。
對象圖應該包含什么呢?
在其中應該包含所有的系統(tǒng)對象。這些對象都是從理解需求后得到的。要明確哪些應該、哪些不應該被放進圖中。
所有對象之間的關聯(lián)必須被確定并且必須指明聯(lián)系的基數(shù)(一對一、一對多還是多對多,0..1,*,1..*)。聚合和繼承關系必須清楚地確定下來。每個圖必須附有簡單的說明。
可能經(jīng)過多次反復之后才能得到系統(tǒng)的正確的對象模型。