- 12
- 0
- 约 21页
- 2017-09-30 发布于北京
- 举报
Chapr 16元件層次的設計 Component-Level Design 結構化程式設計(Structured Programming) 結構化程式設計的幾何圖形可分為下列四種: 1、圖形化設計符號(Graphical Design Notation )-- 可稱為程式流程圖,或者簡稱為流程圖。 2、方塊圖(The Box Diagram)。 3、列表式設計(Tabular Design Notation)。 4、程式設計語言(Program Design Language, PDL)。 其他:與PDL類似的稱為虛擬碼!或者直接用程式語言,至保持有結構化的特性:「縮格」即可!(※其實配合結構化的內縮原則,直接寫程式的效果與畫流程圖的差不多,但又更容易用編輯器寫程式!!) 一張圖畫勝過千言萬語 “A picture is worth a thousand words” 圖形化工具:流程圖、方塊圖。 結構的幾何圖形可用來將軟體的程序化設計以少數可預期的圖形來表示!可以簡化程式的複雜度並且增加可讀性、方便測試及方便維護,而且比閱讀一行一行的程式碼更容易理解。 (※在近來常用的結構化程式設計時,常直接改用縮格(或內縮)的技巧來直接表示這些結構!也具有上述優點,而不一定要畫這些圖!!) 流程圖基本圖示 幾何圖形的代表的意義:方塊表示處理、菱形表示邏輯條件、箭頭表示控制的流向 流程圖參考範例 流程圖幾何圖形應用例子Fig16-1 巢狀結構 意思是:在三大結構的任一結構中,又可包含任意多個任意的三大結構… 優點:可以解釋複雜的程式流程模組。 缺點:在跳離結構時,可能沒有效率! 注意:在使用結構化程式設計時:「不可跳進某結構內,但可直接快速的跳出結構!」---因為,仍可視為是維持“結構化”! 巢狀結構-Fig16-2 方塊圖 由Nassi和Shneideman發展出來的另一種圖形化的工具,之後經由Chapin延伸發展,這個圖示法稱為Nassi-Shneideman圖、N-S圖或Chapin圖。 方塊圖架構的四項特性: 1、功能化區域是被清楚的定義好的,並且清楚地以圖來表示三大結構。 2、模型架構簡單明瞭,沒有流程圖般反複無常的流向控制箭頭。 3、區域或全域的資料範圍可以很容易決定的。 4、容易表達遞迴的方式。 方塊圖 Fig16-3 列表式設計 決策表比軟體工程早了近十年,但與軟體工程搭配很好。(※在STD分析時的PAT表參考Fig12-25 、CASE的工具中,就常有大量類似的決策表在使用。) 決策表的架構:表格分為四部分第一排左上角:所有的條件;第一排左下角:基於條件組合下的所有可能動作;右上:條件的組合;右下:會發生的動作。 亦即將所有的條件及每個條件所對應的動作,按垂直的方向,做成一筆一筆的邏輯判斷規則(rules),並將之記錄在表格中。 列表式設計-決策表Fig16-4 列表式設計的步驟 發展決策表的步驟: 1、列示與特定程序或特定模組相關的所有動作。 2、列示在程序執行中的所有條件或決策。 3、列出與特定條件相關的特定動作,消除不可能的條件組合,或是發展每個可能的條件組合。 4、定義出在什麼條件下發生什麼動作的規則。 列表式設計-範例 使用決策表發展架構的範例: 如果客戶的帳戶使用固定費率的方式收費,最少的月租費是以少於100度(※千瓦.小時(Kilowatt-hours 即是度)來計算,否則,電腦計費會以A方案計算費率,如果客戶使用浮動費率,則A方案會採取100度以上的收費方式,而額外的消費則根據B方案來計算。 列表式設計-範例決策表Fig16-5 程式設計語言PDL 也稱為結構化英語或虛擬碼(pseudocode),它使用英語的字彙敘述整個程式流程的進行,它不是真正的程式碼,無法直接編譯、連結成執行檔,但其有助於瞭解整體程序的結構。 目前仍無法直接變程式,但有PDL的tools可轉成程式草圖或流程圖。 程式設計語言PDL-特性 程式設計語言應有的四點特性:(※此處,將以真實的語言實應用,來相應說明) 1、所有的結構化架構、資料宣告及模組化特性都有固定的關鍵字語法。如For..Next,If..then..End if... 2、在描述處理特性是以自然語言的自由語法為之。這樣才易具有可讀性。如 if 表示如果… 3、資料宣告機制應包括簡單(如數量、陣列)和複雜(連結串列或樹狀結構)的資料結構。如VB中的Dim 或C語語中的Structure。 4、支援多種界面描述模式的子程式定義和呼叫技術。如Sub, Function.... PDL的優點 程式設計語言PDL-範例 ※原則上應該不是真實的程式設計語言,或許可直接稱為虛擬碼!其實也可套用真實程式語言的語法的一部分來作為虛擬碼的設計! 參考P16-10~11 設計符號的比較
原创力文档

文档评论(0)