軟件工程與項目管理(第2版) 課件 第6章 軟件詳細(xì)設(shè)計_第1頁
軟件工程與項目管理(第2版) 課件 第6章 軟件詳細(xì)設(shè)計_第2頁
軟件工程與項目管理(第2版) 課件 第6章 軟件詳細(xì)設(shè)計_第3頁
軟件工程與項目管理(第2版) 課件 第6章 軟件詳細(xì)設(shè)計_第4頁
軟件工程與項目管理(第2版) 課件 第6章 軟件詳細(xì)設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

6.1詳細(xì)設(shè)計的任務(wù)

6.2詳細(xì)設(shè)計的原則

6.3詳細(xì)設(shè)計的方法

6.4詳細(xì)設(shè)計可采用的工具

6.5詳細(xì)設(shè)計工具的選擇

6.6接口設(shè)計

6.7詳細(xì)設(shè)計說明書6.1詳細(xì)設(shè)計的任務(wù)詳細(xì)設(shè)計首先要對系統(tǒng)的模塊做概要性的說明,設(shè)計詳細(xì)的算法、每個模塊之間的關(guān)系以及如何實現(xiàn)算法等。詳細(xì)設(shè)計的主要任務(wù)有以下幾點:(1)模塊的算法設(shè)計。確定每個模塊采用的算法,選擇適當(dāng)?shù)墓ぞ呙枋鏊惴ǎü?、邊界和特殊條件,甚至包括參考資料、引用的出處等。(2)確定每個模塊的內(nèi)部數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫的物理結(jié)構(gòu)。(3)確定模塊接口的具體細(xì)節(jié),包括對系統(tǒng)外部的接口和用戶界面,對系統(tǒng)內(nèi)部其他模塊的接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。(4)為每個模塊設(shè)計一組測試用例,以便在編碼階段對模塊代碼進行預(yù)定的測試。模塊的測試用例是軟件測試計劃的重要組成部分,通常包括輸入數(shù)據(jù)、預(yù)期結(jié)果等內(nèi)容。(5)編寫詳細(xì)設(shè)計說明書,參加復(fù)審。6.2詳細(xì)設(shè)計的原則為了能夠使模塊的邏輯描述清晰準(zhǔn)確,在詳細(xì)設(shè)計階段應(yīng)遵循下列原則:(1)將保證程序的清晰度放在首位。由于詳細(xì)設(shè)計的文檔很重要,因此模塊的邏輯描述要清晰易讀、正確可靠。(2)設(shè)計過程中應(yīng)采用逐步細(xì)化的實現(xiàn)方法,自頂向下逐步細(xì)化。(3)選擇適當(dāng)?shù)谋磉_工具。6.3詳細(xì)設(shè)計的方法詳細(xì)設(shè)計(也叫過程設(shè)計)中采用的典型方法是結(jié)構(gòu)化程序設(shè)計(SP)方法,最早是由E.W.Dijkstra在20世紀(jì)60年代中期提出的。詳細(xì)設(shè)計并不是具體地編程序,而是細(xì)化出很容易從中產(chǎn)生程序的圖紙。詳細(xì)設(shè)計的結(jié)果基本上決定了最終程序的質(zhì)量。為了提高軟件的質(zhì)量,延長軟件的生存期,必須保證軟件具有可測試性和可維護性。軟件的可測試性、可維護性與程序的易讀性有很大關(guān)系。詳細(xì)設(shè)計的目標(biāo)不僅是邏輯上正確地實現(xiàn)每個模塊的功能,還應(yīng)使設(shè)計出的處理過程清晰易讀。結(jié)構(gòu)化程序設(shè)計是實現(xiàn)該目標(biāo)的關(guān)鍵技術(shù)之一,它指導(dǎo)人們用良好的思想方法開發(fā)易于理解、易于驗證的程序。結(jié)構(gòu)化程序設(shè)計方法有以下幾個基本要點。1.采用自頂向下、逐步求精的程序設(shè)計方法在需求分析、總體設(shè)計中都采用了自頂向下、逐層細(xì)化的方法。在詳細(xì)設(shè)計中,雖然處于“具體”設(shè)計階段,但在設(shè)計某個模塊內(nèi)部的處理過程時,仍可以逐步求精,降低處理細(xì)節(jié)的復(fù)雜度。2.使用3種基本控制結(jié)構(gòu)構(gòu)造程序任何程序都可由順序、選擇及循環(huán)3種基本控制結(jié)構(gòu)構(gòu)造。這3種基本結(jié)構(gòu)的共同點是單入口、單出口。它不但能有效地限制使用GOTO語句,還創(chuàng)立了一種新的程序設(shè)計思想、方法和風(fēng)格,同時為自頂向下、逐步求精的設(shè)計方法提供了具體的實施手段。對一個模塊處理過程細(xì)化時,開始是模糊的,可以用下面3種方式對模糊過程進行分解:(1)用順序方式對過程分解,確定各部分的執(zhí)行順序; (2)用選擇方式對過程分解,確定某個部分的執(zhí)行條件;(3)用循環(huán)方式對過程分解,確定某個部分進行循環(huán)的開始和結(jié)束的條件。對處理過程仍然模糊的部分反復(fù)使用以上分解方法,最終可將所有細(xì)節(jié)確定下來。3.主程序員的組織形式主程序員的組織形式是指開發(fā)程序的人員應(yīng)以一個主程序員(負(fù)責(zé)全部技術(shù)活動)、一個后備程序員(協(xié)調(diào)、支持主程序員)和一個程序管理員(負(fù)責(zé)事務(wù)性工作,如收集、記錄數(shù)據(jù),管理文檔資料等)為核心,再加上一些專家(如通信專家、數(shù)據(jù)庫專家)和其他技術(shù)人員組成。這種組織形式突出了主程序員的領(lǐng)導(dǎo),設(shè)計責(zé)任集中在少數(shù)人身上,有利于提高軟件質(zhì)量,并且能有效地提高軟件生產(chǎn)率。這種組織形式最先由IBM公司實施,隨后其他軟件公司也紛紛采用主程序員制的工作方式。6.4詳細(xì)設(shè)計可采用的工具1.程序流程圖程序流程圖是最早出現(xiàn)且使用較為廣泛的算法表達工具之一,它能夠有效地描述問題求解過程中的邏輯結(jié)構(gòu)。程序流程圖中的方框表示一個處理過程,菱形代表一個邏輯判斷,箭頭代表控制流。程序流程圖中經(jīng)常使用的基本符號見圖6.1。為使程序流程圖支持結(jié)構(gòu)化程序設(shè)計,限制在程序流程圖中只能使用下列5種基本控制結(jié)構(gòu)。1)順序型順序型由幾個連續(xù)的處理步驟依次排列構(gòu)成,如圖6.2所示。2)選擇型選擇型是指由某個邏輯判斷式的取值決定選擇兩個處理中的哪一個,如圖6.3所示。3)多分支型選擇結(jié)構(gòu)多分支型選擇結(jié)構(gòu)列舉出多種處理,根據(jù)判定條件的取值,選擇其一執(zhí)行,如圖6.4所示。4)?WHILE型循環(huán)WHILE型循環(huán)(也稱“當(dāng)型”循環(huán))是先判定型循環(huán),在循環(huán)控制條件成立時,重復(fù)執(zhí)行特定的處理,如圖6.5所示。5)?UNTIL型循環(huán)UNTIL型循環(huán)(也稱直到型循環(huán))是后判定型循環(huán),重復(fù)執(zhí)行某些特定的處理,直到控制條件成立為止,如圖6.6所示。程序流程圖的主要優(yōu)點在于對程序的控制流程描述直觀、清晰,使用靈活,便于閱讀和掌握。但隨著程序設(shè)計方法的發(fā)展,程序流程圖的許多缺點逐漸暴露出來。程序流程圖的主要缺點如下:(1)程序流程圖中可以隨心所欲地使用流程線,容易造成程序控制結(jié)構(gòu)的混亂,與結(jié)構(gòu)化程序設(shè)計的思想相違背。(2)程序流程圖難以描述逐步求精的過程,容易導(dǎo)致程序員過早地考慮程序的控制流程而忽略程序全局結(jié)構(gòu)的設(shè)計。(3)程序流程圖難以表示系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)。正是由于程序流程圖存在這些缺點,因此越來越多的軟件設(shè)計人員放棄了對它的使用,而去選擇其他一些更有利于結(jié)構(gòu)化設(shè)計的表達工具,下面所介紹的N-S圖和PAD圖就是其中的兩種圖形工具。2.?N-S圖N-S圖又稱為盒圖,它是為了保證結(jié)構(gòu)化程序設(shè)計而由Nassi和Shneiderman共同提出的一種圖形工具。在N-S圖中,所有的程序結(jié)構(gòu)均使用矩形框表示,它可以清晰地表示結(jié)構(gòu)中的嵌套及模塊的層次關(guān)系。由于N-S圖中沒有流程線,不可能隨意轉(zhuǎn)移控制,因而表達出的程序結(jié)構(gòu)必然符合結(jié)構(gòu)化程序設(shè)計的思想,有利于培養(yǎng)軟件設(shè)計人員的良好設(shè)計風(fēng)格。但當(dāng)所描述的程序嵌套層次較多時,N-S圖的內(nèi)層方框會越畫越小,不僅影響可讀性而且不易修改。N-S圖中,為了表示5種基本控制結(jié)構(gòu),也規(guī)定了5種圖形構(gòu)件。1)順序型在順序型結(jié)構(gòu)中,先執(zhí)行A,后執(zhí)行B,如圖6.8所示。2)選擇型在選擇型結(jié)構(gòu)中,如果條件成立,則可執(zhí)行T下面A的內(nèi)容,當(dāng)條件不成立時,則執(zhí)行F下B的內(nèi)容,如圖6.9所示。3)多分支選擇型判斷CASE條件,與值1匹配上,執(zhí)行CASE1部分,與值2匹配上,執(zhí)行CASE2部分,依次類推,如圖6.10所示。4)?WHILE重復(fù)型在WHILE型循環(huán)結(jié)構(gòu)中,先判斷EXP的值,再執(zhí)行S。其中EXP是循環(huán)條件,S是循環(huán)體,如圖6.11所示。5)?UNTIL重復(fù)型在UNTIL型循環(huán)結(jié)構(gòu)中,先執(zhí)行S,后判斷EXP的值,如圖6.12所示。3.?PADPAD是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,是1973年由日本日立公司提出的。PAD是用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具,現(xiàn)已被ISO認(rèn)可。PAD用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,也設(shè)置了5種基本控制結(jié)構(gòu)的圖示,并允許遞歸使用。(1)順序型。按順序先執(zhí)行A,再執(zhí)行B,如圖6.14所示。(2)選擇型。圖6.15給出了判斷條件為P的選擇型結(jié)構(gòu)。當(dāng)P為真值時,執(zhí)行上面的S1框中的內(nèi)容;P取假值時,執(zhí)行下面的S2框中的內(nèi)容。如果這種選擇型結(jié)構(gòu)只有S1框,沒有S2框,則表示該選擇結(jié)構(gòu)中只有THEN后面有可執(zhí)行語句S1,沒有ELSE部分。(3)多分支型選擇結(jié)構(gòu)。如圖6.16所示,多分支選擇型是CASE型結(jié)構(gòu)。當(dāng)判定條件P等于1時,執(zhí)行A1框的內(nèi)容,P等于2時,執(zhí)行A2框的內(nèi)容……P等于n時執(zhí)行An框的內(nèi)容。(4)?WHILE型循環(huán)結(jié)構(gòu)。如圖6.17所示,P是循環(huán)判斷條件,S是循環(huán)體。循環(huán)判斷條件框的右端為雙縱線,表示該矩形域是循環(huán)條件,以區(qū)別于一般的矩形功能域。(5)?UNTIL型循環(huán)結(jié)構(gòu)。如圖6.18所示,P是循環(huán)判斷條件,S是循環(huán)體。循環(huán)判斷條件框的右端為雙縱線,表示該矩形域是循環(huán)條件,以區(qū)別于一般的矩形功能域。隨著程序?qū)哟蔚脑黾?,PAD逐漸向右展開,有時可能會超過一頁紙。為解決此問題,PAD增加了一種如圖6.19所示的擴充形式。當(dāng)模塊A較復(fù)雜時,可在圖6.19中該模式相應(yīng)位置的矩形框中簡記為“NAMEA”,再在另外一張紙上詳細(xì)描述A的細(xì)節(jié),格式為def加雙下畫線,意為“定義A”或“對A細(xì)化”。PAD采用了易于使用的樹形結(jié)構(gòu)圖形符號,既利于清晰地表達程序結(jié)構(gòu),又利于修改。PAD的主要優(yōu)點如下:(1)使用PAD描述的程序結(jié)構(gòu)層次清晰,邏輯結(jié)構(gòu)關(guān)系直觀、易讀、易記、易修改。使用表示結(jié)構(gòu)化的PAD符號設(shè)計出來的程序必然是結(jié)構(gòu)化程序。(2)?PAD為多種常用高級語言提供了相應(yīng)的圖形符號,每種控制語句都與一個專門的圖形符號相對應(yīng),易于PAD向高級語言源程序轉(zhuǎn)換。這種轉(zhuǎn)換可用軟件工具自動完成,從而可省去人工編碼的工作,有利于提高軟件的可靠性和軟件生產(chǎn)率。(3)支持自頂向下、逐步求精的設(shè)計過程。開始時設(shè)計者可以定義一個抽象的程序,然后隨著設(shè)計工作的深入而使用def符號逐步增加細(xì)節(jié),直至完成詳細(xì)設(shè)計。(4)既能夠描述程序的邏輯結(jié)構(gòu),又能夠描述系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)。4.?PDL過程設(shè)計語言(ProcessDesignLanguage,PDL)是一種用于描述程序算法和定義結(jié)構(gòu)的偽代碼。PDL的構(gòu)成與用于描述加工的結(jié)構(gòu)化語言相似,是一種兼有自然語言和結(jié)構(gòu)化程序設(shè)計語言語法的“混合型”語言。采用自然語言使算法的描述靈活自由、清晰易懂,采用結(jié)構(gòu)化程序設(shè)計語言使控制結(jié)構(gòu)的表達具有固定的形式且符合結(jié)構(gòu)化設(shè)計的思想。PDL與結(jié)構(gòu)化語言的主要區(qū)別在于:由于PDL表達的算法是編碼的直接依據(jù),因此其語法結(jié)構(gòu)更加嚴(yán)格并且處理過程更加具體詳細(xì)。PDL的主要特點如下:(1)各種定義語句及控制結(jié)構(gòu)的表達都具有嚴(yán)格的語法形式,使程序結(jié)構(gòu)、數(shù)據(jù)說明等更加清晰。(2)提供了數(shù)據(jù)說明機制,可用于定義簡單及復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。(3)提供了模塊的定義和調(diào)用機制,方便了程序模塊化的表達。PDL的主要定義語句及基本控制結(jié)構(gòu)的表達如下:(1)定義語句。①數(shù)據(jù)定義:DECLARE屬性變量名……屬性包括:整型、實型、雙精度型、字符型、指針、數(shù)組、結(jié)構(gòu)等類型。②模塊定義:PROCEDURE模塊名(參數(shù))RETURNEND(2)基本控制結(jié)構(gòu)。①順序控制結(jié)構(gòu)。順序結(jié)構(gòu)的語句序列采用自然語言進行描述:語句序列S1語句序列S2 ?語句序列Sn ?②選擇結(jié)構(gòu): ?IF…ELSE結(jié)構(gòu): IF條件IF條件 語句序列Sl或語句序列S ELSEENDIF語句序列S2 ENDIF ?多分支結(jié)構(gòu):IF條件1語句序列Sl ELSEIF條件2語句序列S2 ?ELSE語句序列SnENDIF ?CASE結(jié)構(gòu):CASE表達式OFCASE取值1語句序列S1CASE取值2語句序列S2ELSE語句序列Sn ?ENDCASE③循環(huán)結(jié)構(gòu)。 ?FOR結(jié)構(gòu):?FOR循環(huán)變量?=?初值TO終值循環(huán)體S?ENDFOR

