版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一頁,共130頁。第五章第五章 詳細(xì)詳細(xì)(xingx)設(shè)計設(shè)計l內(nèi)容要點(diǎn):內(nèi)容要點(diǎn):l本章主要介紹詳細(xì)設(shè)計的基本本章主要介紹詳細(xì)設(shè)計的基本任務(wù)、描述方法和設(shè)計方法。任務(wù)、描述方法和設(shè)計方法。 l教學(xué)教學(xué)(jio xu)重點(diǎn):重點(diǎn):l詳細(xì)設(shè)計的基本任務(wù)詳細(xì)設(shè)計的基本任務(wù)l教學(xué)教學(xué)(jio xu)難點(diǎn):難點(diǎn):l流程圖、流程圖、PAD圖及過程設(shè)計語言圖及過程設(shè)計語言第二頁,共130頁。詳細(xì)詳細(xì)(xingx)設(shè)計與總體設(shè)計與總體設(shè)計設(shè)計詳細(xì)設(shè)計以總體設(shè)計階段的工作為基礎(chǔ),但又不詳細(xì)設(shè)計以總體設(shè)計階段的工作為基礎(chǔ),但又不同于總體設(shè)計階段,主要表現(xiàn)為以下兩方面:同于總體設(shè)計階段,主要表現(xiàn)為以下兩方面:(
2、1)在總體設(shè)計階段,數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以比較抽象的)在總體設(shè)計階段,數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以比較抽象的方式描述方式描述(mio sh),例如,總體設(shè)計可以申明一組值,例如,總體設(shè)計可以申明一組值從概念上表示一個矩陣,詳細(xì)設(shè)計就要確定用什么數(shù)據(jù)從概念上表示一個矩陣,詳細(xì)設(shè)計就要確定用什么數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)這樣的矩陣。結(jié)構(gòu)來實(shí)現(xiàn)這樣的矩陣。(2)詳細(xì)設(shè)計要提供關(guān)于算法的更多的細(xì)則,例如,總)詳細(xì)設(shè)計要提供關(guān)于算法的更多的細(xì)則,例如,總體設(shè)計可以申明一個模塊的作用是對一個表進(jìn)行排序,體設(shè)計可以申明一個模塊的作用是對一個表進(jìn)行排序,詳細(xì)設(shè)計則要求確定使用哪種排序算法。在詳細(xì)設(shè)計階詳細(xì)設(shè)計則要求確定使用哪種排序算法
3、。在詳細(xì)設(shè)計階段為每個模塊增加了足夠的細(xì)節(jié),使得程序員能夠以相段為每個模塊增加了足夠的細(xì)節(jié),使得程序員能夠以相當(dāng)直接的方式編碼每個模塊。當(dāng)直接的方式編碼每個模塊。 第三頁,共130頁。 因此,詳細(xì)設(shè)計的模塊包含實(shí)現(xiàn)對應(yīng)的總體設(shè)計的模塊因此,詳細(xì)設(shè)計的模塊包含實(shí)現(xiàn)對應(yīng)的總體設(shè)計的模塊所需要的處理邏輯,主要有:所需要的處理邏輯,主要有:(1)詳細(xì)的算法)詳細(xì)的算法(2)數(shù)據(jù)表示和數(shù)據(jù)結(jié)構(gòu))數(shù)據(jù)表示和數(shù)據(jù)結(jié)構(gòu)(3)實(shí)施的功能和使用的數(shù)據(jù)之間的關(guān)系)實(shí)施的功能和使用的數(shù)據(jù)之間的關(guān)系 每個模塊被編碼成過程、子程序、函數(shù)或企圖類型每個模塊被編碼成過程、子程序、函數(shù)或企圖類型(lixng)的命名實(shí)體。的命名
4、實(shí)體。 詳細(xì)設(shè)計的目的詳細(xì)設(shè)計的目的是具體確定實(shí)現(xiàn)目標(biāo)系統(tǒng)的精確是具體確定實(shí)現(xiàn)目標(biāo)系統(tǒng)的精確描述,即對系統(tǒng)中每個模塊的內(nèi)部過程進(jìn)行設(shè)計和描述。描述,即對系統(tǒng)中每個模塊的內(nèi)部過程進(jìn)行設(shè)計和描述。使程序員可以將這種描述直接翻譯為某種語言程序。使程序員可以將這種描述直接翻譯為某種語言程序。 詳細(xì)詳細(xì)(xingx)設(shè)計與總體設(shè)計與總體設(shè)計設(shè)計第四頁,共130頁。第五頁,共130頁。 為每個模塊進(jìn)行詳細(xì)的算法設(shè)計。用某種圖形、為每個模塊進(jìn)行詳細(xì)的算法設(shè)計。用某種圖形、表格、語言等工具將每個模塊處理過程的詳細(xì)算表格、語言等工具將每個模塊處理過程的詳細(xì)算法描述出來。法描述出來。 為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計。
5、為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計。 對數(shù)據(jù)庫進(jìn)行物理設(shè)計,即確定數(shù)據(jù)庫的物理結(jié)對數(shù)據(jù)庫進(jìn)行物理設(shè)計,即確定數(shù)據(jù)庫的物理結(jié)構(gòu)。構(gòu)。 其他設(shè)計。根據(jù)軟件系統(tǒng)類型,可能要進(jìn)行代碼其他設(shè)計。根據(jù)軟件系統(tǒng)類型,可能要進(jìn)行代碼(di m)(di m)設(shè)計、輸入設(shè)計、輸入/ /輸出格式設(shè)計、人機(jī)對話設(shè)輸出格式設(shè)計、人機(jī)對話設(shè)計。計。 編寫詳細(xì)設(shè)計說明書。編寫詳細(xì)設(shè)計說明書。 評審。評審處理過程的算法和數(shù)據(jù)庫的物理結(jié)構(gòu)。評審。評審處理過程的算法和數(shù)據(jù)庫的物理結(jié)構(gòu)。 第六頁,共130頁。結(jié)構(gòu)化程序設(shè)計是一種典型的面向數(shù)據(jù)結(jié)構(gòu)化程序設(shè)計是一種典型的面向數(shù)據(jù)流的軟件設(shè)計方法,它采用采用自頂向下、流的軟件設(shè)計方法,它采用采
6、用自頂向下、逐步求精的設(shè)計方法和單入口單出口的控制逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu),且只包含順序、選擇和重復(fù)結(jié)構(gòu),且只包含順序、選擇和重復(fù)3 3種結(jié)構(gòu)。種結(jié)構(gòu)?;净?jbn)(jbn)要點(diǎn)是:要點(diǎn)是: 采用自頂向下、逐步求精的程序設(shè)計方法:采用自頂向下、逐步求精的程序設(shè)計方法:詳細(xì)設(shè)計中某個模塊內(nèi)部處理過程仍然可以詳細(xì)設(shè)計中某個模塊內(nèi)部處理過程仍然可以逐步求精,降低處理細(xì)節(jié)的復(fù)雜程度。逐步求精,降低處理細(xì)節(jié)的復(fù)雜程度。第七頁,共130頁。 使用使用3 3種基本控制結(jié)構(gòu)(順序、選擇和重復(fù),種基本控制結(jié)構(gòu)(順序、選擇和重復(fù),其共同點(diǎn)是單入口、單出口其共同點(diǎn)是單入口、單出口(ch ku
7、)(ch ku))構(gòu)造)構(gòu)造程序:程序: 用順序方式對過程分解,確定各部分用順序方式對過程分解,確定各部分的執(zhí)行順序。的執(zhí)行順序。 用選擇方式對過程分解,確定某個部用選擇方式對過程分解,確定某個部分的執(zhí)行條件。分的執(zhí)行條件。 用循環(huán)方式對過程分解,確定某個部用循環(huán)方式對過程分解,確定某個部分進(jìn)行循環(huán)的開始和結(jié)束的條件。分進(jìn)行循環(huán)的開始和結(jié)束的條件。 對于處理過程仍然模糊的部分反復(fù)使對于處理過程仍然模糊的部分反復(fù)使用以上分解方法,最終將所有細(xì)節(jié)確定下來。用以上分解方法,最終將所有細(xì)節(jié)確定下來。第八頁,共130頁。第九頁,共130頁。結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計(shj)的主要原的主要原則則第十頁
8、,共130頁。第十一頁,共130頁。第十二頁,共130頁。主程序員組的組織形式:突出主程序員的領(lǐng)主程序員組的組織形式:突出主程序員的領(lǐng)導(dǎo),設(shè)計責(zé)任集中導(dǎo),設(shè)計責(zé)任集中(jzhng)(jzhng)在少數(shù)人身上,有在少數(shù)人身上,有利于提高軟件質(zhì)量和軟件生產(chǎn)率。其組織形式利于提高軟件質(zhì)量和軟件生產(chǎn)率。其組織形式是:是: 一個主程序員:負(fù)責(zé)全部技術(shù)活動。一個主程序員:負(fù)責(zé)全部技術(shù)活動。 一個后備程序員:協(xié)調(diào)、支持主程序一個后備程序員:協(xié)調(diào)、支持主程序員。員。 一個程序管理員:負(fù)責(zé)事務(wù)性工作,一個程序管理員:負(fù)責(zé)事務(wù)性工作,如收集、記錄數(shù)據(jù),文檔資料管理等。如收集、記錄數(shù)據(jù),文檔資料管理等。 一些專家(
9、如通信專家、數(shù)據(jù)庫專一些專家(如通信專家、數(shù)據(jù)庫專家)。家)。 其他技術(shù)人員。其他技術(shù)人員。第十三頁,共130頁。自頂向下,逐步求精自頂向下,逐步求精 在詳細(xì)設(shè)計和編碼階段,應(yīng)當(dāng)采取自頂在詳細(xì)設(shè)計和編碼階段,應(yīng)當(dāng)采取自頂向下,逐步求精的方法。向下,逐步求精的方法。 把一個模塊把一個模塊(m kui)(m kui)的功能逐步分解,的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而翻譯成一細(xì)化為一系列具體的步驟,進(jìn)而翻譯成一系列用某種程序設(shè)計語言寫成的程序。系列用某種程序設(shè)計語言寫成的程序。第十四頁,共130頁。自頂向下,逐步求精自頂向下,逐步求精第十五頁,共130頁。main ( ) /程序框架程序框
10、架 建立建立2到到100的數(shù)組的數(shù)組A ,其中,其中Aii; -1 建立建立2到到10的素數(shù)表的素數(shù)表 B ,其中存放,其中存放2 到到10以內(nèi)的素數(shù);以內(nèi)的素數(shù);-2 若若Aii是是B 中任一數(shù)的倍數(shù),則中任一數(shù)的倍數(shù),則 剔除剔除Ai;-3 輸出輸出A 中所有中所有(suyu)沒有被剔除的數(shù);沒有被剔除的數(shù); -4第十六頁,共130頁。main ( ) /*建立建立2到到100的數(shù)組的數(shù)組A ,其中,其中Aii*/for ( i = 2;i = 100;i+ ) Ai = i;/* 建立建立2到到10的素數(shù)表的素數(shù)表B ,其中存放,其中存放2到到10以內(nèi)的以內(nèi)的素數(shù)素數(shù)*/B1 =2;B2
11、 = 3;B3 = 5;B4 = 7;/*若若Aii是是B 中任一數(shù)的倍數(shù)中任一數(shù)的倍數(shù)(bish),則剔除,則剔除Ai*/for ( j = 1;j = 4;j+ ) 檢查檢查A 所有的數(shù)能否被所有的數(shù)能否被Bj整除并將整除并將 能被整除的數(shù)從能被整除的數(shù)從A 中剔除;中剔除; -3.1 /*輸出輸出A 中所有沒有被剔除的數(shù)中所有沒有被剔除的數(shù)*/ for ( i = 2;i = 100;i+ ) 若若Ai沒有被剔除,則輸出之沒有被剔除,則輸出之 -4.1第十七頁,共130頁。 for ( i = 2; i XJ(a)(b)(b)(a)3 3、連接各圖,構(gòu)成完整的連接各圖,構(gòu)成完整的PADP
12、AD圖圖h:=1,n-1第四十五頁,共130頁。 判定表用于表示程序判定表用于表示程序(chngx)(chngx)的靜態(tài)的靜態(tài)邏輯邏輯 在判定表中的條件部分給出所有的兩分支在判定表中的條件部分給出所有的兩分支判斷的列表,動作部分給出相應(yīng)的處理判斷的列表,動作部分給出相應(yīng)的處理 要求將程序要求將程序(chngx)(chngx)流程圖中的多分流程圖中的多分支判斷都改成兩分支判斷支判斷都改成兩分支判斷判定判定(pndng)(pndng)表表第四十六頁,共130頁。 判定表是一種二維的表格,常用于較復(fù)雜的組合條件(與結(jié)判定表是一種二維的表格,常用于較復(fù)雜的組合條件(與結(jié)構(gòu)化語言構(gòu)化語言(yyn)(yy
13、n)比較)。比較)。 條件框條件框 條件條目條件條目 操作框操作框 操作條目操作條目特點(diǎn)特點(diǎn)(tdin)(tdin):可處理較復(fù)雜的組合條件,但不易理解:可處理較復(fù)雜的組合條件,但不易理解. .不易不易輸入計算機(jī)。輸入計算機(jī)。通常由四部分組成。通常由四部分組成。條件條件(tiojin)(tiojin)框框 條件條件(tiojin)(tiojin)定義。定義。操作框操作框 操作的定義。操作的定義。條件條件(tiojin)(tiojin)條目條目 各條件各條件(tiojin)(tiojin)的取值的取值及組合。及組合。操作條目操作條目 在各條件在各條件(tiojin)(tiojin)取值組合下所執(zhí)
14、行取值組合下所執(zhí)行的操作。的操作。例如例如: : 對商店每天的營業(yè)額所收稅率對商店每天的營業(yè)額所收稅率營業(yè)額營業(yè)額X ()1000X50005000 X10001000元元 Y Y Y Y Y Y N N 信譽(yù)信譽(yù)(xny)(xny)好好 Y Y N N - N N - 20 20 年年 - Y N - Y N - - 優(yōu)優(yōu) 惠惠 X X X X 正正 常常 X X X X 化簡后化簡后 1 2 3 4 5 6 7 81 2 3 4 5 6 7 8 10001000元元 Y Y Y Y N N N Y Y Y Y N N N N N 信譽(yù)信譽(yù)(xny)(xny)好好 Y Y N N Y Y N
15、 N Y Y N NY Y N N20 20 年年 Y N Y N Y N Y Y N Y N Y N Y N N優(yōu)優(yōu) 惠惠 X X X X X X正正 常常 X X X X X X X X X XY-Y-滿足條件滿足條件 N N- -不滿足條件不滿足條件 X-X-選中判定的結(jié)論選中判定的結(jié)論第四十九頁,共130頁。第五十頁,共130頁。第五十一頁,共130頁。特點(diǎn)特點(diǎn)(tdin):(tdin):描述一般組合條件較清晰,易理解。描述一般組合條件較清晰,易理解。不易輸入計算機(jī)。不易輸入計算機(jī)。營業(yè)額營業(yè)額 1000 1000元元 1000 1000元元 正常正常(zhngchng)(zhngch
16、ng)處理處理好的支付信譽(yù)好的支付信譽(yù) 優(yōu)惠優(yōu)惠(y(yuhu)uhu)處理處理壞的支付信譽(yù)壞的支付信譽(yù) 20 20年年 優(yōu)惠處理優(yōu)惠處理 20 20年年 正常處理正常處理如上例如上例第五十二頁,共130頁。 PDL PDL是一種用于描述功能模塊的算法是一種用于描述功能模塊的算法(sun f)(sun f)設(shè)計和加工細(xì)節(jié)的語言。稱設(shè)計和加工細(xì)節(jié)的語言。稱為設(shè)計程序用語言。它是一種偽碼。為設(shè)計程序用語言。它是一種偽碼。 偽碼的語法規(guī)則分為偽碼的語法規(guī)則分為“外語法外語法”和和“內(nèi)語法內(nèi)語法”。 PDL PDL具有嚴(yán)格的關(guān)鍵字外語法,用于具有嚴(yán)格的關(guān)鍵字外語法,用于定義控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),同時它的
17、表定義控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),同時它的表示實(shí)際操作和條件的內(nèi)語法又是靈活自示實(shí)際操作和條件的內(nèi)語法又是靈活自由的,可使用自然語言的詞匯。由的,可使用自然語言的詞匯。第五十三頁,共130頁。PDLPDL語言的成分是:數(shù)據(jù)說明、處理過程描語言的成分是:數(shù)據(jù)說明、處理過程描述、輸入述、輸入/ /輸出輸出 PDL PDL的語法的語法(yf)(yf)是開放式的,其外是開放式的,其外層語法層語法(yf)(yf)是確定的,而內(nèi)層語法是確定的,而內(nèi)層語法(yf)(yf)則不確定。外層語法則不確定。外層語法(yf)(yf)描述控制結(jié)構(gòu)它用類似于一般程序設(shè)計描述控制結(jié)構(gòu)它用類似于一般程序設(shè)計語言控制結(jié)構(gòu)的關(guān)鍵字:語言
18、控制結(jié)構(gòu)的關(guān)鍵字: 如如 : IF-THEN-ELSE , WHILE-DO IF-THEN-ELSE , WHILE-DO REPEAT-UNTIL,DO CASE, DO WHILE REPEAT-UNTIL,DO CASE, DO WHILE 等等表示。表示。 有時還用關(guān)鍵字反排,表示控制結(jié)構(gòu)結(jié)有時還用關(guān)鍵字反排,表示控制結(jié)構(gòu)結(jié)束:束: DO - OD IF -FI DO - OD IF -FI第五十四頁,共130頁。例如:例如: if X is not negative if X is not negative then then return(square root of X as
19、a real number); return(square root of X as a real number); else else return(square root of -X as an imaginary return(square root of -X as an imaginary number); number); 外層語法外層語法IF-ELSE-THENIF-ELSE-THEN是確定的,內(nèi)層是確定的,內(nèi)層(ni cn(ni cn) )操作操作“square “square root of X ” root of X ”是不確定的。是不確定的。第五十五頁,共130頁。 提供
20、全部結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模提供全部結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊特征。能對塊特征。能對PDLPDL正文進(jìn)行結(jié)構(gòu)分割,使之正文進(jìn)行結(jié)構(gòu)分割,使之變得易于理解。變得易于理解。 為了區(qū)別關(guān)鍵字,規(guī)定關(guān)鍵字一律大寫,為了區(qū)別關(guān)鍵字,規(guī)定關(guān)鍵字一律大寫,其它其它(qt)(qt)單詞一律小寫。或者規(guī)定關(guān)鍵單詞一律小寫?;蛘咭?guī)定關(guān)鍵字加下劃線,或者規(guī)定它們?yōu)楹隗w字。字加下劃線,或者規(guī)定它們?yōu)楹隗w字。PDLPDL的特點(diǎn)的特點(diǎn)(tdin)(tdin):第五十六頁,共130頁。 內(nèi)語法使用內(nèi)語法使用(shyng)(shyng)自然語言來描述自然語言來描述處理特性。內(nèi)語法比較靈活,只要寫清楚處理特性。內(nèi)語法比
21、較靈活,只要寫清楚就可以,不必考慮語法錯,以利于人們可就可以,不必考慮語法錯,以利于人們可把主要精力放在描述算法的邏輯上。把主要精力放在描述算法的邏輯上。 有數(shù)據(jù)說明機(jī)制,包括簡單的有數(shù)據(jù)說明機(jī)制,包括簡單的( (如標(biāo)量和如標(biāo)量和數(shù)組數(shù)組) )與復(fù)雜的與復(fù)雜的( (如鏈表和層次結(jié)構(gòu)如鏈表和層次結(jié)構(gòu)) )的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。結(jié)構(gòu)。 有子程序定義與調(diào)用機(jī)制,用以表達(dá)各有子程序定義與調(diào)用機(jī)制,用以表達(dá)各種方式的接口說明。種方式的接口說明。PDLPDL的特點(diǎn)的特點(diǎn)(tdin)(tdin):第五十七頁,共130頁。面向面向(min xin(min xin) )數(shù)據(jù)結(jié)構(gòu)的設(shè)數(shù)據(jù)結(jié)構(gòu)的設(shè)計計 軟件系統(tǒng)本質(zhì)上都
22、是信息處理系統(tǒng)。許多應(yīng)用系統(tǒng)中,信息往往具有清晰的層次結(jié)構(gòu),輸入/輸出數(shù)據(jù)有明顯的對應(yīng)關(guān)系。問題求解方法的構(gòu)造往往依賴于問題描述的數(shù)據(jù)結(jié)構(gòu),即使(jsh)求解同一問題,使用的數(shù)據(jù)結(jié)構(gòu)不同,相應(yīng)的求解算法也不同。因此軟件設(shè)計與數(shù)據(jù)結(jié)構(gòu)有極大的相關(guān)性。如果一個數(shù)據(jù)結(jié)構(gòu)具有選擇性質(zhì),那么應(yīng)該使用條件選擇結(jié)構(gòu)處理;如果一個數(shù)據(jù)結(jié)構(gòu)具有重復(fù)性,則一定要求使用循環(huán)控制結(jié)構(gòu)處理;如果一個數(shù)據(jù)結(jié)構(gòu)具有層次組織,則軟件控制結(jié)構(gòu)也要求是分層的。由此提出了一類面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。Jackson方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法的代表之一。第五十八頁,共130頁。1. 概念概念 Jachson方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方
23、方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。法。2. JSP用于開發(fā)規(guī)模較小的數(shù)據(jù)處理系統(tǒng)的用于開發(fā)規(guī)模較小的數(shù)據(jù)處理系統(tǒng)的設(shè)計。該方法定義了一組以數(shù)據(jù)結(jié)構(gòu)為設(shè)計。該方法定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)指導(dǎo)(zhdo)的映射過程,它根據(jù)輸入、的映射過程,它根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,即程序結(jié)構(gòu),而不是軟件的過程描述,即程序結(jié)構(gòu),而不是軟件的體系結(jié)構(gòu)。軟件的體系結(jié)構(gòu)。 Jackson方法方法(fngf)第五十九頁,共130頁。3. 特點(diǎn)特點(diǎn) Jackson方法有自己的描述工具方法有自己的描述工具Jackson結(jié)構(gòu)結(jié)構(gòu)(jigu)圖,用圖,用3種基本結(jié)
24、種基本結(jié)構(gòu)構(gòu)(jigu)(順序、選擇和重復(fù))來表示。(順序、選擇和重復(fù))來表示。其特點(diǎn)是:其特點(diǎn)是: 能對結(jié)構(gòu)能對結(jié)構(gòu)(jigu)進(jìn)行自頂向下的分解,進(jìn)行自頂向下的分解,因此可以表示層次結(jié)構(gòu)因此可以表示層次結(jié)構(gòu)(jigu)。 結(jié)構(gòu)結(jié)構(gòu)(jigu)易讀,形象直觀。易讀,形象直觀。 既能表示數(shù)據(jù)結(jié)構(gòu)既能表示數(shù)據(jù)結(jié)構(gòu)(jigu)也能表示程也能表示程序結(jié)構(gòu)序結(jié)構(gòu)(jigu),且表示的是組成關(guān)系。,且表示的是組成關(guān)系。Jackson方法方法(fngf)第六十頁,共130頁。4. JSP設(shè)計步驟設(shè)計步驟 分析并確定輸入數(shù)據(jù)和輸出分析并確定輸入數(shù)據(jù)和輸出(shch)數(shù)據(jù)的邏輯結(jié)構(gòu),并用數(shù)據(jù)的邏輯結(jié)構(gòu),并用J
25、ackson結(jié)構(gòu)圖結(jié)構(gòu)圖表示這些數(shù)據(jù)結(jié)構(gòu)。表示這些數(shù)據(jù)結(jié)構(gòu)。 找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出(shch)結(jié)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元,對應(yīng)關(guān)系構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元,對應(yīng)關(guān)系指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順指數(shù)據(jù)單元在數(shù)據(jù)內(nèi)容上、數(shù)量上和順序上有直接的因果關(guān)系。序上有直接的因果關(guān)系。 按一定的規(guī)則由輸入、輸出按一定的規(guī)則由輸入、輸出(shch)的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)。的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)。 列出基本操作與條件,并把它們分配到列出基本操作與條件,并把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。程序結(jié)構(gòu)圖的適當(dāng)位置。 用偽碼(也稱圖解邏輯)寫出程序。用偽碼(也稱圖解邏輯)寫出程序。Jack
26、son方法方法(fngf)第六十一頁,共130頁。5、優(yōu)缺點(diǎn)、優(yōu)缺點(diǎn) Jackson方法對問題分析的基本思方法對問題分析的基本思想仍然是自頂而下,逐步求精,問題想仍然是自頂而下,逐步求精,問題求解層次化和模塊化。它與求解層次化和模塊化。它與SD方法的方法的區(qū)別僅僅區(qū)別僅僅(jnjn)在于主要以數(shù)據(jù)結(jié)構(gòu)在于主要以數(shù)據(jù)結(jié)構(gòu)(而不是數(shù)據(jù)流驅(qū)動)來建立程序模(而不是數(shù)據(jù)流驅(qū)動)來建立程序模塊和控制結(jié)構(gòu)。塊和控制結(jié)構(gòu)。 對于數(shù)據(jù)結(jié)構(gòu)與問題結(jié)構(gòu)密切相對于數(shù)據(jù)結(jié)構(gòu)與問題結(jié)構(gòu)密切相關(guān)的系統(tǒng),該方法導(dǎo)出的系統(tǒng)設(shè)計易關(guān)的系統(tǒng),該方法導(dǎo)出的系統(tǒng)設(shè)計易于理解,當(dāng)問題發(fā)生局部變化時,也于理解,當(dāng)問題發(fā)生局部變化時,也易
27、于修改。特別適用于具有良好層次易于修改。特別適用于具有良好層次數(shù)據(jù)結(jié)構(gòu)的輸入數(shù)據(jù)結(jié)構(gòu)的輸入/輸出設(shè)計,典型的如輸出設(shè)計,典型的如商業(yè)應(yīng)用中文件表格處理。商業(yè)應(yīng)用中文件表格處理。 Jackson方法方法(fngf)第六十二頁,共130頁。6. JSP設(shè)計中結(jié)構(gòu)沖突的解決方法設(shè)計中結(jié)構(gòu)沖突的解決方法 在在JSP設(shè)計中,如果輸入數(shù)據(jù)和輸出設(shè)計中,如果輸入數(shù)據(jù)和輸出數(shù)據(jù)結(jié)構(gòu)之間找不到對應(yīng)關(guān)系,稱為結(jié)數(shù)據(jù)結(jié)構(gòu)之間找不到對應(yīng)關(guān)系,稱為結(jié)構(gòu)沖突。在工程實(shí)踐中,實(shí)施構(gòu)沖突。在工程實(shí)踐中,實(shí)施Jackson方法的主要問題是結(jié)構(gòu)沖突。方法的主要問題是結(jié)構(gòu)沖突。解決方法是:引入中間數(shù)據(jù)結(jié)構(gòu)或中間解決方法是:引入中間
28、數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔文件,將沖突部分分隔(fng)開來,建開來,建立多個程序結(jié)構(gòu),再利用中間文件將把立多個程序結(jié)構(gòu),再利用中間文件將把它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。它們聯(lián)系起來,構(gòu)成一個系統(tǒng)的整體。Jackson方法方法(fngf)第六十三頁,共130頁。程序復(fù)雜度的定量程序復(fù)雜度的定量(dngling)度量度量 如何使軟件結(jié)構(gòu)復(fù)雜度和軟件質(zhì)量(zhling)的評價能夠量化是軟件工程研究的課題之一。軟件復(fù)雜度、軟件質(zhì)量(zhling)的量化評判,是客觀評估軟件質(zhì)量(zhling),計算開發(fā)進(jìn)度,衡量軟件成本的基礎(chǔ),也是估計軟件殘存錯誤的依據(jù)。 目前比較流行的軟件復(fù)雜度度量方法
29、有兩種:一是由McCabe提出的根據(jù)程序流程圖的結(jié)構(gòu)復(fù)雜度對軟件復(fù)雜度和質(zhì)量(zhling)進(jìn)行量度;二是由Halstead提出的根據(jù)程序中包含的運(yùn)算操作符和操作數(shù)個數(shù)對程序復(fù)雜度進(jìn)行度量的行代碼度量方法。 第六十四頁,共130頁。l程序復(fù)雜性主要指模塊內(nèi)程序的復(fù)雜性。它直接關(guān)聯(lián)到軟件開發(fā)費(fèi)用的多少,開發(fā)周期的長短和軟件內(nèi)部潛伏錯誤(cuw)的多少。l減少程序復(fù)雜性,可提高軟件的簡單性和可理解性,并使軟件開發(fā)費(fèi)用減少,開發(fā)周期縮短,軟件內(nèi)部潛藏錯誤(cuw)減少。程序復(fù)雜度的定量程序復(fù)雜度的定量(dngling)度度量量第六十五頁,共130頁。復(fù)雜性度量復(fù)雜性度量(dling)需要滿足的假設(shè)需
30、要滿足的假設(shè)l為了度量程序復(fù)雜性,要求:l 它可以用來計算任何一個程序的復(fù)雜性;l 對于不合理的程序,例如對于長度(chngd)動態(tài)增長的程序,或者對于原則上無法排錯的程序,不應(yīng)當(dāng)使用它進(jìn)行復(fù)雜性計算;l 如果程序中指令條數(shù)、附加存儲量、計算時間增多,不會減少程序的復(fù)雜性。第六十六頁,共130頁。代碼代碼(di m)(di m)行度行度量法量法l源代碼行數(shù)度量法基于兩個前提:l 程序(chngx)復(fù)雜性隨著程序(chngx)規(guī)模的增加不均衡地增長;l 控制程序(chngx)規(guī)模的方法最好是采用分而治之的辦法。將一個大程序(chngx)分解成若干個簡單的可理解的程序(chngx)段。第六十七頁,
31、共130頁。l方法的基本考慮是統(tǒng)計一個程序模塊的源代碼(di m)行數(shù)目,并以源代碼(di m)行數(shù)做為程序復(fù)雜性的度量。l設(shè)每行代碼(di m)的出錯率為每100行源程序中可能有的錯誤數(shù)目。lThayer曾指出,程序出錯率的估算范圍是從0.047之間,即每100行源程序中可能存在0.047個錯誤。他還指出,每行代碼(di m)的出錯率與源程序行數(shù)之間不存在簡單的線性關(guān)系。第六十八頁,共130頁。lLipow指出,對于小程序,每行代碼出錯率為1.31.8;對于大程序,每行代碼的出錯率增加到2.73.2之間,這只是考慮了程序的可執(zhí)行部分,沒有(mi yu)包括程序中的說明部分。lLipow及其他
32、研究者得出一個結(jié)論:對于少于100個語句的小程序,源代碼行數(shù)與出錯率是線性相關(guān)的。隨著程序的增大,出錯率以非線性方式增長。第六十九頁,共130頁。McCabe度量(dling)法lMcCabe度量度量(dling)法,又稱環(huán)路復(fù)法,又稱環(huán)路復(fù)雜性度量雜性度量(dling),是一種基于程序控,是一種基于程序控制流的復(fù)雜性度量制流的復(fù)雜性度量(dling)方法。方法。l它基于一個程序模塊的程序圖中環(huán)路的它基于一個程序模塊的程序圖中環(huán)路的個數(shù),因此計算它先要畫出程序圖。個數(shù),因此計算它先要畫出程序圖。l程序圖是退化的程序流程圖。流程圖中程序圖是退化的程序流程圖。流程圖中每個處理都退化成一個結(jié)點(diǎn),流線
33、變成每個處理都退化成一個結(jié)點(diǎn),流線變成連接不同結(jié)點(diǎn)的有向弧。連接不同結(jié)點(diǎn)的有向弧。第七十頁,共130頁?;究刂平Y(jié)構(gòu)的結(jié)點(diǎn)基本控制結(jié)構(gòu)的結(jié)點(diǎn)(ji din)化處理化處理分支分支順序順序當(dāng)循環(huán)當(dāng)循環(huán)直到循環(huán)直到循環(huán)圖圖7 7 基本基本(jbn)(jbn)控制結(jié)構(gòu)的結(jié)點(diǎn)控制結(jié)構(gòu)的結(jié)點(diǎn)化處理化處理第七十一頁,共130頁。l程序圖僅描述程序內(nèi)部的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體操作,以及(yj)分支和循環(huán)的具體條件。l計算環(huán)路復(fù)雜性的方法:根據(jù)圖論,在一個強(qiáng)連通的有向圖G中,環(huán)的個數(shù)由以下公式給出: V(G)mnp其中,V(G)是有向圖G中環(huán)路個數(shù),m是圖G中弧數(shù),n是圖G中結(jié)點(diǎn)數(shù),p是圖G中的強(qiáng)連通
34、分量個數(shù)。第七十二頁,共130頁。lMyers建議,對于復(fù)合判定,例如,(A0)(CD)(XA) 算做三個判定。l為使圖成為強(qiáng)連通圖,從圖的入口點(diǎn)到出口點(diǎn)加一條用虛線表示的有向邊,使圖成為強(qiáng)連通圖。這樣就可以使用上式計算環(huán)路復(fù)雜性。l在例示中,結(jié)點(diǎn)數(shù)n11,弧數(shù)m13,p1,則有 V(G)mnp131113.l等于(dngy)程序圖中弧所封閉的區(qū)域數(shù)。第七十三頁,共130頁。第七十四頁,共130頁。幾點(diǎn)說明幾點(diǎn)說明(shumng)l環(huán)路(hun l)復(fù)雜度取決于程序控制結(jié)構(gòu)的復(fù)雜度。當(dāng)程序的分支數(shù)目或循環(huán)數(shù)目增加時其復(fù)雜度也增加。環(huán)路(hun l)復(fù)雜度與程序中覆蓋的路徑條數(shù)有關(guān)。l環(huán)路(hu
35、n l)復(fù)雜度是可加的。例如,模塊A的復(fù)雜度為3,模塊B的復(fù)雜度為 4,則模塊A與模塊B的復(fù)雜度是7。第七十五頁,共130頁。lMcCabe建議,對于復(fù)雜度超過10的程序,應(yīng)分成幾個小程序,以減少程序中的錯誤。Walsh用實(shí)例證實(shí)(zhngsh)了這個建議的正確性。在McCabe復(fù)雜度為10的附近,存在出錯率的間斷躍變。第七十六頁,共130頁。l這種度量的缺點(diǎn)是:l 對于不同種類的控制流的復(fù)雜性不能區(qū)分l 簡單IF語句與循環(huán)語句的復(fù)雜性同等看待l 嵌套IF語句與簡單CASE語句的復(fù)雜性是一樣的l 模塊間接口當(dāng)成一個簡單分支一樣處理l 一個具有(jyu)1000行的順序程序與一行語句的復(fù)雜性相同
36、第七十七頁,共130頁。Halstead的軟件的軟件(run jin)科學(xué)科學(xué)lHalstead軟件科學(xué)研究確定計軟件科學(xué)研究確定計算機(jī)軟件開發(fā)算機(jī)軟件開發(fā)(kif)中的一些定中的一些定量規(guī)律,它采用以下一組基本的量規(guī)律,它采用以下一組基本的度量值。度量值。l這些度量值通常在程序產(chǎn)生之后這些度量值通常在程序產(chǎn)生之后得出,或者在設(shè)計完成之后估算得出,或者在設(shè)計完成之后估算出。出。 第七十八頁,共130頁。第七十九頁,共130頁。l在定義中,運(yùn)算符包括:l 算術(shù)運(yùn)算符 賦值符(=或:=)l 邏輯運(yùn)算符 分界符(,或;或:)l 關(guān)系運(yùn)算符 括號運(yùn)算符l 子程序調(diào)用符 數(shù)組操作符l 循環(huán)操作符等。l特
37、別地,成對的運(yùn)算符,例如l “BEGINEND”、“FORTO”、“REPEAT UNTIL”、“WHILEDO”、“IFTHENELSE”、“()”等都當(dāng)做(dngzu)單一運(yùn)算符。第八十頁,共130頁。l運(yùn)算對象包括變量名和常數(shù)(chngsh)。l實(shí)際的Halstead長度設(shè)N1為程序中實(shí)際出現(xiàn)的運(yùn)算符總個數(shù),N2為程序中實(shí)際出現(xiàn)的運(yùn)算對象總個數(shù),N為實(shí)際的Halstead長度,則有l(wèi) N = N1 + N2第八十一頁,共130頁。第八十二頁,共130頁。變量個數(shù)。第八十三頁,共130頁。 第八十四頁,共130頁。第八十五頁,共130頁。l例如,一個程序?qū)?5個數(shù)據(jù)庫項(xiàng)共訪問(fngwn)
38、1300次,對150個運(yùn)算符共使用了1200次,那么預(yù)測該程序的錯誤數(shù):l B = (1200+1300)log2(75+150)/3000l 6.5l 即預(yù)測該程序中可能包含67個錯誤第八十六頁,共130頁。第八十七頁,共130頁。Halstead度量度量(dling)的的缺點(diǎn)缺點(diǎn)第八十八頁,共130頁。第八十九頁,共130頁。第九十頁,共130頁。軟件設(shè)計復(fù)審軟件設(shè)計復(fù)審(fshn) 復(fù)審對象復(fù)審對象軟件設(shè)計說明文檔軟件設(shè)計說明文檔意義意義通過設(shè)計復(fù)審,可以及時通過設(shè)計復(fù)審,可以及時發(fā)現(xiàn)軟件結(jié)構(gòu)缺陷和設(shè)計錯誤發(fā)現(xiàn)軟件結(jié)構(gòu)缺陷和設(shè)計錯誤(cuw),使得它們能夠在進(jìn)入編碼,使得它們能夠在進(jìn)入編
39、碼前得以改正。前得以改正。種類種類正式復(fù)審和臨時復(fù)審正式復(fù)審和臨時復(fù)審復(fù)審的內(nèi)容復(fù)審的內(nèi)容第九十一頁,共130頁。1、正式、正式(zhngsh)復(fù)審復(fù)審 在全部設(shè)計文檔制作完畢后召開正式的軟件設(shè)計復(fù)審確認(rèn)會議。在復(fù)審會議上由設(shè)計人員對軟件總體結(jié)構(gòu)、性能規(guī)范、用戶界面、關(guān)鍵模塊和關(guān)鍵算法等進(jìn)行詳細(xì)報告。由獨(dú)立的評審專家小組對設(shè)計文檔和設(shè)計人員的報告進(jìn)行全面深入的討論審查。 正式復(fù)審的結(jié)果(1)確認(rèn)通過軟件設(shè)計(軟件開發(fā)可進(jìn)入下一階段)(2)設(shè)計文檔未獲通過。(通常是軟件設(shè)計存在重大缺陷或者錯誤,也可以是設(shè)計沒有原則性錯誤,但是設(shè)計文檔本身不規(guī)范,不能作為后續(xù)編碼(bin m)的依據(jù)。) 軟件設(shè)計
40、即使是通過復(fù)審?fù)ǔR膊皇峭耆_的,復(fù)審報告中應(yīng)該說明設(shè)計中仍然存在的問題或者缺陷,使得這些問題在后續(xù)編碼(bin m)中得以改正或者完善。 第九十二頁,共130頁。2、臨時復(fù)審、臨時復(fù)審 是在軟件設(shè)計過程中,針對某是在軟件設(shè)計過程中,針對某個個(mu )局部或者問題的解決局部或者問題的解決方案或者階段性設(shè)計成果進(jìn)行討方案或者階段性設(shè)計成果進(jìn)行討論或者審核。論或者審核。第九十三頁,共130頁。3、軟件、軟件(run jin)復(fù)審的內(nèi)容復(fù)審的內(nèi)容 (1)設(shè)計功能和性能的可追蹤性:軟件結(jié)構(gòu)設(shè)計是否)設(shè)計功能和性能的可追蹤性:軟件結(jié)構(gòu)設(shè)計是否充分實(shí)現(xiàn)了軟件需求規(guī)格說明?目標(biāo)軟件設(shè)計中實(shí)現(xiàn)充分實(shí)現(xiàn)了軟
41、件需求規(guī)格說明?目標(biāo)軟件設(shè)計中實(shí)現(xiàn)的每個功能、性能在需求說明中是否能夠找到來源?的每個功能、性能在需求說明中是否能夠找到來源?(2)軟件設(shè)計中采用的技術(shù)是否成熟?如果是新技術(shù),)軟件設(shè)計中采用的技術(shù)是否成熟?如果是新技術(shù),其技術(shù)風(fēng)險系數(shù)多大,是否存在替代實(shí)現(xiàn)方案?其技術(shù)風(fēng)險系數(shù)多大,是否存在替代實(shí)現(xiàn)方案?(3)軟件系統(tǒng)的所有外部接口和內(nèi)部各模塊接口定義)軟件系統(tǒng)的所有外部接口和內(nèi)部各模塊接口定義是否恰當(dāng)、完整?是否恰當(dāng)、完整?(4)設(shè)計中對于系統(tǒng)的可維護(hù)性是如何體現(xiàn)的?設(shè)計)設(shè)計中對于系統(tǒng)的可維護(hù)性是如何體現(xiàn)的?設(shè)計文檔本身文檔本身(bnshn)的可理解性如何?它們易于編碼實(shí)的可理解性如何?它
42、們易于編碼實(shí)現(xiàn)嗎?現(xiàn)嗎?(5)在軟件系統(tǒng)結(jié)構(gòu)、關(guān)鍵算法和用戶界面中如何保)在軟件系統(tǒng)結(jié)構(gòu)、關(guān)鍵算法和用戶界面中如何保證系統(tǒng)質(zhì)量?證系統(tǒng)質(zhì)量?第九十四頁,共130頁。軟件軟件(run jin)規(guī)格說明書規(guī)格說明書 軟件設(shè)計階段軟件設(shè)計階段(jidun)完成,應(yīng)提交設(shè)計完成,應(yīng)提交設(shè)計文檔:文檔: 1、改進(jìn)后的模塊結(jié)構(gòu)圖(包含模塊說明)、改進(jìn)后的模塊結(jié)構(gòu)圖(包含模塊說明) 2、各模塊的詳細(xì)說明、各模塊的詳細(xì)說明 (流程圖、(流程圖、N-S圖、圖、PAD圖等)圖等)第九十五頁,共130頁。 1 1、用戶特性分析、用戶特性分析 用戶模型用戶模型 了解所有用戶的技能和經(jīng)驗(yàn),針對用戶能力設(shè)計或更改界面。了
43、解所有用戶的技能和經(jīng)驗(yàn),針對用戶能力設(shè)計或更改界面。從以下從以下(yxi)(yxi)方面分析:方面分析: 用戶類型用戶類型通常分為:外行型、初學(xué)型、熟練型、專家型。通常分為:外行型、初學(xué)型、熟練型、專家型。 用戶特性度量用戶特性度量與用戶使用模式和用戶群體能力有關(guān)。與用戶使用模式和用戶群體能力有關(guān)。 包括:用戶使用頻度、用戶用機(jī)能力、用戶的知識、思維能力包括:用戶使用頻度、用戶用機(jī)能力、用戶的知識、思維能力等。等。這部分工作應(yīng)該與軟件需求分析這部分工作應(yīng)該與軟件需求分析(fnx)同步進(jìn)行。包括以下內(nèi)容:同步進(jìn)行。包括以下內(nèi)容:2 2、用戶界面的任務(wù)分析、用戶界面的任務(wù)分析 任務(wù)模型(任務(wù)模型(
44、DFDDFD圖)圖) 是對系統(tǒng)內(nèi)部活動的分解,不僅要進(jìn)行功能分解(用是對系統(tǒng)內(nèi)部活動的分解,不僅要進(jìn)行功能分解(用DFDDFD圖描述),圖描述),還要包括與人相關(guān)的活動。每個加工即一個功能或任務(wù)。還要包括與人相關(guān)的活動。每個加工即一個功能或任務(wù)。3 3、確定用戶界面類型、確定用戶界面類型第九十六頁,共130頁。界面的設(shè)計(shj)原則分析用戶類型分析用戶類型應(yīng)用程序和界面分離應(yīng)用程序和界面分離一致性一致性盡量減少用戶工作盡量減少用戶工作提供反饋提供反饋出錯處理和幫助功能出錯處理和幫助功能增加增加(zngji)(zngji)可視化圖形表示可視化圖形表示第九十七頁,共130頁。1 1 黃金黃金(h
45、un jn jn)(hun jn jn)規(guī)則規(guī)則 在有關(guān)界面設(shè)計的著作中,在有關(guān)界面設(shè)計的著作中, Theo Mandel Theo Mandel創(chuàng)造了三條黃金原則:創(chuàng)造了三條黃金原則:置用戶于控制置用戶于控制(kngzh)(kngzh)之下之下減少用戶的記憶負(fù)擔(dān)減少用戶的記憶負(fù)擔(dān)保持界面一致保持界面一致 第九十八頁,共130頁。黃金(hun jn jn)規(guī)則:置用戶于控制之下 Mandel Mandel定義的一組允許用戶操作控制的原則:定義的一組允許用戶操作控制的原則:以不強(qiáng)迫用戶進(jìn)入以不強(qiáng)迫用戶進(jìn)入(jnr)(jnr)不必要的或不希望的動不必要的或不希望的動作的方式來定義交互方式作的方式來
46、定義交互方式提供靈活的交互提供靈活的交互允許用戶交互可以被中斷和撤消允許用戶交互可以被中斷和撤消當(dāng)技能級別增加時可以使交互流水化并允許定制當(dāng)技能級別增加時可以使交互流水化并允許定制交互交互使用戶隔離內(nèi)部技術(shù)細(xì)節(jié)使用戶隔離內(nèi)部技術(shù)細(xì)節(jié)設(shè)計應(yīng)允許用戶和出現(xiàn)在屏幕上的對象直接交互設(shè)計應(yīng)允許用戶和出現(xiàn)在屏幕上的對象直接交互第九十九頁,共130頁。黃金規(guī)則:減少(jinsho)用戶的記憶負(fù)擔(dān) Mandel Mandel定義了一組設(shè)計原則,使界面能定義了一組設(shè)計原則,使界面能夠減少用戶夠減少用戶(yngh)(yngh)記憶負(fù)擔(dān):記憶負(fù)擔(dān):減少對短期記憶的要求減少對短期記憶的要求建立有意義的缺省建立有意義的
47、缺省定義直覺性的捷徑定義直覺性的捷徑界面的視覺布局應(yīng)該基于真實(shí)世界的隱喻界面的視覺布局應(yīng)該基于真實(shí)世界的隱喻以不斷進(jìn)展的方式揭示信息以不斷進(jìn)展的方式揭示信息第一百頁,共130頁。第一百零一頁,共130頁。黃金規(guī)則:保持(boch)界面一致 用戶應(yīng)以一致的方式展示和獲取信息用戶應(yīng)以一致的方式展示和獲取信息所有可視信息的組織均按照均按照貫穿所有屏幕顯示所保所有可視信息的組織均按照均按照貫穿所有屏幕顯示所保持的設(shè)計標(biāo)準(zhǔn)持的設(shè)計標(biāo)準(zhǔn)輸入機(jī)制被約束到有限的集合,在整個輸入機(jī)制被約束到有限的集合,在整個(zhngg)(zhngg)應(yīng)用中應(yīng)用中被一致地使用被一致地使用從任務(wù)到任務(wù)的導(dǎo)航機(jī)制被一致地定義和實(shí)現(xiàn)
48、從任務(wù)到任務(wù)的導(dǎo)航機(jī)制被一致地定義和實(shí)現(xiàn)MandelMandel定義了一組幫助保持界面一致性的設(shè)計原則定義了一組幫助保持界面一致性的設(shè)計原則允許用戶將當(dāng)前任務(wù)放入有意義的語境允許用戶將當(dāng)前任務(wù)放入有意義的語境在應(yīng)用系列內(nèi)保持一致性在應(yīng)用系列內(nèi)保持一致性如過去的交互模型已建立起了用戶期望,除非有迫不得已如過去的交互模型已建立起了用戶期望,除非有迫不得已的理由,不要改變它的理由,不要改變它第一百零二頁,共130頁。2 2 用戶友好用戶友好(yuho)(yuho)性設(shè)計性設(shè)計 用戶友好性一般屬軟件的性能用戶友好性一般屬軟件的性能特性,它獨(dú)立于所有特性,它獨(dú)立于所有(suyu)(suyu)具體具體功能
49、,卻影響著所有功能,卻影響著所有(suyu)(suyu)功能功能的重用性。的重用性。 用戶友好性應(yīng)體現(xiàn)在與用戶有用戶友好性應(yīng)體現(xiàn)在與用戶有接口的軟件特性上。接口的軟件特性上。 用戶友好性的根本目的是為了用戶友好性的根本目的是為了軟件可重用性、可維護(hù)性。軟件可重用性、可維護(hù)性。第一百零三頁,共130頁。用戶友好(yuho)性的標(biāo)志可操作性可操作性健壯性健壯性易學(xué)習(xí)性易學(xué)習(xí)性(xxng)(xxng)可擴(kuò)展性可擴(kuò)展性 第一百零四頁,共130頁。用戶界面(yn h ji min)設(shè)計1 界面設(shè)計模型設(shè)計用戶界面要考慮(kol)四種模型:軟件工程師創(chuàng)建軟件工程師創(chuàng)建(chungjin)(chungjin
50、)的設(shè)計的設(shè)計模型模型 (design modeldesign model)人員工程師創(chuàng)建人員工程師創(chuàng)建(chungjin)(chungjin)的用戶的用戶模型模型 (user modeluser model)終端用戶對未來系統(tǒng)的假想(終端用戶對未來系統(tǒng)的假想(sysytem sysytem perceptionperception或或userusers models model)系統(tǒng)實(shí)現(xiàn)后得到的系統(tǒng)映象(系統(tǒng)實(shí)現(xiàn)后得到的系統(tǒng)映象(sysytem sysytem imageimage) 四種模型可四種模型可能相差甚遠(yuǎn),能相差甚遠(yuǎn),界面設(shè)計人界面設(shè)計人員的任務(wù)就員的任務(wù)就是消除這些是消除這些差距
51、,導(dǎo)出差距,導(dǎo)出一致的界面一致的界面表示表示第一百零五頁,共130頁。用戶界面設(shè)計(shj)過程用戶界面設(shè)計過程包括用戶界面設(shè)計過程包括(boku)(boku)四種不同的框架:四種不同的框架:用戶、任務(wù)和環(huán)境分析及建模用戶、任務(wù)和環(huán)境分析及建模界面設(shè)計界面設(shè)計界面構(gòu)造界面構(gòu)造界面確認(rèn)界面確認(rèn)第一百零六頁,共130頁。影響用戶(yngh)行為特性的因素人人- -機(jī)匹配性機(jī)匹配性人的固有技能人的固有技能人的固有弱點(diǎn)人的固有弱點(diǎn)用戶的知識用戶的知識(zh shi)(zh shi)經(jīng)驗(yàn)經(jīng)驗(yàn)用戶對系統(tǒng)的期望和態(tài)度用戶對系統(tǒng)的期望和態(tài)度第一百零七頁,共130頁。用戶(yngh)對計算機(jī)系統(tǒng)的要求讓用戶靈活
52、地使用讓用戶靈活地使用適應(yīng)不同類型用戶適應(yīng)不同類型用戶系統(tǒng)的行為系統(tǒng)的行為(xngwi)(xngwi)及效果對用戶透及效果對用戶透明明用戶對系統(tǒng)的期望和態(tài)度用戶對系統(tǒng)的期望和態(tài)度提供聯(lián)機(jī)幫助功能提供聯(lián)機(jī)幫助功能人機(jī)交互盡可能和人際通信相似人機(jī)交互盡可能和人際通信相似第一百零八頁,共130頁。用戶技能(jnng)方面的使用需求應(yīng)讓系統(tǒng)去適應(yīng)用戶應(yīng)讓系統(tǒng)去適應(yīng)用戶使用易于使用易于(yy)(yy)理解、掌握的準(zhǔn)自然語理解、掌握的準(zhǔn)自然語言言一致性的系統(tǒng)設(shè)計一致性的系統(tǒng)設(shè)計用戶對系統(tǒng)的期望和態(tài)度用戶對系統(tǒng)的期望和態(tài)度能通過系統(tǒng)學(xué)習(xí)能通過系統(tǒng)學(xué)習(xí)系統(tǒng)提供演示及范例系統(tǒng)提供演示及范例第一百零九頁,共130
53、頁。用戶(yngh)習(xí)性方面的使用需求系統(tǒng)應(yīng)讓用戶有耐心系統(tǒng)應(yīng)讓用戶有耐心(nixn)(nixn)系統(tǒng)應(yīng)很好地對付人的易犯錯誤系統(tǒng)應(yīng)很好地對付人的易犯錯誤系統(tǒng)應(yīng)對不同用戶提供不同交互方式系統(tǒng)應(yīng)對不同用戶提供不同交互方式第一百一十頁,共130頁。用戶經(jīng)驗(yàn)、知識(zh shi)方面的使用需求系統(tǒng)應(yīng)能讓未經(jīng)專門訓(xùn)練的用戶使用系統(tǒng)應(yīng)能讓未經(jīng)專門訓(xùn)練的用戶使用系統(tǒng)能對不同經(jīng)驗(yàn)用戶做出不同反應(yīng)系統(tǒng)能對不同經(jīng)驗(yàn)用戶做出不同反應(yīng)提供同一系統(tǒng)的一致性,建立標(biāo)準(zhǔn)化人提供同一系統(tǒng)的一致性,建立標(biāo)準(zhǔn)化人- -機(jī)界面機(jī)界面系統(tǒng)必須適應(yīng)用戶在應(yīng)用領(lǐng)域的知識系統(tǒng)必須適應(yīng)用戶在應(yīng)用領(lǐng)域的知識(zh shi)(zh shi)變
54、化,提供動態(tài)的自適應(yīng)的設(shè)變化,提供動態(tài)的自適應(yīng)的設(shè)計計第一百一十一頁,共130頁。用戶(yngh)對系統(tǒng)的期望方面的要求用戶界面應(yīng)提供形象、生動、美觀的布局顯用戶界面應(yīng)提供形象、生動、美觀的布局顯示和操作環(huán)境示和操作環(huán)境系統(tǒng)處理問題系統(tǒng)處理問題(wnt)(wnt)應(yīng)盡可能簡單,提供應(yīng)盡可能簡單,提供學(xué)習(xí)機(jī)制學(xué)習(xí)機(jī)制系統(tǒng)應(yīng)對不同用戶提供不同交互方式系統(tǒng)應(yīng)對不同用戶提供不同交互方式第一百一十二頁,共130頁。 從用戶角度出發(fā),用戶界面設(shè)計從用戶角度出發(fā),用戶界面設(shè)計(shj)的類型主要有問題描述語言,數(shù)的類型主要有問題描述語言,數(shù)據(jù)表格、圖形與圖標(biāo)、菜單、對話框及窗口等。每一種類型都有不同的特點(diǎn)據(jù)
55、表格、圖形與圖標(biāo)、菜單、對話框及窗口等。每一種類型都有不同的特點(diǎn)和性能。討論以下類型:菜單、圖象、對話框和窗口。和性能。討論以下類型:菜單、圖象、對話框和窗口。 固定位置、浮動位置(彈出)、下拉式、嵌入式固定位置、浮動位置(彈出)、下拉式、嵌入式圖2 混合菜單圖1 固定及下拉菜單固定菜單固定菜單下拉菜單下拉菜單第一百一十三頁,共130頁。第一百一十四頁,共130頁。必須回答式如圖必須回答式如圖3.58所示所示無需回答式無需回答式 如圖如圖3.59所示所示警告式警告式 如圖如圖4.58所示所示圖3.58 必須(bx)回答式對話框圖3.59 無需(wx)回答式對話框圖3.60 警告式對話框第一百一
56、十五頁,共130頁。4 4、窗口(、窗口(windowwindow) 圖形學(xué)中稱為視圖區(qū)(圖形學(xué)中稱為視圖區(qū)(ViewportViewport),視為虛擬屏幕。一個實(shí)用窗口,),視為虛擬屏幕。一個實(shí)用窗口,可包含部件:可包含部件: 菜單區(qū)(菜單區(qū)(menu barmenu bar) 圖標(biāo)區(qū)(圖標(biāo)區(qū)(icon baricon bar) 標(biāo)題區(qū)(標(biāo)題區(qū)(title bartitle bar) 移動移動(ydng)(ydng)區(qū)(區(qū)(move barmove bar) 大小區(qū)(大小區(qū)(size barsize bar) 退出區(qū)(退出區(qū)(quit barquit bar) 用戶工作區(qū)(用戶工作區(qū)(us
57、ers work barusers work bar) 橫向滾動區(qū)(橫向滾動區(qū)(horizontal scroll barhorizontal scroll bar) 縱向滾動區(qū)(縱向滾動區(qū)(vertical scroll barvertical scroll bar)圖 3 . 6 1 窗 口(chungku)第一百一十六頁,共130頁。界面設(shè)計開發(fā)(kif) 界面設(shè)計過程的步驟:界面設(shè)計過程的步驟:建立任務(wù)的目標(biāo)和意圖建立任務(wù)的目標(biāo)和意圖為每個目標(biāo)和意圖制定特定的動作序列為每個目標(biāo)和意圖制定特定的動作序列按在界面上執(zhí)行的方式對動作序列進(jìn)行規(guī)約按在界面上執(zhí)行的方式對動作序列進(jìn)行規(guī)約指明系統(tǒng)狀態(tài),即執(zhí)行動作時的界面表現(xiàn)指明系統(tǒng)狀態(tài),即執(zhí)行動作時的界面表現(xiàn) 定義控制機(jī)制,即用戶可用的改變系統(tǒng)狀態(tài)的定義控制機(jī)制,即用戶可用的改變系統(tǒng)狀態(tài)的設(shè)備和動作設(shè)備和動作指明控制機(jī)制如何指明控制機(jī)制如何(rh)(rh
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電氣控制原理圖》課件
- DB32T-建筑工程BIM規(guī)劃報建數(shù)據(jù)規(guī)范編制說明
- 給予是快樂的課件公開課專用
- 《口腔潔治課件》課件
- 基因工程的基本操作程序課件
- 《TA溝通分析課程》課件
- 《伊犁河大橋》課件
- 生活處處有哲學(xué)課件
- 單位管理制度展示匯編【員工管理篇】
- 中國武都頭風(fēng)痛丸項(xiàng)目投資可行性研究報告
- 廣西玉林市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版質(zhì)量測試(上學(xué)期)試卷及答案
- 《外盤期貨常識》課件
- 【MOOC】土力學(xué)-西安交通大學(xué) 中國大學(xué)慕課MOOC答案
- 醫(yī)院醫(yī)??乒ぷ骺偨Y(jié)
- 2024-2025學(xué)年譯林版八年級英語上學(xué)期重點(diǎn)詞匯短語句子歸納【考點(diǎn)清單】
- 廣東省六校聯(lián)考2024-2025學(xué)年高二上學(xué)期12月月考英語試題
- 養(yǎng)老護(hù)理員技能培訓(xùn)的標(biāo)準(zhǔn)化實(shí)施方案
- 2024年企業(yè)采購部年終總結(jié)及今后計劃(3篇)
- 物業(yè)客服個人述職報告范例
- 數(shù)據(jù)崗位招聘筆試題與參考答案2024年
- 2024屆高考英語詞匯3500左右
評論
0/150
提交評論