軟件工程導(dǎo)論課件之第6章-詳細(xì)設(shè)計(第六版)(張海潘編著)_第1頁
軟件工程導(dǎo)論課件之第6章-詳細(xì)設(shè)計(第六版)(張海潘編著)_第2頁
軟件工程導(dǎo)論課件之第6章-詳細(xì)設(shè)計(第六版)(張海潘編著)_第3頁
軟件工程導(dǎo)論課件之第6章-詳細(xì)設(shè)計(第六版)(張海潘編著)_第4頁
軟件工程導(dǎo)論課件之第6章-詳細(xì)設(shè)計(第六版)(張海潘編著)_第5頁
已閱讀5頁,還剩133頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、軟件生命周期軟件生命周期:確定應(yīng)該確定應(yīng)該。經(jīng)過這個階段的設(shè)計工經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出對作,應(yīng)該得出對,從而在,從而在編碼階段可以把這個描述直接編碼階段可以把這個描述直接是實現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù),是實現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù),因此是因此是。 第第6章章 詳細(xì)設(shè)計詳細(xì)設(shè)計 6.1 結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計6.2 人機(jī)界面設(shè)計人機(jī)界面設(shè)計6.3 過程設(shè)計的工具過程設(shè)計的工具6.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法6.5 程序復(fù)雜程度的定量度量程序復(fù)雜程度的定量度量6.1 結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計n結(jié)構(gòu)程序設(shè)計的概念最早由結(jié)構(gòu)程序設(shè)計的概念最早由E.W.Dijkstra提出。提出。

2、n1965年,他在一次會議上指出年,他在一次會議上指出”,“”。n1966年年Bohm和和Jacopini證明了,只用三種基本的證明了,只用三種基本的控制結(jié)構(gòu)就能實現(xiàn)任何控制結(jié)構(gòu)就能實現(xiàn)任何的程序。這三的程序。這三種基本的控制結(jié)構(gòu)是種基本的控制結(jié)構(gòu)是n1972年年IBM公司的公司的Mills進(jìn)一步提出,程序應(yīng)該只有進(jìn)一步提出,程序應(yīng)該只有和和,從而補(bǔ)充了結(jié)構(gòu)程序設(shè)計的,從而補(bǔ)充了結(jié)構(gòu)程序設(shè)計的規(guī)則。規(guī)則。 6.1 結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計n1、經(jīng)典定義:、經(jīng)典定義:如果一個程序的代碼塊僅僅通如果一個程序的代碼塊僅僅通過過順序、選擇和循環(huán)順序、選擇和循環(huán)這這3種基本控制結(jié)構(gòu)進(jìn)行種基本控制結(jié)構(gòu)進(jìn)行

3、連接,并且每個代碼塊只有連接,并且每個代碼塊只有一個入口一個入口和和一個出一個出口口,則稱這個程序是結(jié)構(gòu)化的。,則稱這個程序是結(jié)構(gòu)化的。n2、更全面定義:、更全面定義:結(jié)構(gòu)程序設(shè)計是盡可能少用結(jié)構(gòu)程序設(shè)計是盡可能少用GOTO語句的程序設(shè)計方法。最好僅在檢測出語句的程序設(shè)計方法。最好僅在檢測出錯誤時才使用錯誤時才使用GOTO語句,而且應(yīng)該總是使用語句,而且應(yīng)該總是使用前向前向GOTO語句。語句。n3、為了實際使用方便起見,常常還允許使用、為了實際使用方便起見,常常還允許使用DO-UNTIL和和DO-CASE兩種控制結(jié)構(gòu)。兩種控制結(jié)構(gòu)。n4、有時需要、有時需要立立即從循環(huán)即從循環(huán)(甚至嵌套的循環(huán)甚

4、至嵌套的循環(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)1)順序結(jié)構(gòu)順序結(jié)構(gòu):相當(dāng)于:相當(dāng)于“A、B” 三種基本控制結(jié)構(gòu)三種基本控制結(jié)構(gòu)AB(a)順序結(jié)構(gòu)順序結(jié)構(gòu)2)選擇結(jié)構(gòu)選擇結(jié)構(gòu)相當(dāng)于相當(dāng)于“If exp then A else B endif ” ABexp(b)選擇結(jié)構(gòu)選擇結(jié)構(gòu)3)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):相當(dāng)于:相當(dāng)于“While exp do A” A(c)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)exp1)多分