?WHILE結(jié)構(gòu):?WHILE條件循環(huán)體S?ENDWHILE ?UNTIL結(jié)構(gòu):?REPEAT循環(huán)體S?UNTL條件④輸入/輸出語句。 ?輸入語句:?GET(輸入變量表)?輸出語句:?PUT(輸出變量表)⑤模塊調(diào)用語句。?CALL模塊名(參數(shù))6.5詳細(xì)設(shè)計工具的選擇為滿足過程描述易于理解、復(fù)審和維護進而過程描述能夠自然地轉(zhuǎn)換成代碼,并保證詳細(xì)設(shè)計與代碼完全一致的原則,要求設(shè)計工具具有下述屬性。(1)模塊化:支持模塊化軟件的開發(fā),并提供描述接口的機制。(2)簡潔:設(shè)計描述易學(xué)、易用和易讀。(3)便于編輯:支持后續(xù)設(shè)計和維護以及在維護階段對設(shè)計進行的修改。(4)機器可讀性:設(shè)計描述能夠直接輸入,并且很容易被計算機輔助設(shè)計工具識別。(5)可維護性:詳細(xì)設(shè)計應(yīng)能夠支持各種軟件配置項的維護。(6)自動生成報告:設(shè)計者通過分析詳細(xì)設(shè)計的結(jié)果來改進設(shè)計。通過自動處理器產(chǎn)生有關(guān)的分析報告,進而增強設(shè)計者在這方面的能力。(7)強制結(jié)構(gòu)化:詳細(xì)設(shè)計工具能夠強制設(shè)計者采用結(jié)構(gòu)化構(gòu)件,有助于采用優(yōu)秀的設(shè)計。(8)數(shù)據(jù)表示:詳細(xì)設(shè)計具備表示局部數(shù)據(jù)和全局?jǐn)?shù)據(jù)的能力。(9)邏輯驗證:軟件測試的最高目標(biāo)是能夠自動檢驗設(shè)計邏輯的正確性,所以設(shè)計描述應(yīng)易于進行邏輯驗證,進而增強可測試性。(10)編碼能力:可編碼能力是一種設(shè)計描述,研究代碼自動轉(zhuǎn)換技術(shù)可以提高軟件效率和減少出錯率。6.6接口設(shè)計6.6.1用戶界面設(shè)計的意義及任務(wù)用戶界面也稱為人機界面,是用戶與計算機或手機等終端設(shè)備交流的媒介。用戶只能通過顯示屏界面了解并掌控操作運行的系統(tǒng),人機界面設(shè)計非常重要。界面設(shè)計主要包括界面對話設(shè)計、數(shù)據(jù)輸入界面設(shè)計、屏幕顯示設(shè)計、控制界面設(shè)計等,是計算機科學(xué)、心理學(xué)、視覺藝術(shù)等多門學(xué)科的綜合。用戶界面設(shè)計的分析設(shè)計應(yīng)與軟件需求分析同步進行。其主要任務(wù)如下:(1)用戶特性分析,主要是建立用戶模型,了解所有用戶的技能和經(jīng)驗,針對用戶能力設(shè)計或更改界面。可從兩方面分析:一是用戶類型,通常分為外行型、初學(xué)型、熟練型、專家型;二是用戶特性度量,與用戶使用模式和用戶群體能力有關(guān),包括用戶使用頻度、用戶用機能力、用戶的知識和思維能力等。(2)界面的功能任務(wù)分析。建立任務(wù)模型數(shù)據(jù)流圖(DataFlowDiagram,DFD),對系統(tǒng)內(nèi)部活動的分解,不僅要進行功能分解(用DFD描述),還要包括與人相關(guān)的活動,每個加工即一個功能或任務(wù)。(3)確定用戶界面類型,并根據(jù)其特點借助工具具體進行分析與設(shè)計。6.6.2用戶界面設(shè)計的主要問題在設(shè)計用戶界面的過程中,一般經(jīng)常會遇到4個問題:系統(tǒng)響應(yīng)時間、用戶幫助設(shè)施、出錯信息處理和命令交互。但是,許多設(shè)計者直到設(shè)計過程后期才開始考慮這些問題,這樣往往導(dǎo)致不必要的反復(fù)、項目延期以及使用戶產(chǎn)生挫折感。最好在設(shè)計初期就考慮這些問題,這樣易修改,代價也低。1.系統(tǒng)響應(yīng)時間一般來說,系統(tǒng)響應(yīng)時間是指從用戶完成某個控制動作,到軟件給出預(yù)期的響應(yīng)(輸出或做動作)之間的這段時間。系統(tǒng)響應(yīng)時間過長是許多交互式系統(tǒng)用戶常抱怨的問題。系統(tǒng)響應(yīng)時間有兩個重要屬性:長度和易變性。如果系統(tǒng)響應(yīng)時間過長,用戶就會感到緊張和沮喪。但是,當(dāng)用戶的工作速度是由人機界面決定的時候,如果系統(tǒng)響應(yīng)時間過短,就會迫使用戶加快操作節(jié)奏,從而可能犯錯誤。易變性指系統(tǒng)響應(yīng)時間相對于平均響應(yīng)時間的偏差,在許多情況下,這是系統(tǒng)響應(yīng)時間的更重要的屬性。即使系統(tǒng)響應(yīng)時間較長,響應(yīng)時間易變性低也有助于用戶建立起穩(wěn)定的工作節(jié)奏。用戶往往比較敏感,他們總是擔(dān)心響應(yīng)時間的變化暗示系統(tǒng)工作出現(xiàn)異常。2.用戶幫助設(shè)施交互式系統(tǒng)的每個用戶幾乎都需要幫助,當(dāng)遇到復(fù)雜問題時甚至需要查看用戶手冊以得到答案。大多數(shù)現(xiàn)代軟件都提供聯(lián)機幫助設(shè)施,這使得用戶可以不離開用戶界面就解決自己的問題。常見的幫助設(shè)施有兩類:集成的和附加的。集成的幫助設(shè)施從一開始就設(shè)計在軟件里面,它通常對用戶工作是敏感的,因此用戶可以從與剛剛完成的操作有關(guān)的主題中選擇一個,請求幫助。顯然,這可以縮短用戶獲取幫助的時間,增加界面的友好性。附加的幫助設(shè)施是在系統(tǒng)建成后再添加到軟件中的,大多數(shù)情況下,它實際上是一種查詢能力有限的聯(lián)機用戶手冊。事實表明,集成的幫助設(shè)施優(yōu)于附加的幫助設(shè)施。具體設(shè)計幫助設(shè)施時,必須解決以下問題:(1)在用戶與系統(tǒng)交互期間,是否在任何時間都能獲得關(guān)于系統(tǒng)任何功能的幫助信息。它有兩種選擇:提供部分功能的幫助信息和提供全部功能的幫助信息。(2)用戶怎樣請求幫助,有3種選擇:幫助菜單、特殊功能鍵和Help命令。(3)怎樣顯示幫助信息,有3種選擇:在獨立的窗口中顯示、指出參考某個文檔(不理想)和在屏幕固定位置顯示簡短提示。(4)用戶怎樣返回到正常的交互方式,有兩種選擇:屏幕上的返回按鈕和功能鍵。(5)怎樣組織幫助信息,有3種選擇:平面結(jié)構(gòu)(所有信息都通過關(guān)鍵字訪問)、信息的層次結(jié)構(gòu)(用戶可在該結(jié)構(gòu)中查到更詳細(xì)的信息)和超文本結(jié)構(gòu)。3.出錯信息處理出錯信息和警告信息是出現(xiàn)問題時交互式系統(tǒng)給出的“壞消息”。出錯信息設(shè)計得不好,將向用戶提供無用的或誤導(dǎo)的信息,反而會增加用戶的挫折感。一般來說,交互式系統(tǒng)給出的出錯信息或警告信息應(yīng)該具有以下屬性:(1)信息應(yīng)該以用戶可以理解的術(shù)語描述問題。(2)信息應(yīng)該提供有助于從錯誤中恢復(fù)的建設(shè)性意見。(3)信息應(yīng)該指出錯誤可能導(dǎo)致哪些負(fù)面后果,以便用戶檢查是否出現(xiàn)了這些問題,并在確實出現(xiàn)問題時予以改正。(4)信息應(yīng)該伴隨著聽覺上或視覺上的提示,即在顯示信息時應(yīng)該同時發(fā)出警告聲,或者用閃爍方式顯示,或者用明顯表示出錯的顏色顯示。(5)信息不能帶有指責(zé)色彩,即不能指責(zé)用戶。當(dāng)出現(xiàn)問題時,有效的出錯信息能夠提高交互式系統(tǒng)的質(zhì)量,減少用戶的挫折感。4.命令交互命令行曾是用戶和系統(tǒng)軟件交互的最常用方式,而且也曾廣泛地用于各種應(yīng)用軟件中?,F(xiàn)在面向窗口的、點擊和拾取方式的界面已經(jīng)減少了用戶對命令行的依賴,但許多高級用戶仍偏愛面向命令的交互方式。在多數(shù)情況下,用戶既可以從菜單中選擇軟件功能,也可通過鍵盤命令序列調(diào)用軟件功能。在提供命令交互方式時,必須考慮以下設(shè)計問題:(1)是否每個菜單選項都有對應(yīng)的命令。(2)采用何種命令形式,共有3種選擇:快捷鍵(如Ctrl?+?P)、功能鍵和鍵入命令。(3)學(xué)習(xí)和記憶命令的難度有多大,忘記了命令怎么辦?(4)用戶是否可以定制或縮寫命令。在越來越多的應(yīng)用軟件中,界面設(shè)計者都提供了“命令宏機制”,使用這種機制用戶可以用自己定義的名字代表一個常用的命令序列。需要使用這個命令序列時,用戶無須依次鍵入每個命令,只需輸入命令宏的名字就可以順序執(zhí)行它所代表的全部命令。在理想情況下,所有應(yīng)用軟件都有一致的命令使用方法。如果在一個應(yīng)用軟件中,命令Ctrl?+?D表示復(fù)制一個圖形對象,而在另一個應(yīng)用軟件中Ctrl?+?D命令的含義是刪除一個圖形對象,則用戶會感到困惑,并往往導(dǎo)致錯誤。一般情況下,在常用的應(yīng)用軟件中采用了一致的快捷鍵來完成相同的功能,如用Ctrl?+?C表示復(fù)制,用Ctrl?+?V表示粘貼,用Ctrl?+?S表示保存,用Ctrl?+?O表示打開。因此,所設(shè)計的軟件就不要別出心裁,另搞一套,這樣會使用戶感到無所適從。6.6.3用戶界面需求分析用戶界面需求分析應(yīng)以用戶為中心。深受用戶歡迎的界面設(shè)計,應(yīng)在需求分析階段就被重視和開始。用戶界面設(shè)計主要是為了滿足用戶需求,首先要弄清將要使用這個界面的用戶類型。用戶界面不同于功能需求分析,其需求具有很大的主觀性。不同的用戶對軟件界面有不同的要求,表達需求的方式也不盡相同,而且界面要求通常不如業(yè)務(wù)功能需求那樣容易明確。調(diào)查用戶的界面需求,必須先從調(diào)查用戶自身特征開始,將不同特征用戶群體的要求進行綜合處理,并有針對性地分析其界面需求。建立用戶界面的原型是一種有效的方法。利用界面原型可以將界面需求調(diào)查的周期盡量縮短,并盡可能滿足用戶的要求。利用可供用戶選擇的界面原型模板等,用戶可以直觀并感性地認(rèn)識到未來系統(tǒng)的界面風(fēng)格、特點結(jié)構(gòu)、操作方式等,從而迅速地判斷軟件系統(tǒng)是否符合感官期望、操作習(xí)慣、工作的需要。需求分析人員利用界面原型,引導(dǎo)用戶修正自己的理想系統(tǒng),提出新的界面要求。6.6.4用戶界面的特性及設(shè)計原則1.用戶界面應(yīng)具有的特性用戶界面設(shè)計的類型,從用戶角度出發(fā)主要有菜單、對話框、窗口、問題描述語言、數(shù)據(jù)表格、圖形與圖標(biāo)等。每一種類型都有不同的特點和性能,需要根據(jù)具體情況進行具體設(shè)計和實現(xiàn)。通常,用戶界面設(shè)計完成后可借助工具實現(xiàn)。界面設(shè)計需要考慮3個特性。(1)可使用性。它主要包括這幾個方面:使用簡單,用戶界面中所用術(shù)語的標(biāo)準(zhǔn)化及一致性,具有幫助功能、快速的系統(tǒng)響應(yīng)、低系統(tǒng)成本和較好的容錯能力。(2)靈活性。它主要指3個方面:考慮用戶的特點、能力和知識水平,提供不同的系統(tǒng)響應(yīng)信息,能根據(jù)用戶需求制定和修改界面。(3)界面的復(fù)雜性與可靠性。復(fù)雜性指界面規(guī)模及組織的復(fù)雜程度,應(yīng)該越簡單越好??煽啃允侵笩o故障使用的時間間隔。用戶界面應(yīng)該能夠保證用戶正確、可靠地使用系統(tǒng),以及系統(tǒng)和數(shù)據(jù)的安全。2.用戶界面設(shè)計的原則通常,用戶界面設(shè)計應(yīng)遵循以下4項基本原則:(1)界面的合適性。界面的合適性是界面設(shè)計的首要因素,在實現(xiàn)界面功能特點的情況下,不要片面追求外觀而導(dǎo)致華而不實。界面的合適性既提倡外美內(nèi)秀,又強調(diào)恰如其分。(2)簡便易操作。界面設(shè)計盡量簡潔,便于操作,減少用戶記憶,并能減少用戶發(fā)生錯誤的可能性。應(yīng)考慮人腦處理信息的限度,如屏幕劃分的合理性,多種窗口的設(shè)計方式,可移動、縮放、重疊和分離的設(shè)計,有序整齊的界面會給用戶帶來方便。(3)便于交互控制。交互常會跨越邊界進入信息顯示、數(shù)據(jù)輸入和整體系統(tǒng)控制,應(yīng)提供視覺和聽覺的反饋,在用戶和界面間建立雙向聯(lián)系。對用戶操作做出反應(yīng)及信息提示,幫助處理問題,并允許交互式應(yīng)用進行“恢復(fù)”操作。(4)媒體組合恰當(dāng)。文本、圖形、動畫、視頻影像、語音等媒體都有其優(yōu)勢及特定范圍,媒體資源也并非愈多愈好,媒體的選擇應(yīng)注意結(jié)合與互補,恰當(dāng)選用。6.6.5人機界面設(shè)計過程用戶界面設(shè)計是一個迭代的過程,如圖6.21所示。通常先創(chuàng)建設(shè)計模型,再用原型實現(xiàn)這個模型,并由用戶試用和評估,然后根據(jù)用戶的意見進行修改,如此反復(fù)直至最后完成界面設(shè)計。1.任務(wù)分析與創(chuàng)建設(shè)計模型在人機界面設(shè)計過程中先后涉及4個模型:設(shè)計者創(chuàng)建的設(shè)計模型、用戶模型、終端用戶對系統(tǒng)的假想和系統(tǒng)實現(xiàn)后的系統(tǒng)映像。這4個模型之間存在較多差異,設(shè)計界面時必須充分協(xié)調(diào),導(dǎo)出一致的界面。建立設(shè)計模型應(yīng)充分考慮用戶模型中給出的信息,如用戶的年齡、性別、心理情況、所受教育、文化、種族背景、動機、目的、個性等;系統(tǒng)映像盡量與系統(tǒng)假想相吻合,還必須準(zhǔn)確地反映系統(tǒng)的語法和語義信息。設(shè)計模型源于設(shè)計者對人機界面設(shè)計任務(wù)的分析。逐步求精和面向?qū)ο蟮姆治黾夹g(shù)亦適用于人機界面設(shè)計的任務(wù)分析。逐步求精技術(shù)可把任務(wù)不斷劃分為子任務(wù),直至對每個任務(wù)的要求都十分清楚;而面向?qū)ο蠓治隹勺R別出與應(yīng)用有關(guān)的所有客觀的對象以及與對象關(guān)聯(lián)的動作。一旦每個任務(wù)或動作定義清楚,界面設(shè)計即可開始。界面設(shè)計首先要完成下列工作:(1)確定任務(wù)的目標(biāo)和含義。(2)將每個目標(biāo)/含義映射為一系列特定動作。(3)說明這些動作將來在界面上執(zhí)行的順序。(4)指明各個系統(tǒng)狀態(tài),即上述各動作序列中每個動作在界面上執(zhí)行時界面所呈現(xiàn)的形式。(5)定義控制機制,即便于用戶修改系統(tǒng)狀態(tài)的一些設(shè)置和操作。(6)說明控制機制怎樣作用于系統(tǒng)狀態(tài)。(7)指明用戶應(yīng)怎樣根據(jù)界面上反映出的信息解釋系統(tǒng)的狀態(tài)。2.利用工具構(gòu)造原型確定了界面設(shè)計模型,就可利用原型開發(fā)工具創(chuàng)建原型。這些工具被稱為用戶界面工具箱或用戶界面開發(fā)系統(tǒng)(UIDS),它們?yōu)楹喕翱?、菜單、設(shè)備交互、出錯信息、命令及交互環(huán)境的許多其他元素的創(chuàng)建提供了各種例程或?qū)ο蟆_@些工具所提供的功能既可以用基于語言的方式來實現(xiàn),也可以用基于圖形的方式來實現(xiàn)。3.用戶試用與評估一旦建立了界面原型,就可交由用戶試用和評估,以確定是否滿足用戶需求。評估可以是非正式的和正式的。當(dāng)然,也可在創(chuàng)建原型前就對用戶界面設(shè)計的質(zhì)量進行初步評估。若能及早發(fā)現(xiàn)和改正潛在問題,就可減少界面設(shè)計迭代的次數(shù),從而縮短軟件的開發(fā)時間。在創(chuàng)建了界面設(shè)計模型后,可以運用下列評估標(biāo)準(zhǔn)對設(shè)計進行早期復(fù)審:(1)系統(tǒng)及其界面的規(guī)格說明的長度和復(fù)雜程度,預(yù)示用戶學(xué)習(xí)使用該系統(tǒng)所需要的工作量。(2)命令或動作的數(shù)量、命令的平均參數(shù)個數(shù)或動作中單個操作的個數(shù),預(yù)示系統(tǒng)的交互時間和總體效率。(3)設(shè)計模型中給出的動作、命令和系統(tǒng)狀態(tài)的數(shù)量,預(yù)示用戶學(xué)習(xí)使用系統(tǒng)時需記憶內(nèi)容的多少。(4)界面風(fēng)格、幫助設(shè)施和出錯處理協(xié)議,預(yù)示界面的復(fù)雜程度和用戶接受該界面的程度。4.完成界面設(shè)計完成初步設(shè)計后就創(chuàng)建第一級原型;用戶試用并評估該原型,直接向設(shè)計者提出對界面的評價;設(shè)計者根據(jù)用戶意見修改設(shè)計并實現(xiàn)下一級原型。上述評估過程不斷進行下去,直到用戶感到滿意,完成界面設(shè)計。6.6.6人機界面設(shè)計實現(xiàn)原則用戶界面的設(shè)計依賴設(shè)計者的經(jīng)驗。綜合眾多設(shè)計者的經(jīng)驗,可從一般可交互性、信息顯示和數(shù)據(jù)輸入3個方面描述。1.一般可交互性一般可交互性涉及信息顯示、數(shù)據(jù)輸入和整體系統(tǒng)控制,忽略它將承擔(dān)較大風(fēng)險。提高交互性的措施如下:(1)保持一致性。對人機界面的菜單選擇、命令輸入、數(shù)據(jù)顯示和眾多其他功能,使用一致的格式。(2)提供有意義的反饋信息。向用戶提供視覺和聽覺上的反饋,以保證在用戶和界面之間建立雙向通信。(3)在執(zhí)行較大破壞動作之前要求用戶確認(rèn)。(4)允許撤銷絕大多數(shù)操作,如UNDO或REVERSE功能。(5)盡量減少用戶兩次操作間的記憶量。不應(yīng)期望用戶記住一大串?dāng)?shù)字或名字,以便后面的操作中使用。(6)提高對話、移動和思考的效率。應(yīng)盡量減少出鍵的次數(shù),減少鼠標(biāo)移動的距離,盡量避免用戶出現(xiàn)“這是什么意思?”的狀況。(7)寬容用戶所犯錯誤。系統(tǒng)應(yīng)能保護自己不受致命錯誤的破壞。(8)按功能對動作分類,并依此設(shè)計屏幕布局。(9)提供對工作內(nèi)容的敏感幫助設(shè)施。(10)用簡單的動詞和動詞短語作為命令名。2.信息顯示如果人機界面顯示的信息是不完整、含糊或難以理解的,則應(yīng)用軟件顯然不能滿足用戶需求。可以用多種不同方式顯示信息:用文字、圖片和聲音;按位置、位移和大??;使用顏色、分辨率和省略。信息顯示的設(shè)計指南如下:(1)只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息。(2)用戶在獲得有關(guān)系統(tǒng)的特定功能的信息時,不必看到與之無關(guān)的數(shù)據(jù)、菜單和圖形。(3)不要用數(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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論