统一建模语言UML要点全面简析
前言
uml就是一些圖,一些由框框和線條構成的圖,框框稱為事物,線條表示4種關系,加點這些框框和線條的說明注釋。
?
一.uml概述
統一建模語言(UML)是面向對象軟件的標準化建模語言。
UML由3個要素構成:UML的基本構造塊,支配這些構造塊如何放置在一起的規則,運用于整個語言的一些公共機制。
UML的詞匯表包括3種構造塊:事物、關系、圖
事物是對模型中最具代表性的成分的抽象,關系把事物結合在一起,圖聚集了相關的事物。
事物包括4種事物:結構事物,行為事物,分組事物,注釋事物
結構事物是uml模型中的名詞,它們通常是模型的靜態部分,描述概念或物理元素,結構事物包括類,接口,協作,用例,主動類,構件和節點。
行為事物是uml模型的動態部分,它們是模型中的動詞,描述了跨越時間和空間的行為。共有兩類主要的行為事物:交互和狀態機。
分組事物是uml模型的組織部分,它們是一些由模型分解成的‘盒子’,在所有的分組事物中,最主要的分組事物是包。
注釋事物是uml模型的解釋部分,這些注釋事物用來描述,說明和標注模型的任何元素。注解是一種主要的注釋事物。注解是一個依附于一個元素或者一組元素之上,對它進行約束或解釋的簡單符號。
?
uml中有4種關系:依賴,關聯,泛化,實現
依賴是兩個事物間的語義關系,其中一個事物(獨立事物發)發生變化會影響另一個事物(依賴事物)的語義。
關聯是一種結構關系,它描述了一組鏈,鏈是對象之間的連接。聚合是一種特殊類型的關聯,它描述了整體和部分間的結構關系,組合也是一種特殊類型的關聯,它同樣體現了整體和部分間的關系,但比聚合更強,也稱為強聚合。
泛化是一種特殊-一般關系,特殊元素的對象可以替代一般元素的對象。用這種方法,子元素共享了父元素的結構和行為。
實現是類元之間的語義關系,其中一個類元制定了由另一個類元保證執行的契約。在這兩種地方要遇到實現關系:一種是接口和實現它們的類或構件之間;另一種是在用例是實現它們的協作之間。
?
uml視圖主要包括類圖,用例圖,構件圖,部署圖,狀態圖,活動圖,順序圖,協作圖
類圖展現了一組對象、接口、協作及其之間的關系,類圖給出了系統的靜態靜態設計視圖。
用例圖展現了一組用例、參與者以及兩者之間的關系,用例圖用于對系統的靜態用例視圖進行建模。
構件圖展現了一組構件之間的組織和依賴關系,構件圖專注于系統的靜態實現視圖。
部署圖展現了運行處理節點以及其中構件的配置,部署圖給出了體系結構的靜態實施視圖。
狀態圖展現了一個狀態機,它由狀態,轉換,事件和活動組成,狀態圖關注系統的動態視圖。
活動圖是一種特殊的狀態圖,它展現了在系統內從一個活動轉換到另一個活動的流程。
順序圖(或稱序列圖)和協作圖均被稱為交互圖,順序圖是強調消息時間序列的交互圖,協作圖則是強調接收和發送消息的對象的結構組織的交互圖,序列圖有對象生命線和控制焦點,協作圖有路徑和順序號。
二.示例圖
1、用例圖: usecase
2、生成時序圖,協作圖,活動圖等
3、生成的時序圖:
4、反向工程以及生成代碼:
5、類圖:
三.四種關系
在UML類圖中,常見的有以下幾種關系:泛化(Generalization),??實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)
?
1.泛化(Generalization)
【泛化關系】:是一種繼承關系,它指定了子類如何特化父類的所有特征和行為例如:老虎是動物的一種.
【箭頭指向】:帶三角箭頭的實線,箭頭指向父類
2.實現(Realization)
【實現關系】:是一種類與接口的關系,表示類是接口所有特征和行為的實現
【箭頭指向】:帶三角箭頭的虛線,箭頭指向接口
3.關聯(Association)
【關聯關系】:是一種擁有的關系,它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子
關聯可以是雙向的,也可以是單向的。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。
【代碼體現】:成員變量
【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者
?
上圖中,老師與學生是雙向關聯,老師有多名學生,學生也可能有多名老師。但學生與某課程間的關系為單向關聯,一名學生可能要上多門課程,課程是個抽象的東西他不擁有學生。
?
上圖為自身關聯:
?
4. 聚合(Aggregation)
【聚合關系】:是整體與部分的關系.如車和輪胎是整體和部分的關系.
聚合關系是關聯關系的一種,是強的關聯關系;關聯和聚合在語法上無法區分,必須考察具體的邏輯關系。
【代碼體現】:成員變量
【箭頭及指向】:帶空心菱形的實心線,菱形指向整體
?
?
5. 組合(Composition)
【組合關系】:是整體與部分的關系.,沒有公司就不存在部門??????組合關系是關聯關系的一種,是比聚合關系還要強的關系,它要求普通的聚合關系中代表整體的對象負責代表部分的對象的生命周期
【代碼體現】:成員變量
【箭頭及指向】:帶實心菱形的實線,菱形指向整體
?
?
6.?依賴(Dependency)
【依賴關系】:是一種使用的關系,所以要盡量不使用雙向的互相依賴。
【代碼表現】:局部變量、方法的參數或者對靜態方法的調用
【箭頭及指向】:帶箭頭的虛線,指向被使用者
?
?
?
各種關系的強弱順序:
泛化=?實現>?組合>?聚合>?關聯>?依賴
下面這張UML圖,比較形象地展示了各種類圖關系:
四.常用工具
用過繪制UML圖的工具有3個:visio,億圖,starUML
五.參考書籍
UML參考手冊(第二版)(美) James Rumbaugh, Ivar Jacobson ,Grady Booch 著?UML China 譯?機械工業出版社
UML與軟件建模 徐寶文 周毓明 盧紅敏 著 清華大學出版社
http://www.cnblogs.com/daizhj/archive/2008/04/14/1153121.html
http://blog.csdn.net/jiuqiyuliang/article/details/8552956
http://blog.csdn.net/tianhai110/article/details/6339565
http://justsee.iteye.com/blog/808799
https://www.zhihu.com/question/23569835
總結
以上是生活随笔為你收集整理的统一建模语言UML要点全面简析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visual Studio 2017开发
- 下一篇: Visual Studio 2017开发