5、支結(jié)構(gòu)多分支結(jié)構(gòu) 相當(dāng)于相當(dāng)于“Case I of I=1:C1; I=2:C2; I=3:C3; ; I=n:Cn” CnC3C1C2( (d)d)多分支結(jié)構(gòu)多分支結(jié)構(gòu)I=?擴(kuò)充兩種控制結(jié)構(gòu)擴(kuò)充兩種控制結(jié)構(gòu) 2)UNTIL循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)相當(dāng)于相當(dāng)于“Repeat A Until exp” A(e)UNTIL循環(huán)循環(huán)expn經(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擴(kuò)展的結(jié)構(gòu)程序設(shè)計:擴(kuò)展的結(jié)構(gòu)程序設(shè)計:如果除了上述如果除了上述3種基本種基本控制結(jié)構(gòu)之外,還

6、允許使用控制結(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)。 結(jié)論:結(jié)論:6.2 人機(jī)界面設(shè)計人機(jī)界面設(shè)計n人機(jī)界面設(shè)計人機(jī)界面設(shè)計是是接口設(shè)計接口設(shè)計的重要組成部分。對的重要組成部分。對于交互式系統(tǒng)來說,于交互式系統(tǒng)來說,人機(jī)界面設(shè)計人機(jī)界面設(shè)計和和數(shù)據(jù)設(shè)計數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計體系結(jié)構(gòu)設(shè)計及及過程設(shè)計過程設(shè)計一樣重要。一樣重要。n人機(jī)界面的設(shè)計質(zhì)量,直接影響人機(jī)界面的設(shè)計質(zhì)量,直接影響用戶對軟件產(chǎn)用戶對軟件產(chǎn)品的評價品的評價,從

7、而影響軟件產(chǎn)品的競爭力和壽命,從而影響軟件產(chǎn)品的競爭力和壽命,必須對人機(jī)界面設(shè)計給予足夠重視。必須對人機(jī)界面設(shè)計給予足夠重視。 n置用戶于控制之下置用戶于控制之下 以以不強(qiáng)迫用戶不強(qiáng)迫用戶進(jìn)入不必要的或不希望的動作的方式來定進(jìn)入不必要的或不希望的動作的方式來定義交互方式;允許用戶交互可以義交互方式;允許用戶交互可以被中斷和撤消被中斷和撤消;設(shè)計應(yīng)允許;設(shè)計應(yīng)允許用戶和出現(xiàn)在屏幕上的對象直接交互。用戶和出現(xiàn)在屏幕上的對象直接交互。n減少用戶記憶負(fù)擔(dān)減少用戶記憶負(fù)擔(dān) 減少用戶減少用戶對短期記憶的要求對短期記憶的要求,建立有意義的缺省,定義,建立有意義的缺省,定義直覺性的捷徑,快捷方式,直覺性的捷徑

8、,快捷方式,界面的視覺布局應(yīng)該基于真實世界面的視覺布局應(yīng)該基于真實世界的需要。界的需要。n保持界面一致保持界面一致 用戶應(yīng)以用戶應(yīng)以一致的方式一致的方式展示和獲取信息,所有可視信息的展示和獲取信息,所有可視信息的組織均按照組織均按照貫穿一直的設(shè)計標(biāo)準(zhǔn)貫穿一直的設(shè)計標(biāo)準(zhǔn),各應(yīng)用系列內(nèi)保持一致性,各應(yīng)用系列內(nèi)保持一致性,如過去的交互模型已建立起了用戶期望如過去的交互模型已建立起了用戶期望,除非有迫不得已的理除非有迫不得已的理由由,不要改變它。不要改變它。 6.2.1 設(shè)計問題設(shè)計問題設(shè)計人機(jī)界面過程中會遇到的設(shè)計人機(jī)界面過程中會遇到的4個問題:個問題:n系統(tǒng)響應(yīng)時間系統(tǒng)響應(yīng)時間n用戶幫助設(shè)施用戶幫

9、助設(shè)施n出錯信息處理出錯信息處理n命令交互命令交互 1. 系統(tǒng)響應(yīng)時間系統(tǒng)響應(yīng)時間 系統(tǒng)響應(yīng)時間指從系統(tǒng)響應(yīng)時間指從用戶完成某個控制動作用戶完成某個控制動作,到軟件到軟件給出預(yù)期的響應(yīng)之間的這段時間給出預(yù)期的響應(yīng)之間的這段時間。系統(tǒ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é)奏快操作節(jié)奏,從而可能會犯錯誤。,從而可能會犯錯誤。n易變性:易變性:指系統(tǒng)響應(yīng)時間相對于指系統(tǒng)響應(yīng)時間相對于平均響應(yīng)時間平均響應(yīng)時間的偏差

10、的偏差,即使系統(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)代軟件都提供大多數(shù)現(xiàn)代軟件都提供聯(lián)機(jī)幫助設(shè)施聯(lián)機(jī)幫助設(shè)施,用戶無,用戶無須離開用戶界面就能解決自己的問題。常見的須離開用戶界面就能解決自己的問題。常見的幫助設(shè)施可分為幫助設(shè)施可分為集成的集成的和和附加附加的的兩類。兩類。n集成的幫助設(shè)施集成的幫助設(shè)施設(shè)計在軟件里面,它對用戶工設(shè)計在軟件里面,它對用戶工作內(nèi)容是敏感的,用戶可以從與作內(nèi)容是敏感的,用戶可以從與剛剛完成的操剛剛完成的操作作有關(guān)的主題中有關(guān)的主

11、題中選擇一個請求幫助選擇一個請求幫助。n附加的幫助設(shè)施附加的幫助設(shè)施是在系統(tǒng)建成后是在系統(tǒng)建成后再添加到軟件再添加到軟件中的中的,它實際上是一種查詢能力有限的聯(lián)機(jī)用,它實際上是一種查詢能力有限的聯(lián)機(jī)用戶手冊。戶手冊。n集成集成的幫助設(shè)施的幫助設(shè)施優(yōu)于優(yōu)于附加附加的幫助設(shè)施。的幫助設(shè)施。n具體具體設(shè)計幫助設(shè)計幫助設(shè)施時,須設(shè)施時,須解決下述解決下述一系列問題一系列問題,是否在,是否在任何時候任何時候都能獲都能獲得關(guān)于系統(tǒng)得關(guān)于系統(tǒng)任何功能任何功能的幫助信息的幫助信息? 有兩種選擇;有兩種選擇;p 提供提供部分功能部分功能的幫助信息;的幫助信息;p 提供提供全部功能全部功能的幫助信息。的幫助信息。

12、 有有3種選擇:種選擇:p 幫助菜單;幫助菜單;p 特殊功能鍵;特殊功能鍵;p HELP命令命令。 有有3種選擇:種選擇:p 在獨立的窗口中;在獨立的窗口中;p 指出參考某個文檔指出參考某個文檔(不理想不理想);p 在屏幕固定位置顯示簡短提示。在屏幕固定位置顯示簡短提示。 有兩種選擇:有兩種選擇:p 屏幕上的返回按鈕;屏幕上的返回按鈕;p 功功能鍵。能鍵。 有有3種選擇:種選擇:p 平面結(jié)構(gòu)平面結(jié)構(gòu)(所有信息都通過所有信息都通過關(guān)鍵字關(guān)鍵字訪問訪問);p 信息的層次結(jié)構(gòu)信息的層次結(jié)構(gòu)(在該結(jié)構(gòu)中查到更詳細(xì)的信息在該結(jié)構(gòu)中查到更詳細(xì)的信息)p 超文本結(jié)構(gòu)。超文本結(jié)構(gòu)。 ,是出現(xiàn)問題時交互式系,是

13、出現(xiàn)問題時交互式系統(tǒng)給出統(tǒng)給出的的“壞消息壞消息”。出錯信息設(shè)計得不好,。出錯信息設(shè)計得不好,將將向用戶提供無用的甚至誤導(dǎo)的信息向用戶提供無用的甚至誤導(dǎo)的信息,反而會,反而會加重用戶的挫折感。加重用戶的挫折感。 n應(yīng)該具有下述屬性應(yīng)該具有下述屬性 (1)信息應(yīng)該用用戶信息應(yīng)該用用戶可以理解可以理解的術(shù)語描述問題。的術(shù)語描述問題。(2)信息應(yīng)該提供信息應(yīng)該提供有助于從錯誤中恢復(fù)有助于從錯誤中恢復(fù)的建設(shè)性的建設(shè)性意見。意見。 (3)信息應(yīng)該指出錯誤可能信息應(yīng)該指出錯誤可能(如破如破壞數(shù)據(jù)文件壞數(shù)據(jù)文件),以便用戶檢查是否出現(xiàn)了這些問,以便用戶檢查是否出現(xiàn)了這些問題,并在確實出現(xiàn)問題時及時解決。題,

14、并在確實出現(xiàn)問題時及時解決。(4)信息應(yīng)該伴隨著信息應(yīng)該伴隨著,例如,例如,在顯示信息時同時發(fā)出在顯示信息時同時發(fā)出警告鈴聲警告鈴聲,或者信息用,或者信息用閃爍方式顯示閃爍方式顯示,或者信息用明顯表示,或者信息用明顯表示出錯的顏出錯的顏色色顯示。顯示。(5)信息信息,也就是說,不能責(zé)怪,也就是說,不能責(zé)怪用戶。用戶。 n命令行命令行曾經(jīng)是用戶和系統(tǒng)軟件交互的最常用的曾經(jīng)是用戶和系統(tǒng)軟件交互的最常用的方式,并且也曾經(jīng)廣泛地用于各種應(yīng)用軟件中。方式,并且也曾經(jīng)廣泛地用于各種應(yīng)用軟件中。n現(xiàn)在,面向窗口的現(xiàn)在,面向窗口的點擊點擊的方式的界面已經(jīng)減少的方式的界面已經(jīng)減少了用戶對命令行的依賴,但是,許多

15、高級用戶了用戶對命令行的依賴,但是,許多高級用戶仍然偏愛面向仍然偏愛面向命令行的交互方式命令行的交互方式。n在多數(shù)情況下,用戶既可以從在多數(shù)情況下,用戶既可以從菜單中選擇軟件菜單中選擇軟件功能功能,也可以通過,也可以通過鍵盤命令序列鍵盤命令序列調(diào)用軟件功能。調(diào)用軟件功能。 n必須考慮必須考慮下列設(shè)計問題下列設(shè)計問題 (1)是否每個是否每個菜單選項菜單選項都有對應(yīng)的命令都有對應(yīng)的命令?(2)采用采用何種命令形式何種命令形式?有有3種選擇:種選擇:控制序列控制序列(例如,例如,Ctrl十十P),功能鍵功能鍵和和鍵入命令鍵入命令。(3)學(xué)習(xí)和記憶命令的難度有多大學(xué)習(xí)和記憶命令的難度有多大?忘記了命令

16、怎么忘記了命令怎么辦辦?(4)用戶是否可以用戶是否可以定制定制或或縮寫命令縮寫命令? n在越來越多的應(yīng)用軟件中,人機(jī)界面設(shè)計者都在越來越多的應(yīng)用軟件中,人機(jī)界面設(shè)計者都提供了提供了“命令宏機(jī)制命令宏機(jī)制” n在理想的情況下,所有應(yīng)用軟件都在理想的情況下,所有應(yīng)用軟件都有一致的命有一致的命令使用方法。令使用方法。 6.2.2 設(shè)計過程設(shè)計過程n用用戶界面設(shè)計戶界面設(shè)計是一個是一個迭代迭代的過程,也就是說,的過程,也就是說,通常先創(chuàng)建通常先創(chuàng)建設(shè)計模型設(shè)計模型,再用,再用原型原型實現(xiàn)這個設(shè)計實現(xiàn)這個設(shè)計模型,并模型,并由用戶試用和評估由用戶試用和評估,然后根據(jù)用戶意,然后根據(jù)用戶意見進(jìn)行修改。見進(jìn)

17、行修改。n為了支持上述為了支持上述迭代過程迭代過程,各種用于界面設(shè)計和,各種用于界面設(shè)計和原型開發(fā)的軟件工具應(yīng)運而生。這些工具被稱原型開發(fā)的軟件工具應(yīng)運而生。這些工具被稱為為用戶界面工具用戶界面工具箱或箱或用戶界面開發(fā)系統(tǒng)用戶界面開發(fā)系統(tǒng)。評估標(biāo)準(zhǔn)評估標(biāo)準(zhǔn)n(1) 系統(tǒng)及其界面的系統(tǒng)及其界面的規(guī)格說明書規(guī)格說明書的的長度長度和和復(fù)雜程度復(fù)雜程度,預(yù)示了用戶學(xué)習(xí)使用該系統(tǒng)預(yù)示了用戶學(xué)習(xí)使用該系統(tǒng)所需要的工作量所需要的工作量。n(2) 命令或動作的數(shù)量、命令的平均參數(shù)個數(shù)或動作命令或動作的數(shù)量、命令的平均參數(shù)個數(shù)或動作中單個操作的個數(shù),預(yù)示了系統(tǒng)的中單個操作的個數(shù),預(yù)示了系統(tǒng)的交互時間和總體效交互

18、時間和總體效率。率。n(3) 設(shè)計模型設(shè)計模型中包含的中包含的動作動作、命令命令和和系統(tǒng)狀態(tài)的數(shù)量系統(tǒng)狀態(tài)的數(shù)量,預(yù)示了用戶學(xué)習(xí)使用該系統(tǒng)時預(yù)示了用戶學(xué)習(xí)使用該系統(tǒng)時需要記憶的內(nèi)容的多少。需要記憶的內(nèi)容的多少。n(4) 界面界面風(fēng)格風(fēng)格、幫助設(shè)施幫助設(shè)施和和出錯處理協(xié)議出錯處理協(xié)議,預(yù)示了,預(yù)示了界界面的復(fù)雜程度面的復(fù)雜程度及用戶及用戶接受該界面的程度接受該界面的程度。6.2.3 人機(jī)界面設(shè)計指南人機(jī)界面設(shè)計指南n一般一般交互指南交互指南n信息顯示信息顯示指南指南n數(shù)據(jù)輸入數(shù)據(jù)輸入指南指南1一般交互指南一般交互指南n一般交互一般交互指南涉及指南涉及信息顯示信息顯示、數(shù)據(jù)輸入數(shù)據(jù)輸入和和系系統(tǒng)整

19、體統(tǒng)整體控制控制 (1)保持一致性保持一致性。應(yīng)該為人機(jī)界面中的菜單選擇、命令。應(yīng)該為人機(jī)界面中的菜單選擇、命令輸入、數(shù)據(jù)顯示以及眾多的其他功能,使用輸入、數(shù)據(jù)顯示以及眾多的其他功能,使用一致的一致的格式。格式。(2)提供有意義的反饋提供有意義的反饋。應(yīng)向用戶提供。應(yīng)向用戶提供視覺的視覺的和和聽覺的聽覺的反饋,以保證在用戶和系統(tǒng)之間建立雙向通信。反饋,以保證在用戶和系統(tǒng)之間建立雙向通信。(3)在執(zhí)行有較大破壞性的動作之前要求用戶確認(rèn)在執(zhí)行有較大破壞性的動作之前要求用戶確認(rèn)。如。如果用戶要刪除一個文件,或覆蓋一些重要信息,或果用戶要刪除一個文件,或覆蓋一些重要信息,或終止一個程序的運行,應(yīng)該給出

20、終止一個程序的運行,應(yīng)該給出“您是否確實您是否確實要要”的信息,以請求用戶確認(rèn)他的命令。的信息,以請求用戶確認(rèn)他的命令。(4)允許取消絕大多數(shù)操作允許取消絕大多數(shù)操作。UNDO或或REVERSE功能功能曾經(jīng)使眾多終端用戶避免了大量時間浪費。每個交曾經(jīng)使眾多終端用戶避免了大量時間浪費。每個交互式系統(tǒng)都應(yīng)該互式系統(tǒng)都應(yīng)該能方便地取消已完成的操作能方便地取消已完成的操作。(5)減少在兩次操作之間必須記憶的信息量減少在兩次操作之間必須記憶的信息量。不應(yīng)該期。不應(yīng)該期望用戶能記住在望用戶能記住在下一步操作中下一步操作中需使用的一大串?dāng)?shù)字需使用的一大串?dāng)?shù)字或標(biāo)識符。應(yīng)該或標(biāo)識符。應(yīng)該盡量減少記憶量盡量減少

