![軟件工程教案_5(第三章).ppt_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/9/554a06c7-16a5-4652-8bdd-ab6aac084615/554a06c7-16a5-4652-8bdd-ab6aac0846151.gif)
![軟件工程教案_5(第三章).ppt_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/9/554a06c7-16a5-4652-8bdd-ab6aac084615/554a06c7-16a5-4652-8bdd-ab6aac0846152.gif)
![軟件工程教案_5(第三章).ppt_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/9/554a06c7-16a5-4652-8bdd-ab6aac084615/554a06c7-16a5-4652-8bdd-ab6aac0846153.gif)
![軟件工程教案_5(第三章).ppt_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/9/554a06c7-16a5-4652-8bdd-ab6aac084615/554a06c7-16a5-4652-8bdd-ab6aac0846154.gif)
![軟件工程教案_5(第三章).ppt_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-3/9/554a06c7-16a5-4652-8bdd-ab6aac084615/554a06c7-16a5-4652-8bdd-ab6aac0846155.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3.4分析建摸方法,結(jié)構(gòu)化分析(傳統(tǒng)建模方法)面向?qū)ο蠓治?計(jì)算機(jī)世界,現(xiàn)實(shí)世界,影射,計(jì)算機(jī)世界,現(xiàn)實(shí)世界,結(jié)構(gòu)化開發(fā)方法,結(jié)構(gòu)化分析,結(jié)構(gòu)化設(shè)計(jì),結(jié)構(gòu)化編程,OOA,OOD,OOP,面向?qū)ο箝_發(fā)方法,3.4.2面向?qū)ο蠓治龇椒?思考題軟件開發(fā)中為什么要使用面向?qū)ο蠓椒??面向?qū)ο蠓治龇椒ㄅc結(jié)構(gòu)化分析方法有哪些相似之處?有何區(qū)別?面向?qū)ο蠓椒ㄊ菍?duì)過(guò)去的一個(gè)完全突破,還是“換湯不換藥”?,對(duì)象(object),現(xiàn)實(shí)世界中某個(gè)具體的物理實(shí)體或概念在計(jì)算機(jī)邏輯中的映射和體現(xiàn)。對(duì)象具有的含義:在現(xiàn)實(shí)世界中:是客觀世界中的一個(gè)實(shí)體在面向?qū)ο蟪绦蛑校罕磉_(dá)成計(jì)算機(jī)可理解、可操縱、具有一定屬性和行為的對(duì)象在計(jì)
2、算機(jī)世界中:是一個(gè)可標(biāo)識(shí)的存儲(chǔ)區(qū)域,面向?qū)ο蠓椒ㄊ且环N運(yùn)用對(duì)象、類、繼承、封裝、聚合、消息傳遞、多態(tài)性等概念來(lái)構(gòu)造系統(tǒng)的軟件開發(fā)方法。,面向?qū)ο?對(duì)象+類+繼承+消息通信,面向?qū)ο蟮闹饕卣鳎悍忾]性(Encapsulation)繼承性(Inheritance)多態(tài)性(Polymorphism),類(class),具有共同屬性和行為的對(duì)象的抽象類與對(duì)象的關(guān)系類是對(duì)象的抽象對(duì)象是類的實(shí)例,類,對(duì)象,對(duì)象、實(shí)體與類,對(duì)象,實(shí)體,類,抽象數(shù)據(jù)類,計(jì)算機(jī)世界,現(xiàn)實(shí)世界,計(jì)算機(jī)邏輯的實(shí)現(xiàn),影射,抽象,實(shí)例化,抽象,概念世界,封裝,封裝是軟件開發(fā)方法的重要原則,有兩個(gè)涵義:把對(duì)象的全部屬性和全部服務(wù)結(jié)合在一
3、起,形成一個(gè)不可分割的獨(dú)立單位(對(duì)象)。盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)(信息隱蔽),傳統(tǒng)方法數(shù)據(jù)與過(guò)程是分離的,過(guò)程1,輸入,輸出,過(guò)程2,過(guò)程3,數(shù)據(jù)實(shí)體,屬于該對(duì)象的數(shù)據(jù),對(duì)象,處理數(shù)據(jù)的方法,消息,消息,對(duì)象把數(shù)據(jù)和處理數(shù)據(jù)的方法封狀成一個(gè)單元,傳統(tǒng)方法和面向?qū)ο蠓椒ǖ谋容^,傳統(tǒng)方法系統(tǒng)是過(guò)程的集合過(guò)程與數(shù)據(jù)實(shí)體交互過(guò)程接受輸入并產(chǎn)生輸出,面向?qū)ο蠓椒ㄏ到y(tǒng)是交互對(duì)象的集合對(duì)象與人或其它對(duì)象交互對(duì)象發(fā)送與響應(yīng)消息,繼承(繼承性inheritance),繼承性是父類和子類之間共享數(shù)據(jù)和方法的機(jī)制繼承性具有傳遞性繼承性包括單繼承和多重繼承,子類,繼承部分,增加部分,父類,共性部分,繼承性作用,使軟件
4、系統(tǒng)具有開放性更好地進(jìn)行抽象與分類增強(qiáng)代碼的重用率,多態(tài)(多態(tài)性polymorphism),不同的對(duì)象收到同一消息可產(chǎn)生完全不同的結(jié)果,這一現(xiàn)象叫做多態(tài)多態(tài)的效果用戶發(fā)送一個(gè)通用的消息,而實(shí)現(xiàn)的細(xì)節(jié)則由接收對(duì)象自行決定,多態(tài)性的作用,增強(qiáng)了操作的透明性,可理解性和可擴(kuò)展性增強(qiáng)了軟件的靈活性和重用性,消息(message),消息對(duì)象之間相互請(qǐng)求或相互協(xié)作的途徑,是要求某個(gè)對(duì)象執(zhí)行某個(gè)功能操作的規(guī)格說(shuō)明消息內(nèi)容通常包含接收方及請(qǐng)求接收方完成的功能信息發(fā)送方發(fā)出消息,請(qǐng)求接收方響應(yīng)接收方收到消息后,經(jīng)過(guò)解釋,激活方法,予以響應(yīng),為什么對(duì)面向?qū)ο蠓椒ǜ信d趣?,面向?qū)ο蠓椒ǖ闹饕獌?yōu)點(diǎn):自然性追求軟件系統(tǒng)
5、對(duì)現(xiàn)實(shí)系統(tǒng)的直接模擬,盡量實(shí)現(xiàn)將現(xiàn)實(shí)世界中的事物直接映射到軟件系統(tǒng)的解空間中。軟件復(fù)用可復(fù)用性(可重用性)reusebility可擴(kuò)展性可管理性,可復(fù)用性(可重用性)面向?qū)ο蠹夹g(shù)允許復(fù)用的不僅僅是代碼,通過(guò)面向?qū)ο蠹夹g(shù),我們可以復(fù)用需求、分析、設(shè)計(jì)、測(cè)試計(jì)劃、用戶界面以及體系結(jié)構(gòu)等等,事實(shí)上,軟件工程生存期中的每個(gè)部分都可以復(fù)用。,傳統(tǒng)系統(tǒng)分析:面向功能,把系統(tǒng)看成一組功能OOA:把問(wèn)題當(dāng)作一組相互作用的實(shí)體,并確定實(shí)體間關(guān)系,面向?qū)ο蠹夹g(shù)是一個(gè)有全新概念的開發(fā)模式,其特點(diǎn)是:(1)方法是對(duì)軟件開發(fā)過(guò)程所有階段進(jìn)行綜合考慮而得到的;(2)從生存期的一個(gè)階段到下一個(gè)階段所使用的方法與技術(shù)具有高度
6、的連續(xù)性;(3)將OOA、OOD、OOP集成到生存期的相應(yīng)階段.,開發(fā)方法的組合,OO方法的開發(fā)過(guò)程,OO方法改進(jìn)了在生存期各個(gè)階段間的界面,因?yàn)樯嫫诟鱾€(gè)階段開發(fā)出來(lái)的“部件”都是類,在面向?qū)ο笊嫫诘母鱾€(gè)階段對(duì)各個(gè)類的信息進(jìn)行細(xì)化,類成為分析、設(shè)計(jì)和實(shí)現(xiàn)的基本單元。,類的生存期模型,類的規(guī)格說(shuō)明,從廢棄型開發(fā),既存類的復(fù)用,漸增式的實(shí)現(xiàn),漸增式的測(cè)試,求精和維護(hù),測(cè)試用例和測(cè)試的開發(fā),實(shí)現(xiàn),從既存類演變,類的設(shè)計(jì)與實(shí)現(xiàn),類的規(guī)格說(shuō)明指導(dǎo)對(duì)存放現(xiàn)存類的軟件庫(kù)進(jìn)行查找現(xiàn)存類提供當(dāng)前應(yīng)用所需功能三種可能利用現(xiàn)存類的方向:現(xiàn)存類的復(fù)用從現(xiàn)存類進(jìn)行演變從廢棄類進(jìn)行開發(fā),對(duì)象之間的聯(lián)系與對(duì)象模型,面向
7、對(duì)象方法開發(fā)軟件通常建立的三種形式的模型描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對(duì)象模型描述系統(tǒng)控制結(jié)構(gòu)的動(dòng)態(tài)模型描述系統(tǒng)功能的功能模型三種模型從三個(gè)不同但由密切相關(guān)的角度模擬目標(biāo)系統(tǒng)。對(duì)象模型是最重要、最基本、最核心的。,對(duì)象模型對(duì)象模型表示靜態(tài)的、結(jié)構(gòu)的系統(tǒng)數(shù)據(jù)的性質(zhì)。對(duì)模擬客觀世界實(shí)體的對(duì)象以及對(duì)象彼此之間的關(guān)系的映射,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。OO方法強(qiáng)調(diào)圍繞對(duì)象而不是功能來(lái)構(gòu)造系統(tǒng)。,類及對(duì)象間常見的聯(lián)系分類關(guān)系(歸納關(guān)系、一般與特殊的關(guān)系)組成關(guān)系(組合關(guān)系、整體/部分的關(guān)系)對(duì)象屬性之間的靜態(tài)的聯(lián)系對(duì)象行為的動(dòng)態(tài)聯(lián)系,分類關(guān)系(一般與特殊的關(guān)系)示例,學(xué)生,本科生,研究生,組成關(guān)系(整體與部分的關(guān)系)示例
8、,學(xué)科部,辦公室,學(xué)院,實(shí)驗(yàn)室,對(duì)象模型中表現(xiàn)上述聯(lián)系的結(jié)構(gòu)和連接,(1)分類結(jié)構(gòu)(一般/特殊結(jié)構(gòu))分類是對(duì)象抽象的基礎(chǔ)分類結(jié)構(gòu)表現(xiàn)的是事物的一般與特殊的關(guān)系,即“is-a”關(guān)系。面向?qū)ο笮g(shù)語(yǔ)中常把一般與特殊的關(guān)系稱為泛化(Generalization)與特化(Specialization)聯(lián)系,存戶,一般/特殊結(jié)構(gòu)舉例,一般類(父類、基類、超類),特殊類(子類、具體類),繼承,一個(gè)特殊類中的所有對(duì)象可繼承一般類中的屬性、服務(wù)、關(guān)系,賬號(hào)姓名余額,存款取款,支票存戶,儲(chǔ)蓄存戶,利息率,(2)組裝結(jié)構(gòu)(整體/部分結(jié)構(gòu))組裝結(jié)構(gòu)表示對(duì)象類之間的組成關(guān)系,即整體與部分的關(guān)系。整體對(duì)于部分是“has-
9、a”關(guān)系。(部分對(duì)于整體是“a-part-of”關(guān)系)組裝結(jié)構(gòu)體現(xiàn)了面向?qū)ο蠓椒ǖ木酆希ㄒ步芯奂疉ggregation)原則。,整體/部分結(jié)構(gòu)表示法舉例,微機(jī),1+,電源,主機(jī)箱,鍵盤,監(jiān)視器,鼠標(biāo),內(nèi)存,CPU,硬盤,o,(3)實(shí)例連接(InstanceConnection)實(shí)例連接表現(xiàn)了對(duì)象之間的靜態(tài)聯(lián)系,通過(guò)對(duì)象的屬性來(lái)表現(xiàn)對(duì)象之間的依賴關(guān)系。面向?qū)ο笮g(shù)語(yǔ)中把對(duì)象之間的實(shí)例連接稱為鏈接(Link),把類之間的實(shí)例連接稱為關(guān)聯(lián)(Association),實(shí)例連接示例及表示,教師,指導(dǎo)論文0,m1,學(xué)生,教師為學(xué)生指導(dǎo)論文:,教師,教學(xué)0,m0,n,學(xué)生,教師為學(xué)生授課:,關(guān)聯(lián)關(guān)系(鏈屬性)
10、的表示允許實(shí)例連接帶有一組屬性,這些屬性通過(guò)關(guān)聯(lián)來(lái)描述,類1,連接名稱mn,類1,連接屬性,關(guān)聯(lián)關(guān)系(鏈屬性),為之工作,工資職務(wù),雇主,雇員,個(gè)人名字身份證號(hào),公司名字地址,題目答辯時(shí)間成績(jī),教師,學(xué)生,指導(dǎo)論文0,m1,(4)消息連接(MessageConnection)對(duì)象之間的通信聯(lián)系。一需要另一個(gè)對(duì)象的服務(wù),便向它發(fā)出個(gè)對(duì)象請(qǐng)求服務(wù)的消息,接收消息的對(duì)象響應(yīng)消息,觸發(fā)所要求的服務(wù)操作。消息連接體現(xiàn)了對(duì)象行為的動(dòng)態(tài)聯(lián)系。,一家公司的對(duì)象模型(OMT)示例,為之工作,管理0,1,姓名身份證號(hào)碼地址,員工,名字電話號(hào)碼主要產(chǎn)品地址,公司,職務(wù),雇用解雇,項(xiàng)目名預(yù)算優(yōu)先級(jí),項(xiàng)目,產(chǎn)品名成本重
11、量,產(chǎn)品,工人,經(jīng)理,部門,部門名,主持,參加,1+,1+,1+,1+,1+,生產(chǎn),網(wǎng)上商店對(duì)象模型(部分)示例(UML),銷售代表0.1,定貨,nameaddress,顧客,creditRating():String,產(chǎn)品,雇員,1,dataReceivedisPrepaidnumber:Stringprice:Money,協(xié)作顧客,contactNamecreditRatingcreditLimit,creditCard#,個(gè)人顧客,creditRating()=“poor”,定貨作業(yè)線,dispatch()close(),remind()billForMonth(),Quantity:I
12、ntegerprice:MoneyisSatisfied:Boolean,1,*,*,*,*,1,物品,面向?qū)ο蟮姆椒ㄕ摲椒ㄕ撌侨绾螌?duì)復(fù)雜系統(tǒng)進(jìn)行“抽象”的工作,以及如何建立抽象模型。,二.面向?qū)ο蠓治鼋?OOA)面向?qū)ο蠓治龇椒ù_實(shí)不同于結(jié)構(gòu)化分析方法嗎?Fichman,R.GandC.F.Kemerer,在“Object-orientedConventionalAnalysisandDesignMethodologies”中闡述:我們的結(jié)論是面向?qū)ο蠓治龇椒ū憩F(xiàn)了相對(duì)面向過(guò)程的方法學(xué)(如結(jié)構(gòu)化分析)的根本性變化,而且相對(duì)面向數(shù)據(jù)的方法學(xué)僅僅是增量性的變化。面向過(guò)程的方法學(xué)在建模過(guò)程中的關(guān)
13、注點(diǎn)不是對(duì)象的內(nèi)在性質(zhì),從而導(dǎo)致了和面向?qū)ο蟮娜齻€(gè)基本原理相正交的問(wèn)題域模型。,面向?qū)ο蠓治龇椒ㄊ沟密浖こ處熌軌蛲ㄟ^(guò)對(duì)象、屬性和操作(作為主要的建模成分)的表示來(lái)對(duì)問(wèn)題建模。,建立分析模型5個(gè)基本原則:(1)建模信息域;(2)描述模塊功能;(3)表示模型行為;(4)分解以模型顯示更多細(xì)節(jié);(5)早期模型表示問(wèn)題的本質(zhì),而后期模型提供實(shí)現(xiàn)細(xì)節(jié)。,OOA的意圖是定義所有和被求解的問(wèn)題相關(guān)的類(及同類關(guān)聯(lián)的關(guān)系和行為),為了達(dá)到這個(gè)目標(biāo),必須完成以下任務(wù):(1)必須在客戶和軟件工程師之間溝通了解基本的用戶需求;(2)必須標(biāo)識(shí)類(定義屬性和方法);(3)必須刻劃類層次;(4)表示對(duì)象對(duì)象關(guān)系(對(duì)象連
14、接);(5)必須建模對(duì)象行為;(6)任務(wù)(1)到(5)遞進(jìn)地反復(fù)使用,直至完成建模,流行的幾種面向?qū)ο蠓椒?Booch方法Coad-Yourdon方法Rumbaugh方法(簡(jiǎn)稱OMT)(ObjectModelingTechnology)Jacobson方法(簡(jiǎn)稱OOSE)由Rumbaugh、Booch、Jacobson提出的統(tǒng)一建模語(yǔ)言(UnifyModeingLanguage簡(jiǎn)稱UML),目前流行的OOA方法概述Coad-Yourdon方法Coad-Yourdon的OOA過(guò)程概述:使用“尋找什么”標(biāo)準(zhǔn)來(lái)標(biāo)識(shí)對(duì)象定義一般/特殊結(jié)構(gòu)定義整體/部分結(jié)構(gòu)標(biāo)識(shí)主題(子系統(tǒng)構(gòu)件的表示)定義屬性定義服務(wù),
15、目前流行的OOA方法概述Booch方法Booch的OOA宏觀開發(fā)過(guò)程概述:標(biāo)識(shí)類和對(duì)象標(biāo)識(shí)類和對(duì)象的語(yǔ)義標(biāo)識(shí)類和對(duì)象間的關(guān)系進(jìn)行精化,目前流行的OOA方法概述Rumbaugh方法(簡(jiǎn)稱OMT)Rumbaugh的OOA過(guò)程概述:開發(fā)對(duì)問(wèn)題的范圍陳述建造對(duì)象模型開發(fā)動(dòng)態(tài)模型構(gòu)造系統(tǒng)的功能模型,不同面向?qū)ο蠓治龇椒ǖ南嗨撇襟E:(1)使用基本需求作為指南選擇類和對(duì)象;(2)為對(duì)象標(biāo)識(shí)屬性和操作;(3)定義組織類的結(jié)構(gòu)和層次;(4)建造對(duì)象-關(guān)系模型的;(5)建造對(duì)象-行為模型。,統(tǒng)一的OOA方法由Rumbaugh、Booch、Jacobson提出的統(tǒng)一建模語(yǔ)言(UnifyModeingLanguage
16、簡(jiǎn)稱UML),UML是一種定義良好,易于表達(dá),功能強(qiáng)大且普遍實(shí)用的建模語(yǔ)言。,UML的開發(fā)歷程,Booch91,其它方法,OMT-1,OOSE,Booch93,OMT-2,UML0.8,UML0.9根據(jù)問(wèn)題域結(jié)構(gòu)可提取候選的類及對(duì)象;例:銀行儲(chǔ)蓄管理系統(tǒng),與系統(tǒng)發(fā)生作用的其它系統(tǒng)和必要的設(shè)備可作為候選的類及對(duì)象;如:打印機(jī)等(分析階段可不把與實(shí)現(xiàn)有關(guān)的計(jì)算機(jī)部件作為候選的類及對(duì)象),系統(tǒng)必須觀測(cè)、記憶的與時(shí)間有關(guān)的事件可作為候選的類及對(duì)象;如:建立帳戶的日期打開一個(gè)帳戶等與系統(tǒng)發(fā)生交互的人及系統(tǒng)必須保留其信息的人,可作為候選的類及對(duì)象;如:柜員、儲(chǔ)戶等這些人所屬的組織單位,可作為候選的類及對(duì)象
17、;如:總行、分行等,系統(tǒng)必須記憶、且不在問(wèn)題域約束中的順序操作過(guò)程(為了指導(dǎo)人機(jī)交互)可作為候選的類及對(duì)象;如:柜員事務(wù)、遠(yuǎn)程事務(wù)等。其中屬性是操作過(guò)程名,操作特權(quán)及操作步驟的描述;系統(tǒng)需了解掌握的物理位置、辦公地點(diǎn)等可作為候選的類及對(duì)象;如:ATM機(jī)器、帳戶等,(2)審查和篩選,舍棄無(wú)用的類對(duì)象的精簡(jiǎn)只有一個(gè)屬性的對(duì)象只有一個(gè)服務(wù)的對(duì)象推遲到OOD考慮的對(duì)象,帳冊(cè),上級(jí)系統(tǒng)接口,供貨員,銷售事件,商品,特價(jià)商品,計(jì)量商品,收款機(jī),商品一覽表,超市銷售管理系統(tǒng)(對(duì)象層),步驟2:定義屬性與服務(wù)定義屬性定義服務(wù)對(duì)象的狀態(tài)與狀態(tài)轉(zhuǎn)換圖例:棧的狀態(tài)/服務(wù)對(duì)照表,例:棧狀態(tài)轉(zhuǎn)換圖,空,半滿,滿,創(chuàng)建,
18、壓入(未滿)彈出(未空),壓入(報(bào)錯(cuò)),彈出(報(bào)錯(cuò)),彈出(已空),壓入,彈出,壓入(已滿),定義服務(wù)對(duì)象行為分類發(fā)現(xiàn)服務(wù)的策略審查與調(diào)整識(shí)別對(duì)象的主動(dòng)行為服務(wù)的詳細(xì)說(shuō)明(服務(wù)解釋、消息協(xié)議、消息發(fā)送、約束條件、服務(wù)流程圖),帳冊(cè),前班節(jié)余銷售事件表收入累計(jì)上交款本班節(jié)余,接班計(jì)帳報(bào)帳交班,上級(jí)系統(tǒng)接口,帳目目?jī)?cè),消息發(fā)送查帳報(bào)帳價(jià)格更新種類增刪,供貨員,缺貨登記表,缺貨登記供貨,銷售事件,收款人購(gòu)物清單應(yīng)收款,銷售計(jì)劃入帳,商品,編號(hào)名稱單價(jià)架上數(shù)量下限,售出補(bǔ)充價(jià)格更新,特價(jià)商品,開始日期結(jié)束日期,計(jì)量商品,*單價(jià)計(jì)量單位計(jì)價(jià)方式,*售出*補(bǔ)充*價(jià)格更新,收款機(jī),本班收款員開始時(shí)間結(jié)束時(shí)間
19、,登錄售貨結(jié)帳,商品一覽表,商品目錄,檢索種類增刪,超市銷售管理系統(tǒng)(特征層),建立數(shù)據(jù)字典為所有模型實(shí)體準(zhǔn)備一個(gè)數(shù)據(jù)字典,精確描述每一個(gè)對(duì)象類,包括:成員約束關(guān)聯(lián)、屬性、操作,對(duì)象字典舉例:類名父類提供的服務(wù)需要的服務(wù)帳戶ATM銀行出納員,步驟3:定義結(jié)構(gòu)與連接初步確定關(guān)聯(lián)對(duì)應(yīng)于描述性動(dòng)詞或動(dòng)詞短語(yǔ)需求陳述中隱含根據(jù)問(wèn)題域知識(shí)得出篩選完善分析標(biāo)識(shí)對(duì)象之間的關(guān)系對(duì)象之間的分類關(guān)系:一般-特殊結(jié)構(gòu)對(duì)象之間的組成關(guān)系:整體-部分結(jié)構(gòu)對(duì)象之間的靜態(tài)聯(lián)系:實(shí)例連接對(duì)象之間的動(dòng)態(tài)關(guān)系:消息連接,從一般類發(fā)現(xiàn)特殊類,公司職員,股東,姓名身分證號(hào)碼,股份,職員,工資,公司職員,姓名身分證號(hào)碼股份工資,?,?
20、,從特殊類發(fā)現(xiàn)一般類,公司職員,股東,姓名身分證號(hào)碼,股份,職員,工資,股東,姓名身分證號(hào)碼股份,職員,姓名身分證號(hào)碼工資,?,收款機(jī),ABC,現(xiàn)鈔收款機(jī),DEF,現(xiàn)鈔收款機(jī),ABCDEF,XYZ,Z,XY,為支持復(fù)用建立結(jié)構(gòu),收款機(jī)類成為可供本領(lǐng)域其它系統(tǒng)復(fù)用的領(lǐng)域構(gòu)件,取消沒有特殊屬性的特殊類,大學(xué)生,研究生,研究方向指導(dǎo)教師,學(xué)生,姓名學(xué)號(hào)班級(jí),研究生,研究方向指導(dǎo)教師,學(xué)生,姓名學(xué)號(hào)班級(jí),通過(guò)增加屬性簡(jiǎn)化一般-特殊結(jié)構(gòu),人員,男人,女人,美國(guó)人,日本人,人員,性別國(guó)籍,中國(guó)人,兩種結(jié)構(gòu)的變通,冷藏車,汽車,制冷設(shè)備,冷藏車,汽車,制冷設(shè)備,僅用一般-特殊結(jié)構(gòu),兩種結(jié)構(gòu)同用,冷藏車,汽車
21、,制冷設(shè)備,僅用整體-部分結(jié)構(gòu),用整體-部分結(jié)構(gòu)實(shí)現(xiàn)復(fù)用,車床,機(jī)床,刨床,起重機(jī),電動(dòng)機(jī),鉆床,送料車,篩選:刪除下列關(guān)聯(lián)已刪去的類間的關(guān)聯(lián)無(wú)關(guān)或?qū)崿F(xiàn)關(guān)聯(lián)瞬時(shí)事件三元關(guān)聯(lián)派生關(guān)聯(lián),中央計(jì)算機(jī),總行,通信,銀行代碼,ATM,擁有,分行計(jì)算機(jī),出納工作站,遠(yuǎn)程業(yè)務(wù),現(xiàn)金卡,分行,帳戶,儲(chǔ)戶,出納員,出納業(yè)務(wù),通信,授權(quán),存取,擁有,擁有,持有,組成,擁有,擁有,雇傭,進(jìn)入,被進(jìn)入,修改,修改,進(jìn)入,ATM系統(tǒng)的初始對(duì)象圖,步驟4:定義服務(wù)及消息連接分析和認(rèn)識(shí)對(duì)象之間在行為上的往來(lái)關(guān)系。,順序系統(tǒng)中的消息傳遞,主動(dòng)對(duì)象A,a,被動(dòng)對(duì)象B,b,被動(dòng)對(duì)象C,c,被動(dòng)對(duì)象D,d1,d2,運(yùn)行開始,運(yùn)行結(jié)
22、束,服務(wù)執(zhí)行,消息發(fā)送,控制點(diǎn)返回示意,并發(fā)系統(tǒng)中的消息傳遞,主動(dòng)對(duì)象A,主動(dòng)對(duì)象B,被動(dòng)對(duì)象D,任務(wù)Task1線程Ta,控制線程之間的消息連接,控制點(diǎn)返回示意,被動(dòng)對(duì)象C,被動(dòng)對(duì)象E,控制線程內(nèi)部的消息連接,任務(wù)Task2線程Tb,多個(gè)控制線程之間的消息與順序系統(tǒng)中消息的不同之處(1)并發(fā)執(zhí)行的控制線程之間傳送的消息的不同用途:向接收者發(fā)出訪問(wèn)請(qǐng)求向接收者提交數(shù)據(jù)向接收者發(fā)布通知或事件信息向接收者傳遞同步控制信號(hào)(2)消息的同步與異步(3)接收者對(duì)消息的不同響應(yīng)方式(4)發(fā)送者對(duì)消息處理結(jié)果的不同期待方式(5)消息的接收者是否唯一定向消息廣播消息,OOA對(duì)消息的表示消息連接消息連接是OOA(
23、或OOD)模型中對(duì)對(duì)象之間行為依賴關(guān)系的表示識(shí)別和表示的主要問(wèn)題:對(duì)象之間是否存在消息?消息是同一線程內(nèi)部的還是不同線程之間的?每一種消息是從發(fā)送者哪個(gè)服務(wù)發(fā)出的?由接收者哪個(gè)服務(wù)響應(yīng)處理的?消息是同步還是異步?發(fā)送者是否等待消息的處理結(jié)果?,如何建立消息連接(1)建立控制線程內(nèi)部的消息連接基本策略:“服務(wù)模擬”“執(zhí)行路線追蹤”具體做法:人為地模擬當(dāng)前服務(wù)的執(zhí)行,通過(guò)考慮需要請(qǐng)求其它對(duì)象的服務(wù)來(lái)發(fā)現(xiàn)新消息。分析該消息的發(fā)送者與接收者在執(zhí)行時(shí)是否屬于同一控制線程,(2)建立控制線程之間的消息連接對(duì)每個(gè)控制線程考慮:它在執(zhí)行時(shí)是否需要請(qǐng)求其它控制線程中的對(duì)象為它提供服務(wù)?由哪個(gè)對(duì)象發(fā)出?由哪個(gè)對(duì)象
24、中的服務(wù)處理?它在執(zhí)行時(shí)是否要向其它控制線程中的對(duì)象提供或索取數(shù)據(jù)?它在執(zhí)行時(shí)是否將產(chǎn)生對(duì)其它控制線程的執(zhí)行有影響的事件?各個(gè)控制線程的并發(fā)執(zhí)行是否要傳遞同步控制信號(hào)一個(gè)控制線程在何種條件下中止執(zhí)行?中止后在何種條件下由其它控制線程用何法喚醒?,(3)對(duì)象分布問(wèn)題及對(duì)消息的影響每臺(tái)處理機(jī)上分布的一組對(duì)象中至少應(yīng)有一個(gè)主動(dòng)對(duì)象;同一臺(tái)處理機(jī)上的對(duì)象之間的消息通信既可能是一個(gè)控制線程內(nèi)部的,也可能是不同控制線程之間的。,帳冊(cè),前班節(jié)余銷售事件表收入累計(jì)上交款本班節(jié)余,接班計(jì)帳報(bào)帳交班,上級(jí)系統(tǒng)接口,帳目目?jī)?cè),消息發(fā)送查帳報(bào)帳價(jià)格更新種類增刪,供貨員,缺貨登記表,缺貨登記供貨,銷售事件,收款人購(gòu)物清
25、單應(yīng)收款,銷售計(jì)劃入帳,商品,編號(hào)名稱單價(jià)架上數(shù)量下限,售出補(bǔ)充價(jià)格更新,特價(jià)商品,開始日期結(jié)束日期,計(jì)量商品,*單價(jià)計(jì)量單位計(jì)價(jià)方式,*售出*補(bǔ)充*價(jià)格更新,1,m,商品一覽表,商品目錄,檢索種類增刪,1,m,(關(guān)系層,完整的類圖),收款機(jī),本班收款員開始時(shí)間結(jié)束時(shí)間,登錄售貨結(jié)帳,步驟4:標(biāo)識(shí)主題(主體)Coad/Yourdon方法中主題的概念:主題是把一組具有較強(qiáng)聯(lián)系的類組織在一起而得到的類的集合。,主題概念及其用途主題層是在OOA基本模型(類圖)之上建立一個(gè)能幫助人們從不同的認(rèn)識(shí)層次來(lái)理解系統(tǒng)的補(bǔ)充模型;主題一種比類和對(duì)象抽象層次更高、粒度更大的概念,用以建立系統(tǒng)的高層抽象視圖;主題有
26、助于指導(dǎo)系統(tǒng)設(shè)計(jì)者或用戶等理解一個(gè)大的系統(tǒng)模型,有助于組織一個(gè)大項(xiàng)目的工作。,主題概念的特點(diǎn)是由一組類構(gòu)成的集合一個(gè)主題內(nèi)部的對(duì)象類應(yīng)具有某種意義上的內(nèi)在聯(lián)系描述系統(tǒng)中相對(duì)獨(dú)立的組成部分(如一個(gè)子系統(tǒng))描述系統(tǒng)中某一方面的事物(如人員、設(shè)備)解決系統(tǒng)中某一方面的問(wèn)題(如輸入輸出)主題的劃分有一定的靈活性和隨意性,主題的表示法三種表示方式:壓縮方式半展開方式全展開方式,編號(hào)主題名,壓縮方式,編號(hào)主題名,半展開方式:,類名類名類名,主題名,主題名,下層主題,主題的表示法,全展開方式:,編號(hào),編號(hào),編號(hào),編號(hào),類圖上原有的全部?jī)?nèi)容,如何劃分主題把每個(gè)結(jié)構(gòu)作為一個(gè)主題;(選取結(jié)構(gòu)中最上層的類作為一主題
27、)通過(guò)實(shí)例連接互相聯(lián)系的類可劃分到一個(gè)主題;把不屬于任何結(jié)構(gòu),也沒有實(shí)例連接的類作為一個(gè)主題。,如何精練主題從問(wèn)題域和接口復(fù)雜性兩方面入手:使用問(wèn)題域精練主題,即用整體/部分結(jié)構(gòu)對(duì)問(wèn)題域進(jìn)行劃分,而不是按功能分解方法劃分.按高內(nèi)聚低偶合原則,通過(guò)使主題間依賴性和交互性最小原則保留能反映子問(wèn)題域的主題.主題數(shù)目7個(gè)左右,則進(jìn)一步精練主題.,何時(shí)引入主題依賴于模型自身復(fù)雜性小系統(tǒng):不需引入主題;中等系統(tǒng):先標(biāo)識(shí)類及對(duì)象,然后引入主題;大系統(tǒng):先標(biāo)識(shí)主題,對(duì)問(wèn)題域進(jìn)行劃分,分給不同的任務(wù)組;,主題層次的控制中小型系統(tǒng)可只設(shè)一層主題,最多不超過(guò)兩層;大型系統(tǒng)可只設(shè)兩層主題,最多不超過(guò)三層。,中央計(jì)算機(jī)
28、,總行,通信,銀行代碼,ATM,擁有,分行計(jì)算機(jī),出納工作站,遠(yuǎn)程業(yè)務(wù),現(xiàn)金卡,分行,帳戶,儲(chǔ)戶,出納員,出納業(yè)務(wù),通信,授權(quán),存取,擁有,擁有,持有,組成,擁有,擁有,雇傭,進(jìn)入,被進(jìn)入,修改,修改,進(jìn)入,把ATM系統(tǒng)劃分為三個(gè)主題,2,3,1,1,1,1,2,2,2,3,3,3,3,帳冊(cè),前班節(jié)余銷售事件表收入累計(jì)上交款本班節(jié)余,接班計(jì)帳報(bào)帳交班,上級(jí)系統(tǒng)接口,帳目目?jī)?cè),消息發(fā)送查帳報(bào)帳價(jià)格更新種類增刪,供貨員,缺貨登記表,缺貨登記供貨,銷售事件,收款人購(gòu)物清單應(yīng)收款,銷售計(jì)劃入帳,商品,編號(hào)名稱單價(jià)架上數(shù)量下限,售出補(bǔ)充價(jià)格更新,特價(jià)商品,開始日期結(jié)束日期,計(jì)量商品,*單價(jià)計(jì)量單位計(jì)價(jià)方式,*售出*補(bǔ)充*價(jià)格更新,1,m,商品一覽表,商品目錄,檢索種類增刪,1,m,(關(guān)系層,完整的類圖),收款機(jī),本班收款員開始時(shí)間結(jié)束時(shí)間,登錄售貨結(jié)帳,1,1,1,1,3,3,3,3,2,2,2,2,范例:移動(dòng)電話系統(tǒng)移動(dòng)電話系統(tǒng)的功能:用手機(jī)做移動(dòng)通訊下載鈴聲下載圖案管理電話簿,移動(dòng)電話系統(tǒng)的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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年度基礎(chǔ)建設(shè)施工合同爭(zhēng)議解決條款范本
- 2025年度房地產(chǎn)抵押貸款合同模板
- 2025年度攪拌站設(shè)備租賃與維修一體化勞務(wù)分包合同
- 2025年度會(huì)所品牌形象設(shè)計(jì)與推廣服務(wù)合同范本
- 2025年度集裝箱租賃與銷售服務(wù)合同范本
- 2025年油漆涂料產(chǎn)品回收與資源化利用合同范本
- 2025年度金融產(chǎn)品居間推廣服務(wù)合同范本
- 2025年度環(huán)保節(jié)能設(shè)備租賃及維護(hù)合同
- 2025年度基礎(chǔ)設(shè)施建設(shè)合同履約監(jiān)控及資金支付協(xié)議
- 2025年度醫(yī)療器械銷售及供貨合同樣本
- 信息技術(shù)課程標(biāo)準(zhǔn)2023版:義務(wù)教育小學(xué)階段
- 2024年興業(yè)銀行股份有限公司校園招聘考試試題參考答案
- 2024年常德職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整
- 天津市河?xùn)|區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 黑龍江省哈爾濱市2024年數(shù)學(xué)八年級(jí)下冊(cè)期末經(jīng)典試題含解析
- 克羅恩病的外科治療
- 金屬表面處理中的冷噴涂技術(shù)
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量檢測(cè)化學(xué)試題(解析版)
- 建設(shè)平安校園筑牢安全防線
- 黑龍江省齊齊哈爾市2023-2024學(xué)年高一上學(xué)期1月期末英語(yǔ)試題(含答案解析)
- 精神科常見藥物中毒急救與護(hù)理課件
評(píng)論
0/150
提交評(píng)論