詳細設計的基本任務:
(1)為每個模塊進行詳細的算法設計。用某種圖形、表格、語言等工具將每個模塊處理過程 為每個模塊進行詳細的算法設計。 為每個模塊進行詳細的算法設計的詳細算法描述出來。
(2)為模塊內的數據結構進行設計。對于需求分析、概要設計確定的概念性的數據類型進行 為模塊內的數據結構進行設計。 為模塊內的數據結構進行設計確切的定義。
(3)對數據結構進行物理設計,即確定數據庫的物理結構。物理結構主要指數據庫的存儲記 對數據結構進行物理設計, 對數據結構進行物理設計即確定數據庫的物理結構。 錄格式、存儲記錄安排和存儲方法,這些都依賴于具體所使用的數據庫系統。
(4)其他設計:根據軟件系統的類型,還可能要進行以下設計:
①代碼設計。為了提高數 其他設計: 其他設計 根據軟件系統的類型,還可能要進行以下設計: 代碼設計。 據的輸入、分類、存儲、檢索等操作,節約內存空間,對數據庫中的某些數據項的值要進行 代碼設計。
②輸入 輸出格式設計。 輸出格式設計。人機對話設計。 對于一個實時系統, 用戶與計算機頻繁對話, 因此要進行對話方式、 內容、
③人機對話設計。 格式的具體設計。
(5)編寫詳細設計說明書。
(6)評審。對處理過程的算法和數據庫的物理結構都要評審。
結構化程序設計方法:
詳細設計是軟件設計的第二階段,主要確定每個模塊具體執行過程,也稱“過程設計”,詳細設計的目標不僅是邏輯上正確地實現每個模塊的功能,并使設計出的處理過程清晰易讀。過程設計中采用的典型方法是結構化程序設計(簡稱 SP)方法, 最早是由 E.W.Dijkstra 在 60 年代中期提出的,它是實現詳細設計目標的關鍵技術之一。
結構化程序設計方法的基本要點是:
采用自頂向下
1. 采用自頂向下,逐步求精的程序設計方法 在需求分析,概要設計中,都采用了自頂向下,逐層細化的方法。 在需求分析,概要設計中,都采用了自頂向下,逐層細化的方法。
2. 使用三種基本控制結構構造程序 任何程序都可由順序、選擇、重復三種基本控制結構構造。
主程序員組的組織形式指開發程序的人員組織方式應采用由一個主程序員(負責全部技術活 動)、一個后備程序員(協調、支持主程序員)和一個程序管理員(負責事務性工作,如收集、 記錄數據,文檔資料管理等)三個為核心,再加上一些專家(如通信專家、數據庫專家)、其 他技術人員組成小組。
詳細設計描述法:
詳細描述處理過程常用三種工具:圖形、表格和語言。 本節主要介紹結構化程序流程圖、 盒圖和問題分析圖三種圖形工具。 它是使用最廣泛的一種描述程序邏輯結構的工具。
程序流程圖
程序流程圖又稱為程序框圖, PAD 圖 PAD 圖指問題分析圖(Problem Analysis Diagram),是日本日立公司于 1979 年提出 的一種算法描述工具,它是一種由左往右展開的二維樹型結構。
過程設計語言
過程設計語言(Problem Design Language,簡稱 PDL),也稱程序描述語言(Problem 過程設計語言(Problem Design Language,簡稱 PDL),也稱程序描述語言(Problem Language),又稱為偽碼。它是一種用于描述算法設計和處理細節的語言。 Descripition Language),又稱為偽碼。它是一種用于描述算法設計和處理細節的語言。
表示的程序結構一般有以下幾種:
用PDL 表示的程序結構一般有以下幾種:
(1)順序結構:采用自然語言描述。
(2)選擇結構:
1、IF-ELSE 結構 IF 條件 IF 條件 處理 S1 或 處理 S ELSE 處理 S2 ENDIF ENDIF
2、IF-ORIF-ELSE 結構 IF 條件 1 處理 S2 ORIF 條件 2 處理 S2 . . . ELSE 處理 Sn ENDIF
3、CASE 結構 CASE OF CASE
(1) 處理 S1 CASE
(2) 處理 S2 . . . ELSE 處理 Sn ENDCASE
(3)重復結構:
1、FOR 結構 FOR i=1 TO n 循環體 ENDFOR
2、WHILE 結構 WHILE 條件 循環體 ENDWHILE
3、UNTIL 結構 REPEAT 循環體 UNTIL 條件
(4)出口結構:
1、ESCAPE 結構(退出本層結構) WHILE 條件 處理 S1 ESCAPE L IF 條件 處理 S2 ENDWHILE L:……
2、CYCLE 結構(循環內部進入循環的下一次) L:WHILE 條件 處理 S1 CYCLE L IF 條件 處理 S2 ENDWHILE
(5)模塊定義與調用:
1、模塊定義 PROCEDURE 模塊名(參數) .. RETURN END
2、模塊調用 CALL 模塊名(參數)
(6)數據定義:
DECLARE 屬性 變量名…… 屬性有:字符、整型、實型、雙精度、指針、數組、結構等類型。
(7)輸入/輸出: 輸入 GET(輸入變量表) PUT(輸出變量表)
現以 xx 系統主控模塊詳細設計為例,說明如何用 PDL 來描述。 PROCEDURE 模塊名( ) PROCEDURE 模塊名( 清屏; 清屏; 系統用戶界面; 顯示 xx 系統用戶界面; PUT(“請輸入用戶口令: PUT(“請輸入用戶口令:”); GET(password); GET(password); >系統口令 IF password< >系統口令 提示警告信息; 提示警告信息; 退出運行 ENDIF 顯示本系統主菜單; 顯示本系統主菜單; WHILE(true) ABC; 接收用戶選擇 ABC; ABC=“退出” IF ABC=“退出” Break; Break; ENDIF 調用相應下層模塊完成用戶選擇功能; 調用相應下層模塊完成用戶選擇功能; ENDWHILE
清屏; RETURN END 從以上例子可以看到 PDL 的總體結構與一般程序完全相同。 外語法同相應程序語言一致, 內語法使用自然語言,易編寫,易理解,也很容易轉換成源程序。
Jackson 方法
Jackson 方法是面向數據結構的設計方法。 Jackson 方法定義了一組以數據結構為指導的映射過程,它根據輸入、輸出的數據結構,按 一定的規則映射成軟件的過程描述,即程序結構 程序結構 Jackson 設計步驟 Jackson 方法一般通過以下五個步驟來完成設計:
(1)分析并確定輸入數據和輸出數據的邏輯結構 并用 Jackson 結構圖來表示這些數據結構。分析并確定輸入數據和輸出數據的邏輯結構, 結構圖來表示這些數據結構。
(1)分析并確定輸入數據和輸出數據的邏輯結構,
(2)找出輸入數據結構和輸出數據結構中有對應關系的數據單元。 找出輸入數據結構和輸出數據結構中有對應關系的數據單元
(3)按一定的規則由輸入 輸出的數據結構導出程序結構。
(4)列出基本操作與條件 并把它們分配到程序結構圖的適當位置。
(5)用偽碼寫出程序。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |