




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第3章章 詳細(xì)設(shè)計詳細(xì)設(shè)計 3.1 結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計3.2 人機界面設(shè)計人機界面設(shè)計3.3 詳細(xì)設(shè)計工具詳細(xì)設(shè)計工具3.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法3.5 程序復(fù)雜程度的定量度量程序復(fù)雜程度的定量度量3.6 詳細(xì)設(shè)計書詳細(xì)設(shè)計書n詳細(xì)設(shè)計階段的根本目標(biāo):詳細(xì)設(shè)計階段的根本目標(biāo):確定應(yīng)該怎樣具體確定應(yīng)該怎樣具體地實現(xiàn)所要求的系統(tǒng)。經(jīng)過這個階段的設(shè)計工地實現(xiàn)所要求的系統(tǒng)。經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序
2、。序設(shè)計語言書寫的程序。n結(jié)構(gòu)程序設(shè)計技術(shù)是實現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù),結(jié)構(gòu)程序設(shè)計技術(shù)是實現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù),因此是詳細(xì)設(shè)計的邏輯基礎(chǔ)。因此是詳細(xì)設(shè)計的邏輯基礎(chǔ)。 3.1 結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計n經(jīng)典定義:經(jīng)典定義:如果一個程序的代碼塊僅僅通過順如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個代碼塊只有一個入口和一個出口,則并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結(jié)構(gòu)化的。稱這個程序是結(jié)構(gòu)化的。n更全面定義:更全面定義:結(jié)構(gòu)程序設(shè)計是盡可能少用結(jié)構(gòu)程序設(shè)計是盡可能少用GOTO語句的程序設(shè)計方法。最好僅在檢測出
3、語句的程序設(shè)計方法。最好僅在檢測出錯誤時才使用錯誤時才使用GOTO語句,而且應(yīng)該總是使用語句,而且應(yīng)該總是使用前向前向GOTO語句。語句。n為了實際使用方便起見,常常還允許使用為了實際使用方便起見,常常還允許使用DO-UNTIL和和DO-CASE兩種控制結(jié)構(gòu)。兩種控制結(jié)構(gòu)。n有時需要立即從循環(huán)有時需要立即從循環(huán)(甚至嵌套的循環(huán)甚至嵌套的循環(huán))中轉(zhuǎn)移中轉(zhuǎn)移出來,允許使用出來,允許使用LEAVE(或或BREAK)結(jié)構(gòu)。結(jié)構(gòu)。LEAVE或或BREAK結(jié)構(gòu)實質(zhì)上是受限制的結(jié)構(gòu)實質(zhì)上是受限制的GOTO語句,用于轉(zhuǎn)移到循環(huán)結(jié)構(gòu)后面。語句,用于轉(zhuǎn)移到循環(huán)結(jié)構(gòu)后面。 3種基本的控制結(jié)構(gòu)種基本的控制結(jié)構(gòu)其他常用
4、的控制結(jié)構(gòu)其他常用的控制結(jié)構(gòu)n經(jīng)典的結(jié)構(gòu)程序設(shè)計:經(jīng)典的結(jié)構(gòu)程序設(shè)計:只允許使用順序、只允許使用順序、IF-THEN-ELSE型分支和型分支和DO-WHILE型循環(huán)這型循環(huán)這3種基本控制結(jié)構(gòu);種基本控制結(jié)構(gòu);n擴展的結(jié)構(gòu)程序設(shè)計:擴展的結(jié)構(gòu)程序設(shè)計:如果除了上述如果除了上述3種基本種基本控制結(jié)構(gòu)之外,還允許使用控制結(jié)構(gòu)之外,還允許使用DO-CASE型多分型多分支結(jié)構(gòu)和支結(jié)構(gòu)和DO-UNTIL型循環(huán)結(jié)構(gòu);型循環(huán)結(jié)構(gòu);n修正的結(jié)構(gòu)程序設(shè)計:修正的結(jié)構(gòu)程序設(shè)計:再加上允許使用再加上允許使用LEAVE(或或BREAK)結(jié)構(gòu)。結(jié)構(gòu)。 3.2 人機界面設(shè)計人機界面設(shè)計n人機界面設(shè)計是接口設(shè)計的重要組成部分
5、。對人機界面設(shè)計是接口設(shè)計的重要組成部分。對于交互式系統(tǒng)來說,人機界面設(shè)計和數(shù)據(jù)設(shè)計、于交互式系統(tǒng)來說,人機界面設(shè)計和數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計及過程設(shè)計一樣重要。體系結(jié)構(gòu)設(shè)計及過程設(shè)計一樣重要。n人機界面的設(shè)計質(zhì)量,直接影響用戶對軟件產(chǎn)人機界面的設(shè)計質(zhì)量,直接影響用戶對軟件產(chǎn)品的評價,從而影響軟件產(chǎn)品的競爭力和壽命,品的評價,從而影響軟件產(chǎn)品的競爭力和壽命,必須對人機界面設(shè)計給予足夠重視。必須對人機界面設(shè)計給予足夠重視。 三條三條“黃金規(guī)則黃金規(guī)則”: n置用戶于控制之下。置用戶于控制之下。n減少用戶記憶負(fù)擔(dān)。減少用戶記憶負(fù)擔(dān)。n保持界面一致。保持界面一致。3.2.1 設(shè)計問題設(shè)計問題設(shè)計人機界
6、面過程中會遇到的設(shè)計人機界面過程中會遇到的4個問題:個問題:n系統(tǒng)響應(yīng)時間系統(tǒng)響應(yīng)時間n用戶幫助設(shè)施用戶幫助設(shè)施n出錯信息處理出錯信息處理n命令交互命令交互 1. 系統(tǒng)響應(yīng)時間系統(tǒng)響應(yīng)時間n系統(tǒng)響應(yīng)時間指從用戶完成某個控制動作,到系統(tǒng)響應(yīng)時間指從用戶完成某個控制動作,到軟件給出預(yù)期的響應(yīng)之間的這段時間。系統(tǒng)響軟件給出預(yù)期的響應(yīng)之間的這段時間。系統(tǒng)響應(yīng)時間有兩個重要屬性:長度和易變性。應(yīng)時間有兩個重要屬性:長度和易變性。n長度:長度:如果系統(tǒng)響應(yīng)時間過長,用戶就會感到如果系統(tǒng)響應(yīng)時間過長,用戶就會感到緊張和沮喪;系統(tǒng)響應(yīng)時間過短會迫使用戶加緊張和沮喪;系統(tǒng)響應(yīng)時間過短會迫使用戶加快操作節(jié)奏,從而
7、可能會犯錯誤??觳僮鞴?jié)奏,從而可能會犯錯誤。n易變性:易變性:指系統(tǒng)響應(yīng)時間相對于平均響應(yīng)時間指系統(tǒng)響應(yīng)時間相對于平均響應(yīng)時間的偏差,即使系統(tǒng)響應(yīng)時間較長,響應(yīng)時間易的偏差,即使系統(tǒng)響應(yīng)時間較長,響應(yīng)時間易變性低也有助于用戶建立起穩(wěn)定的工作節(jié)奏。變性低也有助于用戶建立起穩(wěn)定的工作節(jié)奏。2. 用戶幫助設(shè)施用戶幫助設(shè)施n大多數(shù)現(xiàn)代軟件都提供聯(lián)機幫助設(shè)施,用戶無大多數(shù)現(xiàn)代軟件都提供聯(lián)機幫助設(shè)施,用戶無須離開用戶界面就能解決自己的問題。常見的須離開用戶界面就能解決自己的問題。常見的幫助設(shè)施可分為集成的和附加的兩類。幫助設(shè)施可分為集成的和附加的兩類。n集成的幫助設(shè)施集成的幫助設(shè)施設(shè)計在軟件里面,它對用戶
8、工設(shè)計在軟件里面,它對用戶工作內(nèi)容是敏感的,用戶可以從與剛剛完成的操作內(nèi)容是敏感的,用戶可以從與剛剛完成的操作有關(guān)的主題中選擇一個請求幫助。作有關(guān)的主題中選擇一個請求幫助。n附加的幫助設(shè)施附加的幫助設(shè)施是在系統(tǒng)建成后再添加到軟件是在系統(tǒng)建成后再添加到軟件中的,它實際上是一種查詢能力有限的聯(lián)機用中的,它實際上是一種查詢能力有限的聯(lián)機用戶手冊。戶手冊。n集成的幫助設(shè)施優(yōu)于附加的幫助設(shè)施。集成的幫助設(shè)施優(yōu)于附加的幫助設(shè)施。3. 出錯信息處理出錯信息處理n出錯信息和警告信息,是出現(xiàn)問題時交互式系出錯信息和警告信息,是出現(xiàn)問題時交互式系統(tǒng)給出的統(tǒng)給出的“壞消息壞消息”。4. 命令交互命令交互n多數(shù)情況下
9、,用戶既可以從菜單中選擇軟件功多數(shù)情況下,用戶既可以從菜單中選擇軟件功能,也可以通過鍵盤命令序列調(diào)用軟件功能。能,也可以通過鍵盤命令序列調(diào)用軟件功能。n在理想的情況下,所有應(yīng)用軟件都有一致的命在理想的情況下,所有應(yīng)用軟件都有一致的命令使用方法。令使用方法。 3.2.2 設(shè)計過程設(shè)計過程n用戶界面設(shè)計是一個迭代的過程,也就是說,用戶界面設(shè)計是一個迭代的過程,也就是說,通常先創(chuàng)建設(shè)計模型,再用原型實現(xiàn)這個設(shè)計通常先創(chuàng)建設(shè)計模型,再用原型實現(xiàn)這個設(shè)計模型,并由用戶試用和評估,然后根據(jù)用戶意模型,并由用戶試用和評估,然后根據(jù)用戶意見進(jìn)行修改。見進(jìn)行修改。n為了支持上述迭代過程,各種用于界面設(shè)計和為了支
10、持上述迭代過程,各種用于界面設(shè)計和原型開發(fā)的軟件工具應(yīng)運而生。這些工具被稱原型開發(fā)的軟件工具應(yīng)運而生。這些工具被稱為用戶界面工具箱或用戶界面開發(fā)系統(tǒng)。為用戶界面工具箱或用戶界面開發(fā)系統(tǒng)。16 3 . 2. 3 人機界面設(shè)計指南n界面分類界面分類n一、一般交互界面一、一般交互界面n二、信息顯示界面二、信息顯示界面n三、數(shù)據(jù)輸入界面三、數(shù)據(jù)輸入界面17 一、一般交互界面一般交互界面n1 、基本設(shè)計指南、基本設(shè)計指南l保持一致性;保持一致性;l提供有意義的反饋和幫助信息;提供有意義的反饋和幫助信息;l執(zhí)行較大破壞性動作之前要求用戶確認(rèn);執(zhí)行較大破壞性動作之前要求用戶確認(rèn);l允許犯錯誤,允許中斷或撤銷
11、絕大多數(shù)操作;允許犯錯誤,允許中斷或撤銷絕大多數(shù)操作; l 減少兩次操作之間必須記憶的信息量;減少兩次操作之間必須記憶的信息量;l按功能對動作分類,并據(jù)此設(shè)計屏幕布局按功能對動作分類,并據(jù)此設(shè)計屏幕布局l用簡單動詞或短語作為命令名用簡單動詞或短語作為命令名18 2 、交互界面的基本類型、交互界面的基本類型n菜單界面菜單界面n 對話對話 n 其他其他19 n菜單界面菜單界面l按顯示形象分類:按顯示形象分類:n正文菜單、圖標(biāo)菜單、正文圖標(biāo)混合菜單。正文菜單、圖標(biāo)菜單、正文圖標(biāo)混合菜單。l按屏幕位置和操作風(fēng)格分類按屏幕位置和操作風(fēng)格分類n固定、浮動、下拉式、嵌入式固定、浮動、下拉式、嵌入式20 21
12、 22 23 n 對話框?qū)υ捒騦對話形式對話形式n必須回答式、無需回答式、警告式必須回答式、無需回答式、警告式l對話實現(xiàn)方式對話實現(xiàn)方式n標(biāo)準(zhǔn)對話、定做式對話標(biāo)準(zhǔn)對話、定做式對話n其他其他l圖像圖像l窗口窗口24 n二、信息顯示界面二、信息顯示界面 n1 、界面顯示的基本元素、界面顯示的基本元素 n 數(shù)據(jù)數(shù)據(jù)n 字符字符n 圖形圖形n 報告報告25 2 、基本設(shè)計指南、基本設(shè)計指南l可用多種不同方式顯示信息。如用圖形表示數(shù)可用多種不同方式顯示信息。如用圖形表示數(shù)據(jù)據(jù)l只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息l使用一致的標(biāo)記、縮寫和可預(yù)知的顏色。使用一致的標(biāo)記、縮寫和可預(yù)知的
13、顏色。l使用使用窗口分隔窗口分隔不同類型的信息不同類型的信息l使用使用模擬方式模擬方式表示信息。表示信息。26 27 界面舉例網(wǎng)上紅心大戰(zhàn)28 三、數(shù)據(jù)輸入界面三、數(shù)據(jù)輸入界面n1 、基本設(shè)計指南、基本設(shè)計指南l盡量減少用戶輸入的動作盡量減少用戶輸入的動作l保持信息顯示和數(shù)據(jù)輸入的一致性保持信息顯示和數(shù)據(jù)輸入的一致性l允許用戶自定義輸人,如鍵盤輸入或鼠標(biāo)輸入允許用戶自定義輸人,如鍵盤輸入或鼠標(biāo)輸入l當(dāng)前動作語境中,不適用的命令不起作用。當(dāng)前動作語境中,不適用的命令不起作用。l讓用戶控制交互流,如用戶能跳過不必要的動讓用戶控制交互流,如用戶能跳過不必要的動作作l消除冗余的輸入消除冗余的輸入29
14、界面舉例MSN30 界面舉例31 3.3 過程設(shè)計的工具過程設(shè)計的工具n( 1) 圖形工具圖形工具l程序流程圖程序流程圖(FC)l盒圖(盒圖( NS ) l問題分析圖問題分析圖 ( PAD ) lHIPO圖圖n( 2) 表格工具表格工具l判定表判定表l判定樹判定樹 n(3) 語言工具語言工具l過程設(shè)計語言(過程設(shè)計語言( PDL )3.3 過程設(shè)計的工具過程設(shè)計的工具3.3.1 程序流程圖程序流程圖n程序流程圖又稱為程序框圖,它是歷史最悠久、程序流程圖又稱為程序框圖,它是歷史最悠久、使用最廣泛的描述過程設(shè)計的方法。使用最廣泛的描述過程設(shè)計的方法。n它的主要優(yōu)點是對控制流程的描繪很直觀,便它的主
15、要優(yōu)點是對控制流程的描繪很直觀,便于初學(xué)者掌握。于初學(xué)者掌握。n程序流程圖歷史悠久,至今仍在廣泛使用著。程序流程圖歷史悠久,至今仍在廣泛使用著。程序流程圖中使用的符號程序流程圖中使用的符號34 程序流程圖的主要缺點:程序流程圖的主要缺點:n程序流程圖本質(zhì)上不是逐步求精的好工具,它程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)。去考慮程序的全局結(jié)構(gòu)。n程序流程圖中用箭頭代表控制流,因此程序員程序流程圖中用箭頭代表控制流,因此程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計的不受任何約束,可以完全不顧結(jié)構(gòu)程序
16、設(shè)計的精神,隨意轉(zhuǎn)移控制。精神,隨意轉(zhuǎn)移控制。n程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。 3.3.2 盒圖盒圖(N-S圖圖)盒圖具有下述特點:盒圖具有下述特點:n功能域明確。功能域明確。n不可能任意轉(zhuǎn)移控制。不可能任意轉(zhuǎn)移控制。n很容易確定局部和全程數(shù)據(jù)的作用域。很容易確定局部和全程數(shù)據(jù)的作用域。n很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。結(jié)構(gòu)。盒圖的基本符號盒圖的基本符號38 盒圖例13.3.3 PAD圖圖nPAD是問題分析圖是問題分析圖(problem analysis diagram)的英文縮寫,自的英文縮寫,自1973年由日本
17、日立公司發(fā)明以年由日本日立公司發(fā)明以后,已得到一定程度的推廣。后,已得到一定程度的推廣。n它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。將這種圖翻譯成程序代碼比較容易。 PAD圖的基本符號圖的基本符號PAD圖的主要優(yōu)點如下:圖的主要優(yōu)點如下:n使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的使用表示結(jié)構(gòu)化控制結(jié)構(gòu)的PAD符號設(shè)計出來符號設(shè)計出來的程序必然是結(jié)構(gòu)化程序。的程序必然是結(jié)構(gòu)化程序。nPAD圖所描繪的程序結(jié)構(gòu)十分清晰。圖所描繪的程序結(jié)構(gòu)十分清晰。nPAD圖表現(xiàn)程序邏輯易讀、易懂、易記。圖表現(xiàn)程序邏輯易讀、易懂、易記。n容易將容易將PAD圖轉(zhuǎn)換成
18、高級語言源程序,這種轉(zhuǎn)圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成。換可用軟件工具自動完成。n即可表示程序邏輯,也可描繪數(shù)據(jù)結(jié)構(gòu)。即可表示程序邏輯,也可描繪數(shù)據(jù)結(jié)構(gòu)。nPAD圖的符號支持自頂向下、逐步求精方法的圖的符號支持自頂向下、逐步求精方法的使用。使用。n例題:例題:某程序某程序流程圖如右圖流程圖如右圖所示,請分別所示,請分別用用N-S圖和圖和PAD圖表示。圖表示。 a UNTIL x8jbice WHILE x5dx1x2x3x4fgh UNTIL x7x6xi=PAD圖:圖:x8ajx1bTFfx6TFx7ighCASE xix2x4x3x5cdeN-S圖:圖: 3.3.4 H
19、IPO圖(層次圖加輸入圖(層次圖加輸入/處理處理/輸出圖輸出圖 )HIPO圖由下面兩部分組成:圖由下面兩部分組成:vH(層次)圖。(層次)圖。用來描述軟件的層次結(jié)構(gòu)用來描述軟件的層次結(jié)構(gòu)。層次圖中的一。層次圖中的一個矩形代表一個模塊,方框間的連線表示調(diào)用關(guān)系。為了個矩形代表一個模塊,方框間的連線表示調(diào)用關(guān)系。為了能使能使H圖具有可追蹤性,除了最頂層的方框之外,每個方框圖具有可追蹤性,除了最頂層的方框之外,每個方框都加入了編號。都加入了編號。vIPO圖圖(Input-Process-Output)。用來描述模塊的輸入、處用來描述模塊的輸入、處理和輸出的信息理和輸出的信息。它的基本形式是在左邊的框
20、中列出有關(guān)。它的基本形式是在左邊的框中列出有關(guān)的輸入數(shù)據(jù),在中間的框中列出主要的處理,在右邊的框的輸入數(shù)據(jù),在中間的框中列出主要的處理,在右邊的框中列出產(chǎn)生的輸出數(shù)據(jù)。處理框中列出處理的順序。中列出產(chǎn)生的輸出數(shù)據(jù)。處理框中列出處理的順序。 HIPO圖是一種圖解式設(shè)計工具。在概要設(shè)計、詳細(xì)設(shè)計、圖是一種圖解式設(shè)計工具。在概要設(shè)計、詳細(xì)設(shè)計、程序設(shè)計、測試和維護(hù)的不同階段,都可以使用程序設(shè)計、測試和維護(hù)的不同階段,都可以使用HIPO圖對圖對設(shè)計進(jìn)行描述設(shè)計進(jìn)行描述 3.3.4 HIPO圖圖例 學(xué)生成績管理系統(tǒng)的H圖學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng)1 學(xué)生基本學(xué)生基本成績登錄成績登錄2 學(xué)生平均學(xué)生
21、平均成績計算成績計算3 班級平均班級平均成績計算成績計算4 學(xué)生成績學(xué)生成績表生成表生成1.1初期初期處理處理1.2 輸入處輸入處理理1.3 刪除刪除例例 學(xué)生基本成績登錄處理程序模塊的學(xué)生基本成績登錄處理程序模塊的IPO圖圖班級號、學(xué)號班級號、學(xué)號學(xué)生姓名學(xué)生姓名語、數(shù)、外語、數(shù)、外成績成績輸入輸入顯示處理顯示處理DB存在檢查存在檢查處理處理輸出輸出DB顯示處理顯示處理顯示處理顯示處理輸入數(shù)據(jù)檢查輸入數(shù)據(jù)檢查DB登錄登錄學(xué)生基本成績表學(xué)生基本成績表班級號、學(xué)號班級號、學(xué)號學(xué)生姓名學(xué)生姓名語、數(shù)、外語、數(shù)、外成績成績錯誤信息錯誤信息不存在不存在存在存在正確正確不正確不正確3.3.5 判定表判定
22、表n當(dāng)算法中包含當(dāng)算法中包含多重嵌套的條件選擇多重嵌套的條件選擇時,用程序時,用程序流程圖、盒圖、流程圖、盒圖、PAD圖或后面即將介紹的過程圖或后面即將介紹的過程設(shè)計語言設(shè)計語言(PDL)都不易清楚地描述。都不易清楚地描述。n判定表卻能夠清晰地表示復(fù)雜的條件組合與應(yīng)判定表卻能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。做的動作之間的對應(yīng)關(guān)系。 一張判定表由一張判定表由4部分組成:部分組成:n左上部列出所有條件;左上部列出所有條件;n左下部是所有可能做的動作;左下部是所有可能做的動作;n右上部是表示各種條件組合的一個矩陣;右上部是表示各種條件組合的一個矩陣;n右下部是和每種條件組合相對
23、應(yīng)的動作。右下部是和每種條件組合相對應(yīng)的動作。 所有條件所有條件條件組合矩陣條件組合矩陣所有動作所有動作條件組合條件組合對應(yīng)的動作對應(yīng)的動作例題:例題:n假設(shè)某航空公司規(guī)定,乘客可以免費托運重量假設(shè)某航空公司規(guī)定,乘客可以免費托運重量不超過不超過30kg的行李。的行李。n當(dāng)行李重量超過當(dāng)行李重量超過30kg時,對頭等艙的國內(nèi)乘客時,對頭等艙的國內(nèi)乘客超重部分每公斤收費超重部分每公斤收費4元,對其他艙的國內(nèi)乘元,對其他艙的國內(nèi)乘客超重部分每公斤收費客超重部分每公斤收費6元。元。n對外國乘客超重部分每公斤收費比國內(nèi)乘客多對外國乘客超重部分每公斤收費比國內(nèi)乘客多一倍,對殘疾乘客超重部分每公斤收費比正
24、常一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一半。乘客少一半。表表6.1 用判定表表示計算行李費的算法用判定表表示計算行李費的算法123456789國內(nèi)乘客國內(nèi)乘客TTTTFFFF頭等艙頭等艙TFTFTFTF殘疾乘客殘疾乘客FFTTFFTT行李重量行李重量 W 30TFFFFFFFF免費免費(W-30)2(W-30)3(W-30)4(W-30)6(W-30)8(W-30)12判定表的優(yōu)點:判定表的優(yōu)點:n能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。間的對應(yīng)關(guān)系。判定表的缺點:判定表的缺點: n判定表的含義不是一眼就能看出來的,初次接判定表的
25、含義不是一眼就能看出來的,初次接觸這種工具的人理解它需要有一個簡短的學(xué)習(xí)觸這種工具的人理解它需要有一個簡短的學(xué)習(xí)過程。過程。n當(dāng)數(shù)據(jù)元素的值多于兩個時,判定表的簡潔程當(dāng)數(shù)據(jù)元素的值多于兩個時,判定表的簡潔程度也將下降。度也將下降。n判定樹是判定表的變種,也能清晰地表示復(fù)雜判定樹是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。n多年來判定樹一直受到人們的重視,是一種比多年來判定樹一直受到人們的重視,是一種比較常用的系統(tǒng)分析和設(shè)計的工具。較常用的系統(tǒng)分析和設(shè)計的工具。3.3.6 判定樹判定樹用判定樹表示計算行李費的算法用判定樹表示計算行
26、李費的算法判定樹的優(yōu)點:判定樹的優(yōu)點:n它的形式簡單,一眼就可以看出其含義,因此它的形式簡單,一眼就可以看出其含義,因此易于掌握和使用。易于掌握和使用。判定樹的缺點:判定樹的缺點:n簡潔性不如判定表,數(shù)據(jù)元素的同一個值往往簡潔性不如判定表,數(shù)據(jù)元素的同一個值往往要重復(fù)寫多遍,而且越接近樹的葉端重復(fù)次數(shù)要重復(fù)寫多遍,而且越接近樹的葉端重復(fù)次數(shù)越多。越多。n畫判定樹時分枝的次序可能對最終畫出的判定畫判定樹時分枝的次序可能對最終畫出的判定樹的簡潔程度有較大影響。樹的簡潔程度有較大影響。 例題:例題:n某校制定了教師的講課課時津貼標(biāo)準(zhǔn)。對于各某校制定了教師的講課課時津貼標(biāo)準(zhǔn)。對于各種性質(zhì)的講座,無論教
27、師是什么職稱,每課時種性質(zhì)的講座,無論教師是什么職稱,每課時津貼費一律是津貼費一律是50元;元;n對于一般的授課,則根據(jù)教師的職稱來決定每對于一般的授課,則根據(jù)教師的職稱來決定每課時津貼費:教授課時津貼費:教授30元,副教授元,副教授25元,講師元,講師20元,助教元,助教15元。元。n請分別用判定表和判定樹表示津貼標(biāo)準(zhǔn)。請分別用判定表和判定樹表示津貼標(biāo)準(zhǔn)。 1520253050FFFFT講座講座TFFF助教助教FTFF講師講師FFTF副教授副教授FFFT教授教授54321判定表:判定表:課時津貼課時津貼一般授課一般授課講座講座教授教授副教授副教授講師講師助教助教3025201550判定樹:判
28、定樹:3.3.7 過程設(shè)計語言過程設(shè)計語言n過程設(shè)計語言過程設(shè)計語言(PDL)也稱為偽碼,它是用正文也稱為偽碼,它是用正文形式表示數(shù)據(jù)和處理過程的設(shè)計工具。形式表示數(shù)據(jù)和處理過程的設(shè)計工具。nPDL具有嚴(yán)格的關(guān)鍵字外部語法,用于定義控具有嚴(yán)格的關(guān)鍵字外部語法,用于定義控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu);另一方面,制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu);另一方面,PDL表示實際表示實際操作和條件的內(nèi)部語法通常又是靈活自由的,操作和條件的內(nèi)部語法通常又是靈活自由的,可以適應(yīng)各種工程項目的需要??梢赃m應(yīng)各種工程項目的需要。nPDL是一種是一種“混雜混雜”語言,它使用一種語言的語言,它使用一種語言的詞匯,同時卻使用另一種語言的語法。詞匯,
29、同時卻使用另一種語言的語法。 偽代碼的基本控制結(jié)構(gòu):偽代碼的基本控制結(jié)構(gòu):n簡單陳述句結(jié)構(gòu):避免復(fù)合語句。簡單陳述句結(jié)構(gòu):避免復(fù)合語句。n判定結(jié)構(gòu):判定結(jié)構(gòu):IF_THEN_ELSE或或CASE_OF結(jié)構(gòu)。結(jié)構(gòu)。n選擇結(jié)構(gòu):選擇結(jié)構(gòu):WHILE_DO或或REPEAT_UNTIL結(jié)結(jié)構(gòu)。構(gòu)。例:檢查訂貨單例:檢查訂貨單IF 客戶訂貨金額超過客戶訂貨金額超過5000元元 THEN IF 客戶拖延未還賒欠錢款超過客戶拖延未還賒欠錢款超過60天天 THEN 在償還欠款前不予批準(zhǔn)在償還欠款前不予批準(zhǔn) ELSE (拖延未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 E
30、NDIFELSE (客戶訂貨金額未超過客戶訂貨金額未超過5000元元) IF 客戶拖延未還賒欠錢款超過客戶拖延未還賒欠錢款超過60天天 THEN 發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書 ELSE (拖延未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFENDIFPDL的特點:的特點:n關(guān)鍵字的固定語法,它提供了結(jié)構(gòu)化控制結(jié)構(gòu)、關(guān)鍵字的固定語法,它提供了結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊化的特點。數(shù)據(jù)說明和模塊化的特點。n自然語言的自由語法,它描述處理特點。自然語言的自由語法,它描述處理特點。n數(shù)據(jù)說明的手段。應(yīng)該既包括簡單的數(shù)
31、據(jù)結(jié)構(gòu),數(shù)據(jù)說明的手段。應(yīng)該既包括簡單的數(shù)據(jù)結(jié)構(gòu),又包括復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。又包括復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。n模塊定義和調(diào)用的技術(shù),應(yīng)該提供各種接口描模塊定義和調(diào)用的技術(shù),應(yīng)該提供各種接口描述模式。述模式。 PDL的優(yōu)點:的優(yōu)點:n可以作為注釋直接插在源程序中間。有助于??梢宰鳛樽⑨屩苯硬逶谠闯绦蛑虚g。有助于保持文檔和程序的一致性,提高了文檔的質(zhì)量。持文檔和程序的一致性,提高了文檔的質(zhì)量。n可以使用普通的正文編輯程序或文字處理系統(tǒng),可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便地完成很方便地完成PDL的書寫和編輯工作。的書寫和編輯工作。n已經(jīng)有自動處理程序存在,而且可以自動由已經(jīng)有自動處理程序存在,而且可
32、以自動由PDL生成程序代碼。生成程序代碼。PDL的缺點:的缺點:n不如圖形工具形象直觀,描述復(fù)雜的條件組合不如圖形工具形象直觀,描述復(fù)雜的條件組合與動作間的對應(yīng)關(guān)系時,不如判定表清晰簡單。與動作間的對應(yīng)關(guān)系時,不如判定表清晰簡單。 3.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法n數(shù)據(jù)結(jié)構(gòu)既影響程序的結(jié)構(gòu)又影響程序的處理數(shù)據(jù)結(jié)構(gòu)既影響程序的結(jié)構(gòu)又影響程序的處理過程過程q重復(fù)出現(xiàn)的數(shù)據(jù)通常由具有循環(huán)控制結(jié)構(gòu)的程序來重復(fù)出現(xiàn)的數(shù)據(jù)通常由具有循環(huán)控制結(jié)構(gòu)的程序來處理處理q選擇數(shù)據(jù)要用帶有分支控制結(jié)構(gòu)的程序來處理選擇數(shù)據(jù)要用帶有分支控制結(jié)構(gòu)的程序來處理q層次的數(shù)據(jù)組織通常和使用這些數(shù)據(jù)的程序的層次
33、層次的數(shù)據(jù)組織通常和使用這些數(shù)據(jù)的程序的層次結(jié)構(gòu)十分相似。結(jié)構(gòu)十分相似。n面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法的最終目標(biāo)是得出對面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法的最終目標(biāo)是得出對程序處理過程的描述。程序處理過程的描述。3.4.1 Jackson圖圖數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)元素彼此間的邏輯關(guān)系:數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)元素彼此間的邏輯關(guān)系:n順序結(jié)構(gòu)順序結(jié)構(gòu),順序結(jié)構(gòu)的數(shù)據(jù)由一個或多個數(shù),順序結(jié)構(gòu)的數(shù)據(jù)由一個或多個數(shù)據(jù)元素組成,每個元素按確定次序出現(xiàn)一次。據(jù)元素組成,每個元素按確定次序出現(xiàn)一次。n選擇結(jié)構(gòu)選擇結(jié)構(gòu),選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個或多個,選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個或多個數(shù)據(jù)元素,每次使用這個數(shù)據(jù)時按一定條件數(shù)據(jù)元素,每次使用這個數(shù)據(jù)時按
34、一定條件從這些數(shù)據(jù)元素中選擇一個。從這些數(shù)據(jù)元素中選擇一個。n重復(fù)結(jié)構(gòu)重復(fù)結(jié)構(gòu),重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時的,重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時的條件由一個數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。條件由一個數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。 A由由B、C、D 3個元素順序組成個元素順序組成根據(jù)條件根據(jù)條件A是是B或或C或或D中的某一個中的某一個A由由B出現(xiàn)出現(xiàn)N次次(N0)組成組成Jackson圖的優(yōu)點:圖的優(yōu)點:n便于表示層次結(jié)構(gòu),而且是對結(jié)構(gòu)進(jìn)行自頂向便于表示層次結(jié)構(gòu),而且是對結(jié)構(gòu)進(jìn)行自頂向下分解的有力工具;下分解的有力工具;n形象直觀可讀性好;形象直觀可讀性好;n既能表示數(shù)據(jù)結(jié)構(gòu)也能表示程序結(jié)構(gòu)。既能表示數(shù)據(jù)結(jié)構(gòu)
35、也能表示程序結(jié)構(gòu)。Jackson圖的缺點:圖的缺點:n表示選擇或重復(fù)結(jié)構(gòu)時,選擇條件或循環(huán)結(jié)束表示選擇或重復(fù)結(jié)構(gòu)時,選擇條件或循環(huán)結(jié)束條件不能直接在圖上表示出來,影響了圖的表條件不能直接在圖上表示出來,影響了圖的表達(dá)能力,也不易直接把圖翻譯成程序;達(dá)能力,也不易直接把圖翻譯成程序;n框間連線為斜線,不易在行式打印機上輸出。框間連線為斜線,不易在行式打印機上輸出。 3.4.2 改進(jìn)的改進(jìn)的Jackson圖圖 Jackson圖和層次圖的區(qū)別:圖和層次圖的區(qū)別:Jackson圖圖層次圖層次圖作用作用描繪數(shù)據(jù)結(jié)構(gòu)描繪數(shù)據(jù)結(jié)構(gòu)描繪程序結(jié)構(gòu)描繪程序結(jié)構(gòu)描繪軟件結(jié)構(gòu)描繪軟件結(jié)構(gòu)矩形框矩形框數(shù)據(jù)元素數(shù)據(jù)元素幾
36、個語句幾個語句模塊模塊連線連線組成關(guān)系組成關(guān)系調(diào)用關(guān)系調(diào)用關(guān)系3.4.3 Jackson方法方法Jackson結(jié)構(gòu)程序設(shè)計方法由結(jié)構(gòu)程序設(shè)計方法由5個步驟組成:個步驟組成:(1) 分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),用用Jackson圖描繪數(shù)據(jù)結(jié)構(gòu)。圖描繪數(shù)據(jù)結(jié)構(gòu)。(2) 找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元。所謂有對應(yīng)關(guān)系是指有直接關(guān)系的數(shù)據(jù)單元。所謂有對應(yīng)關(guān)系是指有直接的因果關(guān)系,在程序中可以同時處理的數(shù)據(jù)單的因果關(guān)系,在程序中可以同時處理的數(shù)據(jù)單元元(對于重復(fù)出現(xiàn)的數(shù)據(jù)單元必須重復(fù)的次序?qū)τ?/p>
37、重復(fù)出現(xiàn)的數(shù)據(jù)單元必須重復(fù)的次序和次數(shù)都相同才可能有對應(yīng)關(guān)系和次數(shù)都相同才可能有對應(yīng)關(guān)系)。 (3) 用下述規(guī)則從描繪數(shù)據(jù)結(jié)構(gòu)的用下述規(guī)則從描繪數(shù)據(jù)結(jié)構(gòu)的Jackson圖導(dǎo)出描繪程圖導(dǎo)出描繪程序結(jié)構(gòu)的序結(jié)構(gòu)的Jackson圖:圖:n第一,為每對有對應(yīng)關(guān)系的數(shù)據(jù)單元,按照它們在數(shù)第一,為每對有對應(yīng)關(guān)系的數(shù)據(jù)單元,按照它們在數(shù)據(jù)結(jié)構(gòu)圖中的層次在程序結(jié)構(gòu)圖的相應(yīng)層次畫一個處據(jù)結(jié)構(gòu)圖中的層次在程序結(jié)構(gòu)圖的相應(yīng)層次畫一個處理框理框(層次不同時與圖中層次低的那個對應(yīng)層次不同時與圖中層次低的那個對應(yīng));n第二,根據(jù)輸入數(shù)據(jù)結(jié)構(gòu)中剩余的每個數(shù)據(jù)單元所處第二,根據(jù)輸入數(shù)據(jù)結(jié)構(gòu)中剩余的每個數(shù)據(jù)單元所處的層次,在程
38、序結(jié)構(gòu)圖的相應(yīng)層次分別為它們畫上對的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次分別為它們畫上對應(yīng)的處理框;應(yīng)的處理框;n第三,根據(jù)輸出數(shù)據(jù)結(jié)構(gòu)中剩余的每個數(shù)據(jù)單元所處第三,根據(jù)輸出數(shù)據(jù)結(jié)構(gòu)中剩余的每個數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次分別為它們畫上對的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次分別為它們畫上對應(yīng)的處理框。應(yīng)的處理框。n改進(jìn)的改進(jìn)的Jackson圖規(guī)定在構(gòu)成順序結(jié)構(gòu)的元素中不能圖規(guī)定在構(gòu)成順序結(jié)構(gòu)的元素中不能有重復(fù)出現(xiàn)或選擇出現(xiàn)的元素,因此可能需要增加中有重復(fù)出現(xiàn)或選擇出現(xiàn)的元素,因此可能需要增加中間層次的處理框。間層次的處理框。 (4) 列出所有操作和條件列出所有操作和條件(包括分支條件和循環(huán)結(jié)包
39、括分支條件和循環(huán)結(jié)束條件束條件),并且把它們分配到程序結(jié)構(gòu)圖的適,并且把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。當(dāng)位置。(5) 用偽碼表示程序。用偽碼表示程序。順序結(jié)構(gòu):順序結(jié)構(gòu):A seq B C DA end選擇結(jié)構(gòu):選擇結(jié)構(gòu):A select cond1 BA or cond2 CA or cond3 DA end循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu):A iter until(或或while) cond BA end例例1:n一個正文文件由若干個記錄組成,每個記錄是一個正文文件由若干個記錄組成,每個記錄是一個字符串。一個字符串。n要求統(tǒng)計每個記錄中空格字符的個數(shù),以及文要求統(tǒng)計每個記錄中空格字符的個數(shù),以及文件中
40、空格字符的總個數(shù)。件中空格字符的總個數(shù)。n要求的輸出數(shù)據(jù)格式是,每復(fù)制一行輸入字符要求的輸出數(shù)據(jù)格式是,每復(fù)制一行輸入字符串之后,另起一行印出這個字符串中的空格數(shù),串之后,另起一行印出這個字符串中的空格數(shù),最后印出文件中空格的總個數(shù)。最后印出文件中空格的總個數(shù)。 設(shè)計步驟如下:設(shè)計步驟如下:(1) 用用Jackson圖描繪的輸入輸出數(shù)據(jù)結(jié)構(gòu)。圖描繪的輸入輸出數(shù)據(jù)結(jié)構(gòu)。 (2) 分析確定在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中分析確定在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元。有對應(yīng)關(guān)系的數(shù)據(jù)單元。 (3) 從數(shù)據(jù)結(jié)構(gòu)圖導(dǎo)出程序結(jié)構(gòu)圖。從數(shù)據(jù)結(jié)構(gòu)圖導(dǎo)出程序結(jié)構(gòu)圖。 (4) 列出所有操列出所有操作和
41、條件,并作和條件,并且把它們分配且把它們分配到程序結(jié)構(gòu)圖到程序結(jié)構(gòu)圖的適當(dāng)位置。的適當(dāng)位置。(1)停止;停止; (2) 打開文件;打開文件;(3)關(guān)閉文件;關(guān)閉文件; (4)印出字符串;印出字符串;(5)印出空格數(shù);印出空格數(shù);(6)印出空格總數(shù);印出空格總數(shù);(7)sum:=sum+1;(8) totalsum:=totalsum + sum;(9) 讀入字符串;讀入字符串;(10) sum:=0; (11)totalsum:=0; (12) pointer:=1; (13)pointer:=pointer + 1; I(1) 文件結(jié)束;文件結(jié)束; I(2)字符串結(jié)字符串結(jié)束;束;S(3)字
42、符是空格字符是空格n(5) 用偽碼表示程序處理過程。用偽碼表示程序處理過程。(P135) 例例2:n高考后將考生的基本情況文件(簡稱考生情況高考后將考生的基本情況文件(簡稱考生情況文件)和考生高考成績文件(簡稱考分文件)文件)和考生高考成績文件(簡稱考分文件)合并成一個新文件(簡稱考生新文件)。合并成一個新文件(簡稱考生新文件)。n考生基本情況文件中的考生記錄的內(nèi)容包括:考生基本情況文件中的考生記錄的內(nèi)容包括:準(zhǔn)考證號、姓名、通信地址。準(zhǔn)考證號、姓名、通信地址。n考分文件中的考生記錄的內(nèi)容包括:準(zhǔn)考證號考分文件中的考生記錄的內(nèi)容包括:準(zhǔn)考證號和各門考分。和各門考分。n合并后的考生新文件自然也是
43、由考生記錄組成,合并后的考生新文件自然也是由考生記錄組成,內(nèi)容包括:準(zhǔn)考證號、姓名、通信地址和各門內(nèi)容包括:準(zhǔn)考證號、姓名、通信地址和各門考分??挤帧?設(shè)計步驟如下:設(shè)計步驟如下:(1) 用用Jackson圖描繪的輸入輸出數(shù)據(jù)結(jié)構(gòu)。圖描繪的輸入輸出數(shù)據(jù)結(jié)構(gòu)。 輸入數(shù)據(jù)結(jié)構(gòu):輸入數(shù)據(jù)結(jié)構(gòu):輸出數(shù)據(jù)結(jié)構(gòu):輸出數(shù)據(jù)結(jié)構(gòu): (2) 分析確定在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中分析確定在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元。有對應(yīng)關(guān)系的數(shù)據(jù)單元。 (3) 從數(shù)據(jù)結(jié)構(gòu)圖導(dǎo)出程序結(jié)構(gòu)圖。從數(shù)據(jù)結(jié)構(gòu)圖導(dǎo)出程序結(jié)構(gòu)圖。 (4) 列出所有操作和條件,并且把它們分配到程列出所有操作和條件,并且把它們分配到程序
44、結(jié)構(gòu)圖的適當(dāng)位置。序結(jié)構(gòu)圖的適當(dāng)位置。n操作:停止;操作:停止; 打開兩個輸入文件;打開兩個輸入文件; 建立輸出文件;建立輸出文件; 從輸入文件中各讀一條記錄;從輸入文件中各讀一條記錄; 生成一條新記錄;生成一條新記錄; 將新記錄寫入輸出文件;將新記錄寫入輸出文件; 關(guān)閉全部文件。關(guān)閉全部文件。n條件:條件:I(1)文件結(jié)束。文件結(jié)束。 (5) 用偽碼表示程序處理過程。用偽碼表示程序處理過程。產(chǎn)生新文件產(chǎn)生新文件 seq打開兩個輸入文件打開兩個輸入文件建立輸出文件建立輸出文件從輸入文件中各讀一條記錄從輸入文件中各讀一條記錄分析考生記錄分析考生記錄 iter until 文件結(jié)束文件結(jié)束處理考生
45、記錄處理考生記錄 seq 產(chǎn)生準(zhǔn)考證號產(chǎn)生準(zhǔn)考證號 產(chǎn)生姓名產(chǎn)生姓名 產(chǎn)生通信地址產(chǎn)生通信地址 產(chǎn)生考分產(chǎn)生考分 生成一條新記錄生成一條新記錄 將新記錄寫入輸出文件將新記錄寫入輸出文件 從輸入文件中各讀一條記錄從輸入文件中各讀一條記錄處理考生記錄處理考生記錄 end分析考生記錄分析考生記錄 end關(guān)閉全部文件關(guān)閉全部文件停止停止產(chǎn)生新文件產(chǎn)生新文件 end 3.5 程序復(fù)雜程度的定量度量程序復(fù)雜程度的定量度量n詳細(xì)設(shè)計階段設(shè)計出的模塊質(zhì)量可以使用軟件詳細(xì)設(shè)計階段設(shè)計出的模塊質(zhì)量可以使用軟件設(shè)計的基本原理和概念進(jìn)一步仔細(xì)衡量它們的設(shè)計的基本原理和概念進(jìn)一步仔細(xì)衡量它們的質(zhì)量。但是,這種衡量畢竟只
46、能是定性的,人質(zhì)量。但是,這種衡量畢竟只能是定性的,人們希望能進(jìn)一步定量度量軟件的性質(zhì)。們希望能進(jìn)一步定量度量軟件的性質(zhì)。定量度量程序復(fù)雜程度的作用:定量度量程序復(fù)雜程度的作用:n把程序的復(fù)雜程度乘以適當(dāng)常數(shù)即可估算出軟把程序的復(fù)雜程度乘以適當(dāng)常數(shù)即可估算出軟件中錯誤的數(shù)量以及軟件開發(fā)需要用的工作量;件中錯誤的數(shù)量以及軟件開發(fā)需要用的工作量;n定量度量的結(jié)果可以用來比較兩個不同的設(shè)計定量度量的結(jié)果可以用來比較兩個不同的設(shè)計或兩個不同算法的優(yōu)劣;或兩個不同算法的優(yōu)劣;n程序的定量的復(fù)雜程度可以作為模塊規(guī)模的精程序的定量的復(fù)雜程度可以作為模塊規(guī)模的精確限度。確限度。 3.5.1 McCabe方法方法1. 流圖流圖nMcCabe方法根據(jù)程序控制流的復(fù)雜程度定量方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。程序的環(huán)形復(fù)雜度。n所謂流圖實質(zhì)上是所謂流圖實質(zhì)上是“退化了的退化了的”程序流程圖,程序流程圖,它僅僅描
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國醋酸甲酯市場運行態(tài)勢及發(fā)展趨勢分析報告
- 2025-2030年中國螺絲刀行業(yè)運營狀況與發(fā)展戰(zhàn)略研究報告
- 2025-2030年中國罐裝茶行業(yè)發(fā)展趨勢及競爭調(diào)研分析報告
- 2025-2030年中國紙尿褲制造行業(yè)運行態(tài)勢及投資戰(zhàn)略研究報告
- 2025-2030年中國粽子市場運行狀況及發(fā)展趨勢分析報告
- 2025-2030年中國管理財務(wù)軟件市場發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025福建省建筑安全員-C證考試(專職安全員)題庫附答案
- 2025-2030年中國電石產(chǎn)業(yè)運行態(tài)勢與發(fā)展趨勢分析報告
- 皖西衛(wèi)生職業(yè)學(xué)院《貿(mào)易實務(wù)操作實訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國高血壓防治指南(2024年修訂版)
- GB/T 4340.1-2024金屬材料維氏硬度試驗第1部分:試驗方法
- 生物補片及相關(guān)應(yīng)用進(jìn)展課件
- 聘書模板可編輯
- 離心式壓縮機功率公式
- 參保人員就醫(yī)流程doc
- 2019湘美版五年級《書法練習(xí)指導(dǎo)》下冊教案
- 東南大學(xué)建筑學(xué)專業(yè)課程設(shè)置
- Q∕CR 562.2-2017 鐵路隧道防排水材料 第2部分:止水帶
- (完整版)倉儲客戶需求調(diào)研表.doc
- 焊接專業(yè)監(jiān)理實施細(xì)則
評論
0/150
提交評論