21、記憶量。(6)提高對話、移動和思考的效率提高對話、移動和思考的效率。應(yīng)該盡量。應(yīng)該盡量減少用戶減少用戶擊鍵的次數(shù)擊鍵的次數(shù),設(shè)計屏幕布局時應(yīng)該考慮盡量,設(shè)計屏幕布局時應(yīng)該考慮盡量減少鼠減少鼠標(biāo)移動的距離標(biāo)移動的距離,應(yīng)該盡量避免出現(xiàn)用戶問,應(yīng)該盡量避免出現(xiàn)用戶問“這是什這是什么意思么意思?”的情況。的情況。(7)允許犯錯誤允許犯錯誤。系統(tǒng)應(yīng)該能保護(hù)自己不受嚴(yán)重錯誤的。系統(tǒng)應(yīng)該能保護(hù)自己不受嚴(yán)重錯誤的破壞。破壞。 (8)按功能對動作分類按功能對動作分類,并據(jù)此設(shè)計屏幕布局并據(jù)此設(shè)計屏幕布局。下拉菜單下拉菜單的一個主要優(yōu)點就是能的一個主要優(yōu)點就是能按動作類型組織命令按動作類型組織命令。實際上,。實

22、際上,設(shè)計者應(yīng)該盡力提高命令和動作組設(shè)計者應(yīng)該盡力提高命令和動作組織的織的“內(nèi)聚性內(nèi)聚性”。(提供對用戶工作內(nèi)容敏感的幫助設(shè)施提供對用戶工作內(nèi)容敏感的幫助設(shè)施。(10)用簡單動詞或動詞短語作為命令名用簡單動詞或動詞短語作為命令名。過長的命令名。過長的命令名難于識別和記憶,也會占用過多的菜單空間。難于識別和記憶,也會占用過多的菜單空間。 顏色使用指南:顏色使用指南: n一個窗口中不應(yīng)該出現(xiàn)一個窗口中不應(yīng)該出現(xiàn)5種以上不同色系的顏色種以上不同色系的顏色。一般的,。一般的,盡量少用不同的顏色總是好的。盡量少用不同的顏色總是好的。n如果一個圖表中僅包含幾種顏色,背景應(yīng)該選用其中一種顏如果一個圖表中僅包

23、含幾種顏色,背景應(yīng)該選用其中一種顏色的補(bǔ)色:如果一幅圖中包含許多顏色,背景應(yīng)該選用一種色的補(bǔ)色:如果一幅圖中包含許多顏色,背景應(yīng)該選用一種中性的顏色,如灰色。中性的顏色,如灰色。n如果兩個相鄰的顏色不是特別和諧,可以用細(xì)的黑色邊框?qū)⑷绻麅蓚€相鄰的顏色不是特別和諧,可以用細(xì)的黑色邊框?qū)⑺鼈兎珠_。它們分開。n背景和字體顏色應(yīng)選用對比度強(qiáng)的顏色。背景和字體顏色應(yīng)選用對比度強(qiáng)的顏色。n顏色的應(yīng)用要適度,顏色的應(yīng)用要適度,裝飾性的使用服從功能性裝飾性的使用服從功能性的使用。的使用。n區(qū)域的顏色實際上能夠影響他的觀察尺寸。區(qū)域的顏色實際上能夠影響他的觀察尺寸。n使用高飽和度使用高飽和度(亮亮)顏色的大區(qū)域

