new-第6章-詳細設(shè)計_第1頁
new-第6章-詳細設(shè)計_第2頁
new-第6章-詳細設(shè)計_第3頁
new-第6章-詳細設(shè)計_第4頁
new-第6章-詳細設(shè)計_第5頁
已閱讀5頁,還剩204頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章詳細設(shè)計江西師范大學軟件學院內(nèi)容結(jié)構(gòu)程序設(shè)計人機界面設(shè)計過程設(shè)計的工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法程序復(fù)雜程度的定量度量詳細設(shè)計詳細設(shè)計階段的根本目標是確定應(yīng)該怎樣具體地實現(xiàn)所要求的系統(tǒng)。結(jié)構(gòu)程序設(shè)計是實現(xiàn)上述目標的關(guān)鍵技術(shù),因此是詳細設(shè)計的邏輯基礎(chǔ)。軟件定義階段定義了問題結(jié)構(gòu),叫做軟件設(shè)計的一級藍圖;軟件總體設(shè)計確定了軟件結(jié)構(gòu),即確定模塊的劃分、模塊間的接口,稱為軟件設(shè)計二級藍圖;軟件詳細設(shè)計確定每個軟件模塊的實現(xiàn)算法,可稱為軟件設(shè)計的三級藍圖。詳細設(shè)計二、基本步驟確定模塊如何實現(xiàn)編寫詳細設(shè)計說明書制定單元測試計劃詳細設(shè)計評審結(jié)構(gòu)程序設(shè)計1965年,E.W.Dijkstra指出:“可以從高級語言中取消GOTO語句”,“程序的質(zhì)量余程序中所包含的GOTO語句的數(shù)量成正比”。1966年Bohm和Jacopini證明了,只用三種基本的控制結(jié)構(gòu)就能實現(xiàn)任何單入口單出口的程序。這三種基本的控制結(jié)構(gòu)是“順序”、“選擇”和“循環(huán)”。理論上最基本的控制結(jié)構(gòu)只有兩種:順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)(DO-WHILE結(jié)構(gòu))。經(jīng)典定義:“如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結(jié)構(gòu)化的。”三種基本的控制結(jié)構(gòu)

其他常用的控制結(jié)構(gòu)1、程序流程圖(ProgramFlowChart)5種基本控制結(jié)構(gòu)為:過程設(shè)計的工具判斷一個數(shù)m是否為素數(shù)流程圖過程設(shè)計的工具過程設(shè)計的工具

對應(yīng)程序段:

max:=A[1]i:=2WHILEi≤nDOIFA[i]>maxTHENmax:=A[i]i:=i+1注.1.A是一個n元數(shù)組;

2.省略變量說明;

3.省略輸入、輸出語句。例.“在一組數(shù)中找出其中最大的數(shù)”的程序流程圖任何復(fù)雜的程序流程圖都應(yīng)由以上五種基本結(jié)構(gòu)組合而成。

ISO認可的規(guī)定符號優(yōu)點:容易掌握,且歷史“悠久”,使用廣泛。缺點:本質(zhì)上不具備逐步求精的特點,對于提高大型系統(tǒng)的可理解性作用甚微;不易表示數(shù)據(jù)結(jié)構(gòu);轉(zhuǎn)移控制太方便。趨勢:停止使用過程設(shè)計的工具2、盒圖(BoxDiagram):Nassi&Shneiderman1973年提出,又稱為N-SCharts。Chapin1974年作擴充,故也稱為Chapincharts.過程設(shè)計的工具畫出下列偽碼程序的程序流程圖,盒圖(N-S圖)。STARTIFpTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP過程設(shè)計的工具根據(jù)偽碼畫出N-SSTARTIFATHENX1DOUNTILBELSEX2YENDIFZSTOP過程設(shè)計的工具過程設(shè)計的工具判斷一個數(shù)m是否為素數(shù)流程圖FORi=2TOnMAX=A(1)MAX<A(i)TFMAX=A(i)

對應(yīng)程序段:

max:=A[1];

FORi=2TOnDOIFA[i]>maxTHENmax:=A[i];注.1.A是一個n元數(shù)組;

2.省略變量說明;

3.省略輸入、輸出語句。例1.“在一組數(shù)中找出其中最大的數(shù)”的N—S圖過程設(shè)計的工具x4TFDo-Untilx5ighfkx1TFbDo-Untilx6ajx21cDo-Whilex323dek:例:過程設(shè)計的工具特點:①沒有箭頭,不允許隨意轉(zhuǎn)移控制;②每個矩形框(Case中條件取值例外)都是一個功能域(即一個特定結(jié)構(gòu)的作用域),結(jié)構(gòu)表示明確;③局部及全程數(shù)據(jù)的作用域易見;④易表現(xiàn)嵌套關(guān)系(embeddedstructure)以及模塊的層次結(jié)構(gòu)。過程設(shè)計的工具ABSequentialWhilePSUntilPSLoopsPABTHENELSESelectiveP=A1A2CaseAn12n…StatementIndexdefDefinition3、PAD(ProblemAnalysisDiagram):日立公司,1973過程設(shè)計的工具NAX=A(1)WHILEi≤nMAX=A(i)i=i+1MAX<A(i)

對應(yīng)程序段:

max:=a[1];

WHILEi≤nDOIFa[i]>maxTHENmax:=a[i];

i=i+1注.1.A是一個n元數(shù)組;

2.省略變量說明;

3.省略輸入、輸出語句。例.“在一組數(shù)中找出其中最大的數(shù)”的PAD圖過程設(shè)計的工具例:N-S圖與PAD的轉(zhuǎn)換練習:請將N-S圖轉(zhuǎn)化成PAD圖過程設(shè)計的工具開始結(jié)束aj

Until

x5i

Until

x6bx1kfx4ghdefkx2de123

While

x3c過程設(shè)計的工具PAD的擴充控制結(jié)構(gòu)

對應(yīng)于增量型循環(huán)結(jié)構(gòu)

fori:=n1ton2stepn3do

在PAD中有相應(yīng)的循環(huán)控制結(jié)構(gòu)過程設(shè)計的工具特點:①結(jié)構(gòu)清晰,層次分明,易讀;②支持逐步求精的設(shè)計思想;③容易將PAD自動轉(zhuǎn)換為高級語言源程序。過程設(shè)計的工具4、判定表&判定樹(DecisionTable&Tree)表示復(fù)雜的條件(input)組合與應(yīng)做動作(output)之間的對應(yīng)關(guān)系。判定表能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系,而其它的工具不易表示。一張判定表由四部分組成,左上部列出所有條件,左下部是所有可能做的動作,右上部是表示各種條件組合的一個矩陣,右下部是和每種條件組合相對應(yīng)的動作。判定表的每一列實質(zhì)上是一條規(guī)則,規(guī)定了與特定的條件組合相對應(yīng)的動作。判定樹是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。優(yōu)點:形式簡單,不需任何說明,易看出含義,易于掌握和使用。缺點:簡潔性不如判定表,相同的數(shù)據(jù)元素往往要重復(fù)寫多遍,而且越接近樹的葉端重復(fù)次數(shù)越多。

過程設(shè)計的工具判定表示例:某校制定了教師的講課課時津貼標準。對于各種性質(zhì)的講座,無論教師是什么職稱,每課時津貼費一律是50元;而對于一般的授課,則根據(jù)教師的職稱來決定每課時津貼費:教授30元,副教授25元,講師20元,助教15元。過程設(shè)計的工具教師課時津貼判定樹過程設(shè)計的工具例:

航空行李托運費的算法按規(guī)定:重量不超過30公斤的行李可免費托運。重量超過30公斤時,對超運部分,頭等艙國內(nèi)乘客收4元/公斤;其它艙位國內(nèi)乘客收6元/公斤;外國乘客收費為國內(nèi)乘客的2倍;殘疾乘客的收費為正常乘客的1/2。過程設(shè)計的工具過程設(shè)計的工具用判定樹表示計算行李費的算法過程設(shè)計的工具注:判定表與判定樹并不適用于作為一種通用的設(shè)計工具,通常將之用于輔助測試【例】問題處理描述:耗電記費系統(tǒng)可以采用固定價格收費、浮動價格收費和其他方式收費三種方式。若采用固定價格方式收費,對每月耗電100kW?h以下的用戶只征收最低標準費,超過100kW?h的用戶按價格表A收費;若采用浮動價格方式收費,則每月耗電100kW?h以下的用戶按價格A收費,超過100kW?h的用戶按價格B收費。過程設(shè)計的工具過程設(shè)計的工具

判定表過程設(shè)計的工具過程設(shè)計的工具PDL(ProcedureDesignLanguage)也稱為結(jié)構(gòu)英語或偽碼,是所有正文形式的過程設(shè)計工具的統(tǒng)稱。PDL經(jīng)常表現(xiàn)為一種“混雜”的形式,允許自然語言(如英語)的詞匯與某種結(jié)構(gòu)化程序設(shè)計語言(如Pascal、C、Ada等)的語法結(jié)構(gòu)交織在一起過程設(shè)計的工具PDL應(yīng)具有下述特點:1.關(guān)鍵字采用固定語法并支持結(jié)構(gòu)化構(gòu)件、數(shù)據(jù)說明機制和模塊化;2.處理部分采用自然語言描述;3.允許說明簡單(標量、數(shù)組等)和復(fù)雜(鏈表、樹等)的數(shù)據(jù)結(jié)構(gòu);4.子程序的定義與調(diào)用規(guī)則不受具體接口方式的影響。過程設(shè)計的工具考察一個PDL的原型,它可以建立在任意一個通用的結(jié)構(gòu)化程序設(shè)計語言之上?;境煞职ǎ鹤映绦蚨x、界面描述、數(shù)據(jù)說明、塊結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和I/O結(jié)構(gòu)。數(shù)據(jù)說明的形式為:

