版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
系統(tǒng)規(guī)劃部面向?qū)ο笤O(shè)計(jì)_類圖設(shè)計(jì)2023/2/61主要內(nèi)容類相關(guān)的基本概念使用UML的類圖設(shè)計(jì)類圖設(shè)計(jì)的一些問題分析繼承關(guān)系的分析對(duì)象持久化-與E-R模型的映射類設(shè)計(jì)相關(guān)的一些設(shè)計(jì)模式類圖設(shè)計(jì)應(yīng)用-信息模型建模過程及方法2023/2/62類相關(guān)的基本概念迎接挑戰(zhàn),共創(chuàng)成功!2023/2/63對(duì)象和類對(duì)象(Object):對(duì)象是指某個(gè)事物,大多對(duì)應(yīng)于真實(shí)世界中的某個(gè)客觀實(shí)體;但有些對(duì)象在真實(shí)世界中沒有直接的對(duì)應(yīng)物,是人們對(duì)某個(gè)事物的一種抽象描述。對(duì)象的基本特征可以歸納為對(duì)象的屬性和行為兩類。類(Class):類是指對(duì)一組具有相同特征的對(duì)象的抽象描述;任何對(duì)象都是某個(gè)類的實(shí)例。2023/2/64例:客戶類的表示客戶姓名單位電話Email客戶姓名單位電話Email客戶付款(金額)客戶付款(金額)2023/2/65類圖和對(duì)象圖類圖描述系統(tǒng)中的類及其相互之間的各種關(guān)系,反映了系統(tǒng)中包含的各種對(duì)象的類型以及對(duì)象間的各種靜態(tài)關(guān)系,主要是:關(guān)聯(lián)和子類型。類圖也可描述類的屬性和行為以及對(duì)模型中各種成分的約束。對(duì)象圖是類圖的實(shí)例,描述系統(tǒng)中各種對(duì)象(類的實(shí)例)以及對(duì)象之間的各種靜態(tài)關(guān)系。2023/2/66使用UML的類圖設(shè)計(jì)迎接挑戰(zhàn),共創(chuàng)成功!2023/2/67使用UML的類圖設(shè)計(jì)類設(shè)計(jì)的相關(guān)UML元素類屬性操作接口關(guān)聯(lián)聚合繼承(泛化)包的使用2023/2/68類實(shí)體名稱實(shí)體方法可見性實(shí)體屬性類是對(duì)同一種類型的對(duì)象的抽象表示2023/2/69屬性UML規(guī)定其語(yǔ)法為:可見性名稱:類型=缺省值{約束特性}描述屬性的元素可見性:表示該屬性對(duì)類外的元素是否可見。常用的有公有、受保護(hù)和私有三種。名稱:屬性的名稱,是一個(gè)字符串。類型:定義屬性的種類(基本數(shù)據(jù)類型或用戶自定義的類型)。缺省值:屬性的初始值。約束特性:描述對(duì)屬性的約束。2023/2/610操作UML規(guī)定其語(yǔ)法為可見性名稱(參數(shù)表):返回類型表達(dá)式{約束特性}描述操作的元素可見性:“+”表示公有操作,“#”表示受保護(hù)的操作,“-”表示私有操作。名稱:操作的名稱,是一個(gè)字符串。參數(shù)表:其語(yǔ)法與屬性的參數(shù)相同,參數(shù)個(gè)數(shù)是任意的。返回類型表達(dá)式(可選項(xiàng)):依賴于語(yǔ)言的描述。約束特性:用以描述對(duì)此操作的約束。2023/2/611可見性對(duì)“Public”、Private”和“Protected”等三個(gè)可見性標(biāo)識(shí)符的含義,各種語(yǔ)言都有它自己的規(guī)定。UML的定義是:+(Public):公有成員在程序的任何位置都是可見的,系統(tǒng)中的任何對(duì)象都可以使用它。-(Private):私有成員僅可以由定義它的類使用。#(Protected):受保護(hù)的成員僅可以由定義它的類和該類的子類中的對(duì)象使用。2023/2/612接口接口和類不同:一個(gè)類可以有它形態(tài)的真實(shí)實(shí)例,然而一個(gè)接口必須至少有一個(gè)類來(lái)實(shí)現(xiàn)它。2023/2/613關(guān)聯(lián)關(guān)聯(lián)用于描述類之間的關(guān)系每個(gè)關(guān)聯(lián)有兩個(gè)角色。例如,對(duì)于客戶和訂單之間的關(guān)聯(lián)是:客戶和訂單。關(guān)聯(lián)名稱關(guān)聯(lián)基數(shù)(Cardinality)關(guān)聯(lián)基數(shù)(Cardinality)關(guān)聯(lián)實(shí)體,描述關(guān)聯(lián)的屬性、方法2023/2/614關(guān)聯(lián)的分類雙向關(guān)聯(lián)單向關(guān)聯(lián)關(guān)聯(lián)類聚合基本聚合組合聚合自關(guān)聯(lián)(反射關(guān)聯(lián))2023/2/615雙向關(guān)聯(lián)關(guān)聯(lián)是兩個(gè)類間的聯(lián)接。在Rose中關(guān)聯(lián)總是被假定是雙向的;這意味著,兩個(gè)類彼此知道它們間的聯(lián)系,除非你限定一些其它類型的關(guān)聯(lián)。2023/2/616單向關(guān)聯(lián)在一個(gè)單向關(guān)聯(lián)中,兩個(gè)類是相關(guān)的,但是只有一個(gè)類知道這種聯(lián)系的存在。下圖顯示單向關(guān)聯(lián)的透支財(cái)務(wù)報(bào)告的一個(gè)實(shí)例。2023/2/617關(guān)聯(lián)類在關(guān)聯(lián)建模中,在一些情況下,需要包括其它類,因?yàn)樗岁P(guān)于關(guān)聯(lián)的有價(jià)值的信息。對(duì)于這種情況,需要使用關(guān)聯(lián)類來(lái)綁定你的基本關(guān)聯(lián)。關(guān)聯(lián)類和一般類一樣表示。不同的是,主類和關(guān)聯(lián)類之間用一條相交的點(diǎn)線連接。2023/2/618自關(guān)聯(lián)類自身的關(guān)聯(lián),當(dāng)一個(gè)類關(guān)聯(lián)到它本身時(shí),這并不意味著類的實(shí)例與它本身相關(guān),而是類的一個(gè)實(shí)例與類的另一個(gè)實(shí)例相關(guān)。2023/2/619聚合聚合是一種特別類型的關(guān)聯(lián),用于描述“總體到局部”的關(guān)系。聚合分為兩種類型:基本聚合、組合聚合基本聚合在基本聚合關(guān)系中,部分類的生命周期獨(dú)立于整體類的生命周期。組合聚合在組合聚合關(guān)系中,部分類的生命周期依賴于整體類的生命周期。2023/2/620繼承在面向?qū)ο蟮脑O(shè)計(jì)中一個(gè)非常重要的概念,繼承,指的是一個(gè)類(子類)繼承另外的一個(gè)類(超類)的屬性和方法,并增加它自己的屬性和方法,或者覆蓋父類的屬性和方法類名BankAccount和withdrawal操作使用斜體。這表示,BankAccount類是一個(gè)抽象類,而withdrawal方法是抽象的操作。換句話說(shuō),BankAccount類使用withdrawal規(guī)定抽象操作,并且CheckingAccount和SavingsAccount兩個(gè)子類都分別地執(zhí)行它們各自版本的操作。然而,超類(父類)不一定要是抽象類。標(biāo)準(zhǔn)類作為超類是正常的。2023/2/621泛化(Generalization)泛化(Generalization):抽象化特化(Specialization):實(shí)例化繼承(Inheritance):泛化關(guān)系的一種實(shí)現(xiàn)機(jī)制2023/2/622繼承與泛化繼承是實(shí)現(xiàn)泛化的一種機(jī)制。在這種機(jī)制中,超類的任何一個(gè)子類都須具有其超類的所有行為:不僅要求其操作界面在文法上一致,而且要求其行為在語(yǔ)義上一致。當(dāng)子類中的一個(gè)操作重載其超類中相應(yīng)的操作時(shí),必須確保它提供與超類中的操作相同的服務(wù)(內(nèi)容可以更多或更具體)。如沒有證明子類的行為是否與父類相同,就試圖用繼承來(lái)實(shí)現(xiàn)新類中的行為,當(dāng)兩者不一致時(shí),會(huì)導(dǎo)致難以預(yù)測(cè)的錯(cuò)誤。2023/2/623包的引入大系統(tǒng)將問題復(fù)雜化。“攻克”復(fù)雜問題的經(jīng)典方法是“分而治之”。結(jié)構(gòu)化方法采用功能分解來(lái)解決這個(gè)問題,但傳統(tǒng)的結(jié)構(gòu)化方法將過程與數(shù)據(jù)分離。面向?qū)ο蠹夹g(shù)解決這個(gè)問題的基本思路是將許多類集合成一個(gè)高內(nèi)聚、低耦合的類的集合。UML把這種分組機(jī)制稱為包。不僅類可以運(yùn)用包的機(jī)制,任何模型元素都可運(yùn)用包的機(jī)制。2023/2/624類關(guān)系中的依賴性UML指導(dǎo)將類組成包的原則是依賴性:設(shè)有兩個(gè)元素X、Y,如果修改(語(yǔ)法的或語(yǔ)義的)元素X的定義引起對(duì)元素Y的定義的修改,則稱元素Y依賴于元素X。類之間的依賴關(guān)系:CinheritsfromRAvariableinCisofclassRAmethodofCreceivesanargumentofclassRAmethodofCsendsamessagethatreturnsanargumentofclassRAmethodofChasalocalvariableofclassRCisa“friend”ofR2023/2/625包圖關(guān)系中的依賴性包圖顯示類的包以及這些包之間的依賴關(guān)系。它們都是類圖中的元素,因此包圖是另一種類圖。如果兩個(gè)包中的任意兩個(gè)類之間存在依賴關(guān)系,則這兩個(gè)包之間存在依賴關(guān)系。但包的依賴是不傳遞的。如圖示,訂單獲取應(yīng)用包屏蔽了訂單包的變化對(duì)訂單獲取界面包的影響。2023/2/626類圖設(shè)計(jì)的幾點(diǎn)建議在項(xiàng)目初始階段,不要使用所有的符號(hào),應(yīng)從簡(jiǎn)單的概念開始。不同的開發(fā)階段應(yīng)用不同的觀點(diǎn)畫類圖:分析階段用概念層類圖;設(shè)計(jì)階段用設(shè)計(jì)層類圖。不要為每個(gè)事物都畫一個(gè)模型,應(yīng)把精力放在關(guān)鍵的領(lǐng)域,畫幾張較為關(guān)鍵的圖,經(jīng)常使用,不斷更新。使用類圖的最大危險(xiǎn)是過早地陷入實(shí)現(xiàn)的細(xì)節(jié),應(yīng)將重點(diǎn)放在概念層。2023/2/627類圖設(shè)計(jì)的一些問題分析迎接挑戰(zhàn),共創(chuàng)成功!2023/2/628內(nèi)容提要使用繼承的一些問題分析對(duì)象的持久化,向E-R模型的映射2023/2/629使用繼承的一些問題分析許多人將繼承視為面向?qū)ο笤O(shè)計(jì)中最好的或最有力的方法因此在面向?qū)ο笤O(shè)計(jì)中,會(huì)盡量多的使用繼承來(lái)解決問題這會(huì)導(dǎo)致:繼承關(guān)系的不恰當(dāng)使用子類不恰當(dāng)?shù)墨@取父類的行為類的層次結(jié)構(gòu)不靈活(Awkwardorrigid)難于維護(hù)下面列舉一些沒有正確使用繼承關(guān)系的例子2023/2/630繼承的問題分析1不正確的繼承關(guān)系將繼承改為關(guān)聯(lián)2023/2/631繼承的問題分析22023/2/632一個(gè)相似的例子2023/2/633問題在我們的應(yīng)用中,房間是一個(gè)立方體我們需要記錄每個(gè)房間的長(zhǎng)、寬、高在我們的類庫(kù)中已經(jīng)有‘CUBOID’類設(shè)計(jì)為:CUBOID繼承的問題分析32023/2/634一種可行的設(shè)計(jì)
一種更為通用的設(shè)計(jì)繼承的問題分析3續(xù)2023/2/635繼承的問題分析42023/2/636對(duì)象模型向ER模型的映射對(duì)于實(shí)體類,一般會(huì)選擇關(guān)系數(shù)據(jù)庫(kù)做數(shù)據(jù)的存儲(chǔ),因此會(huì)涉及對(duì)象模型如何向E-R模型轉(zhuǎn)換的問題:簡(jiǎn)單關(guān)聯(lián)關(guān)系的映射繼承關(guān)系的映射聚合關(guān)系的映射2023/2/637簡(jiǎn)單關(guān)聯(lián)關(guān)系的映射2023/2/638繼承關(guān)系的映射2023/2/639三種方案的進(jìn)一步分析三種方案優(yōu)缺點(diǎn)的進(jìn)一步分析:如果行數(shù)有限,那么優(yōu)先考慮將應(yīng)用程序與將來(lái)可能的改變隔離開來(lái),提供一個(gè)更為健壯的數(shù)據(jù)庫(kù)設(shè)計(jì)。因此方案1可能是最靈活的,但這個(gè)方案的性能是最差的(它涉及到許多連接)。如果超類中屬性數(shù)目與子類的數(shù)目相比較小,那么方案3可能是最謹(jǐn)慎的選擇。它可以提供比方案1更好的性能,以后擴(kuò)展模型時(shí)添加更多的類也較為容易。如果子類中的數(shù)據(jù)量較少,那么方案2是最好的。該方案提供了最佳的性能,但其靈活性最差。2023/2/640聚合關(guān)系的映射在類圖中,聚合關(guān)系表示的是兩個(gè)類之間的整體與部分之間的關(guān)系。從本質(zhì)上講,聚合關(guān)系是類之間的關(guān)聯(lián)關(guān)系的一種,在向E-R模型轉(zhuǎn)換時(shí),與簡(jiǎn)單關(guān)聯(lián)關(guān)系的映射規(guī)則相同。按照一對(duì)多的關(guān)系映射為E-R模型2023/2/641類設(shè)計(jì)相關(guān)的設(shè)計(jì)模式迎接挑戰(zhàn),共創(chuàng)成功!2023/2/642類設(shè)計(jì)相關(guān)的設(shè)計(jì)模式模式是對(duì)特定環(huán)境下經(jīng)常出現(xiàn)的有代表性的問題的通用核心解決方案,并且該方案可以被多次使用;設(shè)計(jì)模式可以幫助復(fù)用和溝通,可以提高信息模型的質(zhì)量,使模型的結(jié)構(gòu)更為合理,具有良好的適應(yīng)能力,能夠可以提供可擴(kuò)展的結(jié)構(gòu);在信息模型中使用的設(shè)計(jì)模式主要有:實(shí)體-實(shí)體規(guī)格分離模式角色對(duì)象模式模板模式合成模式實(shí)體屬性規(guī)格/實(shí)體屬性模式實(shí)體/實(shí)體狀態(tài)分離模式2023/2/643實(shí)體-實(shí)體規(guī)格分離模式將實(shí)體的不變的、相對(duì)固定的特性和行為與其可變的特性、行為分開定義。通過規(guī)格的定義,將通用的規(guī)則、屬性分離出來(lái)單獨(dú)定義,形成實(shí)體的模板。記錄某一類實(shí)體的通用屬性記錄某一實(shí)體的屬性2023/2/644模板模式將具有相同分類或特點(diǎn)的類中通用的屬性、方法抽象出來(lái),形成抽象類作為父類,子類繼承和擴(kuò)展父類的屬性、方法。在面向?qū)ο蟮慕V?,抽象層次是非常重要的關(guān)于繼承模板模式是基于繼承的復(fù)用技術(shù)采用繼承的復(fù)用技術(shù)要比采用委托的復(fù)用技術(shù)耦合程度要高,使用繼承關(guān)系要謹(jǐn)慎2023/2/645模板模式的應(yīng)用將子類與其它類的關(guān)聯(lián)關(guān)系中具有通用性的關(guān)聯(lián)抽象到父類與其它類的關(guān)聯(lián),使實(shí)體之間的關(guān)聯(lián)關(guān)系更具有通用型和擴(kuò)展性2023/2/646角色對(duì)象模式問題的引出:一些業(yè)務(wù)實(shí)體,需要扮演多個(gè)角色,如某個(gè)人可以是企業(yè)的客戶,同時(shí)又是企業(yè)的員工;某個(gè)公司可以是企業(yè)的客戶,同時(shí)也是企業(yè)的代銷商,也可以是企業(yè)的提供商,如何對(duì)這些關(guān)系進(jìn)行建模,在信息模型中,采用實(shí)體、實(shí)體角色(角色對(duì)象)分離的模式來(lái)解決:實(shí)體是相對(duì)固定的,實(shí)體扮演的角色是可以獨(dú)立與實(shí)體靈活的變化和擴(kuò)展2023/2/647角色對(duì)象模式的應(yīng)用將與系統(tǒng)相關(guān)的個(gè)人、組織抽象成參與者,將參與者所扮演的角色用參與者角色表示,具體類型的角色使用子類來(lái)表示。2023/2/648合成模式合成模式又稱為部分-整體模式。合成模式將對(duì)象組織到樹結(jié)構(gòu)中,可以用來(lái)描述整體與部分的關(guān)系。合成模式可以使客戶端將原子元素與復(fù)合元素同等看待。合成模式有安全式和透明式兩種。透明式的合成模式將原子元素與復(fù)合元素完全同等看待,定義同樣的接口,缺點(diǎn)是不夠安全;安全式的合成模式是將原子元素與復(fù)合元素區(qū)別對(duì)待,可以有不同的接口,缺點(diǎn)是不夠透明。2023/2/649合成模式的應(yīng)用變更服務(wù)規(guī)格是服務(wù)規(guī)格的一種,如新裝、改名、過戶等。可以是原子的,也可以是組合的,但是通過服務(wù)規(guī)格將他們同等處理。2023/2/650實(shí)體屬性規(guī)格/實(shí)體屬性模式問題的引出:有些業(yè)務(wù)實(shí)體,如通信服務(wù),不同的通信服務(wù)可以
溫馨提示
- 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至2030年中國(guó)男士精梳細(xì)針彈力內(nèi)褲數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)恭喜發(fā)財(cái)工藝品數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)光學(xué)輪廓儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2031年中國(guó)蘋果酸鋅行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年度航空零部件代工與銷售合同4篇
- 臨時(shí)用電供應(yīng)合同樣本版
- 2025年度模具租賃與全球市場(chǎng)拓展合同2篇
- 2025年印刷玩具彩盒行業(yè)深度研究分析報(bào)告
- 2025年度房地產(chǎn)抵押典當(dāng)貸款業(yè)務(wù)合作協(xié)議4篇
- 二零二五版虛擬現(xiàn)實(shí)技術(shù)路演投資協(xié)議4篇
- 2025年上半年江蘇連云港灌云縣招聘“鄉(xiāng)村振興專干”16人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- DB3301T 0382-2022 公共資源交易開評(píng)標(biāo)數(shù)字見證服務(wù)規(guī)范
- 人教版2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 江蘇省無(wú)錫市2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 俄語(yǔ)版:中國(guó)文化概論之中國(guó)的傳統(tǒng)節(jié)日
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 婦科一病一品護(hù)理匯報(bào)
- 哪吒之魔童降世
- 2022年上海市各區(qū)中考一模語(yǔ)文試卷及答案
- 2024年全國(guó)統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 我國(guó)無(wú)菌包裝行業(yè)消費(fèi)量已超千億包-下游需求仍存擴(kuò)容潛力
評(píng)論
0/150
提交評(píng)論