24、是不明智的。顏色的大區(qū)域是不明智的。n紅色和藍(lán)色具有最強(qiáng)的深度不一致的效果,紅色看起來近,紅色和藍(lán)色具有最強(qiáng)的深度不一致的效果,紅色看起來近,藍(lán)色看起來遠(yuǎn)。藍(lán)色看起來遠(yuǎn)。黃月亮黃月亮和和藍(lán)月亮藍(lán)月亮日本立命館大學(xué)心理學(xué)家北岡秋吉設(shè)計日本立命館大學(xué)心理學(xué)家北岡秋吉設(shè)計 兩個月亮的顏色完全相同,唯一不同的便是周圍的顏色兩個月亮的顏色完全相同,唯一不同的便是周圍的顏色 懷特效應(yīng)懷特效應(yīng)左右兩邊的左右兩邊的灰條實際灰條實際是一樣的顏色,但是給人的感覺是右邊顏色比較是一樣的顏色,但是給人的感覺是右邊顏色比較深深藍(lán)寶石之光藍(lán)寶石之光 斯特魯普效應(yīng)斯特魯普效應(yīng) 2信息顯示指南信息顯示指南n如果人機(jī)界面顯示的

25、信息是如果人機(jī)界面顯示的信息是不完整的不完整的、含糊的含糊的或或難于難于理解理解的,則不能滿足用戶需求??梢杂枚喾N不同方式的,則不能滿足用戶需求。可以用多種不同方式“顯示顯示”信息:信息:用文字用文字、圖形圖形和和聲音聲音;按;按位置位置、移動移動和和大小大??;使用;使用顏色顏色、分辨率分辨率和和省略省略。 n關(guān)于關(guān)于信息顯示信息顯示的設(shè)計的設(shè)計指南指南 如下:如下:(1)只顯示與只顯示與當(dāng)前工作內(nèi)容有關(guān)當(dāng)前工作內(nèi)容有關(guān)的信息。的信息。(2)不要用不要用數(shù)據(jù)淹沒用戶數(shù)據(jù)淹沒用戶,應(yīng)該用便于用戶迅速吸取信息,應(yīng)該用便于用戶迅速吸取信息的方式來表示數(shù)據(jù)。的方式來表示數(shù)據(jù)。 (3)使用使用一致的標(biāo)記

26、一致的標(biāo)記、標(biāo)準(zhǔn)的縮寫標(biāo)準(zhǔn)的縮寫和和可預(yù)知的顏色可預(yù)知的顏色。顯示。顯示的的含義應(yīng)該非常明確含義應(yīng)該非常明確,用戶無須參照其他信息源就能,用戶無須參照其他信息源就能理解。理解。(4)允許用戶保持可視化的語境。如果對允許用戶保持可視化的語境。如果對顯示的圖形進(jìn)行顯示的圖形進(jìn)行縮放縮放,原始的圖像應(yīng)該一直顯示著原始的圖像應(yīng)該一直顯示著。(5)產(chǎn)生有意義的出錯信息產(chǎn)生有意義的出錯信息(參見參見621節(jié)節(jié))。(6)使用使用大小寫大小寫、縮進(jìn)縮進(jìn)和和文本分組文本分組以幫助理解。以幫助理解。(7)使用窗口使用窗口分隔不同類型分隔不同類型的信息。的信息。 (7)使用窗口使用窗口分隔不同類型分隔不同類型的信息

27、。的信息。 ( (8)8)使用使用“模擬模擬”顯示方式顯示方式表示信息,以使信息更容易表示信息,以使信息更容易被用戶提取。被用戶提取。 例如,顯示例如,顯示煉油廠儲油罐煉油廠儲油罐的的壓力壓力時,如果簡單地用時,如果簡單地用數(shù)字表示壓力,則不易引起用戶注意。但是,如果用數(shù)字表示壓力,則不易引起用戶注意。但是,如果用類似類似溫度計的形式來表示壓力溫度計的形式來表示壓力,用,用垂直移動和顏色變垂直移動和顏色變化來指示危險的壓力狀況化來指示危險的壓力狀況,就容易引起用戶的警覺。,就容易引起用戶的警覺。(9)(9)高效率地高效率地使用顯示屏。使用顯示屏。 當(dāng)使用多窗口時,應(yīng)該有足夠的空間使得當(dāng)使用多窗

