這部分要描述文檔的目的。應該指明讀者。
對軟件命名
解釋軟件產(chǎn)品將完成或不完成的功能(可以直接描述也可以參考相關(guān)文檔)
描述軟件的應用領(lǐng)域(可直接描述也可以參考其他軟件文檔)
本節(jié)描述待開發(fā)軟件系統(tǒng)與外部實體的關(guān)系,可以使用系統(tǒng)結(jié)構(gòu)圖來描述系統(tǒng)結(jié)構(gòu)和交互關(guān)系。
外部實體屬性描述只限于軟件設(shè)計和描述相關(guān)的屬性??紤]到描述的完整性,可參考相關(guān)軟件實體文檔,如OS程序員手冊。
對本軟件系統(tǒng)的幾種設(shè)計方案進行分析、比較,并確定所采用的方案。
1. 遵循標準
描述本軟件所遵循的標準、規(guī)范
2. 硬件限制
描述本軟件系統(tǒng)實現(xiàn)的硬件限制
3. 技術(shù)限制
描述本軟件的技術(shù)限制
描述其他有關(guān)的設(shè)計考慮
如果本文檔是針對增強開發(fā)/小特性的設(shè)計,繼承了原有的系統(tǒng)結(jié)構(gòu),那么應拷貝原有的系統(tǒng)結(jié)構(gòu)說明,如系統(tǒng)結(jié)構(gòu)圖和相應的文字說明,然后在一層設(shè)計中明顯標識出新增功能在原有系統(tǒng)結(jié)構(gòu)中的位置(屬于原來哪一個模塊的新增功能,與原有各模塊之間有什么交互)。在后續(xù)的業(yè)務流程說明、模塊分解描述、依賴性描述和接口描述中,如果與本次增強開發(fā)/小特性無關(guān)的,可以不再重復描述,如果有關(guān)聯(lián)的,應該拷貝原有的設(shè)計說明,在此基礎(chǔ)上再說明更改的內(nèi)容。
這里要描述軟件系統(tǒng)的總體結(jié)構(gòu),可以使用結(jié)構(gòu)圖、層次分解圖或包圖來描述,并應說明系統(tǒng)結(jié)構(gòu)劃分的原則(例如,基于標準、協(xié)議所規(guī)定的體系結(jié)構(gòu),來自于分析模型的結(jié)果,或者基于原有體系結(jié)構(gòu)的結(jié)果)。對于使用分析模型的體系結(jié)構(gòu),應說明分析類的職責及相互關(guān)系。
描述系統(tǒng)架構(gòu)模塊/分析類之間的動態(tài)交互,來說明用例模型中的典型用例場景,以體現(xiàn)系統(tǒng)功能是如何實現(xiàn)的。建議采用Sequence圖、Collaboration圖等來描述。
本節(jié)描述系統(tǒng)中的子系統(tǒng)和模塊。
不要直接寫“模塊/子系統(tǒng)1”,用簡短的詞語命名模塊/子系統(tǒng)。
按照以下格式描述:
1. 簡介
2. 功能列表
本節(jié)描述系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)。
外部數(shù)據(jù)實體不必描述。
1. 數(shù)據(jù)實體1描述
按照以下格式描述:
標識:
類型:
目的:
本節(jié)描述系統(tǒng)中的子系統(tǒng),數(shù)據(jù)結(jié)構(gòu),模塊,進程等設(shè)計實體間的關(guān)系。
依賴關(guān)系描述可以使用文字,結(jié)構(gòu)圖,(交互)事務圖。
本節(jié)描述軟件系統(tǒng)中設(shè)計實體(如子系統(tǒng),模塊,進程)的接口.
I接口描述可以使用接口文件,參數(shù)表。
對于外部實體只有同被描述軟件相關(guān)的接口才需描述。
接口可以是函數(shù)調(diào)用、事件、消息、信號等。
對每個接口按照以下格式描述:
名稱:(接口名稱)
說明:(對接口的簡短說明)
定義:(接口原型定義,說明接口類型及相關(guān)參數(shù))
L1中定義的每個模塊的進一步設(shè)計在下面的章節(jié)進行描述。對層次比較多的模塊,可以增加設(shè)計層次,最終要說明對應于最小分解模塊的具體設(shè)計類(包括其public屬性和public方法)。
對每個模塊重復使用下述的格式。
不要直接寫 “模塊1名稱”,用簡短的詞語命名模塊。
如果本文檔是針對增強開發(fā)/小特性的設(shè)計,繼承了原有的二層模塊結(jié)構(gòu),那么應拷貝原有的模塊結(jié)構(gòu)說明,如包圖/類圖和相應的文字說明,然后在二層設(shè)計中明顯標識出新增功能在原有模塊結(jié)構(gòu)中的位置(屬于原來哪一個子模塊/設(shè)計類的新增功能,與原有各子模塊/設(shè)計類之間有什么交互)。在后續(xù)的功能實現(xiàn)說明和設(shè)計類定義中,如果與本次增強開發(fā)/小特性無關(guān)的,可以不描述,如果有關(guān)聯(lián)的,應該拷貝原有的設(shè)計說明,在此基礎(chǔ)上再說明更改的內(nèi)容。 對更改的設(shè)計類應該給出類的完整定義,再標識出更改的屬性和方法。
描述模塊分解,例如每個子模塊的功能定義。定義出具體的設(shè)計類,用類圖來描述其相互關(guān)系,并說明所采用的設(shè)計模式。
對每個類重復使用下述的格式進行描述。
1.類名
按下面的格式對每個設(shè)計類進行說明。
1)CI標識
說明該類的配置項標識(用于需求跟蹤,配置項的命名方式在CMP中已定義。一般為:產(chǎn)品名_模塊名_類名,如果在類的命名中未包括前面兩部分)。
2)簡介
簡單介紹該類的功能。
3)類定義(Optional)
如果該類在前面沒有定義,使用類圖、偽代碼描述該類的類定義,需說明該類的所有public屬性和public方法。
使用Sequence圖、Collaboration圖等來說明這些設(shè)計類之間如何交互,實現(xiàn)本模塊的典型功能。
本節(jié)列出所有的數(shù)據(jù)存儲類的實體(表、存儲過程、觸發(fā)器等),詳細描述實體的內(nèi)容和并列出全部屬性。對每個屬性,詳細描述其數(shù)據(jù)庫、數(shù)據(jù)大小、特定約束。實體的所有約束及實體間的關(guān)系也要注明。
闡述設(shè)計思路及約束規(guī)則。
詳細定義每個關(guān)鍵數(shù)據(jù)表、視圖中的各個字段屬性、存儲要求、完整性約束、功能、注意事項,靜態(tài)數(shù)據(jù)表可考慮定義初始配置記錄。
使用E-R圖描述實體間的關(guān)聯(lián)依賴關(guān)系,分析對存取空間、性能、完整性的要求。
根據(jù)功能或其他方式對存儲過程/觸發(fā)器進行歸類,便于進一步細化和分解,并說明每類存儲過程/觸發(fā)器主要功能。
詳細定義每個存儲過程(觸發(fā)器)的功能、輸入輸出參數(shù)、返回值、返回的記錄集、依賴的數(shù)據(jù)表和存儲過程,以及一些特殊要求(比如需要啟用事務等)。
描述與其它模塊之間的依賴關(guān)系。
描述存儲過程間、存儲過程和數(shù)據(jù)表/視圖間依賴關(guān)系。
使用Component圖、deployment圖來描述系統(tǒng)的運行組件(EXE文件、DLL等),及其網(wǎng)絡部署情況。
描述源代碼文件的目錄結(jié)構(gòu)(文件夾中各個目錄下應存放什么文件)。
本節(jié)描述將系統(tǒng)分解為輕量級進程(單個控制線程)和重量級進程(成組的輕量級進程)的過程。本節(jié)按照各個通信或交互的進程組來加以組織。說明進程之間的主要通信模式,例如消息傳遞、中斷和會合。