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