28、口時,應(yīng)該有足夠的空間使得每個窗口每個窗口至少都能顯示出一部分至少都能顯示出一部分。此外,。此外,屏幕大小屏幕大小應(yīng)該選得和應(yīng)該選得和應(yīng)用系統(tǒng)的類型相配套。應(yīng)用系統(tǒng)的類型相配套。 3數(shù)據(jù)輸入指南數(shù)據(jù)輸入指南用戶的大部分時間用在用戶的大部分時間用在選擇命令選擇命令、輸入數(shù)據(jù)輸入數(shù)據(jù)和向系統(tǒng)和向系統(tǒng)提提供輸入供輸入。數(shù)據(jù)輸入指南設(shè)計如下:。數(shù)據(jù)輸入指南設(shè)計如下:(1)(1)盡量盡量減少用減少用戶的戶的輸入動作輸入動作。重要的是減少擊鍵次數(shù)。重要的是減少擊鍵次數(shù)。 (2)(2)保持保持信息顯示信息顯示和和數(shù)據(jù)輸入數(shù)據(jù)輸入之間的之間的一致性一致性。(3)(3)允許用戶允許用戶自定義輸入自定義輸入。(4

29、)(4)交互應(yīng)該是靈活的,并且可調(diào)整成用戶最交互應(yīng)該是靈活的,并且可調(diào)整成用戶最喜歡的輸喜歡的輸入入方式。方式。(5)(5)使在使在當(dāng)前動作語境當(dāng)前動作語境中中不適用的命令不適用的命令不起作用不起作用。(6)(6)讓用戶控制交互流。讓用戶控制交互流。 (7)(7)對所有對所有輸入動作輸入動作都提供幫助都提供幫助 (8)(8)消除冗余消除冗余的輸入。的輸入。 6.3 過程設(shè)計的工具過程設(shè)計的工具 描述描述程序處理過程程序處理過程的工具叫的工具叫程序設(shè)計工具程序設(shè)計工具,分,分為為圖形、表格、和語言圖形、表格、和語言3 3類,必須提供對設(shè)計的類,必須提供對設(shè)計的無歧無歧義義的描述,以便的描述,以便

30、控制流程控制流程、處理數(shù)據(jù)處理數(shù)據(jù)、數(shù)據(jù)組織數(shù)據(jù)組織、等方面的實現(xiàn)細(xì)節(jié)。等方面的實現(xiàn)細(xì)節(jié)。6.3.1 程序流程圖程序流程圖n程序流程圖程序流程圖又稱為又稱為程序框圖程序框圖,它是歷史最悠久、使用最,它是歷史最悠久、使用最廣泛廣泛描述過程設(shè)計描述過程設(shè)計的方法。的方法。n它的主要它的主要優(yōu)點優(yōu)點是對是對控制流程控制流程的描繪的描繪很直觀很直觀,便于初學(xué)者,便于初學(xué)者掌握。掌握。n程序流程圖歷史悠久,至今仍在廣泛使用著。程序流程圖歷史悠久,至今仍在廣泛使用著。程序流程圖中使用的符號程序流程圖中使用的符號( (a) a) 選擇選擇( (分支分支) ); (b) (b) 注釋;注釋; (c) (c)

31、預(yù)先定義的處理;預(yù)先定義的處理; (d) (d) 多分支多分支; (e) (e) 開始或停止開始或停止; (f) (f) 準(zhǔn)備;準(zhǔn)備;(g) (g) 循環(huán)上界限循環(huán)上界限; (h) (h) 循環(huán)下界循環(huán)下界; (i) (i) 虛線;虛線; (j) (j) 省略符;省略符; (k) (k) 并行方式;并行方式; (l) (l) ;(m) (m) 輸入輸出輸入輸出; (n) (n) 連接;連接; (o) (o) 換頁連接;換頁連接;(p) (p) 控制流控制流程序流程圖的主要缺點:程序流程圖的主要缺點:n程序流程圖本質(zhì)上程序流程圖本質(zhì)上不是逐步求精的好工具不是逐步求精的好工具,它誘,它誘使程序員使

32、程序員過早地考慮程序的控制流程過早地考慮程序的控制流程,而不去考,而不去考慮程序的慮程序的全局結(jié)構(gòu)全局結(jié)構(gòu)。n程序流程圖中程序流程圖中用箭頭代表控制流用箭頭代表控制流,因此程序員不,因此程序員不受任何約束,可以完全受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計的精神不顧結(jié)構(gòu)程序設(shè)計的精神,隨意隨意轉(zhuǎn)移控制轉(zhuǎn)移控制。n程序流程圖程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)不易表示數(shù)據(jù)結(jié)構(gòu)。 習(xí)題習(xí)題6-3畫出下列偽碼程序的程序流程圖程序流程圖STARTIF p THEN WHILE q DO f END DOELSE BLOCK g n END BLOCKEND IFSTOP6.3.2 盒圖盒圖(N-S圖圖) 出于要有一種

33、出于要有一種不允許違背不允許違背結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計精精神神的圖形工具的考慮,的圖形工具的考慮,Nassi和和Shneiderman提出提出了盒圖,又稱為了盒圖,又稱為N-S圖。圖。描述符號如下:描述符號如下:基本符號:基本符號:(a) (a) 順序;順序; (b) (b) IF_THEN_ELSEIF_THEN_ELSE型分支型分支; (c) CASE(c) CASE型多分支型多分支; (d) (d) 循環(huán);循環(huán); (e) (e) 調(diào)用子程序調(diào)用子程序A A畫出下列畫出下列最簡單的盒圖最簡單的盒圖: I=20 if I0 then 執(zhí)行訂單數(shù)據(jù)輸入模塊執(zhí)行訂單數(shù)據(jù)輸入模塊 else 報告

34、出錯信息報告出錯信息 end if N 一一 S 圖的嵌套定義形式圖的嵌套定義形式FTBCDACase1E2F3G4HA:盒圖例盒圖例1盒圖例盒圖例2盒圖具有下述特點:盒圖具有下述特點: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)。畫出下列偽碼程序的盒圖盒圖STARTIF p THEN WHILE q DO f END DOELSE BLOCK g n END BLOCKEND IFSTOP習(xí)題習(xí)題6-36.3.

35、3 PAD圖圖nPAD是問題分析圖是問題分析圖(problem analysis diagram)的英文縮寫,自的英文縮寫,自1973年由日本日立公司發(fā)明以年由日本日立公司發(fā)明以后,已得到一定程度的推廣。后,已得到一定程度的推廣。n它用它用二維樹形結(jié)構(gòu)二維樹形結(jié)構(gòu)的圖來表示程序的控制流,的圖來表示程序的控制流,將將這種圖翻譯成程序代碼比較容易這種圖翻譯成程序代碼比較容易。 PAD圖的基本符號圖的基本符號PAD圖的基本符號如下:圖的基本符號如下:(a)順序)順序(先執(zhí)行先執(zhí)行P1后執(zhí)行后執(zhí)行P2);(b)選擇)選擇(IF C THEN P1 ELSE P2); (c)CASE型多分支;型多分支;

