詳細設計是軟件工程中軟件開發的一個步驟,就是對概要設計的一個細化,就是詳細設計每個模塊實現算法,所需的局部結構。在詳細設計階段,主要是通過需求分析的結果,設計出滿足用戶需求的嵌入式系統產品。中培偉業“架構設計”專家曾老師指出,詳細設計作為瀑布開發流程的一個重要環節,在概要設計的高層設計的基礎上,從邏輯上實現了每一模塊的功能,是編碼階段的主要參考資料,是從高層到低層、逐步精化思想的具體實現。
詳細設計文檔主要內容有哪些?
詳細設計文檔的內容包括各個模塊的算法設計, 接口設計, 數據結構設計,交互設計等。必須寫清楚各個模塊/接口/公共對象的定義,列明各個模塊程序的各種執行條件與期望的運行效果,還要正確處理各種可能的異常。
為什么要做詳細設計?
在開發過程中,由需求及設計不正確、不完整所導致的問題是項目進度拖延、失敗的一個主要因素,而軟件系統的一個重要特性就是需求和設計的不斷構建和改進,在寫詳細設計文檔過程中,詳細設計實際上是對系統的一次邏輯構建,可以有效驗證需求的完整性及正確性。
如果不寫詳細設計文檔,一般就從概設直接進入編碼階段,這時開發人員所能參考的資料就是需求規格說明書及頁面原型、數據庫設計等,不能直接進行開發,需要進行信息的溝通,把頁面原型不能體現的設計講清楚,這樣既容易遺忘,也容易發生問題,詳細設計文檔可以作為需求人員、總體設計人員與開發人員的溝通工具,把靜態頁面無法體現的設計體現出來,包含整體設計對模塊設計的規范,體現對設計上的一些決策,例如選用的算法,對一些關鍵問題的設計考慮等等,使開發人員能快速進入開發,提高溝通效率,減少溝通問題。 對于系統功能的調整,后期的維護,詳設文檔提供了模塊設計上的考慮、決策,包括模塊與整體設計的關系、模塊所引用的數據庫設計、重要操作的處理流程、重要的業務規則實現設計等等信息,提供了對模塊設計的概述性信息,闡明了模塊設計上的決策,配合代碼注釋,可以相對輕松讀懂原有設計。
詳細設計主要有哪些任務?
詳細設計的主要任務是:
(1)為每個模塊確定采用的算法,選擇某種適當的工具表達算法的過程,寫出模塊的詳細過程性描述;
(2)確定每一模塊使用的數據結構;
(3)確定模 塊接口的細節,包括對系統外部的接口和用戶界面,對系統內部其它模塊的接口,以及模塊輸入數據、輸出數據及局部數據的全部細節。 在詳細設計結束時,應該把上述結果寫入詳細設計說明書,并且通過復審形成正式文檔。交付給下一階段(編碼階段)的工作依據。
(4)要為每一個模塊設計出一組測試用例,以便在編碼階段對模塊代碼(即程序)進行預定的測試,模塊的測試用例是軟件測試計劃的重要組成部分,通常應包括輸入數據,期 望輸出等內容。