軟件概要設計做什么,怎么做
一、軟件設計一般流程:
1、先前的軟件需求分析階段,已經搞清楚了 “要解決什么問題”,並輸出了《軟件需要說明書》。這時一切都是理想。
2、現在進入概要設計階段,重點說清楚“總體實現方案”,確定軟件系統的總體布局,各個子模塊的功能和模塊間的關系,與外部系統的關系。有一些研究與論證性的內容。並輸出《軟件概要設計說明書》。這時一切都是概念。
3、最后進入詳細設計階段,重點說清楚“每個模塊怎么做”,是“程序”的藍圖,確定每個模塊采用的算法、數據結構、接口的實現、屬性、參數。並輸出《軟件詳細設計說明書》。這時一切都是實現。
二、《概要設計說明書》的一般結構:
1、總述:需求或目標(講一下事情的起源)、環境、局限;
----主要交代背景與大環境。(非重點)
2、總體設計:從全局的角度說一下 總體結構、功能、處理流程、有哪些模塊、模塊間的關系;
----使讀者有“全局”觀,為下一步深入各個模塊做好准備。
3、外部接口:總體說明外部用戶、軟、硬件接口(可用資源);(這個接口不是java的interface) 。
----使讀者了解可以利用的外部資源。
4、模塊設計:每個模塊“做什么”、簡要說明“怎么做”(輸入、輸出、處理邏輯、與其它模塊或系統的接口),處在什么邏輯位置、物理位置; (重點)
5、數據結構:邏輯結構、物理結構(存儲在數據表中,還是緩存中);
6、容災設計:出錯信息、出錯處理; (可選)
7、監控設計:運行模塊組合、控制、時間;(可選)
8、用戶界面設計:(可選)
9、安全設計:(可選)
10、其它設計:(可選)
11、制定規范(附錄): 設計原則,代碼規范、接口規約、命名規則。--是小組協同開發的基礎
三、模塊設計是重點,多說幾句:
可以寫以下內容:
1、模塊描述:說明哪些模塊實現了哪些功能;
2、模塊層次結構:可以使用某個視角的軟件框架圖來表達;
3、模塊間的關系:模塊間依賴關系的描述,通信機制描述;
4、模塊的核心接口:說明模塊傳遞的信息、信息的結構;
5、處理方式設計:說一些滿足功能和性能的算法;
四、怎么使用概要設計:
1、用來評價總體設計的可行性。
2、用來檢查設計的模塊是否完整,保證每一個功能都有對應的模塊來實現。
3、用來評估開發工作量、指導開發計划(在不寫詳細設計的情況下)。
五、最后提醒:
1、概要設計階段過於重視業務流程是個誤區.
2、概要設計階段過於重視細節實現是個誤區.