36、(d)WHILE型循環(huán)型循環(huán)( WHILE C DO P );(e)UNTIL型循環(huán)型循環(huán)(REPEAT P UNTIL C); (f)語句標(biāo)號;)語句標(biāo)號; (g)定義)定義畫出下列畫出下列最簡單的最簡單的PAD圖圖: I=20 if I0 then 執(zhí)行訂單數(shù)據(jù)輸入模塊執(zhí)行訂單數(shù)據(jù)輸入模塊 else 報告出錯信息報告出錯信息 end if P1P2UNTIL C2P7P4P3Cdefa.初始的初始的PAD圖圖b.使用使用def符號細(xì)化處理框符號細(xì)化處理框P2P5P2P8C1UNTIL C2P9P10P6PAD 描述的示例描述的示例1PAD 描述的示例描述的示例2PAD圖的主要優(yōu)點如下:圖的

37、主要優(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)換成高級語言源程序,這種轉(zhuǎn)換圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用可用軟件工具自動完成軟件工具自動完成。n即可表示即可表示程序邏輯程序邏輯,也可描繪,也可描繪數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)。nPAD圖的符號圖的符號支持自頂向下支持自頂向下、逐步求精逐步求精方法的使方法的使用。用。n例題:例題:某某程序程序流程圖流程

38、圖如右圖如右圖所示,請分別所示,請分別用用N-S圖圖和和PAD圖圖表示。表示。 a UNTIL x8jbice WHILE x5dx1x2x3x4fgh UNTIL x7x6xi=PAD圖:圖:x8ajx1bTFfx6TFx7ighCASE xix2x4x3x5cdeN-S圖:圖:6.3.4 判定表判定表n當(dāng)算法中包含當(dāng)算法中包含多重嵌套的條件選擇多重嵌套的條件選擇時,用時,用程序程序流程圖流程圖、盒圖盒圖、PAD圖圖或后面即將介紹的過程或后面即將介紹的過程設(shè)計語言設(shè)計語言(PDL)都不易清楚地描述。都不易清楚地描述。n判定表卻能夠清晰地表示判定表卻能夠清晰地表示復(fù)雜的條件組合復(fù)雜的條件組合與

39、與應(yīng)應(yīng)做的動作之間做的動作之間的對應(yīng)關(guān)系。的對應(yīng)關(guān)系。 一張判定表由一張判定表由4部分組成:部分組成:n左上部列出左上部列出所有條件所有條件;n左下部是左下部是所有可能做的動作所有可能做的動作;n右上部是表示各種條件右上部是表示各種條件組合的一個矩陣組合的一個矩陣;n右下部是和每種右下部是和每種條件組合相對應(yīng)的動作條件組合相對應(yīng)的動作。 所有條件所有條件條件組合矩陣條件組合矩陣所有動作所有動作條件組合條件組合對應(yīng)的動作對應(yīng)的動作例題:例題:用用判定表判定表表示表示“檢查訂貨單檢查訂貨單”程程序序IF 客戶訂貨金額超過客戶訂貨金額超過500元元 THEN IF 客戶拖延未還賒欠錢款超過客戶拖延未

