軟件設計采用自頂向下、逐次功能展開的設計方法,首先完成總體設計,然后完成各有機組成部分的設計。
根據工作性質和內容的不同,軟件設計分為概要設計和詳細設計。概要設計實現軟件的總體設計、模塊劃分、用戶界面設計、數據庫設計等等;詳細設計則根據概要設計所做的模塊劃分,實現各模塊的算法設計,實現用戶界面設計、數據結構設計的細化,等等。
概要設計是詳細設計的基礎,必須在詳細設計之前完成,概要設計經復查確認后才可以開始詳細設計。概要設計,必須完成概要設計文檔,包括系統的總體設計文檔、以及各個模塊的概要設計文檔。每個模塊的設計文檔都應該獨立成冊。
詳細設計必須遵循概要設計來進行。詳細設計方案的更改,不得影響到概要設計方案;如果需要更改概要設計,必須經過項目經理的同意。詳細設計,應該完成詳細設計文檔,主要是模塊的詳細設計方案說明。和概要設計一樣,每個模塊的詳細設計文檔都應該獨立成冊。
概要設計里面的數據庫設計應該重點在描述數據關系上,說明數據的來龍去脈,在這里應該結合我們的一下結果數據,說明這些結果數據的源點,我們這樣設計的目的和原因。詳細設計里的數據庫設計就應該是一份完善的數據結構文檔,就是一個包括類型、命名、精度、字段說明、表說明等內容的數據字典。
概要設計里的功能應該是重點在功能描述,對需求的解釋和整合,整體劃分功能模塊,并對各功能模塊進行詳細的圖文描述,應該讓讀者大致了解系統作完后大體的結構和操作模式。詳細設計則是重點在描述系統的實現方式,各模塊詳細說明實現功能所需的類及具體的方法函數,包括涉及到的sql語句等。