TYPE<變量名>IS<限定詞1><限定詞2>其中:<變量名>——局部變量或全局變量;<限定詞1>——某個特定關(guān)鍵字(例如,SCALAR,ARRAY,LIST,STRING,STRUTURE等);<限定詞2>——說明此處定義的變量在該過程或整個程序中應(yīng)如何使用。過程設(shè)計的工具可進行抽象數(shù)據(jù)類型的定義,例如:TYPEtable_1ISINSTACEOFsymbol_table而symbol_table在另一處已定義如下:TYPEsymbol_tableISSTRUCTUREDEFINED過程設(shè)計的工具該PDL的塊結(jié)構(gòu)描述一個過程元素,即一個塊內(nèi)的所有語句將作為一個整體執(zhí)行,形式為

BEGIN[<塊名>]<語句序列>END該PDL的分支結(jié)構(gòu)有if-then-else和case兩種形式,分別為

IF<條件描述>THEN<塊結(jié)構(gòu)或語句>ELSE<塊結(jié)構(gòu)或語句>ENDIF過程設(shè)計的工具CASEOF<情況變量名>WHEN<第1種情況>SELECT<塊結(jié)構(gòu)或語句>WHEN<第2種情況>SELECT<塊結(jié)構(gòu)或語句>…WHEN<最后一種情況>SELECT<塊結(jié)構(gòu)或語句>DEFAULT:<塊結(jié)構(gòu)或語句>ENDCASE過程設(shè)計的工具循環(huán)結(jié)構(gòu)包括三類,表達形式分別為:DOWHILE<條件描述><塊結(jié)構(gòu)或語句>ENDWHILEREPEATUNTIL<條件描述><塊結(jié)構(gòu)或語句>ENDREPEATDOFOR<循變>=<循變?nèi)≈捣秶?表達式或序列><塊結(jié)構(gòu)或語句>ENDFOR過程設(shè)計的工具此PDL還提供了NEXT和EXIT兩種語句:

EXIT語句,退出本層循環(huán);

NEXT語句強迫本次循環(huán)結(jié)束,新一輪循環(huán)開始。在該PDL中,子程序說明為:

PROCEDURE<子程序說明><屬性表>INTERFACE<參數(shù)表><塊結(jié)構(gòu)或語句序列>END

其中屬性表指明該子程序的引用特性(比如,是INTERNAL還是EXTERNAL模式)和其他依賴于實現(xiàn)(即程序設(shè)計語言)的特性。過程設(shè)計的工具輸入/輸出說明部分常用的形式有

READ/WRITETO<設(shè)備><I/O表>

ASK<詢問>ANSWER<響應(yīng)選擇項>

后一種形式多用于人機交互部分的設(shè)計。請使用PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。N=1WHILEN<=10DOIFA(N)<=A(N+1)MAX=A(N+1);ELSEMAX=A(N)ENDIF;N=N+1;ENDWHILE;過程設(shè)計的工具例1.“在一組數(shù)中找出其中最大的數(shù)”用PDL語言描述如下:inputarraya;max=a[1];i=2;loopwhilei≤nifmaxa[i]thenmax=a[i]

endif

i=i+1endloopprintmax;inputarraya;max=a[1];i=2;dofori=2tonifmaxa[i]setmax=a[i]

endif

;enddoprintmax;過程設(shè)計的工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計一.面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法是按輸入和輸出以及內(nèi)部存儲信息的數(shù)據(jù)結(jié)構(gòu)進行設(shè)計,然后再把數(shù)據(jù)結(jié)構(gòu)的描述變換為對軟件結(jié)構(gòu)的描述。二.面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計與面向數(shù)據(jù)流的設(shè)計的異同兩種方法的共同點:

1.遵循“由頂向下、逐步細化”的原則;

2.服從“程序結(jié)構(gòu)必須適應(yīng)問題結(jié)構(gòu)”的原則。重復(fù)結(jié)構(gòu)選擇結(jié)構(gòu)ABCAB0C0AB*ABCAB0C0sAB*I

A由B、C兩部分順序組成

A可以包含B或C(S代表選擇)

A由B重復(fù)任意次(含零次)構(gòu)成(I代表重復(fù))順序結(jié)構(gòu)Jackson圖注:改進的Jackson圖規(guī)定順序執(zhí)行的處理中不許混有選擇執(zhí)行和重復(fù)執(zhí)行。Jackson圖三.Jackson圖與層次圖的區(qū)別

Jackson圖是層次圖的一種精化,兩者的圖形類似,但有著許多區(qū)別,表現(xiàn)在:

1.層次圖主要描繪軟件結(jié)構(gòu),而Jackson圖除描繪軟件結(jié)構(gòu)外,也能描繪數(shù)據(jù)結(jié)構(gòu);

2.層次圖中的一個方框代表一個模塊,而Jackson圖即使在描繪程序結(jié)構(gòu)時,一個方框也不表示一個模塊,而只代表幾個語句;

3.層次圖表現(xiàn)的是調(diào)用關(guān)系,通常一個模塊除了調(diào)用下級模塊外還完成其它操作;而Jackson圖表現(xiàn)的是組織關(guān)系,一個方框中包括的操作僅僅由它下層框中的哪些操作組成。Jackson圖重復(fù)結(jié)構(gòu)偽代碼選擇結(jié)構(gòu)偽代碼

AseqBCendA

Aselectcond1

B

orcond2

C

endAABCAB0C0SAB*I

untilAiter

cond

whileBend

A四.Jackson偽代碼

Jackson圖中三種結(jié)構(gòu)對應(yīng)的偽代碼如下(凡帶下劃線的字均為關(guān)鍵字)順序結(jié)構(gòu)偽代碼Jackson圖姓名類別津貼表頭表體教職工名冊Jackson圖名冊欄名行表名行表頭表體行*姓名類別津貼工齡津貼0教齡津貼0IS教職工名冊的數(shù)據(jù)結(jié)構(gòu)Jackson圖產(chǎn)生名冊文件產(chǎn)生欄名行產(chǎn)生表名行產(chǎn)生表頭產(chǎn)生表體產(chǎn)生行*產(chǎn)生姓名產(chǎn)生類別產(chǎn)生津貼產(chǎn)生工齡津貼0產(chǎn)生教齡津貼0SI教職工名冊的程序結(jié)構(gòu)Jackson方法一.兩種方法的比較Jackson方法二.Jackson方法的步驟

1.分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),用Jackson圖描繪這些數(shù)據(jù)結(jié)構(gòu)。實質(zhì)是對求解的問題進行需求分析。用Jackson圖表示數(shù)據(jù)結(jié)構(gòu)時,省略與解題無關(guān)的多余信息,僅保留需要用到的數(shù)據(jù)單元。

2.找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元(即有因果關(guān)系,在程序中可以同時處理的數(shù)據(jù)單元)按照下列映射規(guī)則,導(dǎo)出描繪程序結(jié)構(gòu)的Jackson圖。為每一對在輸入結(jié)構(gòu)和輸出結(jié)構(gòu)中有對應(yīng)關(guān)系的單元畫一個處理框;為輸入數(shù)據(jù)結(jié)構(gòu)中每一剩余的數(shù)據(jù)單元畫一個處理框;為輸出數(shù)據(jù)結(jié)構(gòu)中每一剩余的數(shù)據(jù)單元畫一個處理框;所有處理框在程序結(jié)構(gòu)上的位置,應(yīng)與由它處理的數(shù)據(jù)單元在數(shù)據(jù)結(jié)構(gòu)Jackson圖上的位置相對應(yīng)(程序中具有因果關(guān)系)。

3.寫出程序的過程性表示:列出所有操作和條件,并把它們分配到程序結(jié)構(gòu)圖的適當位置。

4.用Jackson偽代碼寫出與程序結(jié)構(gòu)圖對應(yīng)的過程性表示。Jackson方法例1.有兩個輸入文件:考生基本情況文件(簡稱考生情況文件)和考生高考成績文件(簡稱考分文件)如下:

考生情況文件考分文件準考證號姓名通訊地址準考證號考分產(chǎn)生輸出文件:考生新文件準考證號姓名通訊地址考分試用Jackson方法完成下列工作

(1)用Jackson圖表示輸入與輸出結(jié)構(gòu),找出它們之間的對應(yīng)單元;

(2)畫出用Jackson圖表示的程序結(jié)構(gòu);

(3)列出程序所需要的操作,并加到上一步畫出的程序結(jié)構(gòu)圖上;

(4)用Jackson偽代碼寫出與程序結(jié)構(gòu)圖對應(yīng)的過程性表示。Jackson方法

(1)輸入結(jié)構(gòu)考生情況文件通訊地址姓名準考證號考生情況文件考分文件考分準考證號輸出結(jié)構(gòu)通訊地址姓名準考證號考分考生記錄﹡I考生記錄﹡I考生記錄﹡IJackson方法輸入結(jié)構(gòu)與輸出結(jié)構(gòu)中對應(yīng)的數(shù)據(jù)單元產(chǎn)生新文件(2)程序結(jié)構(gòu)圖產(chǎn)生通訊地址產(chǎn)生姓名產(chǎn)生準考證號產(chǎn)生考分考生情況文件考生記錄﹡通訊地址姓名準考證號I處理考生記錄﹡I考生新文件考分通訊地址姓名準考證號考生記錄﹡I考分文件考生記錄﹡I考分準考證號Jackson方法

