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