40、還賒欠錢款超過60天天 THEN 在償還欠款前不予批準(zhǔn)在償還欠款前不予批準(zhǔn) ELSE (拖延未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFELSE (客戶訂貨金額未超過客戶訂貨金額未超過500元元) IF 客戶拖延未還賒欠錢款超過客戶拖延未還賒欠錢款超過60天天 THEN 發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書 ELSE (拖延未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFENDIF例題:例題:n假設(shè)某航空公司規(guī)定,乘客可以免費托運重量假設(shè)某航空公司規(guī)定,乘客可以免費托

41、運重量不超過不超過30kg的行李。的行李。n當(dāng)行李重量超過當(dāng)行李重量超過30kg時,對頭等艙的國內(nèi)乘客時,對頭等艙的國內(nèi)乘客超重部分每公斤收費超重部分每公斤收費4元,對其他艙的國內(nèi)乘元,對其他艙的國內(nèi)乘客超重部分每公斤收費客超重部分每公斤收費6元。元。n對外國乘客超重部分每公斤收費比國內(nèi)乘客多對外國乘客超重部分每公斤收費比國內(nèi)乘客多一倍,對殘疾乘客超重部分每公斤收費比正常一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一半。乘客少一半。表表6.1 用判定表表示計算行李費的算法用判定表表示計算行李費的算法123456789國內(nèi)乘客國內(nèi)乘客TTTTFFFF頭等艙頭等艙TFTFTFTF殘疾乘客殘疾乘客

42、FFTTFFTT行李重量行李重量 W 30TFFFFFFFF免費免費(W-30)2(W-30)3(W-30)4(W-30)6(W-30)8(W-30)12例題:例題:n某校制定了教師的講課課時津貼標(biāo)準(zhǔn)。對于各某校制定了教師的講課課時津貼標(biāo)準(zhǔn)。對于各種性質(zhì)的講座,無論教師是什么職稱,每課時種性質(zhì)的講座,無論教師是什么職稱,每課時津貼費一律是津貼費一律是50元;元;n對于一般的授課,則根據(jù)教師的職稱來決定每對于一般的授課,則根據(jù)教師的職稱來決定每課時津貼費:教授課時津貼費:教授30元,副教授元,副教授25元,講師元,講師20元,助教元,助教15元。元。n請分別用判定表表示津貼標(biāo)準(zhǔn)。請分別用判定表表

43、示津貼標(biāo)準(zhǔn)。 1520253050FFFFT講座講座TFFF助教助教FTFF講師講師FFTF副教授副教授FFFT教授教授54321判定表:判定表:判定表的優(yōu)點:判定表的優(yōu)點:n能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。間的對應(yīng)關(guān)系。判定表的缺點:判定表的缺點: n判定表的含義不是一眼就能看出來的,初次接判定表的含義不是一眼就能看出來的,初次接觸這種工具的人理解它需要有一個簡短的學(xué)習(xí)觸這種工具的人理解它需要有一個簡短的學(xué)習(xí)過程。過程。n當(dāng)數(shù)據(jù)元素的值多于兩個時,判定表的簡潔程當(dāng)數(shù)據(jù)元素的值多于兩個時,判定表的簡潔程度也將下降。度也將下降。n判定

44、樹是判定表的變種,也能清晰地表示復(fù)雜判定樹是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。n多年來判定樹一直受到人們的重視,是一種比多年來判定樹一直受到人們的重視,是一種比較常用的系統(tǒng)分析和設(shè)計的工具。較常用的系統(tǒng)分析和設(shè)計的工具。6.3.5 判定樹判定樹用判定樹表示計算行李費的算法用判定樹表示計算行李費的算法判定樹的優(yōu)點:判定樹的優(yōu)點:n它的形式簡單,一眼就可以看出其含義,因此它的形式簡單,一眼就可以看出其含義,因此易于掌握和使用。易于掌握和使用。判定樹的缺點:判定樹的缺點:n簡潔性不如判定表,數(shù)據(jù)元素的同一個值往往簡潔性不如判定

45、表,數(shù)據(jù)元素的同一個值往往要重復(fù)寫多遍,而且越接近樹的葉端重復(fù)次數(shù)要重復(fù)寫多遍,而且越接近樹的葉端重復(fù)次數(shù)越多。越多。n畫判定樹時分枝的次序可能對最終畫出的判定畫判定樹時分枝的次序可能對最終畫出的判定樹的簡潔程度有較大影響。(樹的簡潔程度有較大影響。(注若不是以重量作注若不是以重量作為第一個分支,將有為第一個分支,將有16片樹葉片樹葉) 例題:例題:用用判定樹判定樹表示表示“檢查訂貨單檢查訂貨單”程序程序IF 客戶訂貨金額超過客戶訂貨金額超過500元元 THEN IF 客戶拖延未還賒欠錢款超過客戶拖延未還賒欠錢款超過60天天 THEN 在償還欠款前不予批準(zhǔn)在償還欠款前不予批準(zhǔn) ELSE (拖延

46、未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFELSE (客戶訂貨金額未超過客戶訂貨金額未超過500元元) IF 客戶拖延未還賒欠錢款超過客戶拖延未還賒欠錢款超過60天天 THEN 發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書 ELSE (拖延未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFENDIF例題:例題:n某校制定了教師的講課課時津貼標(biāo)準(zhǔn)。對于各某校制定了教師的講課課時津貼標(biāo)準(zhǔn)。對于各種性質(zhì)的講座,無論教師是什么職稱,每課時種性質(zhì)的講座,無論教師是什么職稱,每課時津貼費

47、一律是津貼費一律是50元;元;n對于一般的授課,則根據(jù)教師的職稱來決定每對于一般的授課,則根據(jù)教師的職稱來決定每課時津貼費:教授課時津貼費:教授30元,副教授元,副教授25元,講師元,講師20元,助教元,助教15元。元。n請分別用判定樹表示津貼標(biāo)準(zhǔn)。請分別用判定樹表示津貼標(biāo)準(zhǔn)。 課時津貼課時津貼一般授課一般授課講座講座教授教授副教授副教授講師講師助教助教3025201550判定樹:判定樹:6.3.6 過程設(shè)計語言過程設(shè)計語言n過程設(shè)計語言過程設(shè)計語言(PDL)也稱為偽碼,它是用正文也稱為偽碼,它是用正文形式表示數(shù)據(jù)和處理過程的設(shè)計工具。形式表示數(shù)據(jù)和處理過程的設(shè)計工具。nPDL具有嚴(yán)格的具有嚴(yán)

48、格的關(guān)鍵字外部語法關(guān)鍵字外部語法,用于定義,用于定義控控制結(jié)構(gòu)制結(jié)構(gòu)和和數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu);另一方面,;另一方面,PDL表示表示實際實際操作操作和條件的和條件的內(nèi)部語法通常內(nèi)部語法通常又是靈活自由的,又是靈活自由的,可以適應(yīng)各種工程項目的需要??梢赃m應(yīng)各種工程項目的需要。nPDL是一種是一種“混雜混雜”語言,它使用一種語言的語言,它使用一種語言的詞匯,同時卻使用另一種語言的語法。詞匯,同時卻使用另一種語言的語法。 偽代碼的基本控制結(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

49、循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu):WHILE_DO或或REPEAT_UNTIL結(jié)結(jié)構(gòu)。構(gòu)。例例1:最簡單的判斷的最簡單的判斷的PDL 語言語言 I=20 if I0 then 執(zhí)行訂單數(shù)據(jù)輸入模塊執(zhí)行訂單數(shù)據(jù)輸入模塊 else 報告出錯信息報告出錯信息 end if 例例2:檢查訂貨單:檢查訂貨單IF 客戶訂貨金額超過客戶訂貨金額超過5000元元 THEN IF 客戶拖延未還賒欠錢款超過客戶拖延未還賒欠錢款超過60天天 THEN 在償還欠款前不予批準(zhǔn)在償還欠款前不予批準(zhǔn) ELSE (拖延未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFELSE (客戶訂貨金額未

50、超過客戶訂貨金額未超過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)鍵字的固定語法,它提供了關(guān)鍵字的固定語法,它提供了結(jié)構(gòu)化控制結(jié)構(gòu)結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊化的特點。數(shù)據(jù)說明和模塊化的特點。n自然語言的自由語法,它描述處理特點。自然語言的自由語法,它描述處理特點。n數(shù)據(jù)說明的手段。應(yīng)該既包括簡單的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)說明的手段。應(yīng)該既包括簡

51、單的數(shù)據(jù)結(jié)構(gòu),又包括復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。又包括復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。n模塊定義模塊定義和和調(diào)用的技術(shù)調(diào)用的技術(shù),應(yīng)該提供各種接口描述,應(yīng)該提供各種接口描述模式。模式。 PDL的優(yōu)點:的優(yōu)點:n可以作為注釋直接插在源程序中間。有助于保持可以作為注釋直接插在源程序中間。有助于保持文檔和程序的一致性,提高了文檔的質(zhì)量。文檔和程序的一致性,提高了文檔的質(zhì)量。n可以使用普通的正文編輯程序或文字處理系統(tǒng),可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便地完成很方便地完成PDL的書寫和編輯工作。的書寫和編輯工作。n已經(jīng)有自動處理程序存在,而且可以自動由已經(jīng)有自動處理程序存在,而且可以自動由PDL生成程序代碼。生成程序

52、代碼。PDL的缺點:的缺點:n不如圖形工具形象直觀,描述復(fù)雜的條件組合與不如圖形工具形象直觀,描述復(fù)雜的條件組合與動作間的對應(yīng)關(guān)系時,不如判定表清晰簡單動作間的對應(yīng)關(guān)系時,不如判定表清晰簡單。 6.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法n數(shù)據(jù)結(jié)構(gòu)既影響數(shù)據(jù)結(jié)構(gòu)既影響程序的結(jié)構(gòu)程序的結(jié)構(gòu)又影響又影響程序的處理程序的處理過程過程q重復(fù)出現(xiàn)重復(fù)出現(xiàn)的數(shù)據(jù)通常由具有的數(shù)據(jù)通常由具有循環(huán)控制結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)的程序來的程序來處理處理q選擇數(shù)據(jù)選擇數(shù)據(jù)要用帶有要用帶有分支控制結(jié)構(gòu)分支控制結(jié)構(gòu)的程序來處理的程序來處理q層次的數(shù)據(jù)組織層次的數(shù)據(jù)組織通常和使用這些數(shù)據(jù)的通常和使用這些數(shù)據(jù)的程序的層次程序

53、的層次結(jié)構(gòu)結(jié)構(gòu)十分相似。十分相似。n面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法的根據(jù)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法的根據(jù)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)最終得出最終得出對程序處理過程對程序處理過程的描述。最適合在的描述。最適合在詳細(xì)階段詳細(xì)階段使用使用6.4.1 Jackson圖圖數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)元素數(shù)據(jù)元素彼此間的邏輯關(guān)系通常有順序、彼此間的邏輯關(guān)系通常有順序、選擇、和重復(fù)選擇、和重復(fù)3類:類:n順序結(jié)構(gòu)順序結(jié)構(gòu),順序結(jié)構(gòu)的數(shù)據(jù)由一個或多個數(shù)據(jù),順序結(jié)構(gòu)的數(shù)據(jù)由一個或多個數(shù)據(jù)元素組成,每個元素按確定次序出現(xiàn)一次。元素組成,每個元素按確定次序出現(xiàn)一次。 A由由B、C、D 3個元個元素順序組成素順序組成(每個元素每個元素只出現(xiàn)一次

54、,出現(xiàn)的只出現(xiàn)一次,出現(xiàn)的次序依次是次序依次是B、C和和D)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ù)時按一定條件從這些數(shù)據(jù)元素中選擇一個。從這些數(shù)據(jù)元素中選擇一個。 根據(jù)條件A是B或C或D中的某一個(注意,在B、C和D的右上角有小圓圈做標(biāo)記)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ù)元素的條件由一個數(shù)據(jù)元素出現(xiàn)零次或多次出現(xiàn)零次或多次構(gòu)構(gòu)成成A由B出現(xiàn)N次(N0)組成(注意,在B的右上角有星號標(biāo)記星號標(biāo)記)Jackson圖的優(yōu)點:圖的優(yōu)點:n便于

