




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、20142014年春年春 軟件工程軟件工程6.1 結構程序設計結構程序設計6.2 人機界面設計人機界面設計6.3 過程設計的工具過程設計的工具6.4 面向數據結構的設計方法面向數據結構的設計方法6.5 程序復雜程度的定量度量程序復雜程度的定量度量6.6 小結小結第第6章章 詳細設計詳細設計20142014年春年春 軟件工程軟件工程任務:任務: 為SC圖的每一個模塊確定使用的算法和數據結構 確定模塊內算法,用某種工具來表達 確定模塊內的數據結構 確定模塊間的接口細節 為每個模塊設計測試原則:原則: 在保證正確可靠的前提下,盡量提高算法的可讀性 結構化設計方法 自頂向下逐步求精; 具有單入、單出的
2、控制結構(取消GOTO語句) 用工具來描述模塊算法引言:詳細設計的任務和原則引言:詳細設計的任務和原則20142014年春年春 軟件工程軟件工程6.1 6.1 結構程序設計結構程序設計傳統的設計技術和舊觀念: 強調設計的隨意性,具有濃厚的個人色彩. 追求程序效率和個人設計技巧新的設計思想和風格: 清晰第一 使用標準的、規范的控制結構 逐步細化20142014年春年春 軟件工程軟件工程例:打印例:打印A, B, CA, B, C三數中最小者的程序三數中最小者的程序 20142014年春年春 軟件工程軟件工程程序程序1 if ( A B ) goto 120; if ( B C ) goto 11
3、0; 100 write ( C ); goto 140; 110 write ( B ); goto 140; 120 if ( A C ) goto 130; goto 100; 130 write ( A ); 140 end 程序程序2 if ( A B ) and ( A C ) then write ( A ) else if ( A B ) and ( B C ) then write ( B ) else write ( C ) endif endif 20142014年春年春 軟件工程軟件工程例:非結構化到結構化例:非結構化到結構化20142014年春年春 軟件工程軟件工程例
4、:非結構化到結構化例:非結構化到結構化20142014年春年春 軟件工程軟件工程6.2 6.2 人機界面設計人機界面設計 人機界面設計是接口設計的一個重要的組成部分。人機界面設計是接口設計的一個重要的組成部分。對于交互式系統來說,人機界面設計和數據設計、對于交互式系統來說,人機界面設計和數據設計、體系結構設計及過程設計一樣重要。體系結構設計及過程設計一樣重要。 近年來,人機界面在系統中所占的比例越來越大,近年來,人機界面在系統中所占的比例越來越大,在個別系統中人機界面的設計工作量甚至占總設在個別系統中人機界面的設計工作量甚至占總設計量的一半以上。計量的一半以上。 問題:你心目中友好的人機界面是
5、怎樣的?問題:你心目中友好的人機界面是怎樣的?20142014年春年春 軟件工程軟件工程1、可使用性、可使用性 使用簡單。使用簡單。 用戶界面中所用術語的標準化和一致性。用戶界面中所用術語的標準化和一致性。 具有具有HELP功能。功能。 快速的系統響應和低的系統成本。快速的系統響應和低的系統成本。 具有容錯能力。具有容錯能力。2、靈活性、靈活性 考慮用戶的特點、能力、知識水平。考慮用戶的特點、能力、知識水平。 提供不同的系統響應信息。提供不同的系統響應信息。 提供根據用戶需求制定和修改界面。提供根據用戶需求制定和修改界面。3、界面的復雜性與可靠性、界面的復雜性與可靠性 復雜性復雜性界面規模及組
6、織的復雜程度。應該愈簡單愈好。界面規模及組織的復雜程度。應該愈簡單愈好。 可靠性可靠性指無故障使用的時間間隔。用戶界面應該能夠保證用戶正指無故障使用的時間間隔。用戶界面應該能夠保證用戶正確、可靠地使用系統,及程序、數據的安全。確、可靠地使用系統,及程序、數據的安全。20142014年春年春 軟件工程軟件工程6.2.1 6.2.1 設計問題設計問題在設計人機界面的過程中,幾乎總會遇到下述在設計人機界面的過程中,幾乎總會遇到下述4個問題:個問題:1. 系統響應時間系統響應時間2. 用戶幫助設施用戶幫助設施3. 出錯信息處理出錯信息處理4. 命令交互命令交互20142014年春年春 軟件工程軟件工程
7、6.2.2 6.2.2 設計過程設計過程 用戶界面設計是一個迭代的過程,步驟如下:用戶界面設計是一個迭代的過程,步驟如下:20142014年春年春 軟件工程軟件工程6.2.3 6.2.3 人機界面設計指南人機界面設計指南用戶界面設計主要依靠設計者的經驗。用戶界面設計主要依靠設計者的經驗。 一般交互指南一般交互指南 信息顯示指南信息顯示指南 數據輸入指南數據輸入指南 20142014年春年春 軟件工程軟件工程1. 1. 一般交互指南一般交互指南(1) 保持一致性。保持一致性。(2) 提供有意義的反饋。提供有意義的反饋。(3) 在執行有較大破壞性的動作之前要求用戶確認。在執行有較大破壞性的動作之前
8、要求用戶確認。(4) 允許取消絕大多數操作。允許取消絕大多數操作。(5) 減少在兩次操作之間必須記憶的信息量。減少在兩次操作之間必須記憶的信息量。(6) 提高對話、移動和思考的效率。提高對話、移動和思考的效率。(7) 允許犯錯誤。允許犯錯誤。(8) 按功能對動作分類,并據此設計屏幕布局。按功能對動作分類,并據此設計屏幕布局。(9) 提供對用戶工作內容敏感的幫助設施。提供對用戶工作內容敏感的幫助設施。(10) 用簡單動詞或動詞短語作為命令名。用簡單動詞或動詞短語作為命令名。20142014年春年春 軟件工程軟件工程 正文菜單、圖標菜單、正文和圖標混合菜單,如正文菜單、圖標菜單、正文和圖標混合菜單
9、,如“開始開始”菜單。菜單。 常用有以下類型:常用有以下類型: 固定位置、浮動位置(彈出)、下拉式、嵌入式固定位置、浮動位置(彈出)、下拉式、嵌入式 混合菜單 固定及下拉菜單固定菜單固定菜單下拉下拉菜單菜單20142014年春年春 軟件工程軟件工程在用戶界面中,加入豐富多彩的畫面,將能夠更加形象地為用戶提供在用戶界面中,加入豐富多彩的畫面,將能夠更加形象地為用戶提供有用的信息,以達到可視化的目的。主要的處理操作有:圖像的隱蔽和再有用的信息,以達到可視化的目的。主要的處理操作有:圖像的隱蔽和再現、屏幕滾動和圖案顯示、動畫等。現、屏幕滾動和圖案顯示、動畫等。20142014年春年春 軟件工程軟件工
10、程 對話框是在需要時,顯示在屏幕上一個矩形區域內的圖形和正文信息。對話框是在需要時,顯示在屏幕上一個矩形區域內的圖形和正文信息。通過對話,實現系統和用戶之間的通信。通過對話,實現系統和用戶之間的通信。對話框顯示的方式與彈出式菜單類似,即瞬時彈出。同時,系統還應對話框顯示的方式與彈出式菜單類似,即瞬時彈出。同時,系統還應將對話框所覆蓋的原圖像進行保存,以便在對話結束后能立即恢復。將對話框所覆蓋的原圖像進行保存,以便在對話結束后能立即恢復。有三種對話形式:有三種對話形式:必須回答式必須回答式無需回答式無需回答式 警告式警告式 必須回答式對話框 無需回答式對話框 警告式對話框20142014年春年春
11、 軟件工程軟件工程4 4、窗口(、窗口(windowwindow) 下下圖描述了一個包括多個部件圖描述了一個包括多個部件的的窗口窗口. .標題區標題區圖標區大小區大小區退出區退出區菜單區菜單區滾滾動動區區菜單工作區工作區20142014年春年春 軟件工程軟件工程2. 2. 信息顯示指南信息顯示指南(1) 只顯示與當前工作內容有關的信息。只顯示與當前工作內容有關的信息。(2) 不要用數據淹沒用戶,應該用便于用戶迅速吸取信息的不要用數據淹沒用戶,應該用便于用戶迅速吸取信息的方式來表示數據。方式來表示數據。(3) 使用一致的標記、標準的縮寫和可預知的顏色。使用一致的標記、標準的縮寫和可預知的顏色。
12、(4) 允許用戶保持可視化的語境。允許用戶保持可視化的語境。(5) 產生有意義的出錯信息。產生有意義的出錯信息。(6) 使用大小寫、縮進和文本分組以幫助理解。使用大小寫、縮進和文本分組以幫助理解。(7) 使用窗口分隔不同類型的信息。使用窗口分隔不同類型的信息。(8) 使用使用“模擬模擬”顯示方式表示信息,以使信息更容易被用顯示方式表示信息,以使信息更容易被用戶提取。戶提取。(9) 高效率地使用顯示屏。高效率地使用顯示屏。20142014年春年春 軟件工程軟件工程3. 3. 數據輸入指南數據輸入指南(1) 盡量減少用戶的輸入動作。盡量減少用戶的輸入動作。(2) 保持信息顯示和數據輸入之間的一致性
13、。保持信息顯示和數據輸入之間的一致性。(3) 允許用戶自定義輸入。允許用戶自定義輸入。(4) 交互應該是靈活的,并且可調整成用戶最喜歡交互應該是靈活的,并且可調整成用戶最喜歡的輸入方式。的輸入方式。(5) 使在當前動作語境中不適用的命令不起作用。使在當前動作語境中不適用的命令不起作用。(6) 讓用戶控制交互流。讓用戶控制交互流。(7) 對所有輸入動作都提供幫助。對所有輸入動作都提供幫助。(8) 消除冗余的輸入。消除冗余的輸入。20142014年春年春 軟件工程軟件工程6.3 6.3 過程設計的工具過程設計的工具20142014年春年春 軟件工程軟件工程6.3.1 6.3.1 程序流程圖程序流程
14、圖 程序流程圖也稱為程序框圖,程序流程圖中使用程序流程圖也稱為程序框圖,程序流程圖中使用的各種符號是的各種符號是:20142014年春年春 軟件工程軟件工程20142014年春年春 軟件工程軟件工程20142014年春年春 軟件工程軟件工程 20142014年春年春 軟件工程軟件工程程序流程圖特點程序流程圖特點優點:容易掌握,且歷史優點:容易掌握,且歷史“悠久悠久”,使用廣泛。,使用廣泛。缺點:本質上不具備逐步求精的特點,對于提高缺點:本質上不具備逐步求精的特點,對于提高 大型系統的可理解性作用甚微;大型系統的可理解性作用甚微; 不易表示數據結構;不易表示數據結構; 轉移控制太方便。轉移控制太
15、方便。趨勢:停止使用趨勢:停止使用20142014年春年春 軟件工程軟件工程6.3.2 6.3.2 盒圖盒圖(N-S(N-S圖圖) )20142014年春年春 軟件工程軟件工程20142014年春年春 軟件工程軟件工程20142014年春年春 軟件工程軟件工程特點:特點: 沒有箭頭,不允許隨意轉移控制;沒有箭頭,不允許隨意轉移控制; 每個矩形框每個矩形框(Case中條件取值例外中條件取值例外)都是一都是一個功能域個功能域(即一個特定結構的作用域即一個特定結構的作用域),結,結構表示明確;構表示明確; 局部及全程數據的作用域易見;局部及全程數據的作用域易見; 易表現嵌套關系易表現嵌套關系(emb
16、edded structure)以及模以及模塊的層次結構。塊的層次結構。20142014年春年春 軟件工程軟件工程6.3.3 PAD6.3.3 PAD圖圖 PAD是問題分析圖是問題分析圖(problem analysis diagram)的的英文縮寫,自英文縮寫,自1973年由年由日本日立公司發明以后,日本日立公司發明以后,已得到一定程度的推廣。已得到一定程度的推廣。20142014年春年春 軟件工程軟件工程x4TFDo-Until x5ighfkx1TFbDo-Until x6ajx21cDo-While x323dek :例:例:N-S圖與圖與PAD的轉換的轉換20142014年春年春 軟
17、件工程軟件工程開始開始 結束結束 aj Until x5i Until x6bx1kfx4ghdefkx2de123 While x3c20142014年春年春 軟件工程軟件工程特點:特點: 結構清晰,層次分明,易讀;結構清晰,層次分明,易讀; 支持逐步求精的設計思想;支持逐步求精的設計思想; 容易將容易將PAD自動轉換為高級語言源程序。自動轉換為高級語言源程序。2. 設計工具設計工具20142014年春年春 軟件工程軟件工程6.3.4 6.3.4 判定表判定表 當算法中包含多重嵌套的條件選擇時,用程序流當算法中包含多重嵌套的條件選擇時,用程序流程圖、程圖、N-S圖或圖或PAD都不易清楚地描述
18、。這時可都不易清楚地描述。這時可以用判定表或判定樹來描述這些復雜的條件。判以用判定表或判定樹來描述這些復雜的條件。判定表與判定樹除了在詳細定表與判定樹除了在詳細 設計階段使用外,設計階段使用外,在需求分析階段也經常使用。在需求分析階段也經常使用。 判定表一般由判定表一般由4部分組成:左上半部分列出所有部分組成:左上半部分列出所有條件、左下半部分列出所有動作、右上半部分列條件、左下半部分列出所有動作、右上半部分列出各種條件組合,右下半部分列出和每組條件取出各種條件組合,右下半部分列出和每組條件取值組合對應的動作。其結構下圖所示:值組合對應的動作。其結構下圖所示:20142014年春年春 軟件工程
19、軟件工程 判定表的優點是能夠簡潔,無二義性的描述所有的處理規判定表的優點是能夠簡潔,無二義性的描述所有的處理規則。缺點是它所表示的是靜態邏輯,是在某種條件組合情況則。缺點是它所表示的是靜態邏輯,是在某種條件組合情況下可能的結果,它不能表達加工的順序,也不能表達循環結下可能的結果,它不能表達加工的順序,也不能表達循環結構。因此,判定表不能成為一種通用的設計工具,一般作為構。因此,判定表不能成為一種通用的設計工具,一般作為輔助工具配合其他工具一起使用。輔助工具配合其他工具一起使用。20142014年春年春 軟件工程軟件工程 例:例:“行李托運費的算法行李托運費的算法”的處理邏輯描述如下:的處理邏輯
20、描述如下:假設某航空公司規定,乘客可以免費托運重量不假設某航空公司規定,乘客可以免費托運重量不超過超過30kg的行李。當行李重量超過的行李。當行李重量超過30kg時,對時,對頭等艙的國內乘客超重部分每公斤收費頭等艙的國內乘客超重部分每公斤收費4元,對元,對其他艙的國內乘客超重部分每公斤收費其他艙的國內乘客超重部分每公斤收費6元,對元,對外國乘客超重部分每公斤收費比國內乘客多一倍,外國乘客超重部分每公斤收費比國內乘客多一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一對殘疾乘客超重部分每公斤收費比正常乘客少一半。半。試用判定表表示出該邏輯。試用判定表表示出該邏輯。20142014年春年春 軟件工程
21、軟件工程20142014年春年春 軟件工程軟件工程6.3.5 6.3.5 判定樹判定樹 判定樹實質上是判定表的一種變形,本質上是一判定樹實質上是判定表的一種變形,本質上是一樣的。樣的。 判定樹的優點是形式簡單、比較直觀、易于掌握判定樹的優點是形式簡單、比較直觀、易于掌握和使用。和使用。 缺點是不如判定表簡潔。對于缺點是不如判定表簡潔。對于:“行李托運費的行李托運費的算法算法”例的描述可用判定樹表示成如下圖所示的例的描述可用判定樹表示成如下圖所示的形式:形式:20142014年春年春 軟件工程軟件工程圖圖6.7 用判定樹表示計算行李費的算法用判定樹表示計算行李費的算法20142014年春年春 軟
22、件工程軟件工程6.3.6 6.3.6 過程設計語言過程設計語言應具備以下特點:應具備以下特點: 有固定的外語法有固定的外語法(keyword); 內語法用自然語言描述;內語法用自然語言描述; 有數據說明;有數據說明;有子程序定義與調用機制;有子程序定義與調用機制;優點:易于實現由PDL到源代碼的自動轉換。缺點:不夠直觀。20142014年春年春 軟件工程軟件工程面向數據流的結構化分析與設計方法總結面向數據流的結構化分析與設計方法總結20142014年春年春 軟件工程軟件工程6.4 6.4 面向數據結構的設計方法面向數據結構的設計方法 在許多應用領域中信息都有清楚的層次結構,數在許多應用領域中信
23、息都有清楚的層次結構,數據結構既影響程序的結構又影響程序的處理過程,據結構既影響程序的結構又影響程序的處理過程,層次的數據組織通常和使用這些數據的程序的層層次的數據組織通常和使用這些數據的程序的層次結構十分相似。次結構十分相似。 面向數據結構的設計方法的最終目標是得出對程面向數據結構的設計方法的最終目標是得出對程序處理過程的描述。這種設計方法并不明顯地使序處理過程的描述。這種設計方法并不明顯地使用軟件結構的概念,模塊是設計過程的副產品,用軟件結構的概念,模塊是設計過程的副產品,對于模塊獨立原理也沒有給予應有的重視。因此,對于模塊獨立原理也沒有給予應有的重視。因此,這種方法最適合于在詳細設計階段
24、使用,也就是這種方法最適合于在詳細設計階段使用,也就是說,在完成了軟件結構設計之后,可以使用面向說,在完成了軟件結構設計之后,可以使用面向數據結構的方法來設計每個模塊的處理過程。數據結構的方法來設計每個模塊的處理過程。 20142014年春年春 軟件工程軟件工程ABCBCA =ABoCoSA =SCBA = BAB*I注意:注意:H中的方框表示模中的方框表示模塊,而塊,而JD中的方框中的方框代表幾個語句構成代表幾個語句構成的簡單操作;的簡單操作;H表現調用關系,表現調用關系,而而JD表現組成關系。表現組成關系。6.4.1 Jackson6.4.1 Jackson圖圖20142014年春年春 軟
25、件工程軟件工程 例:例:一個正文文件由若干個記錄組成,每個一個正文文件由若干個記錄組成,每個記錄是一個字符串。要求統計每個記錄中空格記錄是一個字符串。要求統計每個記錄中空格字符的個數,以及文件中空格字符的總個數。字符的個數,以及文件中空格字符的總個數。要求的輸出數據格式是:每復制一行輸入字符要求的輸出數據格式是:每復制一行輸入字符串之后,另起一行印出這個字符串中的空格數,串之后,另起一行印出這個字符串中的空格數,最后印出文件中空格的總個數。最后印出文件中空格的總個數。2、Jackson方法:方法:20142014年春年春 軟件工程軟件工程第第1 1步:用步:用JacksonJackson圖描述
26、圖描述 IO 的數據結構的數據結構正文文件正文文件I字符串字符串*字符字符*空格空格O非空格非空格OIS輸入輸入輸出表格輸出表格表格體表格體串信息串信息*字符串字符串空格數空格數I輸出輸出空格總數空格總數第第2 2步:在兩個圖中指出有直接因果關系步:在兩個圖中指出有直接因果關系(causality)、可以同時處理的單元(重復的次序,次數均相同)可以同時處理的單元(重復的次序,次數均相同)20142014年春年春 軟件工程軟件工程正文文件正文文件I字符串字符串*字符字符*空格空格O非空格非空格OIS輸入輸入輸出表格輸出表格表格體表格體串信息串信息*字符串字符串空格數空格數I輸出輸出空格總數空格總
27、數? 經過程序處理由經過程序處理由正文文件正文文件得到得到輸出表格輸出表格。 每處理輸入中一個每處理輸入中一個字符串字符串后就后就得到輸出中一個得到輸出中一個串信息串信息,二者重,二者重復次序和次數均相同。復次序和次數均相同。 字符字符不與多字符組成的不與多字符組成的字符串字符串對應。對應。 單個單個空格空格不能決定不能決定空格數空格數。20142014年春年春 軟件工程軟件工程第第3步:步:Data structure Program structure把有對應關系的單元合為一個處理框,畫在相應的層次中把有對應關系的單元合為一個處理框,畫在相應的層次中(不同層以低層為準)(不同層以低層為準)
28、20142014年春年春 軟件工程軟件工程第第4 4步:列出所有操作條件,并分配到上步:列出所有操作條件,并分配到上幅程序結構圖中幅程序結構圖中20142014年春年春 軟件工程軟件工程圖圖6.14 把操作和條件分配到程序結構圖的適當位把操作和條件分配到程序結構圖的適當位置置20142014年春年春 軟件工程軟件工程第第5 5步:用步:用PseudocodePseudocode表示程序表示程序統計空格統計空格seqseq打開文件打開文件讀入字符串讀入字符串totalsumtotalsum=0=0程序體程序體iteriter until until文件結束文件結束 處理字符串處理字符串seqse
29、q印字符串印字符串seqseq 印出字符串印出字符串印字符串印字符串endendsum=0sum=0pointer=1pointer=1分析字符串分析字符串iteriter until until字符串結束字符串結束 分析字符分析字符selectselect字符是空格字符是空格 處理空格處理空格seqseqsum=sum+1sum=sum+1pointer=pointer+1pointer=pointer+1 處理空格處理空格endend 分析字符分析字符oror字符不是空格字符不是空格 處理非空格處理非空格seqseq pointer=pointer+1pointer=pointer+1處理
30、非空格處理非空格endend 分析字符分析字符endend分析字符串分析字符串endend印空格數印空格數seqseq印出空格數目印出空格數目印空格數印空格數endend totalsumtotalsum=totalsum+sumtotalsum+sum讀入字符串讀入字符串 處理字符串處理字符串endend程序體程序體endend印總數印總數seqseq 印出空格總數印出空格總數印總數印總數endend關閉文件關閉文件停止停止統計空格統計空格endend20142014年春年春 軟件工程軟件工程JacksonJackson結構程序設計方法步驟:結構程序設計方法步驟:(1) 分析并確定輸入數據和
31、輸出數據的邏輯結構,分析并確定輸入數據和輸出數據的邏輯結構,并用并用Jackson圖描繪這些數據結構。圖描繪這些數據結構。(2) 找出輸入數據結構和輸出數據結構中有對應關找出輸入數據結構和輸出數據結構中有對應關系的數據單元。所謂有對應關系是指有直接的因系的數據單元。所謂有對應關系是指有直接的因果關系,在程序中可以同時處理的數據單元果關系,在程序中可以同時處理的數據單元(對對于重復出現的數據單元必須重復的次序和次數都于重復出現的數據單元必須重復的次序和次數都相同才可能有對應關系相同才可能有對應關系)。(3) 用下述用下述3條規則從描繪數據結構的條規則從描繪數據結構的Jackson圖圖導出描繪程序
32、結構的導出描繪程序結構的Jackson圖:圖:20142014年春年春 軟件工程軟件工程第一,為每對有對應關系的數據單元,按照它們在第一,為每對有對應關系的數據單元,按照它們在數據結構圖中的層次在程序結構圖的相應層次畫一數據結構圖中的層次在程序結構圖的相應層次畫一個處理框個處理框(注意,如果這對數據單元在輸入數據結注意,如果這對數據單元在輸入數據結構和輸出數據結構中所處的層次不同,則和它們對構和輸出數據結構中所處的層次不同,則和它們對應的處理框在程序結構圖中所處的層次與它們之中應的處理框在程序結構圖中所處的層次與它們之中在數據結構圖中層次低的那個對應在數據結構圖中層次低的那個對應);第二,根據
33、輸入數據結構中剩余的每個數據單元所第二,根據輸入數據結構中剩余的每個數據單元所處的層次,在程序結構圖的相應層次分別為它們畫處的層次,在程序結構圖的相應層次分別為它們畫上對應的處理框;上對應的處理框;第三,根據輸出數據結構中剩余的每個數據單元所第三,根據輸出數據結構中剩余的每個數據單元所處的層次,在程序結構圖的相應層次分別為它們畫處的層次,在程序結構圖的相應層次分別為它們畫上對應的處理框。上對應的處理框。JacksonJackson結構結構程序程序設計設計方法步方法步驟驟:20142014年春年春 軟件工程軟件工程總之,描繪程序結構的總之,描繪程序結構的Jackson圖應該綜合輸入數圖應該綜合輸
34、入數據結構和輸出數據結構的層次關系而導出來。在導據結構和輸出數據結構的層次關系而導出來。在導出程序結構圖的過程中,由于改進的出程序結構圖的過程中,由于改進的Jackson圖規圖規定在構成順序結構的元素中不能有重復出現或選擇定在構成順序結構的元素中不能有重復出現或選擇出現的元素,因此可能需要增加中間層次的處理框。出現的元素,因此可能需要增加中間層次的處理框。(4) 列出所有操作和條件列出所有操作和條件(包括分支條件和循環結束包括分支條件和循環結束條件條件),并且把它們分配到程序結構圖的適當位置。,并且把它們分配到程序結構圖的適當位置。(5) 用偽碼表示程序。用偽碼表示程序。應用:根據它能直接推出
35、程序結構的規則,可以將應用:根據它能直接推出程序結構的規則,可以將它與它與SD方法相結合。用方法相結合。用SD方法在總體設計階段完方法在總體設計階段完成軟件體系結構設計,在詳細設計階段用成軟件體系結構設計,在詳細設計階段用Jackson方法設計它的局部模塊。方法設計它的局部模塊。JacksonJackson結構結構程序程序設計設計方法步方法步驟驟:20142014年春年春 軟件工程軟件工程軟件復雜性軟件復雜性 是軟件度量的一個重要分支。主要參數有:是軟件度量的一個重要分支。主要參數有:1、規模:即總共的指令數,或源程序行數。、規模:即總共的指令數,或源程序行數。2、難度:通常由程序中出現的操作
36、數的數目所決、難度:通常由程序中出現的操作數的數目所決定的量來表示。定的量來表示。3、結構:通常用與程序結構有關的度量來表示。、結構:通常用與程序結構有關的度量來表示。4、智能度:即算法的難易程度。、智能度:即算法的難易程度。軟件復雜性主要表現在程序的復雜性,程序復雜性軟件復雜性主要表現在程序的復雜性,程序復雜性主要指模塊內程序的復雜性。主要指模塊內程序的復雜性。6.5 6.5 程序復雜程度的定量度量程序復雜程度的定量度量20142014年春年春 軟件工程軟件工程6.5.1 McCabe6.5.1 McCabe方法方法1. 流圖流圖 T。McCabe的研究:一個程序的環形復雜度取的研究:一個程
37、序的環形復雜度取決于它的流圖包含的判決結點的數量。決于它的流圖包含的判決結點的數量。 為了突出表示程序的控制流,人們通常使用流圖為了突出表示程序的控制流,人們通常使用流圖(也稱為程序圖也稱為程序圖)。所謂流圖實質上是。所謂流圖實質上是“退化了的退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全程序流程圖,它僅僅描繪程序的控制流程,完全不表現對數據的具體操作以及分支或循環的具體不表現對數據的具體操作以及分支或循環的具體條件。條件。20142014年春年春 軟件工程軟件工程流圖的基本元素流圖的基本元素20142014年春年春 軟件工程軟件工程把程序流程圖映射成流圖把程序流程圖映射成流圖20142
38、014年春年春 軟件工程軟件工程由由PDLPDL翻譯成的流圖翻譯成的流圖20142014年春年春 軟件工程軟件工程圖圖6.17 由包含復合條件的由包含復合條件的PDL映射成的流圖映射成的流圖20142014年春年春 軟件工程軟件工程2. 2. 計算環形復雜度計算環形復雜度V V(G G)的方法)的方法20142014年春年春 軟件工程軟件工程2. 2. 計算環形復雜度計算環形復雜度V V(G G)的方法)的方法20142014年春年春 軟件工程軟件工程2. 2. 計算環形復雜度計算環形復雜度V V(G G)的方法)的方法20142014年春年春 軟件工程軟件工程3. 環形復雜度的用途環形復雜度的用途程序的環形復雜度取決于程序控制流的復雜程度,程序的環形復雜度取決于程序控制流的復雜程度,也即是取決于程序結構的復雜
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路橋梁建設工資支付保障措施
- 小學一年級安全教育課時計劃
- 2025年小學秋季防火安全工作計劃
- 軟件開發服務進度計劃措施
- 考試違規預防監考老師承諾書范文
- 浙江省桐鄉市2025屆物理高二第二學期期末質量檢測試題含解析
- 危險化學品安全生產較大危險因素辨識與主要防范措施
- 基于虛擬同步發電機的微電網逆變器自適應控制及頻率響應研究
- 物流行業疫情防控存在問題原因分析及整改措施
- 主客共享理念下河口(村)鎮公共空間在地性活力研究
- 2025年重慶出版集團招聘筆試沖刺題2025
- 明星考試題及答案
- 小學生暑假安全教育主題班會教案
- 開展打擊電信網絡詐騙知識培訓
- 冬雨季施工進度保障措施
- 2025至2030中國食品軟管行業發展趨勢分析與未來投資戰略咨詢研究報告
- 2025年中新天津生態城教育系統教職人員招聘考試筆試試題
- 三非人員介紹課件
- 工地施工特種設備管理制度
- 江蘇省南京、鎮江、徐州三市多校聯考2025年高二下第二學期5月月考語文試卷
- 瀝青路面施工質量控制要點課件
評論
0/150
提交評論