(3)列出程序所需用的操作,并加到上一步畫出的程序結(jié)構(gòu)圖上I(1)①停止;④從輸入文件中各讀一條記錄;⑦關(guān)閉全部文件;②打開兩個輸入文件;⑤生成一條新記錄;I(1)文件結(jié)束③建立輸出文件;⑥將新記錄寫入輸出文件;分析考生記錄產(chǎn)生新文件處理考生記錄﹡產(chǎn)生通訊地址產(chǎn)生姓名產(chǎn)生準考證號產(chǎn)生考分14657432Jackson方法

(4)用Jackson偽代碼寫出上述程序的過程表示。產(chǎn)生新文件seq

打開兩個輸入文件建立輸出文件從輸入文件中各讀一條記錄分析考生記錄iteruntil文件結(jié)束處理考生記錄seq

產(chǎn)生準靠證號產(chǎn)生姓名產(chǎn)生通訊地址產(chǎn)生考分生成一條新記錄將新記錄寫入輸出文件從輸入文件中各讀一條記錄處理考生記錄end

關(guān)閉全部文件停止產(chǎn)生新文件end2、Jackson方法:

例:一個正文文件由若干個記錄組成,每個記錄是一個字符串。要求統(tǒng)計每個記錄中空格字符的個數(shù),以及文件中空格字符的總個數(shù)。要求的輸出數(shù)據(jù)格式是:每復(fù)制一行輸入字符串之后,另起一行印出這個字符串中的空格數(shù),最后印出文件中空格的總個數(shù)。Jackson方法第1步:用Jackson圖描述I\O的數(shù)據(jù)結(jié)構(gòu)正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)第2步:在兩個圖中指出有直接因果關(guān)系(causality)、可以同時處理的單元(重復(fù)的次序,次數(shù)均相同)Jackson方法正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)??經(jīng)過程序處理由正文文件得到輸出表格。

每處理輸入中一個字符串后就得到輸出中一個串信息,二者重復(fù)次序和次數(shù)均相同。

字符不與多字符組成的字符串對應(yīng)。

單個空格不能決定空格數(shù)。Jackson方法第3步:DatastructureProgramstructure把有對應(yīng)關(guān)系的單元合為一個處理框,畫在相應(yīng)的層次中(不同層以低層為準)Jackson方法正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)統(tǒng)計空格處理字符串*I程序體印總數(shù)印字符串印空格數(shù)分析字符*分析字符*I分析字符串處理空格o處理非空格oS注:順序執(zhí)行的處理中不允許混有重復(fù)執(zhí)行或選擇執(zhí)行的處理。Jackson方法第4步:列出所有操作條件,并分配到上幅程序結(jié)構(gòu)圖中Jackson方法Jackson方法第5步:用Pseudocode表示程序。123Jackson方法該方法在設(shè)計比較簡單的數(shù)據(jù)處理系統(tǒng)時特別方便,當設(shè)計比較復(fù)雜的程序時常常遇到輸入數(shù)據(jù)可能有錯、條件不能預(yù)先測試、數(shù)據(jù)結(jié)構(gòu)沖突等問題。為了克服上述困難,把該方法用到更廣闊的領(lǐng)域,需要采用一系列比較復(fù)雜的輔助技術(shù)。Jackson方法程序復(fù)雜程度的定量度量定量度量程序復(fù)雜程度的價值?把程序的復(fù)雜程度乘以適當常數(shù)即可估算出軟件中故障的數(shù)量以及軟件開發(fā)需要用的工作量定量度量的結(jié)果可比較兩個不同設(shè)計或兩個不同算法的優(yōu)劣程序定量的復(fù)雜程度可以作為模塊規(guī)模的精確限度McCabe方法程序圖是“退化了的”程序流程圖,把程序流程圖中每個處理符號都退化成一個點,原來連接不同處理符號的箭頭變成連接不同點的有向弧,得到的有向圖就稱為程序圖,程序圖僅描繪程序內(nèi)部的控制流程。McCabe方法環(huán)形復(fù)雜度的計算方法可以用下列任何一種方法計算環(huán)形復(fù)雜度1、流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度2、流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中,E是流圖中邊的條數(shù),N是結(jié)點數(shù)。3、流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中,P是流圖中判定結(jié)點的數(shù)目。上圖中的的環(huán)形復(fù)雜度為3McCabe復(fù)雜性度量示例acbefd123768459R1R2R3R4R5V(G)=5環(huán)行復(fù)雜度的用途程序的環(huán)形復(fù)雜度取決于程序控制流的復(fù)雜程度,也即是取決于程序結(jié)構(gòu)的復(fù)雜程度。當程序內(nèi)分支數(shù)或循環(huán)個數(shù)增加時,環(huán)形復(fù)雜度也隨之增加,因此它是對測試難度的一種定量度量,也能對軟件最終的可靠性給出某種預(yù)測。實踐表明,模塊規(guī)模以V(G)≤10為宜,也就是說,V(G)≤10是模塊規(guī)模的一個更科學更精確的上限。Halstead的軟件科學度量根據(jù)程序中可執(zhí)行代碼行的操作符和操作數(shù)的數(shù)量來計算程序的復(fù)雜性n1:程序中出現(xiàn)的不同操作符數(shù)目n2:程序中出現(xiàn)的不同操作數(shù)數(shù)目N1:程序中操作符出現(xiàn)的總數(shù)N2:程序中操作數(shù)出現(xiàn)的總數(shù)復(fù)雜性度量舉例SORT源程序SUBROTINESORT(X,N)DIMENSIONX(N)IF(N.LT.Z)RETURENDO20I=2,NDO10J=1,IIF(X(I).GE.X(J))GOTO10SAVE=X(I)X(I)=X(J)X(J)=SAVE10CONTINUE20CONTINUERETURNEND

SORT源程序操作符操作符數(shù)

1.語句結(jié)束72.數(shù)組下標63.=54.IF()25.DO26.,27.程序結(jié)束18..LT.19..GE.1n1=10.GOTO101

N1=28

復(fù)雜性度量舉例SORT源程序SUBROTINESORT(X,N)DIMENSIONX(N)IF(N.LT.Z)RETURENDO20I=2,NDO10J=1,IIF(X(I).GE.X(J))GOTO10SAVE=X(I)X(I)=X(J)X(J)=SAVE10CONTINUE20CONTINUERETURNEND

SORT源程序操作數(shù)操作數(shù)數(shù)

1.X62.I53.J44.N25.216.SAVE2n2=7.12

N2=22

Halstead使用原始度量定義的算式(1)程序長度N=n1log2n1+n2log2n2(2)程序容量V=Nlog2(n1+n2)(3)語言級別L=(2×n2)/(n1×n2)(4)程序工作量E=V/L(5)程序編寫時間T=E/SS:Stroud數(shù)(6)程序潛在錯誤的數(shù)量

B=Nlog2(n1+n2)/3000Halstead的軟件科學度量Halstead認為程序中可能存在的錯誤與程序容量成正比

例:一程序?qū)?5個數(shù)據(jù)庫項共訪問1300次,對150個操作符使用1200次,潛在錯誤數(shù)為:

B=(1300+1200)log2(75+150)/3000

=6.5(即6~7個錯誤)

Halstead的軟件科學度量Halstead軟件科學是目前一種最好的軟件度量方法不足和問題:(1)未忽略模塊特性(2)忽略了非執(zhí)行語句(3)代碼和數(shù)據(jù)的二義性(4)未考慮數(shù)據(jù)類型的差異(5)未注意調(diào)用深度(6)未區(qū)別不同類型的運算符用戶界面應(yīng)具備的特性可使用性使用的簡單性用戶界面中的術(shù)語標準化和一致性擁有HELP幫助功能快速的系統(tǒng)響應(yīng)和低的系統(tǒng)成本用戶界面應(yīng)具有容錯能力靈活性算法的可隱可顯性用戶可以根據(jù)需要制定和修改界面方式能夠按照用戶的希望和需要,提供不同詳細程度的系統(tǒng)響應(yīng)信息與其它軟件系統(tǒng)應(yīng)有標準的界面為使用戶界面具有一定的靈活性,需要付出代價,而且有可能降低軟件系統(tǒng)的運行效率。用戶界面應(yīng)具備的特性復(fù)雜性和可靠性用戶界面的規(guī)模和組織的復(fù)雜程度就是界面的復(fù)雜性。在完成預(yù)定功能的前提下,應(yīng)當使得用戶界面越簡單越好。但不是把所有功能和界面安排成線性序列就一定簡單。用戶界面的可靠性是指無故障使用的間隔時間。用戶界面應(yīng)能保證用戶正確、可靠地使用系統(tǒng),保證有關(guān)程序和數(shù)據(jù)的安全性。

用戶界面應(yīng)具備的特性用戶界面設(shè)計的任務(wù)分析這一部分工作應(yīng)與軟件系統(tǒng)的需求分析同步進行。它主要包括用戶特性分析用戶工作分析記錄有關(guān)系統(tǒng)的概念和術(shù)語確定界面類型等4個步驟。用戶界面設(shè)計的任務(wù)分析用戶特性分析用戶界面是適應(yīng)人的需要而建立的,因此,首先要弄清將要使用這個界面的用戶類型。用戶特性分析的目的是要詳細了解所有用戶的技能和經(jīng)驗,以便能夠預(yù)測用戶對不同界面設(shè)計會做出什么反應(yīng),這樣在更改界面時,就能做出正確的判斷。1.用戶類型

