UML的結(jié)構(gòu)分為3部份,基本構(gòu)造塊、公共機(jī)制、UML的規(guī)則,其中公共機(jī)制和UML的規(guī)則是為基本構(gòu)造塊服務(wù)的,描寫了怎樣將這幾種圖有規(guī)則的排列到1起。基本構(gòu)造塊又分為事物、關(guān)系、圖,將事物用關(guān)系連接起來就是我們今天所說的UML中的圖。
1、導(dǎo)圖宏觀把控
2、圖解
1 、用例圖(Use case diagrams):用來描寫用戶的需求。從用戶的角度描寫系統(tǒng)的功能并指出各個(gè)功能的履行者,強(qiáng)調(diào)誰在使用系統(tǒng),系統(tǒng)為履行者完成哪些功能。(是誰?在干甚么?)機(jī)房收費(fèi)系統(tǒng)中1般用戶可以查詢學(xué)生上機(jī)記錄和自己的登錄密碼。以下圖
2、類圖(class diagram):用于定義系統(tǒng)中的類,包括描寫類的內(nèi)部結(jié)構(gòu)和類之間的關(guān)系。類圖上層是類的名字,中層是累的屬性,下層是類的方法。比如1個(gè)人叫李明、年齡是他的屬性,他會唱歌。
2.1、對象圖(Object):對象圖是類圖的1個(gè)實(shí)例,描寫了系統(tǒng)在具體時(shí)間點(diǎn)上包括的對象和各個(gè)對象之間的關(guān)系。
2.2、類圖pk對象圖 :對象圖有聲明域,和時(shí)間有關(guān)系,類圖沒有。
3、行動(dòng)圖:用來描寫系統(tǒng)的動(dòng)態(tài)模型和對象之間的交互關(guān)系。
3.1、狀態(tài)圖(Statechart diagrams):用來描寫類的對象所有可能的狀態(tài)和事件產(chǎn)生時(shí)狀態(tài)的轉(zhuǎn)移條件。
3.2、活動(dòng)圖(Activity diagrams):用來描寫滿足用例要求索要進(jìn)行的活動(dòng)和活動(dòng)時(shí)間的束縛關(guān)系,使用活動(dòng)圖有益于辨認(rèn)系統(tǒng)的并行活動(dòng)。
3.3、活動(dòng)圖PK狀態(tài)圖:狀態(tài)圖側(cè)重行動(dòng)的結(jié)果描寫(狀態(tài)) 、 活動(dòng)圖側(cè)重行動(dòng)的動(dòng)作描寫(活動(dòng)) 我認(rèn)為狀態(tài)圖就是活動(dòng)圖某1個(gè)時(shí)刻的1個(gè)照片,這個(gè)照片將這1時(shí)刻的所有信息都記錄下來。
4、交互圖
4.1 序列圖(Sequence diagrams):描寫對象之間的交互順序,側(cè)重體現(xiàn)對象間消息傳遞的時(shí)間順序,強(qiáng)調(diào)對象之間消息的發(fā)送順序,同時(shí)也顯示對象之間的交互進(jìn)程。下圖是1個(gè)機(jī)房收費(fèi)系統(tǒng)簡單的用戶登錄序列圖。
4.2 協(xié)作圖(Collaboration diagrams):描寫對象之間的合作關(guān)系,更側(cè)重與說明對象之間有消息傳遞,下圖是1個(gè)機(jī)房收費(fèi)系統(tǒng)用戶登錄的協(xié)作圖。
4.3、序列圖pk協(xié)作圖
順序圖中有1條時(shí)間軸,他能清楚的表達(dá)出消息產(chǎn)生的順序(先從上到下,后從左到右),但是不好看出對象之間究竟產(chǎn)生多少次消息的傳遞,不如協(xié)作圖1目了然。
協(xié)作圖沒有時(shí)間軸,用消息的名稱+數(shù)字來表示消息傳遞的前后順序,但是其很好的表達(dá)出對象之間傳遞了多少消息?甚么消息?1塊給羅列出來。
5、實(shí)現(xiàn)圖
5.1 構(gòu)件圖(Component diagrams):描寫代碼構(gòu)件的物理結(jié)構(gòu)和構(gòu)件之間的依賴關(guān)系。1個(gè)構(gòu)件可以是1個(gè)資源文件、1個(gè)2進(jìn)制文件或1個(gè)可履行的文件。構(gòu)建圖我把它比作1個(gè)零件。比如螺絲釘就是機(jī)器上的1個(gè)零件,它起到固定的作用。
5.2、實(shí)行圖(Deployment diagrams):定義了系統(tǒng)中硬件的物理體系結(jié)構(gòu),用來描寫實(shí)際的物理裝備和它們之間的連接關(guān)系
3、小結(jié)
UML的9種圖中,用例圖來描寫用戶的需求;用對象圖、類圖、包圖來描寫系統(tǒng)的靜態(tài)結(jié)構(gòu);用活動(dòng)圖、狀態(tài)圖、協(xié)作圖、順序圖來描寫系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu);用構(gòu)建圖和部署圖將系統(tǒng)實(shí)行。
上一篇 16. Dubbo原理解析-集群&容錯(cuò)之router路由服務(wù)
下一篇 重溫《Inside The C++ Object Model》(2) --Default-Constructor的建構(gòu)操作