




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、面向?qū)ο蟮南到y(tǒng)分析與設(shè)計,面向?qū)ο蟮姆治雠c設(shè)計方法,面向?qū)ο笫墙?0年來國內(nèi)外IT行業(yè)最為關(guān)注的技術(shù)之一,面向?qū)ο蠹夹g(shù)是一種按照人們對現(xiàn)實世界習(xí)慣的認識論和思維方式來研究和模擬客觀世界的方法學(xué)。 它將現(xiàn)實世界中的任何事物都視為“對象”,將客觀世界看成是由許多不同種類的對象構(gòu)成的,每一個對象都有自己的內(nèi)部狀態(tài)和運動規(guī)律,不同對象之間的相互聯(lián)系和相互作用就構(gòu)成了完整的客觀世界。,面向?qū)ο蟮姆椒ǜ拍钆c思想,所謂面向?qū)ο蠹夹g(shù),顧名思義,就是以對象觀點來分析現(xiàn)實世界中的問題。從普通人認識世界的觀點出發(fā),把事物歸類、綜合,提取共性并加以描述。在面向?qū)ο蟮南到y(tǒng)中,世界被看成是獨立對象的集合,對象之間通過過程
2、(在面向?qū)ο笮g(shù)語中稱之為“消息”)相互通信。 面向?qū)ο蠓椒ㄊ且环N運用對象、類、繼承、封裝、聚合、消息傳送和多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。,OO方法的產(chǎn)生和發(fā)展,結(jié)構(gòu)化生命周期法難以控制、處理和適應(yīng)變化的矛盾,因此產(chǎn)生了原型化方法來進行彌補,原型化方法又需要有快速原型生成工具來支持。這兩種方法都是從一般系統(tǒng)工程的角度采用計算機語言來描述、處理自然世界,這樣必然造成系統(tǒng)分析、設(shè)計與其事物管理的差距,使管理信息系統(tǒng)在應(yīng)用上產(chǎn)生了許多困難和矛盾。 在20世紀80年代初期產(chǎn)生了面向?qū)ο蟮脑O(shè)計方法(OOP),面向?qū)ο笤O(shè)計方法既吸取了以前開發(fā)方法的優(yōu)點,同時又正視和順應(yīng)了現(xiàn)實世界由物質(zhì)和意識兩部分組
3、成,是近20年來發(fā)展起來的基于問題對象的一種自底向上的系統(tǒng)開發(fā)方法。 面向?qū)ο蟮乃枷胧紫瘸霈F(xiàn)在程序設(shè)計的語言中,產(chǎn)生了面向?qū)ο蟮某绦蛟O(shè)計方法(Object-Oriented Programming, OOP),并進而產(chǎn)生面向?qū)ο蠹夹g(shù)和方法。 一般認為,面向?qū)ο蟮母拍钇鹪从?0世紀70年代挪威的K.Nyguarded等人開發(fā)的模擬離散事件的程序設(shè)計語言Simula67。 但真正的面向?qū)ο笤O(shè)計(OOP)還是來源于Alan Keyz主持設(shè)計的Smalltalk語言。 由Xerox Learning Research Group所研制的Smalltalk-80系統(tǒng),則是較全面地體現(xiàn)了面向?qū)ο蟪绦蛟O(shè)計語
4、言的特征,標志面向?qū)ο蟪绦蛟O(shè)計方法得到比較完善實現(xiàn),從而興起了面向?qū)ο笱芯康母叱薄?面向?qū)ο蟮幕靖拍?對象 面向?qū)ο蠓椒ň褪且詫ο鬄橹行?、以對象為出發(fā)點的方法,所以對象的概念相當(dāng)重要。在應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的任何人或事物(即我們說的實體)都可以作為對象,它既可以是具體的物理實體的抽象,也可以是人為的概念,或者是任何有明確邊界和意義的事物或東西。 在面向?qū)ο蠓椒ㄖ校瑢ο笫且唤M數(shù)據(jù)(屬性)和施加于這些數(shù)據(jù)上的一組操作代碼(操作)構(gòu)成的獨立類體。換言之,對象是一個有著各種特殊屬性(數(shù)據(jù))和行為方式(方法)的邏輯實體。對象是一個封閉體,它向外界提供一組接口界面,外界通過這些接口
5、與對象進行交互,這樣對象就具有較強的獨立性、自治性和模塊性,從而為軟件的重用奠定了堅實的基礎(chǔ)。 從傳統(tǒng)的結(jié)構(gòu)化編程觀點來看,數(shù)據(jù)和處理它們的代碼(操作過程)是兩個不同的獨立實體,它們之間的正確聯(lián)系、選擇與匹配需要應(yīng)用系統(tǒng)的設(shè)計者時刻考慮、操心和進行統(tǒng)一。而在OO中,一個對象則是由私有數(shù)據(jù)和其上的一組操作代碼組成的一個統(tǒng)一體。,消息,對象通過對外提供服務(wù)發(fā)揮自身作用,對象之間的相互服務(wù)是通過消息來連接實現(xiàn)的。 消息是為了實現(xiàn)某一功能而要求某個對象執(zhí)行其中某個功能操作的規(guī)格說明。它一般含有下述信息:提供服務(wù)的對象標識、服務(wù)標識、輸入信息和響應(yīng)信息。對象接收消息,根據(jù)消息及消息參數(shù)調(diào)用自己的服務(wù),處
6、理并予以響應(yīng),從而實現(xiàn)系統(tǒng)功能。 消息是對象之間相互作用和相互協(xié)作的一種機制,更通俗地講,OOP中的術(shù)語“消息”只不過是現(xiàn)實世界中的“請求”、“命令”等日常生活用語的同義詞。,方法,“方法”對應(yīng)于對象的能力,它是實現(xiàn)對象所具有的功能操作代碼段,是響應(yīng)消息的“方法”。在C十中,方法即是類中定義的成員函數(shù),它只不過是該類對象所能執(zhí)行的操作的算法實現(xiàn)。 方法與消息是一一對應(yīng)的,每當(dāng)對象收到一個消息,它除了能用其“智能化”的選擇機制知道和決定應(yīng)該去做什么(what to do)外,還要知道和決定該怎樣做(how to do)。而方法正是與對象相連決定怎么做的操作執(zhí)行代碼。所以方法是實現(xiàn)每條消息具體功能
7、的手段。,類,在面向?qū)ο蟮能浖夹g(shù)中,類可以定義為由數(shù)據(jù)結(jié)構(gòu)及相關(guān)操作所形成的集合,或所有相似對象的狀態(tài)變量和行為構(gòu)成的模板。 類是對一組對象的抽象歸納與概括,更確切地說,類是對一組具有相同數(shù)據(jù)成員和相同操作成員的對象的定義或說明。而每個對象都是某個類的一個具體實例。 在OOP中,每個對象由一個類來定義或說明,類可以看作生產(chǎn)具有相同屬性和行為方式對象的模板。與成語“物以類聚,人以群分”的意思一樣,“類”就是具有相似性質(zhì)的事物的同類特征的集中。在面向?qū)ο笙到y(tǒng)中,我們一般就是根據(jù)對象的相似性(包括相似的存儲特征和相似的操作特征)來組織類的。簡而言之,按照對象的相似性,我們把對象分成一些類和子類,將
8、相似對象的集合即稱為“類”。對 c十程序員而言,類實際只是一種對象類型、它描述屬于該類型的具有相同結(jié)構(gòu)和功能的對象的一般性質(zhì)。,繼承,繼承是對象類間的一種相關(guān)關(guān)系,指對象繼承它所在類的結(jié)構(gòu)、操作和約束,也指一個類繼承另外一個類的結(jié)構(gòu)、操作和約束。繼承體現(xiàn)了一種共享機制。 繼承機制既是一個對象類獲得另一對象類特征的過程,也是一個以分層分級結(jié)構(gòu)組織、構(gòu)造和重用類的工具。它是解決客觀對象“相似但又不同”的妙法。 繼承機制具有能清晰體現(xiàn)相似類間的層次結(jié)構(gòu)關(guān)系;能減小代碼和數(shù)據(jù)的重復(fù)冗余度,大大增強程序的重用性;能通過增強一致性來減少模塊間的接口和界面,大大增強程序的易維護性等特點。 如果沒有繼承概念的
9、支持,則OOP中所有的類就象一盤各自為陣、彼此獨立的散沙,每次軟件開發(fā)都要從“一無所有”開始。,封裝,封裝(encapsulation)即信息隱藏。它保證軟件部件具有較好的模塊性,可以說封裝是所有主流信息系統(tǒng)方法學(xué)中的共同特征,它對于提高軟件清晰度和可維護性,以及軟件的分工有重要的意義。我們從兩個方面來理解封裝的含義。 (1)當(dāng)設(shè)計一個程序的總體結(jié)構(gòu)時,程序的每個成分應(yīng)該封裝或隱藏為一個獨立的模塊,定義每一模塊時應(yīng)主要考慮其實現(xiàn)的功能,而盡可能少地顯露其內(nèi)部處理邏輯。 (2)封裝表現(xiàn)在對象概念上。對象是一個很好的封裝體,它把數(shù)據(jù)和服務(wù)封裝于一個內(nèi)在的整體。對象向外提供某種界面(接口),可能包括
10、一組數(shù)據(jù)(屬性)和一組操作(服務(wù)),而把內(nèi)部的實現(xiàn)細節(jié)(如函數(shù)體)隱藏起來,外部需要該對象時,只需要了解它的界面就可以,即只能通過特定方式才能使用對象的屬性或?qū)ο蟆_@樣既提供了服務(wù),又保護自己不輕易受外界的影響。,多態(tài)性,多態(tài)性(polymorphism)指相同的操作(或函數(shù),過程)可作用于多種類型的對象并獲得不同的結(jié)果。在面向?qū)ο蠓椒ㄖ?,可給不同類型的對象發(fā)送相同的消息,而不同的對象分別做出不同的處理。例如給整數(shù)對象和復(fù)數(shù)對象定義不同的數(shù)據(jù)結(jié)構(gòu)和加法運算,但可以給它們發(fā)送相同的消息“做加法運算”,整數(shù)對象接收此消息后做整數(shù)加法運算,復(fù)數(shù)對象則做復(fù)數(shù)加法運算,產(chǎn)生不同的結(jié)果。多態(tài)性增強了軟件的
11、靈活性、重用性、可理解性。,面向?qū)ο蟮乃枷?按設(shè)計思想來分,傳統(tǒng)的軟件系統(tǒng)開發(fā)可分為自頂向下和自底向上兩種。流行的結(jié)構(gòu)化方法采用自頂向下的設(shè)計思想。但是,面向?qū)ο蠓椒炔皇亲皂斚蛳路椒ㄒ膊皇亲缘紫蛏戏椒?。盡管它兼有這兩者的一些特點。 一方面,面向?qū)ο蠓椒ü膭钊藗儚膯栴}的基本的、簡單的方面入手,用對象來考慮如何描述問題的解決,然后抽象并確定類,得到具有一般性的解決問題的方法,這正是自底向上的本質(zhì); 另一方面,面向?qū)ο蟮姆椒ㄓ忠笕藗兠嫦蚰繕?,考慮為達到這一目標如何建立這些基本的對象,這正體現(xiàn)了自頂向下的思想。 面向?qū)ο蠓椒◤囊婚_始就強調(diào)結(jié)構(gòu)與代碼的共享與重用 。它與傳統(tǒng)的結(jié)構(gòu)化設(shè)計思想比起來,有
12、著明顯的優(yōu)點。 代碼的可重用性好:隨著開發(fā)平臺以及應(yīng)用要求越來越復(fù)雜,應(yīng)用程序的規(guī)模變得越來越龐大,代碼重用成了提高程序設(shè)計效率的關(guān)鍵。 可維護性和可擴充性好:用傳統(tǒng)的面向過程語言開發(fā)出來的軟件很難維護,是長期困擾人們的一個嚴重問題,也是軟件危機的突出表現(xiàn) 穩(wěn)定性好: 結(jié)構(gòu)化程序設(shè)計也存在模塊的獨立性,因此結(jié)構(gòu)化軟件也有一定的穩(wěn)定性。但結(jié)構(gòu)化設(shè)計是通過過程(函數(shù)、子程序)的概念來實現(xiàn)的 。,對象模型技術(shù),模型是為了在構(gòu)造事物前理解事物而對事物作出的一種抽象,它忽略事物的非本質(zhì)內(nèi)容。 對象模型技術(shù)(Object Modeling Technique,OMT)是建立系統(tǒng)模型的方法學(xué),它由三種模型組
13、成。對象模型表示系統(tǒng)的靜態(tài)的、結(jié)構(gòu)化的數(shù)據(jù),描述一個根據(jù)對象和相對實體關(guān)系的系統(tǒng)的靜態(tài)結(jié)構(gòu);動態(tài)模型表示系統(tǒng)的動態(tài)的、行為的控制方式,是根據(jù)事件和狀態(tài)描述系統(tǒng)的控制結(jié)構(gòu);功能模型則表示了系統(tǒng)的轉(zhuǎn)換功能,是根據(jù)屬性值和功能來描述系統(tǒng)的計算結(jié)構(gòu)。軟件過程是三方面的結(jié)合:使用數(shù)據(jù)結(jié)構(gòu)(對象模型),按時間調(diào)整操作順序(動態(tài)模型)和轉(zhuǎn)換屬性值(功能模型)。,對象模型,對象模型描述了系統(tǒng)中對象結(jié)構(gòu),包括對象的標識、與其他對象的關(guān)系、屬性和操作。對象模型提供了動態(tài)模型和功能模型都適用的基本框架,對象是現(xiàn)實世界劃分事件的單元,是模型中的組成成分。 對象模型用包含對象類的對象圖來表示。類按層次排列,并共享公共結(jié)
14、構(gòu)和行為特征,類與其他類相關(guān)聯(lián)。類定義了每個對象實例所取的屬性值和每個對象執(zhí)行的操作。,動態(tài)模型,動態(tài)模型描述了系統(tǒng)中與時間和操作序列有關(guān)的內(nèi)容,即標志改變的事件、事件序列、定義事件上下文狀態(tài)以及事件和狀態(tài)的組織。動態(tài)模型眼于控制,即描述系統(tǒng)中發(fā)生的操作序列。 動態(tài)模型用狀態(tài)圖表示。每個狀態(tài)圖展示了系統(tǒng)中對象類所允許的狀態(tài)和事件序列。狀態(tài)圖中的動作對應(yīng)于功能模型中的功能,狀態(tài)圖中的事件為對象模型中對對象的操作。,功能模型,功能模型描述了系統(tǒng)與值轉(zhuǎn)換有關(guān)的諸方面內(nèi)容,即功能、映像、約束和功能性依賴。功能模型只著眼于系統(tǒng)做什么,而不考慮如何做、什么時候做。 功能模型用數(shù)據(jù)流圖表示。數(shù)據(jù)流圖表示根據(jù)
15、輸入值和函數(shù)進行的輸出值的計算與值之間的相關(guān)性,而不考慮功能是否執(zhí)行和什么時候執(zhí)行。在動態(tài)模型中,功能作為動作被喚醒,而在對象模型中則作為對對象的操作。,三種模型的聯(lián)系,對象模型描述了動態(tài)模型和功能模型操作的數(shù)據(jù)結(jié)構(gòu)。對象模型中的操作對應(yīng)于動態(tài)模型中的事件和功能模型中的功能。 動態(tài)模型描述對象的控制結(jié)構(gòu),它展示了依賴于對象值并導(dǎo)致改變對象值和喚醒功能的動作的決策。 功能模型描述由對象模型中的操作和動態(tài)模型的動作喚醒的功能,功能是對象模型指定的數(shù)據(jù)值上的操作,功能模型給出對象值上的約束。,面向?qū)ο蟮姆治龇椒?面向?qū)ο蠓治?OOA)是面向?qū)ο?OO)方法的一個組成部分,它利用面向?qū)ο蟮姆椒ㄟM行系統(tǒng)
16、分析,即在明確的用戶需求的基礎(chǔ)上,通過對問題空間的分析,把問題分解成一些類或?qū)ο?,找出這些對象的特點(即屬性和服務(wù)),以及對象間的關(guān)系(一般/特殊,整體/部分關(guān)系),并由此產(chǎn)生一個規(guī)格說明,建立以對象為單元的信息系統(tǒng)邏輯模型,為面向?qū)ο笤O(shè)計(OOD)和面向?qū)ο蟪绦蛟O(shè)計(OOP)提供指導(dǎo)。 到目前為止,面向?qū)ο蠓治龇椒ㄓ性S多種,有Booch方法(OOD)、Coad和Yourdon方法(OOA&D)、Jacobson方法(OOSE)、Rumbauph方法(OMT)、Wassman-Pircher方法(OOSD)等,這些方法從不同角度進行分析,各有特色,但距問題的全面解決還有一定的距離。,OOA的系
17、統(tǒng)模型,OOA的主要目標是利用面向?qū)ο蟮姆椒?,站在對象的角度對所要研究的問題空間及系統(tǒng)進行深刻的理解,正確認識問題空間中的事務(wù)及其事務(wù)之間的關(guān)系,識別描述問題空間及系統(tǒng)所需的對象、類,定義對象及類的屬性與服務(wù),建立與問題空間相映射、相對應(yīng)的系統(tǒng)對象模型。 OOA的系統(tǒng)模型包括三大部分,即基本模型、補充模型及系統(tǒng)的詳細說明。,OOA的系統(tǒng)模型-基本模型,基本模型是以類圖的形式來表達系統(tǒng)最重要的信息,而類圖則由類、屬性、服務(wù)、泛化特化結(jié)構(gòu)、整體部分結(jié)構(gòu)、實例連接和消息連接等主要成分所構(gòu)成。這些成分所表達的模型信息可分為三個層次,即對象層、特征層和關(guān)系層。,OOA的系統(tǒng)模型-補充模型,補充模型是基本
18、模型之外的用于幫助理解并延伸基本模型的模型,補充模型由主題圖、使用實例和交互圖組成。 (1)主題圖是具有較強聯(lián)系的類組織的集合體,它是對系統(tǒng)類圖的進一步抽象,是較高層次上的系統(tǒng)視圖。主題圖描述了系統(tǒng)的主題構(gòu)成,它簡明直觀,無論是對開發(fā)者還是對使用者都有很大幫助。 (2)使用實例(Use Case)是對系統(tǒng)功能使用情況的文字描述,每個使用實例對應(yīng)著系統(tǒng)的一個功能,它描述系統(tǒng)的外實體與系統(tǒng)之間的信息交互關(guān)系,。 (3)交互圖(Interaction Diagram)是一個使用實例與完成相應(yīng)功能的系統(tǒng)成分之間的對照圖,它具體表明了使用實例中陳述的事件是由系統(tǒng)中的哪個服務(wù)來響應(yīng)和完成,以及這個服務(wù)在執(zhí)
19、行過程中又進一步用到哪些其它對象中的服務(wù)。,OOA的系統(tǒng)模型-系統(tǒng)的詳細說明,系統(tǒng)的詳細說明 詳細說明是按照面向?qū)ο蠓椒ǖ囊蟾袷綄ο到y(tǒng)模型作出的進一步解釋,它主要由類描述模板構(gòu)成。對于OOA系統(tǒng)模型的每一類,一般都要建立一個類描述模板。類描述模板的構(gòu)成有:對整個類及其對象的進一步說明、對每個屬性和服務(wù)的進一步說明和其他必要的說明。 OOA的系統(tǒng)模型給出了對OOA分析結(jié)果的完整表達和精確描述,在這3個組成部分中,基本模型是描述表達OOA的核心,補充模型是對基本模型的必要補充和輔助說明,而詳細說明則給出了系統(tǒng)模型中類、對象、屬性和服務(wù)的詳細定義與進一步解釋。這三個部分組合起來,構(gòu)成OOA分析文檔
20、的主要內(nèi)容,也是OOA的主要工具,OOA就是根據(jù)這一框架來展開工作的。,OOA分析過程,在一個系統(tǒng)開發(fā)過程中進行了系統(tǒng)業(yè)務(wù)調(diào)查以后,就可以按照面向?qū)ο蟮乃枷雭矸治鰡栴}了。 OOA所強調(diào)的是在系統(tǒng)調(diào)查資料的基礎(chǔ)上,針對OO方法所需要的素材進行歸類分析和整理.OOA強調(diào)如下基本觀點: 分析規(guī)格說明的總體框架貫穿結(jié)構(gòu)化方法,如整體和局部,類和成員,對象和屬性等; 用消息進行用戶和系統(tǒng)之間以及系統(tǒng)中實例之間的相互通訊; OOA大致上遵循如下五個基本步驟: (以Coad與Yourdon方法討論 ) 1、確定類(class)和對象(object)。 2、確定結(jié)構(gòu)(structure)。 3、定義主題(su
21、bject)。 4、定義屬性(attribute)。 5、確定服務(wù)(service)。,面向?qū)ο蟮脑O(shè)計方法,面向?qū)ο笤O(shè)計(OOD)是對面向?qū)ο蠓治霎a(chǎn)生的邏輯結(jié)果進行設(shè)計,從面向?qū)ο蟮姆治鲛D(zhuǎn)到面向?qū)ο蟮脑O(shè)計是一個累進的模型擴充過程。 面向?qū)ο蠓治龅母鱾€層次(如對象、結(jié)構(gòu)、主題、屬性和服務(wù))是對“問題空間”進行了模型化,而面向?qū)ο蟮脑O(shè)計則需要對一個特定的“實現(xiàn)空間”進行模型化,通過抽象、封裝、繼承性、消息通信、通用的組織法則、粒度和行為分類等途徑控制設(shè)計的復(fù)雜性。 OOD的基本目標是改進設(shè)計、增進軟件生產(chǎn)效率、提高軟件質(zhì)量以及加強可維護性。,OOD系統(tǒng)模型,下列面向?qū)ο笤O(shè)計模型是由Coad和You
22、rdon提出的。該模型由四個部分和五個層次組成。 四個部件對應(yīng)目標系統(tǒng)的四個子系統(tǒng),在不同的軟件中,這四個部件的大小和重要程度可能差異較大,可以根據(jù)需要做出進一步的合并和分解。 PDC是針對總體進行的設(shè)計。HIC給出實現(xiàn)人機交互需要的對象。TMC提供協(xié)調(diào)和管理目標系統(tǒng)軟件各個任務(wù)的對象。DMC定義專用對象。,OOD設(shè)計,1、問題空間部分的設(shè)計(PDC) 在面向?qū)ο笤O(shè)計中,面向?qū)ο蠓治觯∣OA)的結(jié)果恰好符合面向?qū)ο笤O(shè)計(OOD)的問題空間部分,因此,OOA的結(jié)果就是OOD部分模型中的一個完整部分。但是,為了解決一些特定設(shè)計所需要考慮的實際變化,可能要對OOA結(jié)果進行一些改進和增補。 復(fù)用設(shè)計:
23、根據(jù)問題解決的需要,把從類庫或其他來源得到的既存類增加到問題解決方案中去。 把問題論域相關(guān)的類關(guān)聯(lián)起來:在設(shè)計時,從類庫中引進一個根類,做為包容類,把所有與問題論域有關(guān)的類關(guān)聯(lián)到一起,建立類的層次。把同一問題論域的一些類集合起來,存于類庫中。 加入一般化類以建立類間協(xié)議:有時,某些特殊類要求一組類似的服務(wù)。在這種情況下,應(yīng)加入一個一般化的類,定義為所有這些特殊類共用的一組服務(wù)名,這些服務(wù)都是虛函數(shù)。在特殊類中定義其實現(xiàn)。 調(diào)整繼承支持級別:在OOA階段建立的對象模型中可能包括有多繼承關(guān)系,但實現(xiàn)時使用的程序設(shè)計語言可能只有單繼承,甚至沒有繼承機制,這樣就需對分析的結(jié)果進行修改。 改進性能:提高
24、執(zhí)行效率和速度是系統(tǒng)設(shè)計的主要指標之一。增加某些屬性到原來的類中,或增加低層的類,以保存暫時結(jié)果,避免每次都要重復(fù)計算造成速度損失。 加入較低層的構(gòu)件:在做面向?qū)ο蠓治鰰r,分析員往往專注于較高層的類和對象,避免考慮太多低層的實現(xiàn)細節(jié)。但在做面向?qū)ο笤O(shè)計時,設(shè)計師在找出高層的類和對象時,必須考慮到底需要用到哪些較低層的類和對象。,2、人機交互部分的設(shè)計(HIC),通常在OOA階段給出了所需的屬性和操作,在設(shè)計階段必須根據(jù)需求把交互的細節(jié)加入到用戶界面的設(shè)計中,包括有效的人機交互所必需的實際顯式和輸入。如Windows、Pane、Selector等。人機交互部分的設(shè)計決策影響到人的感情和精神感受,
25、設(shè)計HIC的策略由以下幾點構(gòu)成: 用戶分類; 描述人及其任務(wù)的腳本; 設(shè)計命令層; 設(shè)計詳細的交互; 繼續(xù)做原型; 設(shè)計HIC類; 根據(jù)圖形用戶界面(GUI)進行設(shè)計。,3、任務(wù)管理部分的設(shè)計(TMC),在OOD中,任務(wù)是指系統(tǒng)為了達到某一設(shè)定目標而進行的一連串的數(shù)據(jù)操作(或服務(wù)),若干任務(wù)的并發(fā)執(zhí)行叫做多任務(wù)。任務(wù)能簡化并發(fā)行為的設(shè)計和編碼,TMC的設(shè)計就是針對任務(wù)項,對一連串的數(shù)據(jù)操作進行定義和封裝,對于多任務(wù)要確定任務(wù)協(xié)調(diào)部分,以達到系統(tǒng)在運行中對各項任務(wù)進行合理組織與管理。,(1)TMC設(shè)計策略,識別事件驅(qū)動任務(wù)。 事件驅(qū)動任務(wù)是指睡眠任務(wù)(不占用CPU),當(dāng)某個事件發(fā)生時,任務(wù)被此事件觸發(fā),任務(wù)醒來做相應(yīng)處理,然后又回到睡眠狀態(tài)。 識別時鐘驅(qū)動任務(wù)。按特定的時間間隔去觸發(fā)任務(wù)進行處理,如某些設(shè)備需要周期性的數(shù)據(jù)采集和控制。 識別優(yōu)先任務(wù)和關(guān)鍵任務(wù)。把它們分離開來進行細致的設(shè)計和編碼,保證時間約束或安全性。 識別協(xié)調(diào)者。增加一個任務(wù)來協(xié)調(diào)諸任
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆廣東省佛山市順德區(qū)物理高二第二學(xué)期期末達標檢測試題含解析
- 福建省寧德市部分一級達標中學(xué)2025屆高一物理第二學(xué)期期末調(diào)研試題含解析
- 上海市第八中學(xué)2025年高一物理第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 2025年廣東省潮州市饒平縣饒平二中高一物理第二學(xué)期期末檢測試題含解析
- 河北省易縣中學(xué)2025屆物理高一第二學(xué)期期末調(diào)研模擬試題含解析
- 公司股東內(nèi)部協(xié)議書
- 元旦節(jié)教師的發(fā)言稿
- 安徽省合肥市廬陽區(qū)第一中學(xué)2025屆物理高二下期末監(jiān)測模擬試題含解析
- 精密加工工藝優(yōu)化-洞察及研究
- 企業(yè)冬季運動會策劃方案
- 2024-2025學(xué)年譯林版新七年級英語上冊Unit2《Hobbies》單元卷(含答案解析)
- 遼寧省大連市甘井子區(qū)2023-2024學(xué)年七年級下學(xué)期期末生物學(xué)試題(原卷版)
- 5國家機構(gòu)有哪些 第一課時(教學(xué)設(shè)計)部編版道德與法治六年級上冊
- 實驗室生物安全手冊
- AQ/T 1118-2021 礦山救援培訓(xùn)大綱及考核規(guī)范(正式版)
- 2024屆甘南市語文八年級第二學(xué)期期末聯(lián)考試題含解析
- 無人機航空測繪與后期制作 課件 第十二課時 現(xiàn)場飛行流程
- 2024年梅州市大埔縣重點中學(xué)小升初語文入學(xué)考試卷含答案
- (正式版)JBT 14449-2024 起重機械焊接工藝評定
- 2022-2023學(xué)年北京市東城區(qū)高二(下)期末化學(xué)試卷(含解析)
- 防溺水老師培訓(xùn)課件
評論
0/150
提交評論