版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六章第六章 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn) - -編碼編碼 程序編碼的目的程序編碼的目的 結(jié)構(gòu)化程序設(shè)計(jì)的原則結(jié)構(gòu)化程序設(shè)計(jì)的原則 自頂向下,逐步細(xì)化的程序方法自頂向下,逐步細(xì)化的程序方法 程序復(fù)雜度的度量程序復(fù)雜度的度量 程序效率程序效率 人機(jī)交互程序設(shè)計(jì)人機(jī)交互程序設(shè)計(jì)2022-5-28 編碼的目的編碼的目的 是使用選定的程序設(shè)計(jì)語(yǔ)言,把模塊的過(guò)程是使用選定的程序設(shè)計(jì)語(yǔ)言,把模塊的過(guò)程性描述翻譯為用該語(yǔ)言書寫的源程序(源代碼)性描述翻譯為用該語(yǔ)言書寫的源程序(源代碼)模塊的過(guò)程性描述模塊的過(guò)程性描述 ( (不可執(zhí)行的不可執(zhí)行的) ) 源程序源程序( (可執(zhí)行的可執(zhí)行的) )編碼編碼6.1 6.1 編碼
2、的目的編碼的目的2022-5-28清晰性清晰性效率效率開發(fā)開發(fā)時(shí)間時(shí)間程序程序輸出輸出內(nèi)存數(shù)內(nèi)存數(shù)語(yǔ)句數(shù)語(yǔ)句數(shù)程序可讀性最佳程序可讀性最佳輸出可讀性最佳輸出可讀性最佳占內(nèi)存最小占內(nèi)存最小語(yǔ)句數(shù)最少語(yǔ)句數(shù)最少開發(fā)時(shí)間最短開發(fā)時(shí)間最短1-21-245321433351243521442-352-31編碼要求編碼要求結(jié)果結(jié)果 名次名次評(píng)判項(xiàng)目評(píng)判項(xiàng)目Winberg Winberg 的程序?qū)嶒?yàn)結(jié)果的程序?qū)嶒?yàn)結(jié)果2022-5-28 結(jié)構(gòu)化程序設(shè)計(jì)是一種設(shè)計(jì)程序的技術(shù),它采用結(jié)構(gòu)化程序設(shè)計(jì)是一種設(shè)計(jì)程序的技術(shù),它采用“自頂向下,逐步細(xì)化自頂向下,逐步細(xì)化”的設(shè)計(jì)方法和單入口的設(shè)計(jì)方法和單入口( (Sing
3、le entry)Single entry)單出口(單出口(Single exitSingle exit)的控制結(jié)構(gòu)。的控制結(jié)構(gòu)。 這種控制結(jié)構(gòu)包括有:這種控制結(jié)構(gòu)包括有: 順序、選擇和循環(huán)。順序、選擇和循環(huán)。 6.2 6.2 結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì) (Structured ProgrammingStructured Programming)2022-5-28 for(a=1,b=1;a=100,a+) for(a=1,b=1;a=20) if (b=20) break; break; if (b%3=1) if (b%3=1) b+=3; b+=3; continue; continu
4、e; b-=5; b-=5; 單入口單入口單出口單出口2022-5-28ABA,B,CBCAC打印BFTFTTF打印C打印A If (A.LT.B) goto 120 If (B.LT.C) goto 110100 write(6,*) C goto 140 110 write(6,*) B goto 140 120 If(A.LT.C) goto 130 goto 100 130 write(6,*) A 140 continue - - 單入口多出口結(jié)構(gòu)單入口多出口結(jié)構(gòu) M22022-5-28無(wú)節(jié)制地使用了無(wú)節(jié)制地使用了GOTOGOTO語(yǔ)句所產(chǎn)生的程序流程語(yǔ)句所產(chǎn)生的程序流程 M 2022
5、-5-28 一、結(jié)構(gòu)化程序設(shè)計(jì)的原則一、結(jié)構(gòu)化程序設(shè)計(jì)的原則1 1、使用語(yǔ)言中的順序、選擇、重復(fù)等有限的基本控制、使用語(yǔ)言中的順序、選擇、重復(fù)等有限的基本控制 結(jié)構(gòu)表示程序結(jié)構(gòu)表示程序2 2、選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口、選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口 3 3、程序語(yǔ)句組成容易識(shí)別的塊(、程序語(yǔ)句組成容易識(shí)別的塊(BlockBlock), ,每塊只有一個(gè)每塊只有一個(gè) 入口和一個(gè)出口入口和一個(gè)出口4 4、復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)、復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn) 5 5、嚴(yán)格控制、嚴(yán)格控制GOTOGOTO語(yǔ)句語(yǔ)句2022-5-28 F0=F(
6、a); F1=F(b); if(F0*F1=0) X0=a; X1=b; for(i=1;i=n;i+) Xm=(X0+X1)/2; Fm=F(Xm); if(abs(Fm)eps|abs(X1-X0)0) X0=Xm; F0=Fm; else X1=Xm; finish: printf(“%dn”,Xm); 2022-5-28Begin(F0*F1)0 X0=Xm X1=Xm F0=Fm TTXmFTFF F0=F(a) F1=F(b)11End22 i=n i Q=abs(Fm)eps|abs(X1-X0)eps)2022-5-28 F0=F(a); F1=F(b); if(F0*F1=0
7、) X0=a; X1=b; i=1; finish=0; while(i=n & finish=0) Xm=(X0+X1)/2; Fm=F(Xm); if(abs(Fm)eps|abs(X1-X0)0) X0=Xm; F0=Fm; else X1=Xm; i+; printf(“%dn”,Xm); 2022-5-28二、程序設(shè)計(jì)自頂向下,逐步求精二、程序設(shè)計(jì)自頂向下,逐步求精1 1、程序設(shè)計(jì)是一個(gè)由粗到細(xì)的、程序設(shè)計(jì)是一個(gè)由粗到細(xì)的 “ “漸進(jìn)漸進(jìn)” ” 的過(guò)程的過(guò)程 2 2、程序設(shè)計(jì)不僅包括對(duì)控制結(jié)構(gòu)的設(shè)計(jì),也包括對(duì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。、程序設(shè)計(jì)不僅包括對(duì)控制結(jié)構(gòu)的設(shè)計(jì),也包括對(duì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。
8、 二者都要一步一步地細(xì)化。二者都要一步一步地細(xì)化。 采用逐步細(xì)化方法采用逐步細(xì)化方法設(shè)計(jì)程序的步驟設(shè)計(jì)程序的步驟列出問(wèn)題的初步解列出問(wèn)題的初步解分解主要問(wèn)題分解主要問(wèn)題繼續(xù)細(xì)化繼續(xù)細(xì)化利用圖形工具或偽代碼利用圖形工具或偽代碼描述程序的詳細(xì)邏輯描述程序的詳細(xì)邏輯2022-5-28用逐步細(xì)化方法設(shè)計(jì)一個(gè)程序,其功能為用逐步細(xì)化方法設(shè)計(jì)一個(gè)程序,其功能為“從一組數(shù)中找出最大的數(shù)從一組數(shù)中找出最大的數(shù) ” ” 第一步:列出問(wèn)題的初步解第一步:列出問(wèn)題的初步解1:輸入一組數(shù):輸入一組數(shù)2:找出其中最大的數(shù):找出其中最大的數(shù)3:輸出最大的數(shù):輸出最大的數(shù)2022-5-28第二步:分解主要問(wèn)題第二步:分解主
9、要問(wèn)題2.1:首先讀入一個(gè)數(shù)并設(shè)其為最大的數(shù):首先讀入一個(gè)數(shù)并設(shè)其為最大的數(shù)2.2:將該數(shù)逐次與其它數(shù)進(jìn)行比較:將該數(shù)逐次與其它數(shù)進(jìn)行比較2.3:若有大于該數(shù)的則將其保存:若有大于該數(shù)的則將其保存2022-5-28第三步:確定數(shù)據(jù)結(jié)構(gòu)第三步:確定數(shù)據(jù)結(jié)構(gòu)3.1:定義一數(shù)組:定義一數(shù)組 A3.2:max=A(1)3.3:從:從A(2)至至A(n)開始比較開始比較3.4:若當(dāng)前數(shù)大于:若當(dāng)前數(shù)大于max, 則令:則令:max=A(I)2022-5-28第四步:用第四步:用PDLPDL描述描述input array Aset max=A(1)DO for I=2 to N IF maxA(I) Se
10、t max=A(I) ENDIFENDDOprint max2022-5-28三、程序復(fù)雜性的度量三、程序復(fù)雜性的度量 程序復(fù)雜性主要是指模塊內(nèi)部程序的復(fù)雜性。它程序復(fù)雜性主要是指模塊內(nèi)部程序的復(fù)雜性。它 直直接關(guān)系到軟件開發(fā)費(fèi)用的多少,開發(fā)周期的長(zhǎng)短和接關(guān)系到軟件開發(fā)費(fèi)用的多少,開發(fā)周期的長(zhǎng)短和 軟件軟件和軟件內(nèi)部潛伏錯(cuò)誤的多少。同時(shí)它也是軟件可和軟件內(nèi)部潛伏錯(cuò)誤的多少。同時(shí)它也是軟件可 理解性理解性的另一種度量。的另一種度量。2022-5-28 它可以用來(lái)計(jì)算任何一個(gè)程序的復(fù)雜性;它可以用來(lái)計(jì)算任何一個(gè)程序的復(fù)雜性; 對(duì)于不合理的程序,例如對(duì)于長(zhǎng)度動(dòng)態(tài)增長(zhǎng)的程序,對(duì)于不合理的程序,例如對(duì)于
11、長(zhǎng)度動(dòng)態(tài)增長(zhǎng)的程序, 或者對(duì)于原則上無(wú)法排錯(cuò)的程序,不應(yīng)當(dāng)使用它進(jìn)行或者對(duì)于原則上無(wú)法排錯(cuò)的程序,不應(yīng)當(dāng)使用它進(jìn)行 復(fù)雜性計(jì)算;復(fù)雜性計(jì)算; 如果程序中指令條數(shù)、附加存儲(chǔ)量、計(jì)算時(shí)間增多,如果程序中指令條數(shù)、附加存儲(chǔ)量、計(jì)算時(shí)間增多, 不會(huì)減少程序的復(fù)雜性。不會(huì)減少程序的復(fù)雜性。為了度量程序復(fù)雜性,要求復(fù)雜性度量應(yīng)滿足以下假設(shè):為了度量程序復(fù)雜性,要求復(fù)雜性度量應(yīng)滿足以下假設(shè):2022-5-28 如果設(shè)每行代碼的出錯(cuò)率為每如果設(shè)每行代碼的出錯(cuò)率為每100100行源程序中可能的錯(cuò)誤行源程序中可能的錯(cuò)誤數(shù)目。例如,每行代碼的出錯(cuò)率為數(shù)目。例如,每行代碼的出錯(cuò)率為 1% 1%,也就是說(shuō),每,也就是說(shuō)
12、,每 100 100 行行源程序中就可能有一個(gè)錯(cuò)誤。源程序中就可能有一個(gè)錯(cuò)誤。 1 1、代碼行度量法代碼行度量法 :統(tǒng)計(jì)程序中的源代碼的行數(shù)統(tǒng)計(jì)程序中的源代碼的行數(shù)較小的程序較小的程序 - -1.3%1.3%1.8%/1.8%/行行較大的程序較大的程序 - -2.7%2.7%3.2%/3.2%/行行2022-5-28 該方法是利用程序模塊的程序圖中環(huán)路的個(gè)數(shù),來(lái)該方法是利用程序模塊的程序圖中環(huán)路的個(gè)數(shù),來(lái)計(jì)算程序的復(fù)雜性的。為此,該方法也稱為環(huán)路復(fù)雜度計(jì)算程序的復(fù)雜性的。為此,該方法也稱為環(huán)路復(fù)雜度計(jì)算法。計(jì)算法。 2 2、McCabe McCabe 度量法度量法:利用程序的控制流來(lái)度量程序的
13、復(fù)雜性利用程序的控制流來(lái)度量程序的復(fù)雜性 它是一種退化了的程序流程圖。即它是一種退化了的程序流程圖。即: :把程序把程序流程圖中每個(gè)處理符號(hào)都退化成一個(gè)流程圖中每個(gè)處理符號(hào)都退化成一個(gè)結(jié)點(diǎn)結(jié)點(diǎn),而原來(lái)流程圖中的流程線,則變成連接不同而原來(lái)流程圖中的流程線,則變成連接不同結(jié)點(diǎn)的結(jié)點(diǎn)的有向弧。有向弧。2022-5-28(1)(1)程序圖符號(hào)程序圖符號(hào)2022-5-282022-5-28(2)(2)從流程圖導(dǎo)出程序圖從流程圖導(dǎo)出程序圖 2022-5-28(3)(3)環(huán)路復(fù)雜性的計(jì)算方法環(huán)路復(fù)雜性的計(jì)算方法 V(G)=m-n+p 說(shuō)明:說(shuō)明: V(G) 是有向圖是有向圖G中環(huán)路數(shù);中環(huán)路數(shù); m: 為
14、圖為圖G中弧數(shù);中弧數(shù); n: 為圖為圖G中節(jié)點(diǎn)數(shù);中節(jié)點(diǎn)數(shù); p: 為圖為圖G中強(qiáng)連通分量個(gè)數(shù)中強(qiáng)連通分量個(gè)數(shù); A B C D E F G H K L I McCabe 的環(huán)路復(fù)的環(huán)路復(fù)雜性度量值為雜性度量值為 32022-5-28請(qǐng)將右側(cè)給出的請(qǐng)將右側(cè)給出的程序流程圖轉(zhuǎn)換程序流程圖轉(zhuǎn)換為程序圖并計(jì)算為程序圖并計(jì)算其環(huán)路值。其環(huán)路值。a=20b%3=1 b+=3 a+ b-=5TFFT a=0,b=12022-5-28 程序的環(huán)路復(fù)雜度則取決于程序控制流的復(fù)雜度,也就程序的環(huán)路復(fù)雜度則取決于程序控制流的復(fù)雜度,也就 是取決于程序結(jié)構(gòu)的復(fù)雜程度。當(dāng)程序內(nèi)分支或循環(huán)個(gè)數(shù)增是取決于程序結(jié)構(gòu)的復(fù)雜
15、程度。當(dāng)程序內(nèi)分支或循環(huán)個(gè)數(shù)增 加時(shí),則相應(yīng)地環(huán)域復(fù)雜度也隨之增加。因此,它是對(duì)測(cè)試加時(shí),則相應(yīng)地環(huán)域復(fù)雜度也隨之增加。因此,它是對(duì)測(cè)試 難度的一種定量度量,也能對(duì)軟件最終的可靠性給出某種預(yù)難度的一種定量度量,也能對(duì)軟件最終的可靠性給出某種預(yù) 測(cè)。測(cè)。(4)(4)、環(huán)路復(fù)雜度的用途環(huán)路復(fù)雜度的用途2022-5-28 請(qǐng)用程序流程圖描述下列問(wèn)題的算法,再將其請(qǐng)用程序流程圖描述下列問(wèn)題的算法,再將其轉(zhuǎn)換為程序圖并計(jì)算其環(huán)路值。轉(zhuǎn)換為程序圖并計(jì)算其環(huán)路值。 請(qǐng)定義一個(gè)數(shù)組請(qǐng)定義一個(gè)數(shù)組 ,要求找出數(shù)組中最大數(shù)和最小,要求找出數(shù)組中最大數(shù)和最小 數(shù),并把最大數(shù)和數(shù),并把最大數(shù)和 中的數(shù)對(duì)調(diào)、最小數(shù)和中
16、的數(shù)對(duì)調(diào)、最小數(shù)和 中的數(shù)對(duì)調(diào)。中的數(shù)對(duì)調(diào)。 2022-5-28 請(qǐng)畫出下列偽代碼程序的流程圖、程請(qǐng)畫出下列偽代碼程序的流程圖、程序圖并計(jì)算它的環(huán)路復(fù)雜度。序圖并計(jì)算它的環(huán)路復(fù)雜度。 LOOP : Do While Z0 A=A+1 IF A10 THEN X=A ELSE Y=Z END IF IF Y0 THEN PRINT G E LSE PRINT K END IF STOP 2022-5-28四、程序效率四、程序效率 程序效率是指程序的執(zhí)行程序效率是指程序的執(zhí)行速度速度及程序占用及程序占用的的存儲(chǔ)空間存儲(chǔ)空間。程序編碼是最后提高運(yùn)行速度和。程序編碼是最后提高運(yùn)行速度和節(jié)省存儲(chǔ)機(jī)會(huì),因
17、此在此階段不能不考慮程序節(jié)省存儲(chǔ)機(jī)會(huì),因此在此階段不能不考慮程序的效率。的效率。2022-5-281 1、算法對(duì)效率的影響、算法對(duì)效率的影響 源程序的效率與詳細(xì)設(shè)計(jì)階段確定的算法的效率源程序的效率與詳細(xì)設(shè)計(jì)階段確定的算法的效率有著直接的關(guān)系。當(dāng)我們把詳細(xì)設(shè)計(jì)翻譯并轉(zhuǎn)換成源有著直接的關(guān)系。當(dāng)我們把詳細(xì)設(shè)計(jì)翻譯并轉(zhuǎn)換成源代碼之后,那么算法效率就會(huì)反映為程序的執(zhí)行速度代碼之后,那么算法效率就會(huì)反映為程序的執(zhí)行速度和存儲(chǔ)容量的要求和存儲(chǔ)容量的要求2022-5-28(1 1)在編程序前,盡可能化簡(jiǎn)有關(guān)的算術(shù)表達(dá)式和邏輯表達(dá)式)在編程序前,盡可能化簡(jiǎn)有關(guān)的算術(shù)表達(dá)式和邏輯表達(dá)式(2 2)仔細(xì)檢查算法中的嵌
18、套的循環(huán),盡可能將某些語(yǔ)句或表達(dá))仔細(xì)檢查算法中的嵌套的循環(huán),盡可能將某些語(yǔ)句或表達(dá) 式移到循環(huán)外面式移到循環(huán)外面(3 3)盡量避免使用多維數(shù)組)盡量避免使用多維數(shù)組(4 4)盡量避免使用指針和復(fù)雜的表)盡量避免使用指針和復(fù)雜的表(5 5)不要混淆數(shù)據(jù)類型,避免在表達(dá)式中出現(xiàn)類型混雜)不要混淆數(shù)據(jù)類型,避免在表達(dá)式中出現(xiàn)類型混雜(6 6)盡量采用整數(shù)算術(shù)表達(dá)式和布爾表達(dá)式)盡量采用整數(shù)算術(shù)表達(dá)式和布爾表達(dá)式(7 7)選用等效的高效率算法)選用等效的高效率算法轉(zhuǎn)換過(guò)程中的指導(dǎo)原則是:轉(zhuǎn)換過(guò)程中的指導(dǎo)原則是:2022-5-28請(qǐng)?jiān)O(shè)計(jì)求解下列問(wèn)題的算法請(qǐng)?jiān)O(shè)計(jì)求解下列問(wèn)題的算法2022-5-28mai
19、n() int i,j; float sum; sum=0.0; for(i=1;i=20;i+) for(j=1;j=3;j+) sum=sum+(i+1)*(i+1)*(j+2); printf(“sum=%dn”,sum); (i+1) (j+2) 20 3 i=1 j=1 內(nèi)循環(huán)次數(shù)內(nèi)循環(huán)次數(shù) 2020X4=80 X4=80 外循環(huán)次數(shù)外循環(huán)次數(shù) 2121 總循環(huán)次數(shù)總循環(huán)次數(shù) 101 2022-5-28main() int i,j; float sum; sum=0.0; for (j=1;j=3;j+) for (i=1;i=20;i+) sum=sum+(i+1)*(i+1)*(
20、j+2); printf(“sum=%dn”,sum); 應(yīng)把變化范圍大的循環(huán)變量放在內(nèi)層。應(yīng)把變化范圍大的循環(huán)變量放在內(nèi)層。 內(nèi)循環(huán)次數(shù)內(nèi)循環(huán)次數(shù) 3 3X21=63X21=63 外循環(huán)次數(shù)外循環(huán)次數(shù) 4 4 總循環(huán)次數(shù)總循環(huán)次數(shù) 67672022-5-28main() int i,j; float sum; sum=0.0; for (j=1;j=3;j+) for (i=1;i=20;i+) sum=sum+(i+1)*(i+1)*(j+2); printf(“sum=%dn”,sum); j+2 j+2 共計(jì)執(zhí)行了共計(jì)執(zhí)行了 3X20=60次次 2022-5-28main() int
21、i,j; float sum; sum=0.0; for (j=1;j=3;j+) k=j+2; for (i=1;i=20;i+) sum=sum+(i+1)*(i+1)*k; printf(“sum=%dn”,sum); j+2 j+2 共計(jì)執(zhí)行了共計(jì)執(zhí)行了 3次次 減少了減少了57次次應(yīng)盡量把與循環(huán)變量無(wú)關(guān)的運(yùn)算移到循環(huán)外去。應(yīng)盡量把與循環(huán)變量無(wú)關(guān)的運(yùn)算移到循環(huán)外去。2022-5-28main() int i,j; float sum; sum=0.0; for (j=1;j=3;j+) k=j+2; for (i=1;i=20;i+) sum=sum+(i+1)*(i+1)*k; pr
22、intf(“sum=%dn”,sum); i+1 i+1 共計(jì)執(zhí)行了共計(jì)執(zhí)行了 60X60=120次次 2022-5-28main() int i,j; float sum; sum=0.0; for (j=1;j=3;j+) k=j+2; for (i=1;i=20;i+) m=i+1; sum=sum+m*m*k; printf(“sum=%dn”,sum); i+1 i+1 共計(jì)執(zhí)行了共計(jì)執(zhí)行了 60次次 2022-5-28 從鍵盤輸入從鍵盤輸入 10 10個(gè)整數(shù),要求按由小到大個(gè)整數(shù),要求按由小到大的順序?qū)⑺鼈冚敵?。的順序?qū)⑺鼈冚敵觥?請(qǐng)采用請(qǐng)采用比較交換法比較交換法和和選擇法選擇法對(duì)
23、上述對(duì)上述1010條數(shù)據(jù)進(jìn)行條數(shù)據(jù)進(jìn)行排序,然后分別對(duì)這兩種方法進(jìn)行比較,并從程序排序,然后分別對(duì)這兩種方法進(jìn)行比較,并從程序的運(yùn)行效率的角度對(duì)兩個(gè)程序進(jìn)行比較。的運(yùn)行效率的角度對(duì)兩個(gè)程序進(jìn)行比較。2022-5-28main() int a10,i,j,t; for(i=0;i10;i+) scanf(“%d”,&ai); for(i=0;i9;i+) for(j=i+1;j10;j+) if(ajai) t=aj; aj=ai;ai=t; for(i=0;i10;i+) printf(“%2d”, ai); 2022-5-28 for(i=0;i9;i+) k=i ; for(j=i+1;j
24、10;j+) if(ajak) k=j; if(kj) t=aj;aj=ak;ak=t; 2022-5-28五、程序設(shè)計(jì)風(fēng)格五、程序設(shè)計(jì)風(fēng)格 Coding styleCoding style 1 1、保持控制流的直線性、保持控制流的直線性 (1)(1)、對(duì)多入口和多出口的控制結(jié)構(gòu)、對(duì)多入口和多出口的控制結(jié)構(gòu) 要作適當(dāng)?shù)奶幚硪鬟m當(dāng)?shù)奶幚?If C1 then goto 30S2 20 If C2 then goto 40goto 10 S1 goto 20 40 Sn C1S1S2C2SnTT多入口循環(huán)結(jié)構(gòu)多入口循環(huán)結(jié)構(gòu)2022-5-28 If C1 then S1 else S2 While
25、 (not C2) do S2 C1S1C2SnTTS2S2改進(jìn)后的循環(huán)結(jié)構(gòu)改進(jìn)后的循環(huán)結(jié)構(gòu)重復(fù)環(huán)節(jié)法重復(fù)環(huán)節(jié)法2022-5-2810 if (not C1) then goto 20 if (not C2) then goto 30 S1 goto 10 20 S2 30 Sn 多出口循環(huán)結(jié)構(gòu)多出口循環(huán)結(jié)構(gòu)C1S2TTC2S12022-5-28while (C1 and C2) doS1 If (not( C1) then S2Sn 經(jīng)過(guò)處理后的單出口循環(huán)結(jié)構(gòu)經(jīng)過(guò)處理后的單出口循環(huán)結(jié)構(gòu)C1 and C2S2TC1S1SnT邏輯分析法邏輯分析法2022-5-28 while (C1) do S
26、1 If C2 then goto 10; else S2 10 Sn EXIT:=0 while (C1 and (not EXIT) do S1 If then EXIT:=1; else S2 10 Sn 標(biāo)志變量法標(biāo)志變量法標(biāo)志變量標(biāo)志變量breakExit doExit for2022-5-28if (N=0) then if (N能被能被2整除)整除)then print “正偶數(shù)正偶數(shù)” else print “負(fù)數(shù)負(fù)數(shù)” 導(dǎo)致二義性的導(dǎo)致二義性的 then-if then-if 結(jié)構(gòu)結(jié)構(gòu)(2)(2)、避免使用模糊或費(fèi)解的結(jié)構(gòu)、避免使用模糊或費(fèi)解的結(jié)構(gòu) if (N0) S1=S1
27、+C1; if (S11000) goto label; label: S2=a+b; 2022-5-28 goto goto的目的地最好在同一的目的地最好在同一控制結(jié)構(gòu)內(nèi)部,或者離本結(jié)構(gòu)控制結(jié)構(gòu)內(nèi)部,或者離本結(jié)構(gòu)出口相近的地方。出口相近的地方。 10 IF(.NOT. C) GOTO 20 S GOTO 10 20 CONTINUE while(C1) do Begin S1 if C2 then goto 10 End 10 Sn 2022-5-28第七章第七章 用戶界面設(shè)計(jì)用戶界面設(shè)計(jì) 在計(jì)算機(jī)應(yīng)用中,用戶與計(jì)算機(jī)都要以適當(dāng)?shù)男问桨严谟?jì)算機(jī)應(yīng)用中,用戶與計(jì)算機(jī)都要以適當(dāng)?shù)男问桨严鬟f
28、給對(duì)方,稱為人息傳遞給對(duì)方,稱為人- - 機(jī)交互:機(jī)交互:(HumanComputer Interface) (HumanComputer Interface) 交互是通過(guò)界面進(jìn)行的。這種界面既存在于用戶與計(jì)算機(jī)交互是通過(guò)界面進(jìn)行的。這種界面既存在于用戶與計(jì)算機(jī)硬件之間,也存在于用戶與一切軟件(包括系統(tǒng)軟件與應(yīng)用軟硬件之間,也存在于用戶與一切軟件(包括系統(tǒng)軟件與應(yīng)用軟件)之間,件)之間, 所以現(xiàn)在常把所以現(xiàn)在常把“用戶界面用戶界面”簡(jiǎn)稱為簡(jiǎn)稱為 “ “HCIHCI” 用戶界面設(shè)計(jì)分析用戶界面設(shè)計(jì)分析 用戶界面人物用戶界面人物 界面設(shè)計(jì)基本類型界面設(shè)計(jì)基本類型 數(shù)據(jù)輸入界面的設(shè)計(jì)數(shù)據(jù)輸入界面的設(shè)
29、計(jì) 數(shù)據(jù)輸出界面的設(shè)計(jì)數(shù)據(jù)輸出界面的設(shè)計(jì)2022-5-287.1 7.1 用戶界面設(shè)計(jì)分析用戶界面設(shè)計(jì)分析 用戶特性分析用戶特性分析用戶工作分析用戶工作分析記錄用戶有關(guān)系統(tǒng)的概念和術(shù)語(yǔ)記錄用戶有關(guān)系統(tǒng)的概念和術(shù)語(yǔ)確定界面類型確定界面類型2022-5-28外行型用戶特性分析用戶特性分析 用戶特性分析的目的是:用戶特性分析的目的是: 了解所有用戶的技能和經(jīng)驗(yàn),以便能預(yù)測(cè)他們對(duì)不同了解所有用戶的技能和經(jīng)驗(yàn),以便能預(yù)測(cè)他們對(duì)不同的界面設(shè)計(jì)會(huì)做出社么反映,并針對(duì)用戶的能力來(lái)設(shè)計(jì)或的界面設(shè)計(jì)會(huì)做出社么反映,并針對(duì)用戶的能力來(lái)設(shè)計(jì)或更改界面。更改界面。用戶類型用戶類型初學(xué)型熟練型專家型2022-5-28 系
30、統(tǒng)的系統(tǒng)的功能分解功能分解,可以用,可以用數(shù)據(jù)流圖數(shù)據(jù)流圖和和數(shù)據(jù)詞典數(shù)據(jù)詞典來(lái)描述。其來(lái)描述。其中,每一個(gè)加工相當(dāng)于一個(gè)功能,也就是一個(gè)任務(wù)。任務(wù)可以中,每一個(gè)加工相當(dāng)于一個(gè)功能,也就是一個(gè)任務(wù)。任務(wù)可以由一組動(dòng)作構(gòu)成,它規(guī)定了為實(shí)現(xiàn)該任務(wù)所必須的一系列活動(dòng)由一組動(dòng)作構(gòu)成,它規(guī)定了為實(shí)現(xiàn)該任務(wù)所必須的一系列活動(dòng) 任務(wù)的任務(wù)的 細(xì)節(jié),細(xì)節(jié),可以使用可以使用結(jié)構(gòu)化英語(yǔ)來(lái)表達(dá)。結(jié)構(gòu)化英語(yǔ)來(lái)表達(dá)。 它描述了動(dòng)它描述了動(dòng)作完成的序列以及在完成動(dòng)作時(shí)的所有例外情況作完成的序列以及在完成動(dòng)作時(shí)的所有例外情況。用戶工作分析用戶工作分析用戶工作分析,也稱為任務(wù)分析。它是系統(tǒng)內(nèi)部活動(dòng)的用戶工作分析,也稱為任務(wù)分
31、析。它是系統(tǒng)內(nèi)部活動(dòng)的分解。用戶工作分析與需求分析中結(jié)構(gòu)化分析的方法類分解。用戶工作分析與需求分析中結(jié)構(gòu)化分析的方法類似,是采用自頂向下,逐步進(jìn)行似,是采用自頂向下,逐步進(jìn)行功能分解功能分解。 2022-5-28 TASK: loan books DO WHILE borrowers request reader_ID check reader_ID IF reader_ID invalid pass to membership_check ELSE continue ENDIF DO WHILE book_requests enter book_mark on borroer_slip wr
32、ite reader_ID on borrwer_slip stamp book with return_date remove book_in_library_tag END WHILE END WHILE關(guān)于圖書館借閱圖書活動(dòng)的描述關(guān)于圖書館借閱圖書活動(dòng)的描述2022-5-28任務(wù)和工作設(shè)計(jì)的目的在于任務(wù)和工作設(shè)計(jì)的目的在于創(chuàng)造用戶的創(chuàng)造用戶的工作環(huán)境工作環(huán)境。通常,任務(wù)應(yīng)組織得與人的。通常,任務(wù)應(yīng)組織得與人的能力相適應(yīng)。既不能完全由非常復(fù)雜的能力相適應(yīng)。既不能完全由非常復(fù)雜的步驟組成,也不能太過(guò)簡(jiǎn)單而使操作者步驟組成,也不能太過(guò)簡(jiǎn)單而使操作者感到厭煩。感到厭煩。7.2 7.2 用戶界面任
33、務(wù)用戶界面任務(wù) 2022-5-287.3 7.3 界面設(shè)計(jì)的基本類型界面設(shè)計(jì)的基本類型 如果從用戶與計(jì)算機(jī)交互的角度來(lái)看,用戶界面設(shè)如果從用戶與計(jì)算機(jī)交互的角度來(lái)看,用戶界面設(shè)計(jì)的類型主要有問(wèn)題描述語(yǔ)言、數(shù)據(jù)表格、圖形與圖表、計(jì)的類型主要有問(wèn)題描述語(yǔ)言、數(shù)據(jù)表格、圖形與圖表、菜單、對(duì)話以及窗口等。菜單、對(duì)話以及窗口等。使用的難易程度使用的難易程度學(xué)習(xí)的難易程度學(xué)習(xí)的難易程度操作速度操作速度復(fù)雜程度復(fù)雜程度控控 制制開發(fā)的難易程度開發(fā)的難易程度類型類型2022-5-28 用戶承擔(dān)需用戶承擔(dān)需要?jiǎng)?chuàng)造、判斷和要?jiǎng)?chuàng)造、判斷和探索的任務(wù)。探索的任務(wù)。 重復(fù)檢查、重復(fù)檢查、計(jì)算和數(shù)據(jù)處計(jì)算和數(shù)據(jù)處理的任務(wù)
34、。理的任務(wù)。 任務(wù)分配任務(wù)分配 2022-5-28 菜單也稱選單,是由系統(tǒng)預(yù)先設(shè)置好的,顯菜單也稱選單,是由系統(tǒng)預(yù)先設(shè)置好的,顯示于屏幕上的一組或幾組可供用戶選用的命令。示于屏幕上的一組或幾組可供用戶選用的命令。菜單菜單(1 1)按照顯示的形象或樣式來(lái)分類)按照顯示的形象或樣式來(lái)分類正文菜單正文菜單2022-5-28 教務(wù)信息管理系統(tǒng)教務(wù)信息管理系統(tǒng)0 - 0 - 結(jié)束系統(tǒng)運(yùn)行結(jié)束系統(tǒng)運(yùn)行 1 - 1 - 學(xué)籍管理子系統(tǒng)學(xué)籍管理子系統(tǒng) 2 - 2 - 教學(xué)管理子系統(tǒng)教學(xué)管理子系統(tǒng) 3 - 3 - 教材管理子系統(tǒng)教材管理子系統(tǒng) 4 - 4 - 實(shí)驗(yàn)室管理子系統(tǒng)實(shí)驗(yàn)室管理子系統(tǒng)請(qǐng)鍵入選擇的功能序號(hào)
35、請(qǐng)鍵入選擇的功能序號(hào)(0(04):4): 3 3 - 教學(xué)管理子系統(tǒng) 教務(wù)信息管理系統(tǒng)教務(wù)信息管理系統(tǒng)A - A - 結(jié)束系統(tǒng)運(yùn)行結(jié)束系統(tǒng)運(yùn)行 B - B - 學(xué)籍管理子系統(tǒng)學(xué)籍管理子系統(tǒng) C - C - 教學(xué)管理子系統(tǒng)教學(xué)管理子系統(tǒng) D - D - 教材管理子系統(tǒng)教材管理子系統(tǒng) E - E - 實(shí)驗(yàn)室管理子系統(tǒng)實(shí)驗(yàn)室管理子系統(tǒng) 請(qǐng)選擇功能字符請(qǐng)選擇功能字符( (A AE):E):正文菜單舉例正文菜單舉例2022-5-28圖標(biāo)菜單圖標(biāo)菜單2022-5-28正文和圖標(biāo)混合菜單正文和圖標(biāo)混合菜單2022-5-28(2 2)按屏幕位置和操作風(fēng)格來(lái)分類)按屏幕位置和操作風(fēng)格來(lái)分類固定位置菜單固定位置菜
36、單浮動(dòng)位置菜單浮動(dòng)位置菜單下拉式菜單下拉式菜單嵌入式菜單嵌入式菜單2022-5-28固定位置菜單2022-5-28浮動(dòng)位置菜單浮動(dòng)式菜單浮動(dòng)式菜單2022-5-28下拉式菜單2022-5-28 在用戶界面中,加入豐富多彩的,將能夠更形在用戶界面中,加入豐富多彩的,將能夠更形象地為用戶提供有用的信息而達(dá)到可視化的目的。象地為用戶提供有用的信息而達(dá)到可視化的目的。其主要的處理有圖象的隱蔽和再現(xiàn)、屏幕滾動(dòng)和圖其主要的處理有圖象的隱蔽和再現(xiàn)、屏幕滾動(dòng)和圖標(biāo)顯示等。標(biāo)顯示等。圖象圖象圖象的隱蔽和再現(xiàn)圖象的隱蔽和再現(xiàn)屏幕的滾動(dòng)屏幕的滾動(dòng)2022-5-28圖象的隱蔽和再現(xiàn)圖象的隱蔽和再現(xiàn)2022-5-28內(nèi)
37、存緩沖區(qū)內(nèi)存緩沖區(qū)老緩沖區(qū)老緩沖區(qū)新緩沖區(qū)新緩沖區(qū)2022-5-28屏幕的滾動(dòng)屏幕的滾動(dòng)垂直滾動(dòng)條垂直滾動(dòng)條水平滾動(dòng)條水平滾動(dòng)條2022-5-28 對(duì)話,也稱為對(duì)話框,只系統(tǒng)必要時(shí)顯示于對(duì)話,也稱為對(duì)話框,只系統(tǒng)必要時(shí)顯示于屏幕上一個(gè)矩形區(qū)域內(nèi)的圖形和正文信息。通過(guò)屏幕上一個(gè)矩形區(qū)域內(nèi)的圖形和正文信息。通過(guò)對(duì)話可以實(shí)現(xiàn)用戶和系統(tǒng)之間的通信。對(duì)話可以實(shí)現(xiàn)用戶和系統(tǒng)之間的通信。對(duì)話對(duì)話2022-5-28必須問(wèn)答式對(duì)話框必須問(wèn)答式對(duì)話框2022-5-28無(wú)須問(wèn)答式對(duì)話框無(wú)須問(wèn)答式對(duì)話框 無(wú)需回答式對(duì)話框。這類對(duì)話在屏幕上的出現(xiàn),無(wú)需回答式對(duì)話框。這類對(duì)話在屏幕上的出現(xiàn),僅僅是為了告訴用戶一些參考信息
38、,不需要用戶回答。僅僅是為了告訴用戶一些參考信息,不需要用戶回答。因此,用戶可以不理睬它,繼續(xù)做原來(lái)的工作。因此,用戶可以不理睬它,繼續(xù)做原來(lái)的工作。 2022-5-28警告式對(duì)話框警告式對(duì)話框 2022-5-28 設(shè)置一個(gè)或一批標(biāo)準(zhǔn)的對(duì)話以函數(shù)過(guò)程調(diào)用的方式設(shè)置一個(gè)或一批標(biāo)準(zhǔn)的對(duì)話以函數(shù)過(guò)程調(diào)用的方式直接提供給用戶來(lái)使用。這類對(duì)話框有的是直接提供給用戶來(lái)使用。這類對(duì)話框有的是一問(wèn)一答一問(wèn)一答的,的,有的是多問(wèn)多答的。它們的顯示格式、問(wèn)題段和回答段有的是多問(wèn)多答的。它們的顯示格式、問(wèn)題段和回答段的安排,以及用戶回答的選擇范圍都是系統(tǒng)實(shí)現(xiàn)設(shè)置好的安排,以及用戶回答的選擇范圍都是系統(tǒng)實(shí)現(xiàn)設(shè)置好的,
39、使用者不能隨意改動(dòng)的。的,使用者不能隨意改動(dòng)的。 這類對(duì)話稱為標(biāo)準(zhǔn)對(duì)話。這類對(duì)話稱為標(biāo)準(zhǔn)對(duì)話。對(duì)話框的實(shí)現(xiàn)方式對(duì)話框的實(shí)現(xiàn)方式(1)(1)2022-5-28標(biāo)準(zhǔn)對(duì)話框標(biāo)準(zhǔn)對(duì)話框2022-5-28 系統(tǒng)為不同類型的對(duì)話設(shè)置一組數(shù)據(jù)結(jié)構(gòu)和一批系統(tǒng)為不同類型的對(duì)話設(shè)置一組數(shù)據(jù)結(jié)構(gòu)和一批 。 用戶可以將根據(jù)他們的需要來(lái)自行設(shè)計(jì)對(duì)話,用戶可以將根據(jù)他們的需要來(lái)自行設(shè)計(jì)對(duì)話,象這類對(duì)話則稱為象這類對(duì)話則稱為“ “ ”當(dāng)然這就需要事先設(shè)當(dāng)然這就需要事先設(shè)置好一批可以直接提供給用戶使用的工具函數(shù)。置好一批可以直接提供給用戶使用的工具函數(shù)。對(duì)話框的實(shí)現(xiàn)方式對(duì)話框的實(shí)現(xiàn)方式(2)(2)2022-5-28 窗口是指
40、屏幕上的一個(gè)矩形區(qū)域,在圖形學(xué)中叫窗口是指屏幕上的一個(gè)矩形區(qū)域,在圖形學(xué)中叫做視圖區(qū)做視圖區(qū) ( (Viewport)Viewport)。 用戶可以通過(guò)窗口顯示、觀察用戶可以通過(guò)窗口顯示、觀察其工作領(lǐng)域內(nèi)的全部或一部分內(nèi)容,并可以對(duì)所顯示其工作領(lǐng)域內(nèi)的全部或一部分內(nèi)容,并可以對(duì)所顯示的內(nèi)容進(jìn)行各種系統(tǒng)預(yù)先定好的正文和圖形操作。的內(nèi)容進(jìn)行各種系統(tǒng)預(yù)先定好的正文和圖形操作。窗口窗口2022-5-28 習(xí)慣上我們把窗口視為習(xí)慣上我們把窗口視為相對(duì)地,顯示器就相對(duì)地,顯示器就稱為物理屏幕。采用滾動(dòng)條技術(shù),通過(guò)窗口能夠看到的稱為物理屏幕。采用滾動(dòng)條技術(shù),通過(guò)窗口能夠看到的用戶空間,比物理屏幕顯示的內(nèi)容要
41、多得多而另一方面用戶空間,比物理屏幕顯示的內(nèi)容要多得多而另一方面,在同一物理屏幕上又可以設(shè)置多個(gè)窗口各個(gè)窗口可以,在同一物理屏幕上又可以設(shè)置多個(gè)窗口各個(gè)窗口可以由不同的系統(tǒng)或系統(tǒng)成分分別使用。如果在同一個(gè)屏幕由不同的系統(tǒng)或系統(tǒng)成分分別使用。如果在同一個(gè)屏幕上有若干個(gè)窗口上有若干個(gè)窗口 這些窗口可以相重疊在一起,這些窗口可以相重疊在一起, 也可以也可以在水平方向并列地排列。在水平方向并列地排列。2022-5-28代碼編代碼編輯窗口輯窗口事件過(guò)程列表框事件過(guò)程列表框?qū)ο罅斜泶翱趯?duì)象列表窗口窗口界面示例之一窗口界面示例之一 2022-5-28圖標(biāo)區(qū)圖標(biāo)區(qū)窗口窗口控制區(qū)控制區(qū)用戶工作區(qū)垂直垂直滾動(dòng)區(qū)滾
42、動(dòng)區(qū)窗口界面示例之二窗口界面示例之二標(biāo)題區(qū)標(biāo)題區(qū)標(biāo)題區(qū)標(biāo)題區(qū)標(biāo)題區(qū)標(biāo)題區(qū)水平水平滾動(dòng)區(qū)滾動(dòng)區(qū)菜單區(qū)菜單區(qū)2022-5-287.4 7.4 數(shù)據(jù)輸入界面的設(shè)計(jì)數(shù)據(jù)輸入界面的設(shè)計(jì) 數(shù)據(jù)輸入是指所有供計(jì)算機(jī)處理的數(shù)據(jù)數(shù)據(jù)輸入是指所有供計(jì)算機(jī)處理的數(shù)據(jù)的輸入的輸入 。數(shù)據(jù)輸入界面是系統(tǒng)的一個(gè)重要的。數(shù)據(jù)輸入界面是系統(tǒng)的一個(gè)重要的組成部分,它組成部分,它 占用用戶的極大部分使用時(shí)間。占用用戶的極大部分使用時(shí)間。一個(gè)好的數(shù)據(jù)輸入一個(gè)好的數(shù)據(jù)輸入 界面應(yīng)盡可能方便而有效界面應(yīng)盡可能方便而有效地進(jìn)行數(shù)據(jù)輸入。地進(jìn)行數(shù)據(jù)輸入。2022-5-28數(shù)據(jù)輸入規(guī)則數(shù)據(jù)輸入規(guī)則在軟件設(shè)計(jì)的范圍內(nèi),可在軟件設(shè)計(jì)的范圍內(nèi),可
43、以通過(guò)以下以通過(guò)以下方法方法來(lái)減少用來(lái)減少用戶戶輸入的工作量。輸入的工作量。對(duì)共同的輸入內(nèi)容設(shè)置對(duì)共同的輸入內(nèi)容設(shè)置默認(rèn)值默認(rèn)值 ( (缺省值缺省值) )。使用代碼或縮寫使用代碼或縮寫自動(dòng)填入已輸入過(guò)的內(nèi)容自動(dòng)填入已輸入過(guò)的內(nèi)容或需要重復(fù)輸入的內(nèi)容?;蛐枰貜?fù)輸入的內(nèi)容。如果輸入內(nèi)容是來(lái)自一個(gè)如果輸入內(nèi)容是來(lái)自一個(gè)有限的備選集,則可以采有限的備選集,則可以采用用列表選擇列表選擇。2022-5-28數(shù)據(jù)輸入對(duì)話設(shè)計(jì)應(yīng)遵循以下幾項(xiàng)原則數(shù)據(jù)輸入對(duì)話設(shè)計(jì)應(yīng)遵循以下幾項(xiàng)原則在軟件設(shè)計(jì)的范圍內(nèi),可以通在軟件設(shè)計(jì)的范圍內(nèi),可以通過(guò)以下方法來(lái)減少用戶輸入的過(guò)以下方法來(lái)減少用戶輸入的工作量。工作量。 1 1、確
44、認(rèn)輸入、確認(rèn)輸入 2 2、交互動(dòng)作、交互動(dòng)作 3 3、確認(rèn)刪除、確認(rèn)刪除 4 4、提供反饋、提供反饋 5 5、提示輸入范圍、提示輸入范圍2022-5-281 1、以表格形式對(duì)數(shù)據(jù)進(jìn)行錄入、以表格形式對(duì)數(shù)據(jù)進(jìn)行錄入2022-5-28請(qǐng)?jiān)O(shè)計(jì)一個(gè)數(shù)據(jù)錄入用戶界面要求: 1、內(nèi)容自選 2、應(yīng)具有重復(fù)錄入功能 3、具有數(shù)據(jù)檢測(cè)功能 4、界面清晰2022-5-282 2、以菜單形式對(duì)數(shù)據(jù)進(jìn)行錄入、以菜單形式對(duì)數(shù)據(jù)進(jìn)行錄入 如果數(shù)據(jù)從一個(gè)確定的可供選擇的清單中選取輸入,如果數(shù)據(jù)從一個(gè)確定的可供選擇的清單中選取輸入,則可用菜單方式其方法是把所有的選擇項(xiàng)都顯示在屏幕則可用菜單方式其方法是把所有的選擇項(xiàng)都顯示在屏
45、幕上,用戶只需要輸入代表各項(xiàng)的數(shù)字代碼就可選擇所需上,用戶只需要輸入代表各項(xiàng)的數(shù)字代碼就可選擇所需數(shù)據(jù)。數(shù)據(jù)。 2022-5-28時(shí)令水果蔬菜銷售時(shí)令水果蔬菜銷售 訂單號(hào)碼訂單號(hào)碼 1024 1024輸入訂單輸入訂單 日期日期 11/05/00 11/05/00 輸入水果號(hào)碼,選擇所需數(shù)量或輸入蔬菜號(hào)碼,選擇所需數(shù)量輸入水果號(hào)碼,選擇所需數(shù)量或輸入蔬菜號(hào)碼,選擇所需數(shù)量 1 - 蘋果蘋果 2 - 香蕉香蕉 3 - 鴨梨鴨梨 4 - 菠蘿菠蘿 5 - 橘子橘子 6 - 葡萄葡萄 請(qǐng)您選擇請(qǐng)您選擇 選擇數(shù)量選擇數(shù)量( (可利用鼠標(biāo)單擊可利用鼠標(biāo)單擊) ) 500克克1000克克1500克克2000
46、克克 本次訂購(gòu)本次訂購(gòu)克克 油菜油菜 克克 蘋果蘋果 請(qǐng)輸入另一項(xiàng)(若輸入請(qǐng)輸入另一項(xiàng)(若輸入0 0為結(jié)束訂購(gòu))為結(jié)束訂購(gòu))菜單數(shù)據(jù)錄入示例之一菜單數(shù)據(jù)錄入示例之一 7 - 土豆 10 - 菜花 8 - 韭菜 11 - 油菜 9 - 辣椒 12 - 白菜2022-5-283 3、其它數(shù)據(jù)輸入的方法、其它數(shù)據(jù)輸入的方法 關(guān)鍵詞數(shù)據(jù)輸入關(guān)鍵詞數(shù)據(jù)輸入條形碼條形碼 聲音數(shù)據(jù)輸入聲音數(shù)據(jù)輸入 光學(xué)標(biāo)記光學(xué)標(biāo)記/ /識(shí)別識(shí)別 2022-5-287.5 7.5 輸出界面的設(shè)計(jì)輸出界面的設(shè)計(jì) 數(shù)據(jù)輸出界面包括屏幕查詢、文件瀏數(shù)據(jù)輸出界面包括屏幕查詢、文件瀏覽、圖形顯示和報(bào)告等。覽、圖形顯示和報(bào)告等。2022
47、-5-28數(shù)據(jù)輸出的規(guī)則數(shù)據(jù)輸出的規(guī)則 只顯示必需的數(shù)據(jù),與用戶需求無(wú)直接關(guān)只顯示必需的數(shù)據(jù),與用戶需求無(wú)直接關(guān)系的一律省略系的一律省略顯示出的數(shù)據(jù),應(yīng)與用戶所執(zhí)行的任務(wù)有關(guān)顯示出的數(shù)據(jù),應(yīng)與用戶所執(zhí)行的任務(wù)有關(guān)同一時(shí)刻使用的數(shù)據(jù)應(yīng)顯示在一起同一時(shí)刻使用的數(shù)據(jù)應(yīng)顯示在一起每一屏所顯示數(shù)據(jù)的數(shù)量,包括標(biāo)題欄等,每一屏所顯示數(shù)據(jù)的數(shù)量,包括標(biāo)題欄等,最好不要超過(guò)整個(gè)屏幕面積的最好不要超過(guò)整個(gè)屏幕面積的 30% 30% 2022-5-28字符數(shù)據(jù)的顯示字符數(shù)據(jù)的顯示 字符數(shù)據(jù)的畫面顯示主要是屏幕布局和數(shù)據(jù)內(nèi)容安排字符數(shù)據(jù)的畫面顯示主要是屏幕布局和數(shù)據(jù)內(nèi)容安排格式。顯示的內(nèi)容可以是單純的正文,也可以是
48、表格和目格式。顯示的內(nèi)容可以是單純的正文,也可以是表格和目錄,而更多的是二者的綜合錄,而更多的是二者的綜合2022-5-28 若輸出的是英文正文,應(yīng)避免連續(xù)使用大寫字母,若輸出的是英文正文,應(yīng)避免連續(xù)使用大寫字母,因?yàn)榇髮懽帜傅拈喿x速度要低于大、小寫因?yàn)榇髮懽帜傅拈喿x速度要低于大、小寫 混合的文體。混合的文體。而且大寫字母應(yīng)使用印刷體,且一而且大寫字母應(yīng)使用印刷體,且一 般為般為強(qiáng)調(diào)強(qiáng)調(diào)而使用。而使用。純正文的顯示純正文的顯示2022-5-28列表和表格列表和表格姓名姓名數(shù)學(xué)數(shù)學(xué)物理物理英語(yǔ)英語(yǔ)化學(xué)化學(xué)總分總分夏丹夏丹8989878798989999秋雨秋雨9898767697976767冬雪
49、冬雪78788888878787872022-5-28 由于圖形從數(shù)據(jù)集合中概括出來(lái)某些特性并且具有由于圖形從數(shù)據(jù)集合中概括出來(lái)某些特性并且具有“直觀直觀”的優(yōu)點(diǎn),因此對(duì)于識(shí)別和分析處理結(jié)果更為有的優(yōu)點(diǎn),因此對(duì)于識(shí)別和分析處理結(jié)果更為有效,為了做好圖形顯示效,為了做好圖形顯示 必須仔細(xì)地選擇圖形類型和進(jìn)行必須仔細(xì)地選擇圖形類型和進(jìn)行布局設(shè)計(jì)布局設(shè)計(jì) 以圖形方式顯示以圖形方式顯示2022-5-28直方圖直方圖2022-5-28 餅圖餅圖2022-5-28 折線圖折線圖102交互設(shè)計(jì)方法交互設(shè)計(jì)方法o 角色設(shè)計(jì)角色設(shè)計(jì)o 目標(biāo)設(shè)計(jì)目標(biāo)設(shè)計(jì)o 任務(wù)設(shè)計(jì)任務(wù)設(shè)計(jì)o 人性化設(shè)計(jì)人性化設(shè)計(jì)1031. 1.
50、角色設(shè)計(jì)角色設(shè)計(jì)o 能設(shè)計(jì)一種款式的皮鞋來(lái)滿足成年女性的需能設(shè)計(jì)一種款式的皮鞋來(lái)滿足成年女性的需要嗎?要嗎?需要虛構(gòu)潛在的用戶并為他們?cè)O(shè)計(jì)軟件產(chǎn)品,這些虛需要虛構(gòu)潛在的用戶并為他們?cè)O(shè)計(jì)軟件產(chǎn)品,這些虛構(gòu)的用戶就是構(gòu)的用戶就是“角色角色”,是交互設(shè)計(jì)的必要基礎(chǔ)。,是交互設(shè)計(jì)的必要基礎(chǔ)。 軟件的角色設(shè)計(jì)就是精確描述我們的用戶以及用戶希軟件的角色設(shè)計(jì)就是精確描述我們的用戶以及用戶希望達(dá)到的目標(biāo)。望達(dá)到的目標(biāo)。分別為分別為年青女孩、年輕媽媽、老年婦女年青女孩、年輕媽媽、老年婦女設(shè)計(jì)。設(shè)計(jì)。104必須賦予角色嚴(yán)格而精確的定義必須賦予角色嚴(yán)格而精確的定義 o 角色是虛擬的,但是合理的人群。角色是虛擬的,但
51、是合理的人群。必須只為一類人設(shè)計(jì)。角色目標(biāo)的范圍越必須只為一類人設(shè)計(jì)。角色目標(biāo)的范圍越大,迷失方向的可能性也越大。大,迷失方向的可能性也越大。時(shí)尚、個(gè)性大時(shí)尚、個(gè)性大方、實(shí)用方、實(shí)用舒適、安全舒適、安全角色必須有限定。限定出這角色必須有限定。限定出這5050的目標(biāo)人群,然后盡的目標(biāo)人群,然后盡力讓他們力讓他們100100地喜歡它。地喜歡它。給角色起名字,給角色起名字,還可以有其他細(xì)節(jié)。還可以有其他細(xì)節(jié)。否則很容易跟否則很容易跟有彈性的用戶混為一談?dòng)袕椥缘挠脩艋鞛橐徽?。不要把精確定義的分類用戶和真正的人混淆不要把精確定義的分類用戶和真正的人混淆 。特定性特定性105設(shè)計(jì)師和程序員都需要角色設(shè)計(jì)
52、師和程序員都需要角色 o 角色作為設(shè)計(jì)師和程序員的交流工具角色作為設(shè)計(jì)師和程序員的交流工具 ,使程,使程序員序員忘掉籠統(tǒng)的忘掉籠統(tǒng)的“用戶用戶”一詞一詞 。應(yīng)用角色以前:應(yīng)用角色以前:程序員程序員:“如果用戶需要把這個(gè)打印出來(lái)如果用戶需要把這個(gè)打印出來(lái)怎么辦?怎么辦?”經(jīng)理經(jīng)理:“我認(rèn)為他們不會(huì)在第一版就需要我認(rèn)為他們不會(huì)在第一版就需要增加打印功能。增加打印功能?!背绦騿T程序員:“但是也許有人會(huì)希望要打印功但是也許有人會(huì)希望要打印功能。能?!苯?jīng)理經(jīng)理:“當(dāng)然有這種可能,但是我們不能當(dāng)然有這種可能,但是我們不能推遲到第二版再增加打印功能嗎?推遲到第二版再增加打印功能嗎?”應(yīng)用角色以后:應(yīng)用角色以
53、后:程序員程序員:“如果用戶需要把這個(gè)打印如果用戶需要把這個(gè)打印出來(lái)怎么辦?出來(lái)怎么辦?”交互視設(shè)計(jì)師交互視設(shè)計(jì)師:“羅麗對(duì)打印功能可羅麗對(duì)打印功能可不感興趣。不感興趣?!背绦騿T程序員:“但是也許有人可能需要打但是也許有人可能需要打印功能。印功能?!苯换ヒ曉O(shè)計(jì)師交互視設(shè)計(jì)師:“我們是為羅麗設(shè)計(jì),我們是為羅麗設(shè)計(jì),而不是某些人。而不是某些人?!?106長(zhǎng)期堅(jiān)持應(yīng)用角色后:長(zhǎng)期堅(jiān)持應(yīng)用角色后:快樂(lè)的程序員快樂(lè)的程序員:“羅麗是否需要打印功能?羅麗是否需要打印功能?”高興的交互設(shè)計(jì)師高興的交互設(shè)計(jì)師:“她不需要。張輝可能每一季度她不需要。張輝可能每一季度需要打印報(bào)表。需要打印報(bào)表。”快樂(lè)的程序員快樂(lè)
54、的程序員:“如果這樣,我們就可以節(jié)省時(shí)間和如果這樣,我們就可以節(jié)省時(shí)間和精力,不去設(shè)計(jì)那種麻煩的打印功能,而去使用現(xiàn)在精力,不去設(shè)計(jì)那種麻煩的打印功能,而去使用現(xiàn)在的商業(yè)打印軟件包。的商業(yè)打印軟件包。”高興的經(jīng)理高興的經(jīng)理:“這樣就可以節(jié)省兩周的時(shí)間這樣就可以節(jié)省兩周的時(shí)間了。了?!?現(xiàn)在大家討論,很容易取得一致意見(jiàn)。因?yàn)榻乾F(xiàn)在大家討論,很容易取得一致意見(jiàn)。因?yàn)榻巧O(shè)計(jì)幫助程序員統(tǒng)一了思想,充分理解最終用戶的色設(shè)計(jì)幫助程序員統(tǒng)一了思想,充分理解最終用戶的需要了。需要了。 1072. 2.目標(biāo)設(shè)計(jì)目標(biāo)設(shè)計(jì) o 目標(biāo)與角色是不可分割的目標(biāo)與角色是不可分割的 ,角色決定著需角色決定著需要達(dá)到的目標(biāo),
55、而這些目標(biāo)則反映出角色要達(dá)到的目標(biāo),而這些目標(biāo)則反映出角色的意義的意義。目標(biāo)很容易與任務(wù)混淆起來(lái)目標(biāo)很容易與任務(wù)混淆起來(lái), ,怎樣區(qū)分?怎樣區(qū)分?目標(biāo)的內(nèi)涵非常豐富,涉及到用戶個(gè)人目標(biāo)、公目標(biāo)的內(nèi)涵非常豐富,涉及到用戶個(gè)人目標(biāo)、公司目標(biāo)、以及一些虛假的目標(biāo),在這些目標(biāo)中,司目標(biāo)、以及一些虛假的目標(biāo),在這些目標(biāo)中,我們?cè)撊绾芜x擇對(duì)待我們?cè)撊绾芜x擇對(duì)待? ? 108針對(duì)目標(biāo)進(jìn)行設(shè)計(jì),而不是針對(duì)任務(wù)針對(duì)目標(biāo)進(jìn)行設(shè)計(jì),而不是針對(duì)任務(wù) o 目標(biāo)是一個(gè)終結(jié)條件,然而任務(wù)是達(dá)到目標(biāo)必需的一目標(biāo)是一個(gè)終結(jié)條件,然而任務(wù)是達(dá)到目標(biāo)必需的一個(gè)中間進(jìn)程個(gè)中間進(jìn)程 。區(qū)別很簡(jiǎn)單:任務(wù)會(huì)隨著技術(shù)的變化而變化,但目標(biāo)卻區(qū)
56、別很簡(jiǎn)單:任務(wù)會(huì)隨著技術(shù)的變化而變化,但目標(biāo)卻具有相當(dāng)穩(wěn)定的性質(zhì)。目標(biāo)與任務(wù)有時(shí)甚至是迥然不同具有相當(dāng)穩(wěn)定的性質(zhì)。目標(biāo)與任務(wù)有時(shí)甚至是迥然不同的。的。 所以針對(duì)任務(wù)的設(shè)計(jì)并不總能適合目標(biāo),而針對(duì)目標(biāo)的設(shè)所以針對(duì)任務(wù)的設(shè)計(jì)并不總能適合目標(biāo),而針對(duì)目標(biāo)的設(shè)計(jì)是總能適應(yīng)任務(wù)的計(jì)是總能適應(yīng)任務(wù)的 。和平和平 :戰(zhàn)爭(zhēng):戰(zhàn)爭(zhēng)/ /談判談判 教師教學(xué)評(píng)估系統(tǒng)教師教學(xué)評(píng)估系統(tǒng)發(fā)現(xiàn)不正確的需求發(fā)現(xiàn)不正確的需求學(xué)生考核督導(dǎo)聽課抽查試卷提高教師水平一流大學(xué)一流大學(xué)109交互設(shè)計(jì)必須滿足個(gè)人目標(biāo)交互設(shè)計(jì)必須滿足個(gè)人目標(biāo) o 讓用戶達(dá)到他們的實(shí)際目標(biāo)時(shí),還不能妨礙或侵犯他讓用戶達(dá)到他們的實(shí)際目標(biāo)時(shí),還不能妨礙或侵犯他們
57、的個(gè)人目標(biāo)。個(gè)人目標(biāo)是簡(jiǎn)單的、普遍的、也是屬們的個(gè)人目標(biāo)。個(gè)人目標(biāo)是簡(jiǎn)單的、普遍的、也是屬于個(gè)人的于個(gè)人的 。傷害用戶個(gè)人目標(biāo)的設(shè)計(jì),無(wú)論其他目標(biāo)實(shí)現(xiàn)得有多好,也傷害用戶個(gè)人目標(biāo)的設(shè)計(jì),無(wú)論其他目標(biāo)實(shí)現(xiàn)得有多好,也一樣會(huì)失敗。一樣會(huì)失敗。 燈燈滿足個(gè)人目標(biāo)同時(shí),也必須滿足公司目標(biāo)。通常把滿足個(gè)人目標(biāo)同時(shí),也必須滿足公司目標(biāo)。通常把公司目標(biāo)當(dāng)成保健目標(biāo)公司目標(biāo)當(dāng)成保健目標(biāo)。不要把一些新技術(shù)同目標(biāo)混淆起來(lái)。采用新技術(shù)是軟件公司不要把一些新技術(shù)同目標(biāo)混淆起來(lái)。采用新技術(shù)是軟件公司的任務(wù),但他從來(lái)不是用戶的目標(biāo)。的任務(wù),但他從來(lái)不是用戶的目標(biāo)。1103.3.任務(wù)設(shè)計(jì)任務(wù)設(shè)計(jì)o 任務(wù)是對(duì)使用軟件產(chǎn)品的角
58、色為達(dá)到某個(gè)目標(biāo)任務(wù)是對(duì)使用軟件產(chǎn)品的角色為達(dá)到某個(gè)目標(biāo)而進(jìn)行的簡(jiǎn)潔描述,也稱腳本設(shè)計(jì)而進(jìn)行的簡(jiǎn)潔描述,也稱腳本設(shè)計(jì)。日常使用型腳本:包含用戶要完成的,而且是最頻繁完成的動(dòng)作日常使用型腳本:包含用戶要完成的,而且是最頻繁完成的動(dòng)作。 必須精心設(shè)計(jì)必須精心設(shè)計(jì)。必需使用型腳本必需使用型腳本:包括所有必須要完成的動(dòng)作,但卻不是頻繁完包括所有必須要完成的動(dòng)作,但卻不是頻繁完成的工作成的工作。也必須好好設(shè)計(jì)也必須好好設(shè)計(jì)。邊緣情況腳本邊緣情況腳本:所需的交互被簡(jiǎn)約地設(shè)計(jì),并被放到界面的不重所需的交互被簡(jiǎn)約地設(shè)計(jì),并被放到界面的不重要位置要位置。簡(jiǎn)約的設(shè)計(jì)。簡(jiǎn)約的設(shè)計(jì)。 任務(wù)是需求分析階段收集的信息建立
59、的,一般通任務(wù)是需求分析階段收集的信息建立的,一般通過(guò)直接對(duì)用戶進(jìn)行觀察和對(duì)話,從他們的任務(wù)中學(xué)過(guò)直接對(duì)用戶進(jìn)行觀察和對(duì)話,從他們的任務(wù)中學(xué)習(xí)獲得的。習(xí)獲得的。1114. 4.人性化設(shè)計(jì)人性化設(shè)計(jì)o 人對(duì)電腦的反應(yīng)與人對(duì)其他人的反應(yīng)是一樣的。人對(duì)電腦的反應(yīng)與人對(duì)其他人的反應(yīng)是一樣的。o 如何使軟件像人一樣有禮貌,以達(dá)到設(shè)計(jì)的目標(biāo)如何使軟件像人一樣有禮貌,以達(dá)到設(shè)計(jì)的目標(biāo)?軟件的禮貌軟件的禮貌 :禮貌軟件應(yīng)對(duì)我關(guān)心禮貌軟件應(yīng)對(duì)我關(guān)心 禮貌軟件允許用戶出錯(cuò)并提前防止用戶出錯(cuò)禮貌軟件允許用戶出錯(cuò)并提前防止用戶出錯(cuò)。禮貌軟件應(yīng)該消息靈通,并具有一定的自信和判斷力禮貌軟件應(yīng)該消息靈通,并具有一定的自信和
60、判斷力: 搜索引擎搜索引擎 禮貌軟件還應(yīng)美觀,風(fēng)格一致。禮貌軟件還應(yīng)美觀,風(fēng)格一致。112四四. .交互設(shè)計(jì)中應(yīng)注意的問(wèn)題交互設(shè)計(jì)中應(yīng)注意的問(wèn)題o 調(diào)節(jié)界面調(diào)節(jié)界面o 為中間程度用戶設(shè)計(jì)為中間程度用戶設(shè)計(jì)o 需要精確的詞匯表需要精確的詞匯表o 能夠側(cè)向思維能夠側(cè)向思維o 衡量軟件開發(fā)工作的標(biāo)準(zhǔn)衡量軟件開發(fā)工作的標(biāo)準(zhǔn)1131.調(diào)節(jié)界面o 只要把日常使用的腳本中所需要的控制與數(shù)據(jù)突出的只要把日常使用的腳本中所需要的控制與數(shù)據(jù)突出的放在界面上,而把其它的放在次要的位置上放在界面上,而把其它的放在次要的位置上 。 微軟的微軟的WordWord 常用工具欄常用工具欄程序員很容易被一些小玩意迷住,熱衷于給
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧園區(qū)設(shè)計(jì)方案
- 糖尿病飲食處方
- 保護(hù)我們的關(guān)節(jié)教案反思
- 物聯(lián)網(wǎng)校園門禁系統(tǒng)
- 預(yù)防手足口病喜洋洋
- 城市綠化招投標(biāo)管理策略
- 工業(yè)廠房抹灰施工協(xié)議
- 企業(yè)重組法律顧問(wèn)管理辦法
- 商業(yè)廣場(chǎng)綠化工程承攬合同
- 國(guó)際學(xué)校地暖安裝施工協(xié)議
- 2024新外研版初一上英語(yǔ)單詞默寫表
- 高考化學(xué)一輪總復(fù)習(xí):環(huán)境保護(hù)與綠色化學(xué)
- 病原微生物實(shí)驗(yàn)室生物安全管理培訓(xùn)考核試題
- 當(dāng)代社會(huì)政策分析 課件 第七章 老年社會(huì)政策
- 2024年湖北聯(lián)投集團(tuán)有限公司校園招聘考試試題各版本
- 《無(wú)人機(jī)駕駛航空試驗(yàn)基地(試驗(yàn)區(qū))基礎(chǔ)設(shè)施建設(shè)規(guī)范(征求意見(jiàn)稿)》
- MOOC 藥物代謝動(dòng)力學(xué)-中國(guó)藥科大學(xué) 中國(guó)大學(xué)慕課答案
- 2.1《迎接蠶寶寶的到來(lái)》教學(xué)設(shè)計(jì)(新課標(biāo))
- FZT 92082-2017 非織造布噴絲板
- DL-T 5745-2021電力建設(shè)工程工程量清單計(jì)價(jià)規(guī)范-PDF解密
- 智能建造理論與實(shí)踐 課件全套 第1-6章 智能建造概述- 智慧城市
評(píng)論
0/150
提交評(píng)論