版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6
冰 引引OOP
什么是結(jié)構(gòu)
OOPProcess (JeanPiaget, 年月 結(jié)構(gòu)是由種種轉(zhuǎn)換規(guī)律組成的體系.結(jié)構(gòu)就是由具有整體性的若干轉(zhuǎn)換規(guī)律組成的一個(gè)有自身調(diào)整性質(zhì)的體系。 結(jié)構(gòu)的三個(gè)特整體性:一個(gè)結(jié)構(gòu)有若干成分組成,并且整體有部分不具有的特代數(shù)結(jié)類的類屬面向?qū)ο笙到y(tǒng)的轉(zhuǎn)換具有轉(zhuǎn)換規(guī)律和法則,如運(yùn)結(jié)構(gòu)的守恒和封閉性,一個(gè)結(jié)構(gòu)所固有的各種轉(zhuǎn)換不會(huì)越出結(jié)構(gòu)的邊界之外
母結(jié)
OOPProcess。 。數(shù)學(xué)結(jié)構(gòu) 而對對象本身究竟是數(shù)、是形、是函數(shù)還是運(yùn)算并不關(guān) 代數(shù)結(jié) 序結(jié)格 拓?fù)浣Y(jié)圖oe提提OOP
.5對象與
OOP
1.11.2 1.41.5 1.6概念與表示
OOPProcess公理體
OOPProcess在類的公理體系中,有一些基本的概念是不加定義的,我們只能從其客觀含義上給數(shù)學(xué)中研究的任何一個(gè)客體(對象)都稱為一個(gè)類。類的概念是沒有任何限制。類 為AB。另一個(gè)不加定義的概念就是:類總是具有一定的性質(zhì),我們常以P(x)表示類x具有性類的外延公
OOPProcess 公理Ⅰ(外延公理 以定義: 類的內(nèi)
OOPProcess一般地說,類中的元素總是具有某種共同的性質(zhì)的,這就一個(gè)類的所有元素所共同具有的、而且是這個(gè)類的元素所獨(dú)有的性質(zhì)(也就是說不是該類的元素就不具有該性質(zhì))稱為類的內(nèi)涵與外延之間存在著直觀的“反比關(guān)系”:類的內(nèi)悖悖OOP
設(shè)性質(zhì)P(x)表示 ;其次, Accordingto ysisandDesignwith
OOP
OOP
setColor(String
+size:Area=(100,100)#visibility: +size:Area=(100,100)#visibility:Boolean=true+default-size: um-size:+display+hide+create-cancel()change(newDate:matchtoavailableinvalidcreditsize:Areadisplay()hide()
oe識別對象與類的方
OOP
研究用戶需求,明確系統(tǒng)責(zé) 研究問題 考慮系統(tǒng)邊 考慮系統(tǒng)責(zé) 名詞技 卡 Peter的四色類研究用戶需求,明確系統(tǒng)責(zé)
OOP
記錄、整理:產(chǎn)生需求文檔(補(bǔ)充用況圖如果建立了用況圖,那么跳過研究問題
OOP
考慮系統(tǒng)邊界(參與者
OOP
考慮系統(tǒng)責(zé)
OOPProcess名詞技
OOP
設(shè)備、事件(如索賠、、交易)、表格、日志、報(bào)告、優(yōu)缺
OOP
優(yōu) 缺軟件CRC卡片(類/責(zé)任/協(xié)作
OOP
RebeccaWirfs-Brock發(fā)方法舉例 軟件系統(tǒng)的CRC
OOPProcess 的管理員來操作。每條供電線路安裝一個(gè)線路檢測儀,每30 1次該線路的信 小時(shí)的數(shù)據(jù),系統(tǒng)接受后,保存在系統(tǒng)中 管理員登陸系統(tǒng)后,可進(jìn)行如下幾項(xiàng)工作 ①線路基本信息錄入:錄入每條線路的基本信息,包括線路號、位置等等 印出來 OOOOP
登線路基本登線路基本信息錄管理搜集采樣信CRC卡線路信
CRC
CRCCRC…
…
CRC 信
優(yōu)缺
OOP
Booch對識別類的方法總
OOP
經(jīng)典方Ross:人地點(diǎn)物組織概念事Coad&Yourdon:結(jié)構(gòu)外部系統(tǒng)設(shè)備事件用戶角色位置組織機(jī)構(gòu)單 行為分責(zé)功 Usecase role,place,role,place,thing,party,catolog,與篩
OOP
1與篩
OOP
2.精簡對象
OOOOP
3.與實(shí)現(xiàn)條件有關(guān)的對象, 段考慮專門為它們增加一些對象,既把它們推設(shè)計(jì)與圖形用戶界面(GUI)系統(tǒng)、數(shù)據(jù)管理系統(tǒng)、硬 OOOOP
4.在問題域中名詞不總是類或?qū)ο髮τ懻撔枨笫侵匾ǔS脦讉€(gè)不同的名詞或名詞短語描述同樣的事
OOP
從需求考慮系統(tǒng)的執(zhí)行情(唯一考慮系統(tǒng)邊如果一個(gè)交互是由參與者發(fā)起的第一個(gè)處理該交互的對象是主動(dòng)對
OOP
適合該類及其特殊類的全部對象實(shí)反 而不是群書-書籍;船-船使用名詞,避免無意義的符使用問題域通用、規(guī)范的建立類圖的對象
OOP
填寫類描述模若發(fā)現(xiàn)新的屬性與服務(wù)、關(guān)系,可以隨時(shí)加到類符號中例題:習(xí)題管理系
OOP
題庫中選擇的題目練習(xí).教師可以通過系統(tǒng)檢查作業(yè),學(xué)生班班OOPProcess習(xí)習(xí)題解學(xué) 習(xí)題答習(xí)題答oe識別屬
OOP
2.42.5屬 2.6概念與表示
OOP
–類屬性:是描述類的所有對象共同特征的一個(gè)數(shù)屬性的表示
OOP
類范圍的屬性與實(shí)例范圍的屬性通過在類范圍屬性名和類型表達(dá)式畫下劃線的方式表示類范圍的屬 屬性可具有初始值和可見可見性的值可為中描述它們??梢娦缘闹悼蔀?(公有的)、(公有的)#(受保護(hù)的)或(受保護(hù)的) (私有的
+size:Area=(100,100)#visibility:Boolean=true+default-size:#um-size:+display+hide+create-displaydisplay()hide()size:visibility:屬性的特
OOP
ShlaerMellor(1992)提出,RichardC.Lee增特征0:屬性必須捕獲與其對象所在的語義域相一致的特??特征1:任何時(shí)間一個(gè)實(shí)例為其每一個(gè)屬性都精確地給出一特征2:不能包含內(nèi)部的結(jié)構(gòu)
OOOOP
特征3:屬性必須是整個(gè)實(shí)體的特征特征4:對象的屬性必須與該對象相關(guān)特征5:對象的屬性值不能是與其有關(guān)的對象的值以其關(guān)系的oe識別服
OOP
3.13.2 3.43.5服 3.6概念與表示
OOPProcess操作:是類的行為特征,用于描述為 相關(guān)行為的名稱、類型、參數(shù)與約束作集合(算法、過程) OOOOP
對象行為分例:創(chuàng)建、刪除 、轉(zhuǎn)例:讀、寫屬性計(jì)算表示
OOP
display()hide()size:Areadisplay()hide()size:Area +size:Area=#visibility:Boolean=+default-size: um-size:+display+hide+create-識別服
OOP
OOA不考慮算法簡單服 考慮算法復(fù)雜的服 操作)定義服務(wù)的策略與啟
OOP
有哪些功能要求對象在問題域?qū)?yīng)的事物有哪些行在每種狀態(tài)下對象可能發(fā)生什么行為?對象狀態(tài)的轉(zhuǎn)換,是由哪些服務(wù)引起的模擬服務(wù)的執(zhí)行,并在整個(gè)系統(tǒng) 與調(diào)
OOP
對象的每個(gè)服是否直接提供系統(tǒng)責(zé)任所要求的某項(xiàng)功能響應(yīng)其它服務(wù)的請求間接地完成這種功能的某些局部一個(gè)服務(wù)只完成一項(xiàng)單一的、完整的功認(rèn)識對象的主動(dòng)行 與參與者交互的對象服 完成最外層功能的對象服務(wù)外層與內(nèi)層是請求與被請求的 服務(wù)執(zhí)行路線逆向追蹤找到了主動(dòng)服務(wù)就等于找到了主動(dòng)對
OOP
服 名和定
OOP
命名:動(dòng)詞或動(dòng)賓結(jié)構(gòu);外向 定位描述服
OOP
把每個(gè)對象的服務(wù)都填寫到相應(yīng)的類符號中 ?班oe定義關(guān)
OOP
4.44.5泛一般只要有這些特特殊一般只要有這些特特殊特殊類的特必須有這些特
OOP
OOOOPProcess OOOOP
稱,但并不是所有的人都是雇 b.傳遞如果對象A“是一個(gè)”對象B,對象B“是一個(gè)”對象C, 在A模型中建立泛化,是為了使系統(tǒng)模型更清晰地映射問題域中事物的分類關(guān)系。它把具有泛化關(guān)系的類組織在一起,可以簡化我們對復(fù)雜系統(tǒng)的認(rèn)識,從而增加了軟件的可性和適應(yīng)變化的靈活性基本表
OOPProcess 深入表示
OOP
SeparateTarget
..
Discriminator(區(qū)分器SharedTarget..
ct-Oriented泛化集泛化集名
泛化集名 泛化集名
泛化集名 泛化集名化集名化集名泛化集名人人人人人人泛化集
OOP
AA
a1a1b1c1a2b2c2a3b3c3 A2
泛化集的約
OOP
{complete, plete, {complete, plete, 默認(rèn) plete,OOP
人人 人 plete,
OOOOP
metaOMGUnifiedModelingLanguageTM(OMGUML),識別泛
OOP
OOP
IsAA是一個(gè)B,B是一個(gè)思考
OOP
學(xué)博士博博士在站博士出站博士教人人學(xué)教博博士博士在站士出站士人—有時(shí)有時(shí)有時(shí)有時(shí)有時(shí)有時(shí)有時(shí)—教總有時(shí)—有時(shí)有時(shí)有時(shí)有時(shí)有時(shí)博總有時(shí)有時(shí)—從不有時(shí)有時(shí)有時(shí)博士總總有時(shí)從不—從不從不從不博士總有時(shí)有時(shí)總從不—有時(shí)有時(shí)在站士總總總總從不總—從不出站士總從有時(shí)總從不總從不— OOOOP
公公司人工
OOPProcess OOOOPProcess公司人職戰(zhàn)斗戰(zhàn)斗飛行速飛戰(zhàn)飛飛行飛 飛行速飛行速戰(zhàn)斗
OOOOPProcess 飛飛戰(zhàn)4 與調(diào) 問題域與系統(tǒng)責(zé)任是否需要這樣的分類 是否符合分類學(xué) 是否構(gòu)成了繼承關(guān)系?(確實(shí)繼承了一些屬性或服務(wù)
OOOOP
一般-特殊結(jié)構(gòu)的簡
OOP
(2)(2)增加屬性簡化一般-特殊結(jié)OOPProcess(3)取消用途單一的一般類,減少繼層
有兩個(gè)或兩個(gè)上需要用它創(chuàng)建對象實(shí)有助于軟件復(fù)
OOPProcess5、調(diào)整對象層和特征
OOPProcessoe識別關(guān)
OOP
OOP
關(guān)聯(lián)描述 類的實(shí)例的元組的集合 OOOOPProcessTom:Tom:Jack:Marry:
OOP
AB
OOOOP
的非負(fù)正整數(shù)的范圍,也即它等價(jià)于0..*OOPProcess OO
類
OOP
人人 0..10..10.. 1..*0.. OOOOP
如果使用角色名,就可以省略關(guān)聯(lián)與其他類的一個(gè)實(shí)例相關(guān)聯(lián)的實(shí)例的數(shù)量 OO舉 OOP 球 人
思考雞生蛋,蛋生
▲孵▲孵OOP
雞雞1▲ ▲ 產(chǎn)生孵1雞▲▲A▲
下列哪幅圖最能精確描
OOP
人 人人人
▲ ▲ OOOOP
雙向的導(dǎo)航不必畫箭
UML2.0中對導(dǎo)航性的表
OOPProcessoe關(guān)聯(lián)的類
OOP
關(guān)聯(lián)
OOPProcess 如果一個(gè)類的一個(gè)屬性可以同時(shí)有多個(gè)值,就考慮使用關(guān)聯(lián)類例如,一個(gè)人的薪水OOPProcess關(guān)聯(lián)類到二元關(guān)聯(lián)的轉(zhuǎn)
OOP
限定關(guān)聯(lián)
** 人 人人人
限定關(guān)聯(lián)
OOP
OOOOP
棋棋坐演 格票格票異或關(guān)
OOP
公帳個(gè)有序關(guān)
OOPProcess客 保險(xiǎn)合建立關(guān)聯(lián)的策
OOP
考慮問題域和系統(tǒng)責(zé)任——哪些類的對象實(shí)例之間的關(guān)系需要在系統(tǒng)中表達(dá) 多對多關(guān)聯(lián)的問
OOP
多對多的表的信息是冗余兩個(gè)多對多關(guān)系轉(zhuǎn)化為不符合第四范式的降低多對多關(guān)聯(lián)的多重
OOP
用關(guān)系數(shù)據(jù)庫實(shí)現(xiàn)為先篩選后連切斷多對多從問題域中尋找新的中間類,它與雙方都構(gòu)成1對多關(guān)若問題域中找不到相應(yīng)的類,可構(gòu)想一降低多對多關(guān)聯(lián)的多重
OOPProcess OOOOPProcess 單
OOPProcess
OOPProcessoe分析模
OOP
MartinAccountability責(zé)任(partyOrganizationHierarchiesOrganizationstructure…)ObservationandMeasurementsRederringtoObjects…分析模
OOP
**11 11**1 1*分析模
OrganizationHierarchies(組織層次
OOP
11111*****結(jié)構(gòu)
OOP
ty
OOP
BloodglucoseBloodglucoselevel:Number+-Conversion
OOPProcess Compound
OOP
UnitCompoudUnitCompoudAtomic1
1
Measurement測
OOP
11
1Observation
OOP
1
1
oe聚
概念與表示
OOPProcess 聚合(aggregation)是關(guān)聯(lián)的一種特殊形式,表示整體和部分之間的“整體-部分”關(guān)系 (aggregate)是聚合關(guān)系中作為“整體”的類,而把作為“部分”的類稱為成分或部 類與類之間的聚合關(guān)系指的是,一個(gè)類的對象實(shí)例,以另一個(gè)類的對象實(shí)例作為其組成部分,是種“apartof”或“has”;也可理解為,一個(gè)類定義 另一個(gè)類定義。 組合對象是組合類的實(shí)例表示
OOPProcess性性O(shè)OP
部分必須與它們所構(gòu)建的整體有某些結(jié)構(gòu)上或功能上的關(guān) 稱b.傳遞人靈游人靈游
OOP
游人人 A人人 MartinFowler:AggregationAnd
OOP
FewthingsintheUMLcausemoreconsternationthanaggregationandcomposition,inparticularhowtheyvaryfromregularassociation. Thefullstoryismuddiedbyhistory.Inthepre-UMLmethodstherewasacommonnotionofdefiningsomeformofpart-wholerelationships.Thetroublewasthateachmethoddefineddifferentsemanticsfortheserelationships(althoughtobefair,someofthesewereprettysemanticsfree). Sowhenthetimecametostandardize,lotsofpeoplewantedpart-wholerelationships,buttheycouldn'tagreeonwhattheymeant.SotheUMLdefinersintroducedtwo aggregation(whitediamond)hasnosemanticsbeyondthatofaregularassociation.Itis,asJimRumbaughputsit,amodelingplacebo.Peoplecan,anddo,useit-buttherearenostandardmeaningsforit.Soifyouseeit,youshouldinquireastowhattheauthormeansbyit.Iwouldadvisenotusingityourselfwithoutsomeformofexplanation. composition(blackdiamond)doescarrysemantics.Themostparticularisthatanobjectcanonlybethepartofonecompositionrelationship.Soevenifbothwindowsandpanelscanhold -bars,anyinstanceof -barmustbeonlyheldbyonewhole.Thisisn'taconstraintthatyoucaneasilyexpresswiththeregularmultiplicitymarkers.分分OOP
MortonWinston構(gòu)造性:整體部分之間存是否存在功能或結(jié)構(gòu)上的關(guān)同質(zhì)性:整體部分之間的類型是否相不變性:整體部分之間的是否不可分離 根據(jù)性質(zhì)的不同可將整體部分關(guān)系分為以下幾類名不變定舉組裝-部∨××材料-對××∨部分失去它們的標(biāo)劃分-對×∨×整體與同質(zhì)部分的組地點(diǎn)-地×∨∨集合-成×∨有成員間有序排本-人名,月計(jì)劃表-日劃×××成員-合∨×∨具有不變性的容器-容舞伴,相聲搭檔識別策
OOP
與篩
OOP
例:汽車與輪胎(規(guī)格例:學(xué)生與課程,誰是整體?部分oe依
OOPProcess access ;derive--派生;import--移入;refine精 include–包含;extend—擴(kuò)表示
OOP
不同類型的依
OOP
ClassCcombinestwologicalClassCcombinestwologicalclasses不同類型的依
OOPProcess Dependencyrelationshipisusedtoshowthatsomeelementorasetofelementsdependsonothermodelelement(s),andonclassdiagramsisusuallyrepresentedbyusagedependencyor Ausageisadependencyrelationshipinwhichoneelement(client)requiresanotherelement(orsetofelements)( r)foritsfullimplementationoroperation. Theusagedependencydoesnotspecifyhowtheclientusesthe rotherthanthefactthattherisusedbythedefinitionorimplementationoftheclient.Forexample,itcouldmeanthatsomemethod(s)withina(client)classusesobjects(e.g.parameters)oftheanother r) Ausagedependencyisshownasadependencywitha?use?keywordattachedto Createisausagedependencydenotingthattheclientclassifiercreatesinstancesof classifier.Itisdenotedwiththestandardstereotype Callisausagedependencythatspecifiesthatthesourceoperationinvokesthetargetoperation.Thisdependencymayconnectasourceoperationtoanytargetoperationthatiswithinthescopeincluding,notlimitedto,operationsoftheenclosingclassifierandoperationsofothervisible Sendisausagedependencywhosesourceisanoperationandwhosetargetissignal,specifyingthatthesourcesendsthetarget不同類型的依
OOPProcess ionisadependencyrelationshipwhichrelatestwoelementsorsetsofelements(calledclientand r)representingthesameconceptbutatdifferentlevelsof ionorfromdifferentviewpoints. Realizationisaspecialized ionrelationshipbetweentwosetsofmodelelements,onerepresentingaspecification(the r)andtheotherrepresentsanimplementationofthelatter(theclient). InterfacerealizationisaspecializedrealizationrelationshipbetweenaClassifierandanInterface.Thisrelationshipsignifiesthattherealizingclassifierconformstothecontractspecifiedbythe接口與實(shí)
OOPProcess Aninterfaceisaclassifierthatdeclaresofasetofcoherentpublicfeaturesand Aninterfacespecifiesa Anyinstanceofaclassifierthatrealizes(implements)theinterfacemustfulfillthatcontractandthusprovidesservicesdescribedbycontract.Theobligationsthatmaybeassociatedwithaninterfaceareintheformofvariouskindsofconstraints(suchaspre-andpostconditions)orprotocolspecifications,whichmayimposeorderingrestrictionsoninteractionsthroughtheinterface.oe OOOOP
是面向?qū)ο蟮囊粚?shí)現(xiàn)多繼 接口與
OOP
InUML1.4interfacewasformallyequivalenttoanclasswithnoattributesandnomethodsandonly Sinceinterfacesaredeclarations,theyarenotinstantiable.Instead,aninterfacespecificationisimplementedbyaninstanceofaninstantiableclassifier,whichmeansthattheinstantiableclassifierpresentsapublicfacadethatconformstotheinterface Anygivenclassifiermayimplementmorethanoneinterface.Interfacemaybeimplementedbyanumberofdifferentclassifiers.-storeId:-POSlist:+login(UserName,-storeId:-POSlist:+login(UserName,
OOP
接口的表示(完全
OOP
-storeId:-POSlist:+login(UserName,
OOPProcessMacMacMacUML2.0需接口與供接
OOPProcess例題:題庫管理系
11
*認(rèn)課教師
班 1
*
* *
模板類與綁
OOP
UMLclassescouldbetemplatedor Theexamplebelowshowstemplatecla
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度Logo設(shè)計(jì)及品牌形象重塑合同
- 家具供應(yīng)合同范本
- 2024簡單的農(nóng)村土地轉(zhuǎn)讓合同
- 二手房交易合同-范本
- 2024上市公司合同管理辦法
- 標(biāo)準(zhǔn)店面租賃合同書樣本
- 2024內(nèi)粉墻刷白合同
- 2024年借款延期合同范本
- 2024墻紙采購合同
- 2024小區(qū)綠化種植合同
- 2024年全國統(tǒng)考“營養(yǎng)師或營養(yǎng)指導(dǎo)員”相關(guān)知識考前試題庫與參考答案
- 2024CSCO結(jié)直腸癌診療指南解讀
- (正式版)QBT 2174-2024 不銹鋼廚具
- 監(jiān)控維修施工方案
- 是誰殺死了周日
- 國家開放大學(xué)《管理英語4》章節(jié)測試參考答案
- 混凝土早強(qiáng)劑檢驗(yàn)報(bào)告(出廠)
- 超聲引導(dǎo)下腰椎部位的穿刺ppt課件
- 種子質(zhì)量檢測檢驗(yàn)結(jié)果報(bào)告單
- 單相接地電容電流的計(jì)算、分析5.doc
- 霸權(quán)之后-第七章有限理性與自我利益的再界定
評論
0/150
提交評論