-
詳細設計
鎖定
- 中文名
- 詳細設計
- 外文名
- The detailed design
- 任 務
- 設計每個模塊的實現算法
詳細設計主要任務
詳細設計的主要任務是設計每個模塊的實現算法、所需的局部數據結構。詳細設計的目標有兩個:實現模塊功能的算法要邏輯上正確和算法描述要簡明易懂。
詳細設計方法
傳統軟件開發方法的詳細設計主要是用結構化程序設計法。
基本要求要點
a.採用自頂向下、逐步求精的程序設計方法
b.使用三種基本程序控制結構構造程序
(1).用順序方式對過程分解,確定各部分的執行順序。
(2).用選擇方式對過程分解,確定某個部分的執行條件。
(3).用循環方式對過程分解,確定某個部分重複的開始和結束的條件。
c.主程序員組的組織形式。
Jackson 方法
設計步驟
b.找出輸入數據結構和輸出數據結構中有對應關係的數據單元。
c.按一定的規則由輸入、輸出的數據結構導出程序結構。
d.列出基本操作與條件,並把它們分配到程序結構圖的適當位置。
e.用偽碼寫出程序。
描述方法
a.程序流程圖
b.PAD圖
C.過程設計語言
詳細設計設計工具
表示工具
詳細設計的表示工具有圖形工具和語言工具。
1.圖形工具
利用圖形工具可以把過程的細節用圖形描述出來。
(1)程序流程圖。程序流程圖又稱為程序框圖,是使用最廣泛然而也是用得最混亂的一種描述程序邏輯結構的工具。它用方框表示一個處理步驟,菱形表示一個邏輯條件,箭頭表示控制流向。其優點是:結構清晰,易於理解,易於修改。缺點是:只能描述執行過程而不能描述有關的數據。
(3)PAD圖。PAD是一種改進的圖形描述方式,可以用來取代程序流程圖,比程序流程圖更直觀,結構更清晰。最大的優點是能夠反映和描述自頂向下的歷史和過程。PAD提供了5種基本控制結構的圖示,並允許遞歸使用。
PAD的特點有:使用PAD符號設計出的程序代碼是結構化程序代碼;PAD所描繪的程序結構十分清晰;用PAD圖表現程序的邏輯易讀、易懂和易記;容易將PAD圖轉換成高級語言源程序自動完成;即可以表示邏輯,也可用來描繪數據結構;支持自頂向下方法的使用。
2.表格工具
可以用一張表來描述過程的細節,在這張表中列出了各種可能的操作和相應的條件。
3.語言工具
用某種高級語言(稱之為偽碼)來描述過程的細節。概要設計和詳細設計的區別與聯繫。
有偽碼和PDL(Program Design Language)等。
PDL。PDL也可稱為偽碼或結構化語言,它用於描述模塊內部的具體算法,以便開發人員之間比較精確地進行交流。語法是開放式的,其外層語法是確定的,而內層語法則不確定。外層語法描述控制結構,它用類似於一般編程語言控制結構的關鍵字表示,所以是確定的。內層語法描述具體操作,考慮到不同軟件系統的實際操作種類繁多,內層語法因而不確定,它可以按系統的具體情況和不同的設計層次靈活選用,實際上任意英語語句都可用來描述所需的具體操作。用它來描述詳細設計,工作量比畫圖小,又比較容易轉換為真正的代碼。
PDL的優點:可以作為註釋直接插在源程序中;可以使用普通的文本編輯工具或文字處理工具產生和管理;已經有自動處理程序存在,而且可以自動由PDL生成程序代碼。
PDL的不足:不如圖形工具形象直觀,描述複雜的條件組合與動作間對應關係時,不如判定樹清晰簡單。
[1]
詳細設計基本任務
(4)其他設計:根據軟件系統的類型,還可能要進行以下設計:
②輸入/輸出格式設計。
(5)編寫詳細設計説明書。
(6)評審。對處理過程的算法和數據庫的物理結構都要評審。
詳細設計區別
軟件設計採用自頂向下、逐次功能展開的設計方法,首先完成總體設計,然後完成各有機組成部分的設計。
根據工作性質和內容的不同,軟件設計分為概要設計和詳細設計。概要設計實現軟件的總體設計、模塊劃分、用户界面設計、數據庫設計等等;詳細設計則根據概要設計所做的模塊劃分,實現各模塊的算法設計,實現用户界面設計、數據結構設計的細化,等等。
詳細設計聯繫
概要設計是詳細設計的基礎,必須在詳細設計之前完成,概要設計經複查確認後才可以開始詳細設計。概要設計,必須完成概要設計文檔,包括系統的總體設計文檔、以及各個模塊的概要設計文檔。每個模塊的設計文檔都應該獨立成冊。
詳細設計必須遵循概要設計來進行。詳細設計方案的更改,不得影響到概要設計方案;如果需要更改概要設計,必須經過項目經理的同意。詳細設計,應該完成詳細設計文檔,主要是模塊的詳細設計方案説明。和概要設計一樣,每個模塊的詳細設計文檔都應該獨立成冊。
概要設計裏面的數據庫設計應該重點在描述數據關係上,説明數據的來龍去脈,在這裏應該結合我們的一下結果數據,説明這些結果數據的源點,我們這樣設計的目 的和原因。詳細設計裏的數據庫設計就應該是一份完善的數據結構文檔,就是一個包括類型、命名、精度、字段説明、表説明等內容的數據字典。
概要設計裏的功能應該是重點在功能描述,對需求的解釋和整合,整體劃分功能模塊,並對各功能模塊進行詳細的圖文描述,應該讓讀者大致瞭解系統做完後大體的 結構和操作模式。詳細設計則是重點在描述系統的實現方式,各模塊詳細説明實現功能所需的類及具體的方法函數,包括涉及到的sql語句等。
詳細設計説明書
1、引言
1.1、編寫目的 説明編寫這份詳細設計説明書的目的,指出預期的讀者。
1.2、背景説明:
a. 待開發軟件系統的名稱;
b. 本項目的任務提出者、開發者、用户和運行該程序系統的計算中心。
1.3、定義 列出本文件中用到專門術語的定義和外文首字母組詞的原詞組。
1.4、參考資料
列出有關的參考資料,如:
a. 本項目的經核准的計劃任務書或合同、上級機關的批文;
b. 屬於本項目的其他已發表的文件;
c. 本文件中各處引用到的文件資料,包括所要用到的軟件開發標準。列出這些文件的標題、文件編號、發表日期和出版單位,説明能夠取得這些文件的來源。
2、程序系統的結構
3、程序1(標識符)設計説明
從本章開始,逐個地給出各個層次中的每個程序的設計考慮。以下給出的提綱是針對一般情況的。對於一個具體的模塊,尤其是層次比較低的模塊或子程序,其很多條目的內容往往與它所隸屬的上一層 模塊的對應條目的內容相同,在這種情況下,只要簡單地説明這一點即可。
3.1、程序描述
3.2、功能
説明該程序應具有的功能,可採用IPO圖(即輸入一處理一輸出圖)的形式。
3.3、性能
説明對該程序的全部性能要求,包括對精度、靈活性和時間特性的要求。
3.4、輸入項
給出對每一個輸入項的特性,包括名稱、標識、數據的類型和格式、數據值的有效範圍、輸入的方式。數量和頻度、輸入媒體、輸入數據的來源和安全保密條件等等。
3.5、輸出項
給出對每一個輸出項的特性,包括名稱、標識、數據的類型和格式,數據值的有效範圍,輸出的形式、數量和頻度,輸出媒體、對輸出圖形及符號的説明、安全保密條件等等。
3.6、算法
詳細説明本程序所選用的算法,具體的計算公式和計算步驟。
3.7、流程邏輯
3.8、接口
3.9、存儲分配
根據需要,説明本程序的存儲分配。
3.10、註釋設計
説明準備在本程序中安排的註釋,如:
a. 加在模塊首部的註釋;
b. 加在各分枝點處的註釋;
c. 對各變量的功能、範圍、缺省條件等所加的註釋;
d. 對使用的邏輯所加的註釋等等。
3.11、限制條件
説明本程序運行中所受到的限制條件。
3.12、測試計劃
3.13、尚未解決的問題
説明在本程序的設計中尚未解決而設計者認為在軟件完成之前應解決的問題。
4、程序2(標識符)設計説明
用類似F.3的方式,説明第2個程序乃至第N個程序的設計考慮。