外行型初學型熟練型專家型用戶的類型并不是一成不變的。因此,要做用戶特性測量,以幫助設(shè)計者選擇適合于大多數(shù)用戶使用的界面類型和支持級別。2.用戶特性度量用戶特性的度量與用戶使用模式及觀測到的用戶群體能力有關(guān)。

用戶使用的頻度:即系統(tǒng)是否經(jīng)常使用。

用戶是否能夠自由選用界面:所有的界面都應(yīng)當是良好的。

用戶對計算機的熟悉程度:對計算機的熟悉程度決定了要使用戶達到熟練程度需要多少訓練。

用戶知識:有些用戶已有相當多的計算機編程和操作的知識。他們需要一種靈活的可編程的或命令語言的界面。

用戶思維能力:這是對用戶的綜合知識和智力的衡量。

用戶的生理能力和技能:主要指人的視覺、聽覺、認知及記憶等方面的特點。因此,應(yīng)該在這一方面去收集信息。

用戶群體的度量可以用打分的辦法來簡單地度量。

平均值反映了用戶群體的平均特性。

標準偏差反映了用戶群體的差異大小,主要用于判斷用戶界面對不同類型的用戶的適應(yīng)范圍。例如:一個圖書館的計算機借閱系統(tǒng)由于圖書館的館員將每天使用這個系統(tǒng),因此他們使用系統(tǒng)的頻度很高。他們以前幾乎沒有人使用過計算機,也沒有人有自動化圖書館借閱系統(tǒng)和計算機系統(tǒng)的知識。他們的絕大多數(shù)的智力水平在中等以上。

2.用戶特性度量用戶特性表2.用戶特性度量用戶工作分析用戶工作分析,也稱為任務(wù)分析。它是系統(tǒng)內(nèi)部活動的分解。用戶工作分析與需求分析中結(jié)構(gòu)化分析的方法類似,采用自頂向下,逐步進行功能分解。與常規(guī)的功能分解不同的是,所有的系統(tǒng)任務(wù),包括與人相關(guān)的活動,都要考慮在內(nèi)。系統(tǒng)的功能分解,可以用數(shù)據(jù)流圖和數(shù)據(jù)詞典描述。任務(wù)可以由一組動作構(gòu)成,它們規(guī)定了為實現(xiàn)這個任務(wù)所必須的一系列活動。任務(wù)的細節(jié)可以使用結(jié)構(gòu)化語言來表達。它描述了動作完成的序列及在完成動作時的所有例外情況。用戶工作分析根據(jù)以上分析得到的度量表明,應(yīng)當選擇一種不太復(fù)雜的對話界面。例如,下面是圖書館中借閱圖書的活動描述。TASK:loanbooks

DOWHILEborrowers

requestreader_ID

check

reader_ID

IFreader_IDinvalid

passtomembership_checkELSE

continueENDIF

用戶工作分析根據(jù)以上分析得到的度量表明,應(yīng)當選擇一種不太復(fù)雜的對話界面。例如,下面是圖書館中借閱圖書的活動描述。

DOWHILE

book_requestsenter

book_markonborrower_slip

write

reader_IDonborrower_slip

stamp

bookwithreturn_date

removebook_in_library_tagENDWHILEENDWHILE

用戶工作分析任務(wù)模型任務(wù)模型包括靜態(tài)的和動態(tài)的兩種。系統(tǒng)的靜態(tài)模型就是對象—關(guān)系模型,用于展現(xiàn)界面的結(jié)構(gòu)設(shè)計;系統(tǒng)的動態(tài)模型是對系統(tǒng)操作或與會話設(shè)計有關(guān)的對象的動態(tài)行為的描述。模型由一些結(jié)構(gòu)組成,既要依據(jù)靜態(tài)的對象與其關(guān)系,又要依據(jù)活動的過程順序。例如,在一個圖書館中,用戶可以將系統(tǒng)視為書籍。這些書籍依次放在按照主題分區(qū)排列的書架上,它們可用一個層次結(jié)構(gòu)表示。圖書館的其它部分,如流通臺、后備書庫、公共書庫、將要上架的書等,它們在空間中可看成一個網(wǎng)絡(luò)。用戶可使用對書籍進行分類的(邏輯)術(shù)語與布局和書籍流通的(物理)術(shù)語來描述一個圖書館,組織他們關(guān)于現(xiàn)行系統(tǒng)的知識。任務(wù)模型任務(wù)模型用戶模型還可以分為設(shè)計者的用戶模型和用戶期望的用戶模型。前者是設(shè)計者認為的用戶對系統(tǒng)的期望。后者是用戶對系統(tǒng)的期望。必須使它們一致起來。

任務(wù)模型用戶界面任務(wù)和工作設(shè)計任務(wù)和工作設(shè)計的目的在于創(chuàng)造用戶的工作環(huán)境。通常,任務(wù)應(yīng)組織得多樣化一些,要與人的能力相適應(yīng)。既不能完全由非常復(fù)雜的步驟組成,也不能太過簡單而使操作者感到厭煩。任務(wù)分配在每個任務(wù)中,動作要分配給計算機、用戶或者二者。一般地,用戶承擔需要創(chuàng)造、判斷和探索的任務(wù),而計算機承擔重復(fù)檢查、計算和數(shù)據(jù)處理的任務(wù)。數(shù)據(jù)錄入、數(shù)據(jù)恢復(fù)和決策支持是混合任務(wù)。這些混合的任務(wù)需要通過人和計算機交互來共同完成。任務(wù)分配產(chǎn)生兩個網(wǎng)絡(luò)。一個是人的任務(wù)網(wǎng)絡(luò),一個是計算機的任務(wù)網(wǎng)絡(luò)。人的任務(wù)網(wǎng)絡(luò)說明如何安裝、操作和使用系統(tǒng),它最后將形成操作過程和用戶手冊的基礎(chǔ)計算機的任務(wù)網(wǎng)絡(luò)則描述計算機應(yīng)擔負的工作。這兩種網(wǎng)絡(luò)都可以用數(shù)據(jù)流圖來設(shè)計。任務(wù)分配步驟檢查數(shù)據(jù)流圖,標出哪些是單獨由計算機完成的任務(wù)、哪些是單獨由人完成的任務(wù)、哪些是由兩者共同完成的任務(wù)。對于共同完成的任務(wù),將任務(wù)的每一個動作分配給計算機或人。構(gòu)成新的計算機的任務(wù)網(wǎng)絡(luò)和人的任務(wù)網(wǎng)絡(luò)。再進一步細化計算機與人的協(xié)同動作,以確定人和計算機如何交互。一般情形,一個任務(wù)可以劃分成一些子任務(wù),按照某種順序執(zhí)行這些子任務(wù),實現(xiàn)任務(wù)所要達到的目標,因此需要做出結(jié)構(gòu)性的任務(wù)序列。但許多事務(wù)處理任務(wù)是非結(jié)構(gòu)性的,圖書館的館長會以一個不可預(yù)測的順序來召集一個碰頭會、查詢館內(nèi)各種業(yè)務(wù)情況。在這種情況下,不存在一個人的任務(wù)網(wǎng)絡(luò),而僅僅是一些用戶需要個別完成的互不聯(lián)系的任務(wù)。任務(wù)分配步驟工作方式和工作設(shè)計工作設(shè)計的目的是使任務(wù)需求與操作員的能力相匹配。在界面設(shè)計中關(guān)于人的因素特性的簡單的度量如下:復(fù)雜性:推理、判斷和決策的難度專心程度:對細節(jié)的注意力責任心:任務(wù)在總系統(tǒng)中的重要性變化性:在以上某一度量中的變化性工作方式和工作設(shè)計工作方式:(1)由一個人單獨完成一個系統(tǒng)的目標。例如,在商店業(yè)務(wù)處理系統(tǒng)中,檢查顧客訂單的任務(wù)中,所做的工作將是:數(shù)據(jù)輸入、顧客賒欠清理、錯誤分辨和賒欠查詢。(2)任務(wù)進展跟蹤。確定命令在系統(tǒng)中什么地方執(zhí)行、確定關(guān)鍵延遲的命令、調(diào)查拖延的原因、提出解決的建議等。在做工作設(shè)計時,應(yīng)該檢查任務(wù)流程以確認不會出現(xiàn)任務(wù)過載。如果同時有多個任務(wù)需要用戶給予注意,往往由于命令的時間沖突而使用戶陷入困境,結(jié)果出現(xiàn)任務(wù)過載。即使任務(wù)流程計劃的很好,但由于錯誤和一些意料之外的事情發(fā)生,如果錯誤處理過程計劃的不完全、無條理,也會出現(xiàn)任務(wù)過載。導(dǎo)致任務(wù)過載的原因,最常見的是出現(xiàn)工作負荷的高峰。因此要計劃工作負荷使之均衡,并給出錯誤處理的時間。工作方式和工作設(shè)計界面的設(shè)計原則分析用戶類型應(yīng)用程序和界面分離一致性盡量減少用戶工作提供反饋出錯處理和幫助功能增加可視化圖形表示黃金規(guī)則在有關(guān)界面設(shè)計的著作中,TheoMandel創(chuàng)造了三條黃金原則:置用戶于控制之下減少用戶的記憶負擔保持界面一致黃金規(guī)則:置用戶于控制之下

