在詳細設計中,詳細設計文檔的編寫也是重要的一個環(huán)節(jié)。做好詳細設計的文檔編寫,對詳細設計的成功具有十分重要的作用。那么詳細設計的文檔應該怎么寫呢?中培偉業(yè)《詳細設計與系統(tǒng)架構最佳實踐》曾老師在這里進行了詳細介紹。
何謂詳細設計
詳細設計是相對概要設計而言的,是瀑布開發(fā)流程的一個重要環(huán)節(jié),在概要設計的高層設計的基礎上,從邏輯上實現(xiàn)了每一模塊的功能,是編碼階段的主要參考資料,是從高層到低層、逐步精化思想的具體實現(xiàn)。
詳細設計文檔的內容包括各個模塊的算法設計, 接口設計, 數(shù)據(jù)結構設計,交互設計等。必須寫清楚各個模塊接口公共對象的定義,列明各個模塊程序的各種執(zhí)行條件與期望的運行效果,還要正確處理各種可能的異常。
詳細設計的意義何在
在開發(fā)過程中,因為需求及設計不正確、不完整所導致的問題是項目進度拖延、失敗的一個主要因素,而軟件系統(tǒng)的一個重要特性就是需求和設計的不斷構建和改進,在寫詳細設計文檔過程中, 詳細設計實際上是對系統(tǒng)的一次邏輯構建,可以有效驗證需求的完整性及正確性。
在不寫詳細設計文檔的情況下,如果就從概設直接進入編碼階段,這時開發(fā)人員所能參考的資料就是需求規(guī)格說明書及頁面原型、數(shù)據(jù)庫設計等,不能直接進行開發(fā),需要進行信息的溝通,把頁面原型不能體現(xiàn)的設計講清楚。這樣既容易遺忘,也容易發(fā)生問題,詳細設計文檔可以作為需求人員、總體設計人員與開發(fā)人員的溝通工具,把靜態(tài)頁面無法體現(xiàn)的設計體現(xiàn)出來,包含整體設計對模塊設計的規(guī)范,體現(xiàn)對設計上的一些決策,例如選用的算法,對一些關鍵問題的設計考慮等等,使開發(fā)人員能快速進入開發(fā),提高溝通效率,減少溝通問題。
對于系統(tǒng)功能的調整,后期的維護,詳設文檔提供了模塊設計上的考慮、決策,包括模塊與整體設計的關系、模塊所引用的數(shù)據(jù)庫設計、重要操作的處理流程、重要的業(yè)務規(guī)則實現(xiàn)設計等等信息,提供了對模塊設計的概述性信息,闡明了模塊設計上的決策,配合代碼注釋,可以相對輕松讀懂原有設計。
詳細設計文檔應該如何寫
詳細設計的主要任務是設計每個模塊的實現(xiàn)算法、所需的局部數(shù)據(jù)結構。詳細設計的目標有兩個:實現(xiàn)模塊功能的算法要邏輯上正確和算法描述要簡明易懂。 傳 統(tǒng)軟件開發(fā)方法的詳細設計主要是用結構化程序設計法。詳細設計的表示工具有圖形工具和語言工具。圖形工具有程序流程圖、PAD(Problem Analysis Diagram)圖、NS(由 Nassi和 Shneidermen開發(fā),簡稱 NS)圖。語言工具有偽碼和 PDL(Program Design Language)等。
主要任務:
1.為每個模塊確定采用的算法,選擇某種適當?shù)墓ぞ弑磉_算法的過程,寫出模塊的詳細過程性描述;
2.確定每一模塊使用的數(shù)據(jù)結構;
3.確定模 塊接口的細節(jié),包括對系統(tǒng)外部的接口和用戶界面,對系統(tǒng)內部其它模塊的接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細節(jié)。 在詳細設計結束時,應該把上述結果寫入詳細設計說明書,并且通過復審形成正式文檔。交付給下一階段(編碼階段)的工作依據(jù)。
4.要為每一個模塊設計出一組測試用例,以便在編碼階段對模塊代碼(即程序)進行預定的測試,模塊的測試用例是軟件測試計劃的重要組成部分,通常應包括輸入數(shù)據(jù),期 望輸出等內容。
詳細設計的工具:
1.圖形工具利用圖形工具可以把過程的細節(jié)用圖形描述出來。
2.表格工具可以用一張表來描述過程的細節(jié),在這張表中列出了各種可能的操作和相應的條件。
3.語言工具用某種高級語言(稱之為偽碼)來描述過程的細節(jié)。