天天看點

軟體概要設計做什麼,怎麼做

作者:趙磊

部落格:http://elf8848.iteye.com

軟體概要設計做什麼,怎麼做

一、軟體設計一般流程:

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、概要設計階段過于重視細節實作是個誤區.

繼續閱讀