天天看點

系統設計之設計文檔

2017-2-14

根據需求,進行設計。設計的成果是系統概要設計和詳細設計文檔。

設計文檔包含的内容:

一、總體設計

總體設計定義系統采用的開發工具和開發平台,需要采購的外部元件,采用的技術标準。系統的子產品劃分,功能清單,系統内部個功能之間、系統與外部系統之間的接口方式。

總體設計的目的是從較高的、全局的層面給系統做個定義、視圖給高層上司、項目經理一個較為全面的系統視圖,便于了解系統的範圍,采用的技術,系統的組成,以及各組成單元之間的關系。

總體設計也是每個開發人員首先要仔細閱讀的設計文檔。

總體設計文檔,需要由項目的架構師進行設計,要求架構師對項目的需求範圍有清晰的了解,并能對系統進行适當的劃分,劃分為合适的子產品和功能,另外,系統架構師對接口技術,公司或者市場上流行的技術架構有較深入的了解,以便進行決策采用什麼技術或者平台來開發。

要保證總體設計能覆寫所有的需求,包括功能需求,界面需求,技術需求,性能需求,預算需求,時間進度需求等等。

在對技術進行選型時,系統架構師要與項目管理人員密切溝通,了解項目成員組成,項目成員的技術背景和項目背景,了解公司技術标準、開發平台的現狀和規劃藍圖,以便找出最适合目前項目的平台和技術,既可以滿足使用者功能需求,又能在要求的時間和成本内完成項目。也就是在 需求,成本,時間三者之間做好權衡(項目開發金三角)。

總體設計文檔,可以一個項目一份。或者比較大的項目,每個子產品也有自己獨立的總體設計。

總之設計文檔也是金字塔級别的,樹形結構,逐漸細化的一個結構。

二、詳細設計

詳細設計是開發人員的輸入文檔,用來指導開發人員開展編碼工作。

詳細設計文檔,針對每個功能點或者說每個特性,具體定義其實作方式。

詳細設計至少應該包括:

1,每個功能的處理流程圖

2,如果有業務流程,還要包括業務流程的說明,流程圖,每個環節的崗位,每個環節的處理内容。

3,界面原型

4,每個功能點(按鈕或者菜單)的流程和業務邏輯,

5,資料結構。

詳細設計包括:

1,前台部分和伺服器部分,

2,以及前背景通訊的方式(一般前背景通訊的方式,在總體設計中已經設計,或者由采用的開發平台來決定)、資料格式等。

3,用到的全局變量或者全局參數。

應當給每個功能以唯一編碼。

另外,在詳細設計中,還要注明本功能與其他功能的影響關系,這樣通過建立功能之間的關系圖,可以知道,修改某個功能的實作,會影響到哪個或者哪幾個功能。

設計工作要引起大家的足夠重視,根據以往的開發經驗,大家對這塊重視程度不夠,在設計階段花費的時間比較少,往往在還沒有進行仔細設計時,就匆忙進入開發編碼,導緻因為設計不足,考慮不周,返工比較嚴重,回過頭來看,花費的時間一點也不少。根據經驗估計,設計階段,要花費整個開發階段的30%-60%的工作量。

三、設計評審

系統架構師或者設計人員編寫完設計時,需要對設計進行評審。

1,評審的時機

設計完成以後,或者分子產品進行評審。

2,評審的目的

(1)確定設計滿足使用者的需求。是否完整,是否正确。

(2)符合國家法律法規,行業标準,本機關内部開發标準

(3)設計中的設計到的已有元件是否存在版權問題

(4)對存在的問題進行讨論,并給出解決方案。

(5)文檔格式是否符合本企業或者甲方要求的文檔标準。

3,評審人

(1)公司内部比較資深的設計人員(外部人員)

(2)甲方業務人員???

(3)項目團隊核心人員

(4)項目經理

四、文檔的組織

1,文檔不建議寫在同一個文檔中,按照子產品功能分開獨立的文檔分别來寫。這種有點是顯而易見的,友善維護,沒有修改沖突。

2,檔案使用統一的命名方式,最後使用子產品名進行區分

3,流程圖和資料庫結構可以使用獨立的文檔

4,要確定文檔與代碼的統一,尤其是比較大型,參與者比較多,時間周期比較長的項目。也就是通常說的先有文檔,再進行編碼的模式。

以上開發過程,以及開發過程中對文檔的要求是一個通用原則,需要哪些文檔,詳細到什麼程度,包括哪些内容,要是項目規模、成員數量,成員的層次來定。比如一個2.3個人的項目,就沒必要拘泥于以上的要求,甚至可以沒有文檔就可以。但是越大型的項目,對文檔的要求也就越高。

繼續閱讀