




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1軟件工程軟件工程面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì)2面向?qū)ο蠓治雒嫦驅(qū)ο蠓治龇治龇治?分析工作主要包括分析工作主要包括3項(xiàng)內(nèi)容項(xiàng)內(nèi)容:理解、表達(dá)和理解、表達(dá)和驗(yàn)證。驗(yàn)證。 在面向?qū)ο蠓治鲋校饕蓪?duì)象模型、動(dòng)在面向?qū)ο蠓治鲋校饕蓪?duì)象模型、動(dòng)態(tài)模型和功能模型組成。態(tài)模型和功能模型組成。面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?關(guān)鍵是識(shí)別出問題域內(nèi)的類與對(duì)象,并分關(guān)鍵是識(shí)別出問題域內(nèi)的類與對(duì)象,并分析它們相互間的關(guān)系,最終建立起問題域的簡(jiǎn)析它們相互間的關(guān)系,最終建立起問題域的簡(jiǎn)潔、精確、可理解的正確模型。其中對(duì)象模型潔、精確、可理解的正確模型。其中對(duì)象模型是最基本、最重要、最核心的。是最基本、最重要、最核
2、心的。3 不論采用哪種方法開發(fā)軟件,分析的過不論采用哪種方法開發(fā)軟件,分析的過程都是提取系統(tǒng)需求的過程。分析工作主要程都是提取系統(tǒng)需求的過程。分析工作主要包括包括3 3項(xiàng)內(nèi)容,這就是理解、表達(dá)和驗(yàn)證。首項(xiàng)內(nèi)容,這就是理解、表達(dá)和驗(yàn)證。首先,系統(tǒng)分析員通過與用戶及領(lǐng)域?qū)<业某湎龋到y(tǒng)分析員通過與用戶及領(lǐng)域?qū)<业某浞纸涣?,力求完全理解用戶需求和該?yīng)用領(lǐng)分交流,力求完全理解用戶需求和該應(yīng)用領(lǐng)域中的關(guān)鍵性的背景知識(shí),并用某種無(wú)二義域中的關(guān)鍵性的背景知識(shí),并用某種無(wú)二義性的方式把這種理解表達(dá)成文檔資料。分析性的方式把這種理解表達(dá)成文檔資料。分析過程得出的最重要的文檔資料是軟件需求規(guī)過程得出的最重要的文檔
3、資料是軟件需求規(guī)格說明格說明( (在面向?qū)ο蠓治鲋?,主要由?duì)象模型、在面向?qū)ο蠓治鲋校饕蓪?duì)象模型、動(dòng)態(tài)模型和功能模型組成動(dòng)態(tài)模型和功能模型組成) )。4 由于問題復(fù)雜,而且人與人之間的由于問題復(fù)雜,而且人與人之間的交流帶有隨意性和非形式化的特點(diǎn),上交流帶有隨意性和非形式化的特點(diǎn),上述理解過程通常不能一次就達(dá)到理想的述理解過程通常不能一次就達(dá)到理想的效果。因此,還必須進(jìn)一步驗(yàn)證軟件需效果。因此,還必須進(jìn)一步驗(yàn)證軟件需求規(guī)格說明的正確性、完整性和有效性,求規(guī)格說明的正確性、完整性和有效性,如果發(fā)現(xiàn)了問題則進(jìn)行修正。顯然,需如果發(fā)現(xiàn)了問題則進(jìn)行修正。顯然,需求分析過程是系統(tǒng)分析員與用戶及領(lǐng)域求分
4、析過程是系統(tǒng)分析員與用戶及領(lǐng)域?qū)<曳磸?fù)交流和多次修正的過程。也就專家反復(fù)交流和多次修正的過程。也就是說,理解和驗(yàn)證的過程通常交替進(jìn)行,是說,理解和驗(yàn)證的過程通常交替進(jìn)行,反復(fù)迭代,而且往往需要利用原型系統(tǒng)反復(fù)迭代,而且往往需要利用原型系統(tǒng)作為輔助工具。作為輔助工具。5 為了更好地理解問題,人們常常采用建立為了更好地理解問題,人們常常采用建立問題模型的方法。所謂模型,就是為了理解事問題模型的方法。所謂模型,就是為了理解事物而對(duì)事物作出的一種抽象,是對(duì)事物的一種物而對(duì)事物作出的一種抽象,是對(duì)事物的一種無(wú)歧義的書面描述。通常,模型由一組圖示符無(wú)歧義的書面描述。通常,模型由一組圖示符號(hào)和組織這些符號(hào)的
5、規(guī)則組成,利用它們來定號(hào)和組織這些符號(hào)的規(guī)則組成,利用它們來定義和描述問題域中的術(shù)語(yǔ)和概念。更進(jìn)一步講,義和描述問題域中的術(shù)語(yǔ)和概念。更進(jìn)一步講,模型是一種思考工具,利用這種工具可以把知模型是一種思考工具,利用這種工具可以把知識(shí)規(guī)范地表示出來。識(shí)規(guī)范地表示出來。 模型可以幫助我們思考問題、定義術(shù)語(yǔ)、模型可以幫助我們思考問題、定義術(shù)語(yǔ)、在選擇術(shù)語(yǔ)時(shí)作出適當(dāng)?shù)募僭O(shè),并且可以幫助在選擇術(shù)語(yǔ)時(shí)作出適當(dāng)?shù)募僭O(shè),并且可以幫助我們保持定義和假設(shè)的一致性。我們保持定義和假設(shè)的一致性。6 為了開發(fā)復(fù)雜的軟件系統(tǒng),系統(tǒng)分析員應(yīng)該從不同角度抽象出目標(biāo)系統(tǒng)的特性,使用精確的表示方法構(gòu)造系統(tǒng)的模型,驗(yàn)證模型是否滿足用戶
6、對(duì)目標(biāo)系統(tǒng)的需求,并在設(shè)計(jì)過程中逐漸把和實(shí)現(xiàn)有關(guān)的細(xì)節(jié)加進(jìn)模型中,直至最終用程序?qū)崿F(xiàn)模型。 對(duì)于那些因過分復(fù)雜而不能直接理解的系統(tǒng),特別需要建立模型,建模的目的主要是為了減少?gòu)?fù)雜性。人的頭腦每次只能處理一定數(shù)量的信息,模型通過把系統(tǒng)的重要部分分解成人的頭腦一次能處理的若干個(gè)子部分,從而減少系統(tǒng)的復(fù)雜程度。7 對(duì)象模型表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的對(duì)象模型表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)數(shù)據(jù)”性質(zhì)。性質(zhì)。 面向?qū)ο蠓椒◤?qiáng)調(diào)圍繞對(duì)象而不是圍繞功能來面向?qū)ο蠓椒◤?qiáng)調(diào)圍繞對(duì)象而不是圍繞功能來構(gòu)造系統(tǒng)。構(gòu)造系統(tǒng)。 對(duì)象模型是對(duì)模擬客觀世界實(shí)體的對(duì)象以及對(duì)對(duì)象模型是對(duì)模擬客觀世界實(shí)體的對(duì)象以及對(duì)象彼此間的關(guān)系
7、的映射,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。象彼此間的關(guān)系的映射,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。為建立動(dòng)態(tài)模型和功能模型,提供了實(shí)質(zhì)性的框架。為建立動(dòng)態(tài)模型和功能模型,提供了實(shí)質(zhì)性的框架。 對(duì)象模型用類圖來描述。對(duì)象模型用類圖來描述。 對(duì)象模型對(duì)象模型8 動(dòng)態(tài)模型表示瞬時(shí)的、行為化的系統(tǒng)的動(dòng)態(tài)模型表示瞬時(shí)的、行為化的系統(tǒng)的“控制控制”性質(zhì),它規(guī)定了對(duì)象模型中的對(duì)象的合法變化序列。性質(zhì),它規(guī)定了對(duì)象模型中的對(duì)象的合法變化序列。 狀態(tài)是對(duì)對(duì)象屬性值的一種抽象。狀態(tài)是對(duì)對(duì)象屬性值的一種抽象。 各對(duì)象之間相互觸發(fā)(即作用)就形成了一系各對(duì)象之間相互觸發(fā)(即作用)就形成了一系列的狀態(tài)變化。列的狀態(tài)變化。 一個(gè)觸發(fā)行為稱作一個(gè)
8、事件。一個(gè)觸發(fā)行為稱作一個(gè)事件。 對(duì)象對(duì)事件的響應(yīng),取決于接受該觸發(fā)的對(duì)象對(duì)象對(duì)事件的響應(yīng),取決于接受該觸發(fā)的對(duì)象當(dāng)時(shí)所處的狀態(tài)。當(dāng)時(shí)所處的狀態(tài)。 動(dòng)態(tài)模型動(dòng)態(tài)模型9 一旦建立起對(duì)象模型之后,就需要考察對(duì)象的動(dòng)態(tài)行為。所有對(duì)象都具有自己的生命周期(或稱為運(yùn)行周期)。對(duì)一個(gè)對(duì)象來說,生命周期由許多階段組成,在每個(gè)特定階段中,都有適合該對(duì)象的一組運(yùn)行規(guī)律和行為規(guī)則,用以規(guī)范該對(duì)象的行為。生命周期中的階段也就是對(duì)象的狀態(tài)。 狀態(tài)有持續(xù)性,它占用一段時(shí)間間隔。狀態(tài)與事件密不可分,一個(gè)事件分開兩個(gè)狀態(tài),一個(gè)狀態(tài)隔開兩個(gè)事件。事件表示時(shí)刻,狀態(tài)代表時(shí)間間隔。 動(dòng)態(tài)模型動(dòng)態(tài)模型10 用用UML提供的狀態(tài)圖來
9、描繪對(duì)象的狀態(tài)、觸發(fā)提供的狀態(tài)圖來描繪對(duì)象的狀態(tài)、觸發(fā)狀態(tài)轉(zhuǎn)換的事件以及對(duì)象的行為(對(duì)事件的響應(yīng))。狀態(tài)轉(zhuǎn)換的事件以及對(duì)象的行為(對(duì)事件的響應(yīng))。 每個(gè)類的動(dòng)態(tài)行為用一張狀態(tài)圖來描繪,各個(gè)每個(gè)類的動(dòng)態(tài)行為用一張狀態(tài)圖來描繪,各個(gè)類的狀態(tài)圖通過共享事件合并起來,從而構(gòu)成系統(tǒng)類的狀態(tài)圖通過共享事件合并起來,從而構(gòu)成系統(tǒng)的動(dòng)態(tài)模型。的動(dòng)態(tài)模型。 動(dòng)態(tài)模型是基于事件共享而互相關(guān)聯(lián)的一組狀動(dòng)態(tài)模型是基于事件共享而互相關(guān)聯(lián)的一組狀態(tài)圖的集合。態(tài)圖的集合。 動(dòng)態(tài)模型動(dòng)態(tài)模型11 功能模型表示變化的系統(tǒng)的功能模型表示變化的系統(tǒng)的“功能功能”性質(zhì),它性質(zhì),它指明了系統(tǒng)應(yīng)該指明了系統(tǒng)應(yīng)該“做什么做什么”,直接地反
10、映了用戶對(duì),直接地反映了用戶對(duì)目標(biāo)系統(tǒng)的需求。目標(biāo)系統(tǒng)的需求。 建立功能模型有助于軟件開發(fā)人員更深入地理建立功能模型有助于軟件開發(fā)人員更深入地理解問題域,改進(jìn)和完善自己的設(shè)計(jì)。解問題域,改進(jìn)和完善自己的設(shè)計(jì)。 用例圖進(jìn)行需求分析和建立功能模型的強(qiáng)有力用例圖進(jìn)行需求分析和建立功能模型的強(qiáng)有力工具。工具。 在在UML中把用用例圖建立起來的系統(tǒng)模型稱為中把用用例圖建立起來的系統(tǒng)模型稱為用例模型。用例模型。 功能模型功能模型12 通常,功能模型由一組數(shù)據(jù)流圖組成。通常,功能模型由一組數(shù)據(jù)流圖組成。在面向?qū)ο蠓椒▽W(xué)中,數(shù)據(jù)流圖遠(yuǎn)不如在結(jié)在面向?qū)ο蠓椒▽W(xué)中,數(shù)據(jù)流圖遠(yuǎn)不如在結(jié)構(gòu)分析、設(shè)計(jì)方法中那樣重要。一
11、般說來,構(gòu)分析、設(shè)計(jì)方法中那樣重要。一般說來,與對(duì)象模型和動(dòng)態(tài)模型比較起來,數(shù)據(jù)流圖與對(duì)象模型和動(dòng)態(tài)模型比較起來,數(shù)據(jù)流圖并沒有增加新的信息。并沒有增加新的信息。 用例模型描述的是外部行為者用例模型描述的是外部行為者(actor)所)所理解的系統(tǒng)功能。用例模型的建立是系統(tǒng)開理解的系統(tǒng)功能。用例模型的建立是系統(tǒng)開發(fā)者和用戶反復(fù)討論的結(jié)果,它描述了開發(fā)發(fā)者和用戶反復(fù)討論的結(jié)果,它描述了開發(fā)者和用戶對(duì)需求規(guī)格所達(dá)成的共識(shí)。者和用戶對(duì)需求規(guī)格所達(dá)成的共識(shí)。 功能模型功能模型13 面向?qū)ο蠼<夹g(shù)所建立的面向?qū)ο蠼<夹g(shù)所建立的3 3種模型,種模型,分別從分別從3 3個(gè)不同側(cè)面描述了所要開發(fā)的系統(tǒng)。個(gè)不
12、同側(cè)面描述了所要開發(fā)的系統(tǒng)。 這這3 3種模型相互補(bǔ)充、相互配合,使得種模型相互補(bǔ)充、相互配合,使得我們對(duì)系統(tǒng)的認(rèn)識(shí)更加全面:功能模型指明我們對(duì)系統(tǒng)的認(rèn)識(shí)更加全面:功能模型指明了系統(tǒng)應(yīng)該了系統(tǒng)應(yīng)該“做什么做什么”;動(dòng)態(tài)模型明確規(guī)定;動(dòng)態(tài)模型明確規(guī)定了什么時(shí)候了什么時(shí)候( (即在何種狀態(tài)下接受了什么事即在何種狀態(tài)下接受了什么事件的觸發(fā)件的觸發(fā)) )做;對(duì)象模型則定義了做事情的做;對(duì)象模型則定義了做事情的實(shí)體。實(shí)體。 3種模型之間的關(guān)系種模型之間的關(guān)系14 在面向?qū)ο蠓椒▽W(xué)中,對(duì)象模型是最基在面向?qū)ο蠓椒▽W(xué)中,對(duì)象模型是最基本最重要的,它為其他兩種模型奠定了基礎(chǔ),本最重要的,它為其他兩種模型奠定了
13、基礎(chǔ),我們依靠對(duì)象模型完成我們依靠對(duì)象模型完成3 3種模型的集成。下種模型的集成。下面扼要地?cái)⑹雒娑笠財(cái)⑹? 3種模型之間的關(guān)系。種模型之間的關(guān)系。 3種模型之間的關(guān)系種模型之間的關(guān)系15(1 1) 針對(duì)每個(gè)類建立的動(dòng)態(tài)模型,描述了類實(shí)例針對(duì)每個(gè)類建立的動(dòng)態(tài)模型,描述了類實(shí)例的生命周期或運(yùn)行周期。的生命周期或運(yùn)行周期。(2 2) 狀態(tài)轉(zhuǎn)換驅(qū)使行為發(fā)生,這些行為在數(shù)據(jù)流狀態(tài)轉(zhuǎn)換驅(qū)使行為發(fā)生,這些行為在數(shù)據(jù)流圖中被映射成處理,在用例圖中被映射成用例,它圖中被映射成處理,在用例圖中被映射成用例,它們同時(shí)與類圖中的服務(wù)相對(duì)應(yīng)。們同時(shí)與類圖中的服務(wù)相對(duì)應(yīng)。(3 3) 功能模型中的處理(或用例)對(duì)應(yīng)于對(duì)
14、象模功能模型中的處理(或用例)對(duì)應(yīng)于對(duì)象模型中的類所提供的服務(wù)。型中的類所提供的服務(wù)。(4 4) 數(shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ),以及數(shù)據(jù)的源點(diǎn)數(shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ),以及數(shù)據(jù)的源點(diǎn)/ /終點(diǎn),通常是對(duì)象模型中的對(duì)象。終點(diǎn),通常是對(duì)象模型中的對(duì)象。(5 5) 數(shù)據(jù)流圖中的數(shù)據(jù)流,往往是對(duì)象模型中對(duì)數(shù)據(jù)流圖中的數(shù)據(jù)流,往往是對(duì)象模型中對(duì)象的屬性值,也可能是整個(gè)對(duì)象。象的屬性值,也可能是整個(gè)對(duì)象。 3種模型之間的關(guān)系種模型之間的關(guān)系16(6 6) 用例圖中的行為者,可能是對(duì)象模型中的對(duì)用例圖中的行為者,可能是對(duì)象模型中的對(duì)象。象。(7 7) 功能模型中的處理(或用例)可能產(chǎn)生動(dòng)態(tài)功能模型中的處理(或用例)可能
15、產(chǎn)生動(dòng)態(tài)模型中的事件。模型中的事件。(8 8) 對(duì)象模型描述了數(shù)據(jù)流圖中的數(shù)據(jù)流、數(shù)據(jù)對(duì)象模型描述了數(shù)據(jù)流圖中的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)源點(diǎn)存儲(chǔ)以及數(shù)據(jù)源點(diǎn)/ /終點(diǎn)的結(jié)構(gòu)。終點(diǎn)的結(jié)構(gòu)。 3種模型之間的關(guān)系種模型之間的關(guān)系17 面向?qū)ο蠓治龅年P(guān)鍵工作,是分析、確面向?qū)ο蠓治龅年P(guān)鍵工作,是分析、確定問題域中的對(duì)象及對(duì)象間的關(guān)系,并建立定問題域中的對(duì)象及對(duì)象間的關(guān)系,并建立起問題域的對(duì)象模型。起問題域的對(duì)象模型。 大多數(shù)分析模型都不是一次完成的,為大多數(shù)分析模型都不是一次完成的,為了理解問題域的全部含義,必須反復(fù)多次地了理解問題域的全部含義,必須反復(fù)多次地進(jìn)行分析。因此,分析工作不可能嚴(yán)格地按進(jìn)行
16、分析。因此,分析工作不可能嚴(yán)格地按照預(yù)定順序進(jìn)行;分析工作也不是機(jī)械地把照預(yù)定順序進(jìn)行;分析工作也不是機(jī)械地把需求陳述轉(zhuǎn)變?yōu)榉治瞿P偷倪^程。分析員必需求陳述轉(zhuǎn)變?yōu)榉治瞿P偷倪^程。分析員必須與用戶及領(lǐng)域?qū)<曳磸?fù)交流、多次磋商,須與用戶及領(lǐng)域?qū)<曳磸?fù)交流、多次磋商,及時(shí)糾正錯(cuò)誤認(rèn)識(shí)并補(bǔ)充缺少的信息。及時(shí)糾正錯(cuò)誤認(rèn)識(shí)并補(bǔ)充缺少的信息。18 分析模型是同用戶及領(lǐng)域?qū)<医涣鲿r(shí)有分析模型是同用戶及領(lǐng)域?qū)<医涣鲿r(shí)有效的通信手段。最終的模型必須得到用戶和效的通信手段。最終的模型必須得到用戶和領(lǐng)域?qū)<业拇_認(rèn)。在交流和確認(rèn)的過程中,領(lǐng)域?qū)<业拇_認(rèn)。在交流和確認(rèn)的過程中,原型往往能起很大的促進(jìn)作用。原型往往能起很大
17、的促進(jìn)作用。 一個(gè)好的分析模型應(yīng)該正確完整地反映一個(gè)好的分析模型應(yīng)該正確完整地反映問題的本質(zhì)屬性,且不包含與問題無(wú)關(guān)的內(nèi)問題的本質(zhì)屬性,且不包含與問題無(wú)關(guān)的內(nèi)容。分析的目標(biāo)是全面深入地理解問題域,容。分析的目標(biāo)是全面深入地理解問題域,其中不應(yīng)該涉及具體實(shí)現(xiàn)的考慮。但是,在其中不應(yīng)該涉及具體實(shí)現(xiàn)的考慮。但是,在實(shí)際的分析過程中完全不受與實(shí)現(xiàn)有關(guān)的影實(shí)際的分析過程中完全不受與實(shí)現(xiàn)有關(guān)的影響也是不現(xiàn)實(shí)的。響也是不現(xiàn)實(shí)的。19 雖然分析的目的是用分析模型取代需求雖然分析的目的是用分析模型取代需求陳述,并把分析模型作為設(shè)計(jì)的基礎(chǔ),但是陳述,并把分析模型作為設(shè)計(jì)的基礎(chǔ),但是事實(shí)上,在分析與設(shè)計(jì)之間并不存在
18、絕對(duì)的事實(shí)上,在分析與設(shè)計(jì)之間并不存在絕對(duì)的界線。界線。20面向?qū)ο笤O(shè)計(jì)面向?qū)ο笤O(shè)計(jì) 分析是提取和整理用戶需求,并建立問題域分析是提取和整理用戶需求,并建立問題域精確模型的過程。精確模型的過程。 設(shè)計(jì)則是把分析階段得到的需求轉(zhuǎn)變成符合設(shè)計(jì)則是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實(shí)現(xiàn)方案的過程。成本和質(zhì)量要求的、抽象的系統(tǒng)實(shí)現(xiàn)方案的過程。 面向?qū)ο笤O(shè)計(jì)就是用面向?qū)ο笥^點(diǎn)建立求解面向?qū)ο笤O(shè)計(jì)就是用面向?qū)ο笥^點(diǎn)建立求解域模型的過程。域模型的過程。21 盡管分析和設(shè)計(jì)的定義有明顯區(qū)別,盡管分析和設(shè)計(jì)的定義有明顯區(qū)別,但是在實(shí)際的軟件開發(fā)過程中二者的界但是在實(shí)際的軟件開發(fā)過程中二者
19、的界限是模糊的。許多分析結(jié)果可以直接映限是模糊的。許多分析結(jié)果可以直接映射成設(shè)計(jì)結(jié)果,而在設(shè)計(jì)過程中又往往射成設(shè)計(jì)結(jié)果,而在設(shè)計(jì)過程中又往往會(huì)加深和補(bǔ)充對(duì)系統(tǒng)需求的理解,從而會(huì)加深和補(bǔ)充對(duì)系統(tǒng)需求的理解,從而進(jìn)一步完善分析結(jié)果。因此,分析和設(shè)進(jìn)一步完善分析結(jié)果。因此,分析和設(shè)計(jì)活動(dòng)是一個(gè)多次反復(fù)迭代的過程。計(jì)活動(dòng)是一個(gè)多次反復(fù)迭代的過程。22 面向?qū)ο蠓椒▽W(xué)在概念和表示方法面向?qū)ο蠓椒▽W(xué)在概念和表示方法上的一致性,保證了在各項(xiàng)開發(fā)活動(dòng)之上的一致性,保證了在各項(xiàng)開發(fā)活動(dòng)之間的平滑間的平滑( (無(wú)縫無(wú)縫) )過渡,領(lǐng)域?qū)<液烷_發(fā)過渡,領(lǐng)域?qū)<液烷_發(fā)人員能夠比較容易地跟蹤整個(gè)系統(tǒng)開發(fā)人員能夠比較容易
20、地跟蹤整個(gè)系統(tǒng)開發(fā)過程,這是面向?qū)ο蠓椒ㄅc傳統(tǒng)方法比過程,這是面向?qū)ο蠓椒ㄅc傳統(tǒng)方法比較起來所具有的一大優(yōu)勢(shì)。較起來所具有的一大優(yōu)勢(shì)。23 生命周期方法學(xué)把設(shè)計(jì)進(jìn)一步劃分生命周期方法學(xué)把設(shè)計(jì)進(jìn)一步劃分成總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段,類似成總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段,類似地,也可以把面向?qū)ο笤O(shè)計(jì)再細(xì)分為系地,也可以把面向?qū)ο笤O(shè)計(jì)再細(xì)分為系統(tǒng)設(shè)計(jì)和對(duì)象設(shè)計(jì)。系統(tǒng)設(shè)計(jì)確定實(shí)現(xiàn)統(tǒng)設(shè)計(jì)和對(duì)象設(shè)計(jì)。系統(tǒng)設(shè)計(jì)確定實(shí)現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu)。對(duì)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu)。對(duì)象設(shè)計(jì)確定解空間中的類、關(guān)聯(lián)、接口象設(shè)計(jì)確定解空間中的類、關(guān)聯(lián)、接口形式及實(shí)現(xiàn)服務(wù)的算法。系統(tǒng)設(shè)計(jì)與對(duì)形式及實(shí)現(xiàn)服務(wù)的算法。系統(tǒng)
21、設(shè)計(jì)與對(duì)象設(shè)計(jì)之間的界限,比分析與設(shè)計(jì)之間象設(shè)計(jì)之間的界限,比分析與設(shè)計(jì)之間的界限更模糊,本書不再對(duì)它們加以區(qū)的界限更模糊,本書不再對(duì)它們加以區(qū)分。分。24系統(tǒng)分解系統(tǒng)分解 軟件工程師在設(shè)計(jì)比較復(fù)雜的應(yīng)用軟件工程師在設(shè)計(jì)比較復(fù)雜的應(yīng)用系統(tǒng)時(shí)普遍采用的策略是,系統(tǒng)時(shí)普遍采用的策略是,“分而治之,分而治之,各個(gè)擊破各個(gè)擊破”。 系統(tǒng)的主要組成部分稱為子系統(tǒng)。系統(tǒng)的主要組成部分稱為子系統(tǒng)。通常根據(jù)所提供的功能來劃分子系統(tǒng)。通常根據(jù)所提供的功能來劃分子系統(tǒng)。25系統(tǒng)分解系統(tǒng)分解 人類解決復(fù)雜問題時(shí)普遍采用的策略人類解決復(fù)雜問題時(shí)普遍采用的策略是,是,“分而治之,各個(gè)擊破分而治之,各個(gè)擊破”。同樣,軟。
22、同樣,軟件工程師在設(shè)計(jì)比較復(fù)雜的應(yīng)用系統(tǒng)時(shí)普件工程師在設(shè)計(jì)比較復(fù)雜的應(yīng)用系統(tǒng)時(shí)普遍采用的策略,也是首先把系統(tǒng)分解成若遍采用的策略,也是首先把系統(tǒng)分解成若干個(gè)比較小的部分,然后再分別設(shè)計(jì)每個(gè)干個(gè)比較小的部分,然后再分別設(shè)計(jì)每個(gè)部分。這樣做有利于降低設(shè)計(jì)的難度,有部分。這樣做有利于降低設(shè)計(jì)的難度,有利于分工協(xié)作,也有利于維護(hù)人員對(duì)系統(tǒng)利于分工協(xié)作,也有利于維護(hù)人員對(duì)系統(tǒng)理解和維護(hù)。理解和維護(hù)。 系統(tǒng)的主要組成部分稱為子系統(tǒng)。通系統(tǒng)的主要組成部分稱為子系統(tǒng)。通常根據(jù)所提供的功能來劃分子系統(tǒng)。一般常根據(jù)所提供的功能來劃分子系統(tǒng)。一般說來,子系統(tǒng)的數(shù)目應(yīng)該與系統(tǒng)規(guī)?;菊f來,子系統(tǒng)的數(shù)目應(yīng)該與系統(tǒng)規(guī)?;?/p>
23、本匹配。匹配。26 各個(gè)子系統(tǒng)之間應(yīng)該具有盡可能簡(jiǎn)各個(gè)子系統(tǒng)之間應(yīng)該具有盡可能簡(jiǎn)單、明確的接口。接口確定了交互形式單、明確的接口。接口確定了交互形式和通過子系統(tǒng)邊界的信息流,但是無(wú)須和通過子系統(tǒng)邊界的信息流,但是無(wú)須規(guī)定子系統(tǒng)內(nèi)部的實(shí)現(xiàn)算法。因此,可規(guī)定子系統(tǒng)內(nèi)部的實(shí)現(xiàn)算法。因此,可以相對(duì)獨(dú)立地設(shè)計(jì)各個(gè)子系統(tǒng)。以相對(duì)獨(dú)立地設(shè)計(jì)各個(gè)子系統(tǒng)。 在劃分和設(shè)計(jì)子系統(tǒng)時(shí),應(yīng)該盡量在劃分和設(shè)計(jì)子系統(tǒng)時(shí),應(yīng)該盡量減少子系統(tǒng)彼此間的依賴性。減少子系統(tǒng)彼此間的依賴性。27 大多數(shù)系統(tǒng)的面向?qū)ο笤O(shè)計(jì)模型,大多數(shù)系統(tǒng)的面向?qū)ο笤O(shè)計(jì)模型,在邏輯上都由在邏輯上都由4大部分組成。大部分組成。系統(tǒng)分解系統(tǒng)分解28 這這4
24、4大部分對(duì)應(yīng)于組成目標(biāo)系統(tǒng)的大部分對(duì)應(yīng)于組成目標(biāo)系統(tǒng)的4 4個(gè)個(gè)子系統(tǒng),它們分別是問題域子系統(tǒng)、人機(jī)交子系統(tǒng),它們分別是問題域子系統(tǒng)、人機(jī)交互子系統(tǒng)、任務(wù)管理子系統(tǒng)和數(shù)據(jù)管理子系互子系統(tǒng)、任務(wù)管理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)。統(tǒng)。 當(dāng)然,在不同的軟件系統(tǒng)中,這四個(gè)當(dāng)然,在不同的軟件系統(tǒng)中,這四個(gè)子系統(tǒng)的重要程度和規(guī)??赡芟嗖詈艽?,規(guī)子系統(tǒng)的重要程度和規(guī)??赡芟嗖詈艽螅?guī)模過大的在設(shè)計(jì)過程中應(yīng)該進(jìn)一步劃分成更模過大的在設(shè)計(jì)過程中應(yīng)該進(jìn)一步劃分成更小的子系統(tǒng),規(guī)模過小的可合并在其他子系小的子系統(tǒng),規(guī)模過小的可合并在其他子系統(tǒng)中。某些領(lǐng)域的應(yīng)用系統(tǒng)在邏輯上可能僅統(tǒng)中。某些領(lǐng)域的應(yīng)用系統(tǒng)在邏輯上可能僅由由3
25、 3個(gè)個(gè)( (甚至少于甚至少于3 3個(gè)個(gè)) )子系統(tǒng)組成。子系統(tǒng)組成。29 使用面向?qū)ο蠓椒ㄩ_發(fā)軟件時(shí),在使用面向?qū)ο蠓椒ㄩ_發(fā)軟件時(shí),在分析與設(shè)計(jì)之間并沒有明確的分界線,對(duì)分析與設(shè)計(jì)之間并沒有明確的分界線,對(duì)于問題域子系統(tǒng)來說,情況更是如此。但于問題域子系統(tǒng)來說,情況更是如此。但是,分析與設(shè)計(jì)畢竟是性質(zhì)不同的兩類開是,分析與設(shè)計(jì)畢竟是性質(zhì)不同的兩類開發(fā)工作,分析工作可以而且應(yīng)該與具體實(shí)發(fā)工作,分析工作可以而且應(yīng)該與具體實(shí)現(xiàn)無(wú)關(guān),設(shè)計(jì)工作則在很大程度上受具體現(xiàn)無(wú)關(guān),設(shè)計(jì)工作則在很大程度上受具體實(shí)現(xiàn)環(huán)境的約束。在開始進(jìn)行設(shè)計(jì)工作之實(shí)現(xiàn)環(huán)境的約束。在開始進(jìn)行設(shè)計(jì)工作之前前( (至少在完成設(shè)計(jì)之前至少
26、在完成設(shè)計(jì)之前) ),設(shè)計(jì)者應(yīng)該了,設(shè)計(jì)者應(yīng)該了解本項(xiàng)目預(yù)計(jì)要使用的編程語(yǔ)言,可用的解本項(xiàng)目預(yù)計(jì)要使用的編程語(yǔ)言,可用的軟構(gòu)件庫(kù)軟構(gòu)件庫(kù)( (主要是類庫(kù)主要是類庫(kù)) )以及程序員的編程以及程序員的編程經(jīng)驗(yàn)。經(jīng)驗(yàn)。30設(shè)計(jì)問題域子系統(tǒng)設(shè)計(jì)問題域子系統(tǒng) 面向?qū)ο蠓治鏊贸龅膯栴}域精確模型,面向?qū)ο蠓治鏊贸龅膯栴}域精確模型,為設(shè)計(jì)問題域子系統(tǒng)奠定了良好的基礎(chǔ),建立為設(shè)計(jì)問題域子系統(tǒng)奠定了良好的基礎(chǔ),建立了完整的框架。了完整的框架。 面向?qū)ο笤O(shè)計(jì)僅需從實(shí)現(xiàn)角度對(duì)問題域模面向?qū)ο笤O(shè)計(jì)僅需從實(shí)現(xiàn)角度對(duì)問題域模型做一些補(bǔ)充或修改。型做一些補(bǔ)充或修改。31 通過面向?qū)ο蠓治鏊贸龅膯栴}域通過面向?qū)ο蠓治鏊?/p>
27、出的問題域精確模型,為設(shè)計(jì)問題域子系統(tǒng)奠定了精確模型,為設(shè)計(jì)問題域子系統(tǒng)奠定了良好的基礎(chǔ),建立了完整的框架。只要良好的基礎(chǔ),建立了完整的框架。只要可能,就應(yīng)該保持面向?qū)ο蠓治鏊⒖赡?,就?yīng)該保持面向?qū)ο蠓治鏊⒌膯栴}域結(jié)構(gòu)。通常,面向?qū)ο笤O(shè)計(jì)僅的問題域結(jié)構(gòu)。通常,面向?qū)ο笤O(shè)計(jì)僅需從實(shí)現(xiàn)角度對(duì)問題域模型做一些補(bǔ)充需從實(shí)現(xiàn)角度對(duì)問題域模型做一些補(bǔ)充或修改,主要是增添、合并或分解類與或修改,主要是增添、合并或分解類與對(duì)象、屬性及服務(wù),調(diào)整繼承關(guān)系等等。對(duì)象、屬性及服務(wù),調(diào)整繼承關(guān)系等等。當(dāng)問題域子系統(tǒng)過分復(fù)雜龐大時(shí),應(yīng)該當(dāng)問題域子系統(tǒng)過分復(fù)雜龐大時(shí),應(yīng)該把它進(jìn)一步分解成若干個(gè)更小的子系統(tǒng)。把它進(jìn)
28、一步分解成若干個(gè)更小的子系統(tǒng)。32 在面向?qū)ο笤O(shè)計(jì)過程中,可能對(duì)面向?qū)ο蠓治鲈诿嫦驅(qū)ο笤O(shè)計(jì)過程中,可能對(duì)面向?qū)ο蠓治鏊贸龅膯栴}域模型做的補(bǔ)充或修改有:所得出的問題域模型做的補(bǔ)充或修改有:1. 調(diào)整需求調(diào)整需求2. 重用已有的類重用已有的類3. 把問題域類組合在一起把問題域類組合在一起4. 增添一般化類以建立協(xié)議增添一般化類以建立協(xié)議5. 調(diào)整繼承層次調(diào)整繼承層次331. 1. 調(diào)整需求調(diào)整需求 有兩種情況會(huì)導(dǎo)致修改通過面向?qū)ο笥袃煞N情況會(huì)導(dǎo)致修改通過面向?qū)ο蠓治鏊_定的系統(tǒng)需求:一是用戶需求分析所確定的系統(tǒng)需求:一是用戶需求或外部環(huán)境發(fā)生了變化;二是分析員對(duì)或外部環(huán)境發(fā)生了變化;二是分析員對(duì)
29、問題域理解不透徹或缺乏領(lǐng)域?qū)<規(guī)椭瑔栴}域理解不透徹或缺乏領(lǐng)域?qū)<規(guī)椭?,以致面向?qū)ο蠓治瞿P筒荒芡暾?zhǔn)確以致面向?qū)ο蠓治瞿P筒荒芡暾?zhǔn)確地反映用戶的真實(shí)需求。地反映用戶的真實(shí)需求。 無(wú)論出現(xiàn)上述哪種情況,通常都只需無(wú)論出現(xiàn)上述哪種情況,通常都只需簡(jiǎn)單地修改面向?qū)ο蠓治鼋Y(jié)果,然后再簡(jiǎn)單地修改面向?qū)ο蠓治鼋Y(jié)果,然后再把這些修改反映到問題域子系統(tǒng)中。把這些修改反映到問題域子系統(tǒng)中。342. 2. 重用已有的類重用已有的類 代碼重用從設(shè)計(jì)階段開始,在研究代碼重用從設(shè)計(jì)階段開始,在研究面向?qū)ο蠓治鼋Y(jié)果時(shí)就應(yīng)該尋找使用已面向?qū)ο蠓治鼋Y(jié)果時(shí)就應(yīng)該尋找使用已有類的方法。若因?yàn)闆]有合適的類可以有類的方法。若
30、因?yàn)闆]有合適的類可以重用而確實(shí)需要?jiǎng)?chuàng)建新的類,則在設(shè)計(jì)重用而確實(shí)需要?jiǎng)?chuàng)建新的類,則在設(shè)計(jì)這些新類的協(xié)議時(shí),必須考慮到將來的這些新類的協(xié)議時(shí),必須考慮到將來的可重用性。可重用性。353. 3. 把問題域類組合在一起把問題域類組合在一起 在面向?qū)ο笤O(shè)計(jì)過程中,設(shè)計(jì)者往往在面向?qū)ο笤O(shè)計(jì)過程中,設(shè)計(jì)者往往通過引入一個(gè)根類而把問題域類組合在通過引入一個(gè)根類而把問題域類組合在一起。事實(shí)上,這是在沒有更先進(jìn)的組一起。事實(shí)上,這是在沒有更先進(jìn)的組合機(jī)制可用時(shí)才采用的一種組合方法。合機(jī)制可用時(shí)才采用的一種組合方法。此外,這樣的根類還可以用來建立協(xié)議。此外,這樣的根類還可以用來建立協(xié)議。364. 4. 增添一般化
31、類以建立協(xié)議增添一般化類以建立協(xié)議 在設(shè)計(jì)過程中常常發(fā)現(xiàn),一些具體在設(shè)計(jì)過程中常常發(fā)現(xiàn),一些具體類需要有一個(gè)公共的協(xié)議,也就是說,類需要有一個(gè)公共的協(xié)議,也就是說,它們都需要定義一組類似的服務(wù)。在這它們都需要定義一組類似的服務(wù)。在這種情況下可以引入一個(gè)附加類種情況下可以引入一個(gè)附加類( (例如,根例如,根類類) ),以便建立這個(gè)協(xié)議,以便建立這個(gè)協(xié)議( (即命名公共服即命名公共服務(wù)集合,這些服務(wù)在具體類中仔細(xì)定義務(wù)集合,這些服務(wù)在具體類中仔細(xì)定義) )。375. 5. 調(diào)整繼承層次調(diào)整繼承層次 如果面向?qū)ο蠓治瞿P椭邪硕嘀厝绻嫦驅(qū)ο蠓治瞿P椭邪硕嘀乩^承關(guān)系,然而所使用的程序設(shè)計(jì)語(yǔ)言卻
32、繼承關(guān)系,然而所使用的程序設(shè)計(jì)語(yǔ)言卻并不提供多重繼承機(jī)制,則必須修改面向并不提供多重繼承機(jī)制,則必須修改面向?qū)ο蠓治龅慕Y(jié)果。即使使用支持多重繼承對(duì)象分析的結(jié)果。即使使用支持多重繼承的語(yǔ)言,有時(shí)也會(huì)出于實(shí)現(xiàn)考慮而對(duì)面向的語(yǔ)言,有時(shí)也會(huì)出于實(shí)現(xiàn)考慮而對(duì)面向?qū)ο蠓治鼋Y(jié)果作一些調(diào)整。對(duì)象分析結(jié)果作一些調(diào)整。38 從面向?qū)ο笤O(shè)計(jì)的角度補(bǔ)充設(shè)計(jì)人機(jī)交互從面向?qū)ο笤O(shè)計(jì)的角度補(bǔ)充設(shè)計(jì)人機(jī)交互子系統(tǒng)的策略:子系統(tǒng)的策略: 1. 分類用戶分類用戶 2. 描述用戶描述用戶 3. 設(shè)計(jì)命令層次設(shè)計(jì)命令層次 4. 設(shè)計(jì)人機(jī)交互類設(shè)計(jì)人機(jī)交互類設(shè)計(jì)人機(jī)交互子系統(tǒng)設(shè)計(jì)人機(jī)交互子系統(tǒng)39設(shè)計(jì)人機(jī)交互子系統(tǒng)設(shè)計(jì)人機(jī)交互子系統(tǒng)
33、在面向?qū)ο蠓治鲞^程中,已經(jīng)對(duì)用在面向?qū)ο蠓治鲞^程中,已經(jīng)對(duì)用戶界面需求做了初步分析,在面向?qū)ο髴艚缑嫘枨笞隽顺醪椒治?,在面向?qū)ο笤O(shè)計(jì)過程中,則應(yīng)該對(duì)系統(tǒng)的人機(jī)交互設(shè)計(jì)過程中,則應(yīng)該對(duì)系統(tǒng)的人機(jī)交互子系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),以確定人機(jī)交互子系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),以確定人機(jī)交互的細(xì)節(jié),其中包括指定窗口和報(bào)表的形的細(xì)節(jié),其中包括指定窗口和報(bào)表的形式、設(shè)計(jì)命令層次等項(xiàng)內(nèi)容。式、設(shè)計(jì)命令層次等項(xiàng)內(nèi)容。40 人機(jī)交互部分的設(shè)計(jì)結(jié)果,將對(duì)用戶情緒人機(jī)交互部分的設(shè)計(jì)結(jié)果,將對(duì)用戶情緒和工作效率產(chǎn)生重要影響。人機(jī)界面設(shè)計(jì)得好,和工作效率產(chǎn)生重要影響。人機(jī)界面設(shè)計(jì)得好,則會(huì)使系統(tǒng)對(duì)用戶產(chǎn)生吸引力,用戶在使用系則會(huì)使系統(tǒng)對(duì)用
34、戶產(chǎn)生吸引力,用戶在使用系統(tǒng)的過程中會(huì)感到興奮,能夠激發(fā)用戶的創(chuàng)造統(tǒng)的過程中會(huì)感到興奮,能夠激發(fā)用戶的創(chuàng)造力,提高工作效率;相反,人機(jī)界面設(shè)計(jì)得不力,提高工作效率;相反,人機(jī)界面設(shè)計(jì)得不好,用戶在使用過程中就會(huì)感到不方便、不習(xí)好,用戶在使用過程中就會(huì)感到不方便、不習(xí)慣,甚至?xí)a(chǎn)生厭煩和惱怒的情緒。慣,甚至?xí)a(chǎn)生厭煩和惱怒的情緒。 由于對(duì)人機(jī)界面的評(píng)價(jià),在很大程度上由由于對(duì)人機(jī)界面的評(píng)價(jià),在很大程度上由人的主觀因素決定,因此,使用由原型支持的人的主觀因素決定,因此,使用由原型支持的系統(tǒng)化的設(shè)計(jì)策略,是成功地設(shè)計(jì)人機(jī)交互子系統(tǒng)化的設(shè)計(jì)策略,是成功地設(shè)計(jì)人機(jī)交互子系統(tǒng)的關(guān)鍵。系統(tǒng)的關(guān)鍵。設(shè)計(jì)人機(jī)交互
35、子系統(tǒng)設(shè)計(jì)人機(jī)交互子系統(tǒng)411. 1. 分類用戶分類用戶 人機(jī)交互界面是給用戶使用的,顯人機(jī)交互界面是給用戶使用的,顯然,為設(shè)計(jì)好人機(jī)交互子系統(tǒng),設(shè)計(jì)者然,為設(shè)計(jì)好人機(jī)交互子系統(tǒng),設(shè)計(jì)者應(yīng)該認(rèn)真研究使用它的用戶。應(yīng)該深入應(yīng)該認(rèn)真研究使用它的用戶。應(yīng)該深入到用戶的工作現(xiàn)場(chǎng),仔細(xì)觀察用戶是怎到用戶的工作現(xiàn)場(chǎng),仔細(xì)觀察用戶是怎樣做他們的工作的,這對(duì)設(shè)計(jì)好人機(jī)交樣做他們的工作的,這對(duì)設(shè)計(jì)好人機(jī)交互界面是非常必要的?;ソ缑媸欠浅1匾?。42 為了更好地了解用戶的需要與愛好,為了更好地了解用戶的需要與愛好,以便設(shè)計(jì)出符合用戶需要的界面,設(shè)計(jì)以便設(shè)計(jì)出符合用戶需要的界面,設(shè)計(jì)者首先應(yīng)該把將來可能與系統(tǒng)交互的
36、用者首先應(yīng)該把將來可能與系統(tǒng)交互的用戶分類。通常從下列幾個(gè)不同角度進(jìn)行戶分類。通常從下列幾個(gè)不同角度進(jìn)行分類:分類: 按技能水平分類按技能水平分類( (新手、初級(jí)、中級(jí)、新手、初級(jí)、中級(jí)、高級(jí)高級(jí)) )。 按職務(wù)分類按職務(wù)分類( (總經(jīng)理、經(jīng)理、職員總經(jīng)理、經(jīng)理、職員) )。 按所屬集團(tuán)分類按所屬集團(tuán)分類( (職員、顧客職員、顧客) )。432. 2. 描述用戶描述用戶應(yīng)該仔細(xì)了解將來使用系統(tǒng)的每類用戶的情況,應(yīng)該仔細(xì)了解將來使用系統(tǒng)的每類用戶的情況,把獲得的下列各項(xiàng)信息記錄下來:把獲得的下列各項(xiàng)信息記錄下來:用戶類型。用戶類型。使用系統(tǒng)欲達(dá)到的目的。使用系統(tǒng)欲達(dá)到的目的。特征特征( (年齡、
37、性別、受教育程度、限制因素等年齡、性別、受教育程度、限制因素等) )。關(guān)鍵的成功因素關(guān)鍵的成功因素( (需求、愛好、習(xí)慣等需求、愛好、習(xí)慣等) )。技能水平。技能水平。完成本職工作的腳本。完成本職工作的腳本。443. 3. 設(shè)計(jì)命令層次設(shè)計(jì)命令層次設(shè)計(jì)命令層次的工作通常包含以下幾項(xiàng)內(nèi)容。設(shè)計(jì)命令層次的工作通常包含以下幾項(xiàng)內(nèi)容。(1) (1) 研究現(xiàn)有的人機(jī)交互含義和準(zhǔn)則研究現(xiàn)有的人機(jī)交互含義和準(zhǔn)則 現(xiàn)在,現(xiàn)在,WindowsWindows已經(jīng)成了微機(jī)上圖形用戶已經(jīng)成了微機(jī)上圖形用戶界面事實(shí)上的工業(yè)標(biāo)準(zhǔn)。所有界面事實(shí)上的工業(yè)標(biāo)準(zhǔn)。所有WindowsWindows應(yīng)用程應(yīng)用程序的基本外觀及給用戶的
38、感受都是相同的。序的基本外觀及給用戶的感受都是相同的。WindowsWindows程序通常還遵守廣大用戶習(xí)以為常的程序通常還遵守廣大用戶習(xí)以為常的許多約定。許多約定。 設(shè)計(jì)圖形用戶界面時(shí),應(yīng)該保持與普通設(shè)計(jì)圖形用戶界面時(shí),應(yīng)該保持與普通WindowsWindows應(yīng)用程序界面相一致,并遵守廣大用應(yīng)用程序界面相一致,并遵守廣大用戶習(xí)慣的約定,這樣才會(huì)被用戶接受和喜愛。戶習(xí)慣的約定,這樣才會(huì)被用戶接受和喜愛。45(2) (2) 確定初始的命令層次確定初始的命令層次 所謂命令層次,實(shí)質(zhì)上是用過程抽所謂命令層次,實(shí)質(zhì)上是用過程抽象機(jī)制組織起來的、可供選用的服務(wù)的象機(jī)制組織起來的、可供選用的服務(wù)的表示形
39、式。設(shè)計(jì)命令層次時(shí),通常先從表示形式。設(shè)計(jì)命令層次時(shí),通常先從對(duì)服務(wù)的過程抽象著手,然后再進(jìn)一步對(duì)服務(wù)的過程抽象著手,然后再進(jìn)一步修改它們,以適合具體應(yīng)用環(huán)境的需要。修改它們,以適合具體應(yīng)用環(huán)境的需要。(3) (3) 精化命令層次精化命令層次 為進(jìn)一步修改完善初始的命令層次,為進(jìn)一步修改完善初始的命令層次,應(yīng)該考慮下列一些因素:應(yīng)該考慮下列一些因素:46 次序:仔細(xì)選擇每個(gè)服務(wù)的名字,并在命令層的次序:仔細(xì)選擇每個(gè)服務(wù)的名字,并在命令層的每一部分內(nèi)把服務(wù)排好次序。排序時(shí)或者把最常用的每一部分內(nèi)把服務(wù)排好次序。排序時(shí)或者把最常用的服務(wù)放在最前面,或者按照用戶習(xí)慣的工作步驟排序。服務(wù)放在最前面,或
40、者按照用戶習(xí)慣的工作步驟排序。 整體整體- -部分關(guān)系:尋找在這些服務(wù)中存在的整體部分關(guān)系:尋找在這些服務(wù)中存在的整體- -部分模式,這樣做有助于在命令層中分組組織服務(wù)。部分模式,這樣做有助于在命令層中分組組織服務(wù)。 寬度和深度:由于人的短期記憶能力有限,命令寬度和深度:由于人的短期記憶能力有限,命令層次的寬度和深度都不應(yīng)該過大。層次的寬度和深度都不應(yīng)該過大。 操作步驟:應(yīng)該用盡量少的單擊、拖動(dòng)和擊鍵組操作步驟:應(yīng)該用盡量少的單擊、拖動(dòng)和擊鍵組合來表達(dá)命令,而且應(yīng)該為高級(jí)用戶提供簡(jiǎn)捷的操作合來表達(dá)命令,而且應(yīng)該為高級(jí)用戶提供簡(jiǎn)捷的操作方法。方法。474. 4. 設(shè)計(jì)人機(jī)交互類設(shè)計(jì)人機(jī)交互類 人
41、機(jī)交互類與所使用的操作系統(tǒng)及編人機(jī)交互類與所使用的操作系統(tǒng)及編程語(yǔ)言密切相關(guān)。例如,在程語(yǔ)言密切相關(guān)。例如,在WindowsWindows環(huán)境環(huán)境下運(yùn)行的下運(yùn)行的Visual C+Visual C+語(yǔ)言提供了語(yǔ)言提供了MFCMFC類庫(kù),類庫(kù),設(shè)計(jì)人機(jī)交互類時(shí),往往僅需從設(shè)計(jì)人機(jī)交互類時(shí),往往僅需從MFCMFC類庫(kù)類庫(kù)中選出一些適用的類,然后從這些類派中選出一些適用的類,然后從這些類派生出符合自己需要的類就可以了。生出符合自己需要的類就可以了。48設(shè)計(jì)任務(wù)管理子系統(tǒng)設(shè)計(jì)任務(wù)管理子系統(tǒng) 確定系統(tǒng)中哪些是必須同時(shí)動(dòng)作的對(duì)象,確定系統(tǒng)中哪些是必須同時(shí)動(dòng)作的對(duì)象,哪些是相互排斥的對(duì)象。然后進(jìn)一步設(shè)計(jì)任務(wù)哪些是相互排斥的對(duì)象。然后進(jìn)一步設(shè)計(jì)任務(wù)管理子系統(tǒng)。是設(shè)計(jì)工作的一項(xiàng)重要內(nèi)容。管理子系統(tǒng)。是設(shè)計(jì)工作的一項(xiàng)重要內(nèi)容。 1. 分析并發(fā)性分析并發(fā)性 2. 設(shè)計(jì)任務(wù)管理子系統(tǒng)設(shè)計(jì)任務(wù)管理子系統(tǒng)49設(shè)計(jì)任務(wù)管理子系統(tǒng)設(shè)計(jì)任務(wù)管理子系統(tǒng) 雖然從概念上說,不同對(duì)象可以并雖然從概念上說,不同對(duì)象可以并發(fā)地工作,但是,在實(shí)際系統(tǒng)中,許多發(fā)地工作,但是,在實(shí)際系統(tǒng)中,許多對(duì)象之間往往存在相互依賴關(guān)系。此外,對(duì)象之間往往存在相互依賴關(guān)系。此外,在實(shí)際使用的硬件中,可能僅由一個(gè)處在實(shí)際使用的硬件中,可能僅由一個(gè)處理器支持多個(gè)對(duì)象。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)貼劑行業(yè)發(fā)展現(xiàn)狀及前景規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)稀土冶煉分離市場(chǎng)運(yùn)行動(dòng)態(tài)及發(fā)展前景分析報(bào)告
- 2025甘肅省安全員考試題庫(kù)附答案
- 南京醫(yī)科大學(xué)《課程論文寫作與學(xué)術(shù)規(guī)范》2023-2024學(xué)年第二學(xué)期期末試卷
- 黔西南民族職業(yè)技術(shù)學(xué)院《外國(guó)建筑史》2023-2024學(xué)年第二學(xué)期期末試卷
- 青海交通職業(yè)技術(shù)學(xué)院《傳感檢測(cè)技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津商業(yè)大學(xué)《學(xué)術(shù)論文選題與寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北大學(xué)《財(cái)務(wù)會(huì)計(jì)一》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025上海市建筑安全員考試題庫(kù)及答案
- 西藏大學(xué)《軟件交互設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 小學(xué)四年級(jí)英語(yǔ)教學(xué)反思3篇
- DB1509T 0025-2024 肉牛舍設(shè)計(jì)與建筑技術(shù)規(guī)范
- 上海室內(nèi)裝飾施工合同示范文本2024年
- 2024版2024年《汽車文化》全套教案
- 房地產(chǎn) -中建科工五大類型項(xiàng)目成本指標(biāo)庫(kù)
- 2024小紅書保健品行業(yè)營(yíng)銷通案
- 未來網(wǎng)絡(luò)支撐下的數(shù)字身份體系:產(chǎn)業(yè)和技術(shù)發(fā)展趨勢(shì)(2024年)定稿版本
- 新《卷煙營(yíng)銷》理論知識(shí)考試題庫(kù)(附答案)
- 中考英語(yǔ)688高頻詞大綱詞頻表
- 知識(shí)產(chǎn)權(quán)保護(hù)與跨境執(zhí)法合作
- 肉類食品配送服務(wù)投標(biāo)方案(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論