軟件詳細設計的表達方式有:1、程序流程圖,又稱程序框圖,是用統一規定的標準符號描述程序運行具體步驟的圖形表示;2、PAD圖(問題分析圖),是一算法描述工具,也是詳細設計(軟件設計)中常用的圖形工具;3、過程設計語言,是一種用于描述模塊算法設計和處理細節的語言;4、盒圖,一種強制使用結構化構造的圖示工具,能很容易確定局部和全局數據的作用域、很容易表示嵌套關系及模板的層次關系。
本教程操作環境:windows7系統、Dell G3電腦。
軟件設計階段通常分為兩步:
-
一是系統的總體設計或概要設計,采用結構化的設計方法來確定軟件的系統結構,主要任務是把需求分析階段得到的系統擴展用例圖轉換為軟件結構和數據結構;
-
二是系統的詳細設計,即進行各模塊內部的具體設計,它的任務是為軟件結構圖中的每一個模塊確定實現的算法和局部數據結構,并用某種工具描述出來
詳細設計是軟件設計的第二階段,這一階段的工作,就是要對系統中的每個模塊給出足夠詳細的過程性描述,故也稱為過程設計)
目的:確定應該怎么具體實現所要求的系統經過這一階段的設計工作,應該得出對目標系統的精確描述。具體的就是為了軟件結構圖中每一個模塊確定采用的算法和快內數據結構。用某種選定的詳細設計工具更清晰地描述,從而在編碼階段可以把這些描述直接翻譯成某種程序設計語言,書寫的源程序。
任務:要設計出程序的“藍圖”,以后程序將根據這個藍圖寫出實際的代碼。
軟件詳細設計的表達方式
1、程序流程圖
程序流程圖又稱程序框圖,是用統一規定的標準符號描述程序運行具體步驟的圖形表示。
優點:易學、表達算法直觀
缺點:不夠規范,特別是使用箭頭使質量受到很大影響因此必須加以限制,使其稱為規范的詳細設計工具。
程序流圖的缺點:
-
本質上不是逐步求精的好工具,它誘使程序員過早考慮控制流程,而不去考慮程序的整體結構。
-
圖中箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結構程序設計的精神,隨意轉移控制,容易造成非結構化的程序結構。
-
程序流圖不易表示數據結構和層次的結構。
2、PAD圖(問題分析圖)
是一算法描述工具,也是詳細設計(軟件設計)中常用的圖形工具。
PAD優點如下:
-
用PAD圖設計出來的程序必然是結構化程序
-
PAD圖描繪的程序結構十分清晰,圖最左面的豎線就是程序的主線,即第一層結構,隨著程序的層次增加,PAD圖逐漸向右延伸,每增加一個層次,圖形向右擴展一條豎線,PAD圖中豎線的條數就是程序的層次數。
-
PAD圖的付款支持自頂向下,逐步求精的方法,左邊層次中的內容可以抽象,然后用def從做向右逐步細化
-
用PAD途表示的程序邏輯易讀、易懂、易記使用方便
-
即可表示程序邏輯,也可用于描繪數據結構。
-
可自動生成程序,利用軟件工具自動完成,省去扔編碼工作,有利于提高軟件的可靠性和軟件生產率。
3、過程設計語言
過程設計語言(Process Design Language,簡稱PDL),也稱程序描述語言(Program Description Language),是一種用于描述模塊算法設計和處理細節的語言。
PDL特點:
-
關鍵字有固定語法,以便提供結構化的控制結構,數據說明和模塊化的特征,通常在所有可能嵌套使用的控制結構的頭和尾部都有關鍵字。
-
描述處理過程的說明性語言沒有嚴格的語法限制
-
具有數據說明機制,既包括簡單的數據結構(如簡單變量和數組)包括復雜的數據結構(如鏈表或層次的數據結構)
-
具有規模定義和調用機制,從開發應根據系統編程所用的語種,說明過程設計語言表示的有關程序結構。
4、盒圖(N-S圖)
盒圖是一種強制使用結構化構造的圖示工具,也稱為方框圖。其具有以下特點:功能域明確、不可能任意轉移控制、很容易確定局部和全局數據的作用域、很容易表示嵌套關系及模板的層次關系。
N-S圖的優點有:
-
功能域表達明確,功能域從盒子圖上可以明顯看出來
-
很容易確定局部和全局數據的作用域
-
不可能隨意轉移控制。
-
很容易表達模塊的層次結構并列出嵌套關系。
-
使軟件人員遵守結構化程序設計的規定,自然地養成良好的程序設計風格。