Mandel定義的一組允許用戶操作控制的原則:以不強迫用戶進入不必要的或不希望的動作的方式來定義交互方式提供靈活的交互允許用戶交互可以被中斷和撤消當技能級別增加時可以使交互流水化并允許定制交互使用戶隔離內(nèi)部技術(shù)細節(jié)設(shè)計應(yīng)允許用戶和出現(xiàn)在屏幕上的對象直接交互黃金規(guī)則:減少用戶的記憶負擔

Mandel定義了一組設(shè)計原則,使界面能夠減少用戶記憶負擔:減少對短期記憶的要求建立有意義的缺省定義直覺性的捷徑界面的視覺布局應(yīng)該基于真實世界的隱喻以不斷進展的方式揭示信息缺省值黃金規(guī)則:保持界面一致

用戶應(yīng)以一致的方式展示和獲取信息所有可視信息的組織均按照均按照貫穿所有屏幕顯示所保持的設(shè)計標準輸入機制被約束到有限的集合,在整個應(yīng)用中被一致地使用從任務(wù)到任務(wù)的導(dǎo)航機制被一致地定義和實現(xiàn)Mandel定義了一組幫助保持界面一致性的設(shè)計原則允許用戶將當前任務(wù)放入有意義的語境在應(yīng)用系列內(nèi)保持一致性如過去的交互模型已建立起了用戶期望,除非有迫不得已的理由,不要改變它界面設(shè)計的基本類型在選用界面形式的時侯,應(yīng)當考慮每種類型的優(yōu)點和限制。從以下幾個方面來考察,進行抉擇:

使用的難易程度:對于沒有經(jīng)驗的用戶,該界面使用的難度有多大。

學習的難易程度:學習該界面的命令和功能的難度有多大。

操作速度:在完成一個指定操作時,該界面在操作步驟、擊鍵和反應(yīng)時間等方面效率有多高。

復(fù)雜程度:該界面提供了什么功能、能否用新的方式組合這些功能以增強界面的功能。

控制:人機交互時,是由計算機還是由人發(fā)起和控制對話。

開發(fā)的難易程度:該界面設(shè)計是否有難度、開發(fā)工作量有多大。界面設(shè)計的基本類型

通常,一個界面的設(shè)計使用了一種以上的設(shè)計類型,每種類型與一個或一組任務(wù)相匹配。菜單(menu)界面的設(shè)計菜單是由系統(tǒng)預(yù)先設(shè)置好的,顯示于屏幕上的一組或幾組可供用戶選用的命令。這種菜單命令無需用戶通過鍵盤打入,而是由系統(tǒng)將那些在一定環(huán)境下所需用的操作命令(菜單命令),全部或部分地顯示在屏幕上,供用戶挑選。

按照顯示的形象或樣式來分類界面設(shè)計的基本類型

正文菜單正文菜單實質(zhì)上是系統(tǒng)命令本身或者是其簡寫形式。在一個菜單中包含許多菜單項,可以象節(jié)目單那樣,按某種約定,在屏幕上成行或成列地排好。簡單的正文菜單的設(shè)置與選取方式:①首字符匹配方式

②序號匹配方式

③亮條匹配方式界面設(shè)計的基本類型序號匹配方式界面設(shè)計的基本類型

圖標菜單

圖標菜單,簡稱圖標,是安置在一個小方框之中的一幅象形的或表意的圖畫。圖標菜單項在功能上與正文菜單項沒有什么差別,只不過圖標更形象、更直觀。

正文和圖標混合的菜單

這種菜單基本上還是正文式的。從屏幕上看,它還是由字符串構(gòu)成。只不過在字符串的前端或末端綴有圖標。界面設(shè)計的基本類型界面設(shè)計的基本類型

按屏幕位置和操作風格來分類

固定位置菜單

固定位置菜單每次總是在屏幕的相對固定的位置出現(xiàn)。通常軟件系統(tǒng)的功能劃分多為樹型結(jié)構(gòu),要求系統(tǒng)的控制結(jié)構(gòu)也應(yīng)是樹型結(jié)構(gòu)。固定位置菜單可以很方便地實現(xiàn)一種三層結(jié)構(gòu)的菜單機制。采用固定位置菜單對系統(tǒng)加以控制,其突出的優(yōu)點是層次清晰。界面設(shè)計的基本類型

按屏幕位置和操作風格來分類

固定位置菜單0層─主菜單:定位于屏幕中心或占領(lǐng)整個屏幕,菜單項的內(nèi)容是所屬各個子系統(tǒng)的名稱。1層─子系統(tǒng)層:這一層菜單在水平方向排成一行,安放于屏幕的上沿或下沿。菜單項的內(nèi)容是所屬各操作類的名稱。當控制進入下一層次時,這一層菜單并不消失,仍然留在原來的位置。2層─當用戶挑選了某一個操作類時,屏幕上將按垂直方向顯示這組操作類的名稱。這一層菜單項的內(nèi)容與應(yīng)用系統(tǒng)的具體某項操作有關(guān)。

界面設(shè)計的基本類型

浮動位置菜單浮動位置菜單(彈出式菜單)。其主要特點是:僅當系統(tǒng)需要時,它才被瞬時顯示出來供用戶選用,完成使命后它立即從屏幕上消失。它的顯示位置可以根據(jù)用戶的操作或根據(jù)當時的操作環(huán)境來決定。

彈出式菜單與用戶當時正在執(zhí)行的操作密切相關(guān)。但是使用彈出式菜單,由于菜單的瞬時性,用戶不清楚自己當前究竟處在系統(tǒng)的什么位置,看不到自己處于那一層次。

界面設(shè)計的基本類型界面設(shè)計的基本類型

下拉式菜單

下拉式菜單將固定位置菜單與浮動位置菜單揉和在一起。其結(jié)構(gòu)分為兩層:第一層是各個父菜單項的名字,它們排成一行,放置在屏幕上沿的一個菜單帶區(qū)中。第二層是各個父菜單項的子菜單項,它們分別隸屬于所對應(yīng)的父菜單項。子菜單項平時是“藏”在屏幕后面的,僅僅當其父菜單項被選上時,才緊挨在其父菜單項的下方立即顯示出來,以供用戶進一步選用。選完之后它們又立即消失。界面設(shè)計的基本類型下拉式菜單只能描述系統(tǒng)的兩個層次的控制結(jié)構(gòu),但是一般的系統(tǒng)的控制結(jié)構(gòu)不只兩層,解決辦法有兩個:

對于小系統(tǒng)或系統(tǒng)中的一個小范圍,可使用彈出式菜單。這種辦法比較實用,系統(tǒng)開銷也比較小。

如果系統(tǒng)相當大,應(yīng)將原系統(tǒng)分為若干子系統(tǒng),子系統(tǒng)還可以再分解下去。對于各個子系統(tǒng)之間的接口控制,可以通過窗口來實現(xiàn),而在各個子系統(tǒng)內(nèi)部,仍可以使用下拉式菜單來進行界面管理。界面設(shè)計的基本類型界面設(shè)計的基本類型

嵌入式菜單嵌入式菜單通常并不顯式地成行成列地出現(xiàn)在屏幕上,而是混在應(yīng)用之中。也可以說嵌入式菜單項本身就是它所在應(yīng)用中的一部分內(nèi)容。必要時可以用粗體字或字母高亮度顯示等方式加以突出。圖像所謂圖像,就是屏幕上一個矩形區(qū)域內(nèi)包含的象素所構(gòu)成的一個畫面。在用戶界面中,加入豐富多彩的畫面,將能夠更形象地為用戶提供有用的信息而達到可視化的目的。界面設(shè)計的基本類型

屏幕的滾動

通常,用于人機交互活動的物理屏幕僅能容納用戶需要顯示的內(nèi)容中的一部分內(nèi)容,因此,用戶必須通過屏幕滾動或其它措施才能看到全部內(nèi)容。

屏幕滾動可以將用戶的顯示內(nèi)容在物理屏幕上做平行移動,因此需要為此功能設(shè)置一個內(nèi)存緩沖區(qū)。圖案的顯示

在人機對話過程中使用圖案顯示,可以大大提高應(yīng)用系統(tǒng)的視覺效果。連續(xù)地顯示預(yù)先準備好的某動作過程中的一連串相接的瞬間圖案,就構(gòu)成為動畫。界面設(shè)計的基本類型界面設(shè)計的基本類型界面設(shè)計的基本類型

對話

對話(對話框)是系統(tǒng)在必要時顯示于屏幕上一個矩形區(qū)域內(nèi)的圖形和正文信息。通過對話,實現(xiàn)用戶和系統(tǒng)之間的通信。

通常,對話是一種輔助手段,它也可以用來在系統(tǒng)的執(zhí)行過程中,給出某種警告或提示信息。對話在屏幕上的出現(xiàn)方式與彈出式菜單類似,即瞬時彈出。與彈出式菜單不同的是,對話框在屏幕上顯示的位置是由系統(tǒng)所設(shè)置的。

有三種對話形式。界面設(shè)計的基本類型

必須回答式

必須回答式的對話在屏幕上出現(xiàn)時,用戶必須給予回答,否則系統(tǒng)不再做任何其他工作。

無需回答式

這類對話在屏幕上的出現(xiàn),僅僅是為了告訴用戶一些參考信息,不需要用戶回答。因此,用戶可以不理睬它,繼續(xù)做原來的工作。界面設(shè)計的基本類型

警告式