55、表示層次結(jié)構(gòu),而且是對結(jié)構(gòu)進(jìn)行自頂向下便于表示層次結(jié)構(gòu),而且是對結(jié)構(gòu)進(jìn)行自頂向下分解的有力工具;分解的有力工具;n形象直觀可讀性好;形象直觀可讀性好;n既能表示既能表示數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)也能表示也能表示程序結(jié)構(gòu)程序結(jié)構(gòu)。Jackson圖的缺點:圖的缺點:n表示表示選擇選擇或或重復(fù)重復(fù)結(jié)構(gòu)時,選擇條件或循環(huán)結(jié)束條結(jié)構(gòu)時,選擇條件或循環(huán)結(jié)束條件不能件不能直接在圖上表示出來直接在圖上表示出來,影響了圖的表達(dá)能,影響了圖的表達(dá)能力,也不易直接把圖翻譯成程序;力,也不易直接把圖翻譯成程序;n框間連線為斜線,不易在框間連線為斜線,不易在行式打印機(jī)上輸出行式打印機(jī)上輸出。 6.4.2 改進(jìn)的改進(jìn)的Jackso

56、n圖圖 1 1、順序結(jié)構(gòu)、順序結(jié)構(gòu),B B、C C、D D中任一個都中任一個都不能是選擇出現(xiàn)不能是選擇出現(xiàn)或重復(fù)出現(xiàn)的數(shù)或重復(fù)出現(xiàn)的數(shù)據(jù)元素?fù)?jù)元素( (即不能是即不能是右上角有小圓圈右上角有小圓圈或星號標(biāo)記的元或星號標(biāo)記的元素素) );6.4.2 改進(jìn)的改進(jìn)的Jackson圖圖 2 2、選擇結(jié)構(gòu)、選擇結(jié)構(gòu),S S右右面括號中的數(shù)字面括號中的數(shù)字i i是分支條件的編號;是分支條件的編號;3 3、可選結(jié)構(gòu)、可選結(jié)構(gòu),A A或或者是元素者是元素B B或者不或者不出現(xiàn);出現(xiàn);6.4.2 改進(jìn)的改進(jìn)的Jackson圖圖 4 4、重復(fù)結(jié)、重復(fù)結(jié)構(gòu)構(gòu),循環(huán),循環(huán)結(jié)束條件結(jié)束條件的編號為的編號為i i。Jac

57、kson圖和層次圖的區(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ù)元素幾個語句幾個語句模塊模塊連線連線組成關(guān)系組成關(guān)系調(diào)用關(guān)系調(diào)用關(guān)系上節(jié)知識回顧上節(jié)知識回顧1、程序流程圖 程序流程圖程序流程圖又稱為又稱為程序框圖程序框圖,主要,主要優(yōu)點優(yōu)點是對是對控制流程控制流程的的描繪描繪很直觀很直觀,便于初學(xué)者掌握。,便于初學(xué)者掌握。上節(jié)知識回顧上節(jié)知識回顧2、盒圖(N-S圖) 出于一種不允許違背出于一種不允許違背結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計精神的圖形工具。精神的圖形工具。上節(jié)知識回顧上節(jié)知識回顧

58、3、PAD圖圖 PAD是是問題分析圖問題分析圖,它用二維樹形結(jié)構(gòu)的圖來表示程序的控,它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流。制流。(a)順序)順序(先執(zhí)行先執(zhí)行P1后執(zhí)行后執(zhí)行P2);(b)選擇)選擇(IF C THEN P1 ELSE P2); (c)CASE型多分支;型多分支;(d)WHILE型循環(huán)型循環(huán)( WHILE C DO P );(e)UNTIL型循環(huán)型循環(huán)(REPEAT P UNTIL C); (f)語句標(biāo)號;)語句標(biāo)號; (g)定義)定義上節(jié)知識回顧上節(jié)知識回顧4、判定表、判定表清晰地表示清晰地表示復(fù)雜的條件組合復(fù)雜的條件組合與與應(yīng)做的動作之間應(yīng)做的動作之間的的對應(yīng)關(guān)系對應(yīng)關(guān)系

59、。所有條所有條件件條件組合條件組合矩陣矩陣所有動所有動作作條件組合條件組合對應(yīng)的動對應(yīng)的動作作上節(jié)知識回顧上節(jié)知識回顧5、判定樹、判定樹是是判定表的變種判定表的變種,也能清晰地表示,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系作之間的對應(yīng)關(guān)系。上節(jié)知識回顧上節(jié)知識回顧6、過程設(shè)計語言、過程設(shè)計語言 也稱偽碼也稱偽碼,是一種介于是一種介于自然語言自然語言和和形式化語言形式化語言之間的語言,用于描述之間的語言,用于描述功功能模塊能模塊的的算法設(shè)計算法設(shè)計和和處理細(xì)節(jié)處理細(xì)節(jié)的語言。的語言。例:檢查訂貨單例:檢查訂貨單程序的程序的PDLIF 客戶訂貨金額超過客戶訂貨

60、金額超過5000元元 THEN IF 客戶拖延未還賒欠錢款超過客戶拖延未還賒欠錢款超過60天天 THEN 在償還欠款前不予批準(zhǔn)在償還欠款前不予批準(zhǔn) ELSE (拖延未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFELSE (客戶訂貨金額未超過客戶訂貨金額未超過5000元元) IF 客戶拖延未還賒欠錢款超過客戶拖延未還賒欠錢款超過60天天 THEN 發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書 ELSE (拖延未還賒欠錢款不超過拖延未還賒欠錢款不超過60天天) 發(fā)批準(zhǔn)書,發(fā)貨單發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFENDIF上節(jié)知識回顧上

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論