這類對話主要用于系統(tǒng)報錯或者警告。警告式的對話,根據(jù)警告的內(nèi)容,可以是必須回答式的對話,也可以是無需回答式的對話,同時給出一些必要的警告信息。例如,在刪除一個文件時,鍵入了刪除文件命令后,為了確保不致誤刪不該刪除的文件,屏幕上將出現(xiàn)一個警告式的對話框:界面設(shè)計的基本類型窗口(window)

窗口是指屏幕上的一個矩形區(qū)域,在圖形學中叫做視圖區(qū)(viewport)。用戶可以通過窗口顯示、觀察其工作領(lǐng)域內(nèi)的全部或一部分內(nèi)容,并可以對所顯示的內(nèi)容進行各種系統(tǒng)預(yù)先規(guī)定好的正文和圖形操作。由于物理條件的限制,窗口面積的大小一般都不能滿足用戶要求,在窗口顯示的內(nèi)容只占用戶空間的一部分。界面設(shè)計的基本類型在用戶界面,為了能夠通過窗口看到整個用戶空間的全貌,一個簡單的辦法就是讓窗口在用戶空間滾動,即所謂屏幕滾動。事實上,窗口本身并不屬于用戶空間,它僅僅是用于觀察、組織用戶空間的內(nèi)容,并對其進行操作的用戶接口工具。習慣上把窗口視為虛擬屏幕,相對地,顯示器屏幕就稱為物理屏幕。采用滾動技術(shù),通過窗口能夠看到的用戶空間,比物理屏幕顯示的內(nèi)容要多得多;而另一方面,在同一物理屏幕上又可以設(shè)置多個窗口,各個窗口可以由不同的系統(tǒng)或系統(tǒng)成分分別使用。界面設(shè)計的基本類型界面設(shè)計的基本類型界面設(shè)計的基本類型數(shù)據(jù)輸入界面設(shè)計數(shù)據(jù)輸入是指所有供計算機處理的數(shù)據(jù)的輸入。數(shù)據(jù)輸入界面是系統(tǒng)的一個重要組成部分,它常占用戶的極大部分使用時間。數(shù)據(jù)輸入的規(guī)則:數(shù)據(jù)輸入界面的目標是盡量簡化用戶的工作,并盡可能地減少輸入的出錯率。為此,在設(shè)計時要考慮盡可能減少用戶的記憶負擔,使界面具有預(yù)見性和一致性,防止用戶輸入出錯,以及盡可能增加數(shù)據(jù)自動輸入。在軟件設(shè)計的范圍,可以通過以下方法來減少用戶輸入的工作量。對共同的輸入內(nèi)容設(shè)置默認值(缺省值)。使用代碼和縮寫。主動填入已輸入過的內(nèi)容或需要重復(fù)輸入的內(nèi)容。如果輸入內(nèi)容是來自一個有限的備選集,可以采用列表選擇或指點方式。數(shù)據(jù)輸入屏幕應(yīng)當設(shè)計成盡量與輸入格式相匹配。如果沒有輸入格式,或舊的輸入格式設(shè)計得不好,就應(yīng)當設(shè)計新的屏幕格式。數(shù)據(jù)輸入界面設(shè)計數(shù)據(jù)內(nèi)容應(yīng)當根據(jù)它們的使用頻率,或它們的重要性,或它們的輸入次序進行組織。數(shù)據(jù)輸入對話設(shè)計的一般規(guī)則。

明確的輸入:只有當用戶按下輸入的確認鍵時,才確認輸入。這有助于在輸入過程中一旦出現(xiàn)錯誤能及時糾錯。

明確的動作:在表格項之間自動地跳躍/轉(zhuǎn)換并不總是可取的,尤其是對于不熟練的用戶,往往會被搞得無所適從,要使用TAB鍵或回車鍵控制在表格項間的移動。數(shù)據(jù)輸入界面設(shè)計

明確的取消:如果用戶中斷了一個輸入序列,已經(jīng)輸入的數(shù)據(jù)不要馬上丟棄。這樣才能對一個也許是錯誤的取消動作進行重新思考。

確認刪除:為避免錯誤的刪除動作可能造成的損失,在鍵入刪除命令后,必須進行確認,然后才執(zhí)行刪除操作。例如,可以用Deleteyousure?[Y/N]

來確認。

提供反饋:若一個屏幕上可容納若干輸入內(nèi)容,可將用戶先前輸入的內(nèi)容仍保留在屏幕上,以便用戶能夠隨時察看,明確下一步應(yīng)做的操作。數(shù)據(jù)輸入界面設(shè)計

允許編輯:在一個文件輸入過程中或輸入完成后,允許用戶對其編輯,以修改他們正在輸入的數(shù)據(jù)或修改他們以前輸入的數(shù)據(jù)。應(yīng)采納一種前后一致的編輯方式。提供復(fù)原(Undo):應(yīng)允許用戶恢復(fù)輸入以前的狀態(tài)。這在編輯和修改錯誤的操作經(jīng)常用到。自動格式化:用戶可以采用自由格式進行輸入。例如,用COBOL語言時,用79而不是0079去適應(yīng)格式PIC9(4)的要求。輸入對空格應(yīng)不敏感。數(shù)據(jù)輸入界面設(shè)計

提示輸入的范圍:應(yīng)當顯示有效回答的集合及其范圍。例如,顯示“在1~10之間輸入打折扣量”。比較常見的數(shù)據(jù)輸入檢測方式有二次輸入校驗法、靜態(tài)校驗法、平衡校驗法、文件查詢校驗法、界限校驗法、數(shù)據(jù)格式校驗法等。數(shù)據(jù)輸入界面設(shè)計(1)采用二次輸入校驗法要求同一個數(shù)據(jù)內(nèi)容輸入兩次,以兩次輸入內(nèi)容一致作為正確性判斷的依據(jù)。對于特別重要的數(shù)據(jù)輸入,也可以要求輸入兩次以上。(2)靜態(tài)校驗法是在數(shù)據(jù)輸入之后采用目測的方法檢查輸入數(shù)據(jù)的正確性,目測一般在屏幕前進行,在輸入內(nèi)容復(fù)雜的情況下也可以打印出來檢測。(3)平衡校驗法是根據(jù)數(shù)據(jù)之間的計算關(guān)系來檢查輸入數(shù)據(jù)的正確性。應(yīng)用平衡校驗法比較典型的例子是會計憑證數(shù)據(jù)必須滿足“有借必有貸,借貸必相等”,即會計憑證中的數(shù)據(jù)必須同時有借方金額和貸方金額,并且借方金額合計和貸方金額合計必須相等。如果不滿足該平衡條件,那么輸入的會計憑證數(shù)據(jù)一定是錯誤的。數(shù)據(jù)輸入界面設(shè)計(4)文件查詢校驗法一般用于檢查輸入的數(shù)據(jù)是否為無效數(shù)據(jù)。例如,在輸入物資編碼時,一般需要在物資編碼表中查找是否存在所輸入的物資編碼,如果不存在,那么輸入的物資編碼為無效的物資編碼。(5)界限校驗法是通過給出數(shù)據(jù)的上限和下限的方法來檢測輸入數(shù)據(jù)的正確性。例如,日期中月份的最大取值為12,最小取值為1。如果輸入的月份數(shù)據(jù)不在該范圍之內(nèi),則認為是輸入有誤。(6)數(shù)據(jù)類型格式校驗法是從數(shù)據(jù)類型和數(shù)據(jù)格式的角度來檢測輸入數(shù)據(jù)的正確性。例如,在輸入系統(tǒng)操作員姓名時,輸入的應(yīng)為字符型數(shù)據(jù),如果輸入的為數(shù)值型數(shù)據(jù)就一定是錯誤的輸入。數(shù)據(jù)輸入界面設(shè)計輸入表格設(shè)計數(shù)據(jù)表格設(shè)計是對較復(fù)雜的數(shù)據(jù)錄入時使用得最廣泛的一種對話類型。這種方法是在屏幕上顯示一張表格,類似于用戶熟悉的填表格式,以供用戶向計算機內(nèi)輸入數(shù)據(jù)。在這種輸入數(shù)據(jù)表格中,對于每一種輸入信息,都有一個表格項,并帶有一個表格項頭,以提示輸入信息的內(nèi)容及位置。由用戶使用移位鍵或者特殊定義的功能鍵控制屏幕上的光標,在各個表格項上定位以及數(shù)據(jù)的輸入。用戶鍵入數(shù)據(jù)之后,還可以以相同的屏幕格式顯示、修改這些數(shù)據(jù)。數(shù)據(jù)表格的優(yōu)點是它的視覺布局用戶比較熟悉,而且全部信息都可以顯示在屏幕上,只要表格設(shè)計得好,操作步驟非常簡便。輸入表格設(shè)計輸入表格設(shè)計輸入表格設(shè)計數(shù)據(jù)表格設(shè)計的規(guī)則

數(shù)據(jù)驗證

數(shù)據(jù)輸入很容易出錯。出錯的原因可能是忽略了某一項,或在某一項的輸入中鍵入了不正確的數(shù)據(jù),或是數(shù)字、字符敲錯。數(shù)據(jù)驗證是要檢查是否所有必需的項目都已填充,數(shù)據(jù)輸入是否正確,是否合理。出錯驗證可能得到以下三種結(jié)果:

致命錯誤:引起處理混亂的錯誤。此時,用戶要么重新輸入一個正確的數(shù)據(jù),要么退出輸入,不允許其它做法。

警告:由很不可信的數(shù)據(jù)引起的錯誤。此時應(yīng)停止處理并提請用戶重新輸入數(shù)據(jù)。

建議:由不大可信的數(shù)據(jù)引起的錯誤。此時,處理不必停止,但要發(fā)出一個警告信息,使得用戶或是立即停止檢查,或是在處理結(jié)束時進行檢查。

屏幕設(shè)計

通常把屏幕劃分為數(shù)據(jù)輸入、命令與出錯處理三個區(qū)域。在屏幕設(shè)計時,應(yīng)注意以下幾點:應(yīng)用不同的底色來區(qū)別各個區(qū)域。數(shù)據(jù)表格設(shè)計的規(guī)則數(shù)據(jù)表格設(shè)計的規(guī)則

數(shù)據(jù)輸入?yún)^(qū)內(nèi)各個輸入項應(yīng)左側(cè)對齊。在空間允許時,最好一行僅對應(yīng)一個輸入。

當回答中包含的字符數(shù)已知時,數(shù)據(jù)輸入?yún)^(qū)應(yīng)設(shè)置有相應(yīng)格式的回答區(qū)域。

如果輸入中有量的單位時,單位應(yīng)在輸入項中的左邊指定。

標題、命令、重要的提示和填充指令應(yīng)是簡練、準確的。應(yīng)使用為用戶易于理解的詞匯。數(shù)據(jù)表格設(shè)計的規(guī)則

報信報信對于通知用戶出錯的類型,為用戶提供控制輸入順序和修改錯誤是很重要的。在報信時所用的行文應(yīng)當用詞準確、簡明、完備。出錯信息的提示應(yīng)當報告錯誤出在何處,是什么錯誤,為什么錯了,以及要修改錯誤應(yīng)當采取什么措施。提示信息不應(yīng)使用專業(yè)術(shù)語,應(yīng)當使用肯定方式和主動語態(tài)。例如,用“做…”來表達,不要用“不做…”來表達;用主動語態(tài)“按任意鍵繼續(xù)…”,而不要用被動語態(tài)“通過按Break鍵此段可被終止”。數(shù)據(jù)表格設(shè)計的規(guī)則數(shù)據(jù)表格設(shè)計的規(guī)則

數(shù)據(jù)輸入對話控制數(shù)據(jù)輸入的對話控制是為了防止錯誤發(fā)生,如果一旦發(fā)生了錯誤,它應(yīng)為用戶提供簡單有效的改錯方法。數(shù)據(jù)輸入對話則應(yīng)當精心設(shè)計以便編輯和改錯。在對話序列中應(yīng)設(shè)置若干斷點,以休息和復(fù)位點來提高注意力。斷點的設(shè)置要考慮到信息塊及屏幕布局。對于比較復(fù)雜的控制命令序列,如果采用語法制導(dǎo)編輯技術(shù),提供各類的語法模板,用戶可以不必記憶許多繁瑣的語法公式,關(guān)鍵字和標識符,只要按語法結(jié)構(gòu)選擇控制結(jié)構(gòu)就可以了。在這種情況下,各種語法模板也可以看作是一些數(shù)據(jù)表格,用戶在模板的提示下,鍵入需要的參數(shù),使得這個復(fù)雜的命令序列得以順利執(zhí)行。其它數(shù)據(jù)輸入的方法它們分為兩類,一類是用菜單或關(guān)鍵詞進行軟件設(shè)計,另一類是用硬件方法來自動完成全部或部分數(shù)據(jù)輸入任務(wù)。

菜單選擇輸入

如果數(shù)據(jù)從一個確定的可供選擇的清單中選取輸入,則可用菜單方式。方法很簡單,把所有的選擇項都顯示在屏幕上,用戶只需輸入代表各項的數(shù)字代碼,就可選擇一個或幾個數(shù)據(jù),較復(fù)雜的選擇方式是使用光筆或鼠標器對文字菜單或圖標進行選擇。其它數(shù)據(jù)輸入的方法

進行菜單項顯示設(shè)計時,應(yīng)按照執(zhí)行邏輯將內(nèi)容組織在一起,以便引導(dǎo)用戶找到所需要的內(nèi)容。

關(guān)鍵詞數(shù)據(jù)輸入

關(guān)鍵詞數(shù)據(jù)輸入比菜單選擇數(shù)據(jù)輸入更快速、更有效。并可以以不同的順序輸入,允許更復(fù)雜的文件輸入。例如,在繪圖系統(tǒng)中,利用關(guān)鍵詞line、brok、rect和circ作為畫直線、折線、矩形和圓的助記符,進行識別和操作。其它數(shù)據(jù)輸入的方法

光學標記/識別(OMR)

光學標記/識別在表格中使用。用戶在表格的一個區(qū)域中打標記□或■,然后讓表格通過一個光敏讀入設(shè)備,其中用暗標記■表示“是”,用亮標記□(即未標記過)表示“否”。

光學字符識別(OCR)

OCR系統(tǒng)可讓計算機通過模式比較來識別一些具有不同字體和大小的印刷體。首先它讓字符識別系統(tǒng)熟悉鉛字字體的特征。經(jīng)過若干次嘗試,使計算機系統(tǒng)了解這種字體的規(guī)則,并將這些規(guī)則記憶到模式匹配算法中。其它數(shù)據(jù)輸入的方法

磁性墨水字符識別(MICR)

MICR字體就是在銀行支票上的帳號和分類號所使用的字符。

條形碼(BarCode)

條形碼由許多粗細不等的豎線組成的標簽,這些豎線條在特定位置上出現(xiàn)或不出現(xiàn)就表示某個特定的數(shù)據(jù)。條形碼的代碼由一個特殊的光敏裝置或條形碼讀入器讀入,讀入器在橫穿過條形碼時挑選出暗帶,并根據(jù)暗帶在位置x,x+1等處是否出現(xiàn)而將條形碼序列翻譯成數(shù)據(jù),計算機將條形碼與檢查相比較以計算出商品的號碼或數(shù)值。其它數(shù)據(jù)輸入的方法

聲音數(shù)據(jù)輸入

聲音數(shù)據(jù)輸入有許多很明顯的優(yōu)點。它輸入速度很快,可用于不宜使用紙張及不能使用鍵盤的場合。這種方式不需要書寫,只需用戶使用自己的聲音器官發(fā)聲即可。聲音數(shù)據(jù)的輸入包括了語音和自然語言對話的所有問題。在目前的技術(shù)條件下,在限定200~8000個詞匯量的的范圍內(nèi),進行有限的單個關(guān)鍵詞的輸入是可能的?,F(xiàn)在已經(jīng)有一種聲控打字機,它擁有的詞匯量達到8000,已能滿足人們?nèi)粘捤褂糜谜Z的詞匯量。其它數(shù)據(jù)輸入的方法數(shù)據(jù)顯示界面設(shè)計數(shù)據(jù)顯示界面包括屏幕查詢、文件瀏覽、圖形顯示和報告。數(shù)據(jù)顯示的規(guī)則進行數(shù)據(jù)輸出顯示設(shè)計,應(yīng)當了解數(shù)據(jù)顯示的要求,解決應(yīng)該顯示哪些數(shù)據(jù),屏幕上一次顯示多少信息的問題。顯示的信息對于用戶任務(wù)來說應(yīng)當是適當?shù)模灰^于擁擠。選擇顯示內(nèi)容,應(yīng)當考慮以下準則。只顯示必需的數(shù)據(jù)。與用戶需求無直接關(guān)系的一律省略。在一起使用的數(shù)據(jù)應(yīng)顯示在一起。顯示出的數(shù)據(jù)應(yīng)與用戶執(zhí)行的任務(wù)有關(guān)。每一屏數(shù)據(jù)的數(shù)量,包括標題,欄題等等,不應(yīng)超過整個屏幕面積的30%。利用這些規(guī)則,并根據(jù)用戶要求,下一步應(yīng)當將數(shù)據(jù)分組,然后將每組數(shù)據(jù)按一定的結(jié)構(gòu)形式來安排,總的目的是使得用戶感到使用方便。顯示設(shè)計要使得相關(guān)的數(shù)據(jù)成組地出現(xiàn),并由用戶與系統(tǒng)的會話來控制??筛鶕?jù)屏幕的大小,使每幀屏幕包含若干個子區(qū)域,讓每個子區(qū)域顯示不同的信息。進行屏幕布局時,還需要考慮其它一些規(guī)則。應(yīng)盡量少使用代碼和縮寫,不應(yīng)讓讀者去翻譯或猜測這些代碼或縮寫。如果安排了若干個顯示畫面,最好建立一個統(tǒng)一的格式。提供明了的標題、欄題以及其它提示信息。幫助用戶瀏覽各種顯示畫面。遵循用戶的習慣。采用在分析過程中得到的用戶模型,并保留用戶使用的術(shù)語。采用顏色、字符大小、下劃線或不同的字體等方式來強化重要數(shù)據(jù)。設(shè)計了數(shù)據(jù)的顯示結(jié)構(gòu)之后,根據(jù)是圖形顯示還是字符顯示,進一步考慮細節(jié)設(shè)計。

數(shù)據(jù)顯示界面設(shè)計字符數(shù)據(jù)的顯示

字符數(shù)據(jù)的畫面顯示主要是屏幕布置和數(shù)據(jù)內(nèi)容安排格式,以便于用戶查找和閱讀的問題。

純正文的顯示

英文正文中應(yīng)避免連續(xù)使用大寫字母,大寫字母應(yīng)使用印刷體,且一般為強調(diào)而使用。英文正文應(yīng)當是左邊頂格,右邊可以參差不齊。如果要求左、右兩邊都頂格,參差不齊的間隔容易分散視力。

列表和表格

數(shù)據(jù)列表應(yīng)當豎排而不應(yīng)橫排,因為這樣有助于計算總和。欄題應(yīng)當安排在數(shù)據(jù)列之上。顯示不應(yīng)是一個固定的格式。一般來說,顯示的內(nèi)容應(yīng)由用戶控制。

控制顯示

用戶應(yīng)當擁有一種獲得不同顯示畫面的靈活的手段。數(shù)據(jù)顯示對話應(yīng)允許用戶在無需進入數(shù)據(jù)檢索狀態(tài)下就能實現(xiàn)換屏和上下滾動顯示。在換屏控制顯示時,前一次顯示的部分內(nèi)容應(yīng)顯示在新顯示畫面的頂部或底部,以使用戶感到連貫。在畫面滾動顯示時,其速度應(yīng)由用戶控制,使得不感興趣的內(nèi)容快速跳過而感興趣的內(nèi)容緩慢通過,以便查看。字符數(shù)據(jù)的顯示圖形顯示由于圖形從數(shù)據(jù)集合中概括出某些特性并且具有“直觀”的優(yōu)點,因此對于識別和分析處理結(jié)果更有效。為了做好圖形顯示,必須仔細地選擇圖形類型和進行布局設(shè)計。

圖形類型與數(shù)據(jù)集分類

在一定程度上,圖形類型的選擇是有限的,因為它是根據(jù)數(shù)據(jù)類型來決定的。圖形的數(shù)據(jù)集來自三個方面,其數(shù)值可以是:順序的(布爾值,即有/無);標稱的(整數(shù));十進制的(實數(shù))。數(shù)據(jù)集可以按標繪圖類型來分類。圖形顯示常用的二維圖形在商用的圖形庫中,常取下列4種圖形。圖形顯示三維圖形:當每個對象有三個測量值(x,y,z)時,可用三維圖形方法。三維直方圖,三維餅圖,三維線圖等報告報告的功能和分類

報告是輸出字符的一個子集,它的功能可以是從一個系統(tǒng)向另一個系統(tǒng)傳遞信息;也可以是某一系統(tǒng)的總結(jié);還可以是一個歷史文獻、簡單的列表等等。報告可以歸為四類。

文宗報告:報告中輸出的是數(shù)據(jù)處理的結(jié)果。它主要用于在各個系統(tǒng)之間傳送信息,包括正在處理的對象的信息。例如,訂貨單、發(fā)貨單、發(fā)票、購物單、帳單等。

信息報告:報告中包含的系統(tǒng)信息有描述系統(tǒng)進程和活動的數(shù)據(jù)。這些信息主要是系統(tǒng)管理人員用來監(jiān)測、控制和修改系統(tǒng)的行為。例如,異常報告、監(jiān)控和分析報告、管理總結(jié)報告等。

歷史和檔案報告:此類報告所載的信息記錄了系統(tǒng)在某一時刻的狀況,或者是記錄系統(tǒng)的歷史。今后或許還會用到的已處理過的數(shù)據(jù)也存在檔案報告中。

瀏覽報告:這相當于顯示查詢結(jié)果的屏幕或文件列表。信息一般用比較簡單的格式表示。用戶可以用各種方法使用它。報告的用途分析

報告中的內(nèi)容應(yīng)當在系統(tǒng)的輸出數(shù)據(jù)流和用戶要求中指明。但是,在報告中數(shù)據(jù)如何分組,還受到下面一些因素的影響。

提出報告的頻度:有隨機提交的報告、定期提交的報告。各種報告所需信息不盡相同。因此,時效性的需求要求考慮信息應(yīng)當存放在那一種報告中。

報告的打印量:需求量不同的報告應(yīng)分別進行處理。

信息的時效性和精確性:要求信息的及時程度以及陳舊信息對用戶的使用價值,都會影響提出報告的時間。對于數(shù)值數(shù)據(jù),還要考慮它的精度。

保密:信息的機密程度以及需要采取什么預(yù)防措施以保證數(shù)據(jù)不被未授權(quán)的人存取,這一點與打印報告的設(shè)備及分發(fā)報告的管理有關(guān)。報告報告有三種布局設(shè)計。列表適用于記錄信息的簡單羅列,瀏覽報告和檔案報告即屬于這一類;塊結(jié)構(gòu)是用行、列和總計等形式來組織數(shù)據(jù),信息報告就屬于這一類;分組結(jié)構(gòu)則在塊內(nèi)進一步做更復(fù)雜的成組的信息布局,文宗報告一般屬于此類。報告設(shè)計的步驟可以應(yīng)用前述的屏幕顯示設(shè)計的許多準則。報告列表報告

數(shù)據(jù)通常以記錄格式給出,數(shù)據(jù)按記錄規(guī)定格式成行打印。各頁應(yīng)加頁號。如果列表中的數(shù)據(jù)以某種順序排列或分類,在各分類的組間應(yīng)加空行,使結(jié)構(gòu)更清楚。數(shù)據(jù)域應(yīng)分列安排并加上欄題。

報告塊結(jié)構(gòu)報告在報告中信息分塊,各塊按設(shè)計要求順序排列。可變項應(yīng)安排在報告右邊的列中,以免顯得凌亂。信息塊應(yīng)當用空格分開,而不要用分隔符。在信息塊頂部的左側(cè)應(yīng)加上題頭,為信息塊做標記。若有總計數(shù)字,必須緊跟在與其有關(guān)的數(shù)據(jù)后面安排。如果有多層次的合計數(shù)字,需要增加總結(jié)頁,說明合計數(shù)字間的層次和所屬關(guān)系。報告組結(jié)構(gòu)報告-可以利用通常的報告設(shè)計的規(guī)則來設(shè)計組的內(nèi)容和數(shù)據(jù)的布局順序。信息組應(yīng)以空格分隔開,或者是用方框或背景色來分隔,應(yīng)避免使用過多的分隔符。報告的標題應(yīng)居中安排。特別對于文宗報告,在報告的右上角應(yīng)使用清晰而唯一的代碼對報告進行標識或索引。報告具體布局

布局的規(guī)則類似于屏幕顯示中的規(guī)則。再加一些參考規(guī)定:應(yīng)檢查數(shù)據(jù)內(nèi)容的類型和格式,以確定它所需的打印字符的數(shù)目。字符左側(cè)對齊,數(shù)字右側(cè)對齊,有小數(shù)點則對齊小數(shù)點。負號放在前面會使數(shù)列變得不規(guī)整,可把負號放在后面。各列之間的間隔至少用三個空格。標題應(yīng)安排在列的正中??捎么煮w字、不同的字體、下劃線或不同的色彩等來強調(diào)重要的部分。給每頁加頁碼和名稱。每次要給報告加上日期和時間。當一切細節(jié)設(shè)計好之后,不能忘記征求用戶的意見。需要同用戶磋商,交換意見,然后做出修改以滿足其要求。報告控制界面的設(shè)計設(shè)計控制界面的主要目的是讓用戶能夠主動地控制計算機上軟件系統(tǒng)的工作,使得用戶能夠很容易地訪問計算機的各種設(shè)備。其主要方式有控制對話、菜單、功能鍵、圖標、直接指點、窗口、命令語言和自然語言等。

用控制對話選擇操作命令控制對話可以是簡單的問答形式,系統(tǒng)提出是否需要某個操作,然后用戶以Y/N的方式回答。復(fù)雜的對話形式是基于菜單的系統(tǒng)。這種對話方式容易使用,但每次的操作都是單調(diào)重復(fù)的,老的用戶往往會感到冗長乏味。在設(shè)計對話的時候,需要注意的要點是:每次只能有一個提問,避免多個詢問;當需要幾個關(guān)聯(lián)的回答時,應(yīng)重新顯示上一個回答。如果以前的回答在后面還需要用到時,在用到的時侯要重新顯示它,否則會因短期記憶出現(xiàn)錯誤。保持提問的順序與原文檔或用戶模型一致。控制界面的設(shè)計用菜單界面進行控制通常用戶在菜單條件下做出應(yīng)答有兩種方式:使用應(yīng)答碼在屏幕顯示的菜單做出選擇。應(yīng)答碼可以是數(shù)字,也可以是字符。字符碼通常應(yīng)當能夠記憶并且能夠代表這個選擇的實際含義,例如,利用“F”表示對磁盤格式化。但有時找不到合適的字符來表示選擇,例如,用“E”表示“edit”,還是用“E”表示“exit”。因此需要使用較長的字符串。使用鼠標器按鈕,或者用周轉(zhuǎn)選擇法,即用戶用移位鍵,逐行地把高亮度的菜單選擇條往下拉,從菜單的底部還可回到頂部,或者逐行地把高亮度的菜單選擇條往上拉,到了菜單的頂部又可回到底部,然后,按回車鍵以確定當前選定的菜單選擇條所代表的操作。在多數(shù)系統(tǒng)中,采用了多級菜單結(jié)構(gòu)。這種結(jié)構(gòu)必須使可選項的組織與用戶的模型一致,以及把系統(tǒng)中的功能和可選項正確地分組。對于多級菜單的深度和寬度,需要權(quán)衡。在一個菜單中放置很多的選擇項,將使多級菜單加寬,使用戶在菜單中做選擇時需要較多的查詢時間,但菜單的層次就會少一些。如果多級菜單設(shè)置很多級別,會使層

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論