類圖示例-訂單系統 / Class Diagram - Order System
什麼是類圖?
類圖經過顯示它的類和它們之間的關係來概述系統。類圖是靜態的 - 它們顯示交互的內容,但不顯示交互時會發生什麼。ide
下面的類圖模擬了零售目錄中的客戶訂單。中央階層是秩序。與之相關的是進行購買和付款的客戶。付款是三種形式:現金,檢查,或信用。該訂單包含OrderDetails(訂單項),每一個訂單項都有相關的項目。ui
隱藏圖像
spa
UML類符號是一個矩形,分爲三個部分:類名稱,屬性和操做。抽象類的名稱(如付款)以斜體表示。類之間的關係是鏈接連接。3d
咱們的類圖有三種關係。blog
- 關聯 - 這兩個類的實例之間的關係。若是一個類的實例必須知道另外一個類的實例以執行其工做,那麼兩個類之間就存在關聯。在圖中,關聯是鏈接兩個類的連接。
- 聚合 - 一個類屬於一個集合的關聯。聚合具備指向包含總體的部分的菱形末端。在咱們的圖中, Order具備 OrderDetails的集合。
- 泛化 - 指示一個類的繼承連接是另外一個類的超類。泛化有一個指向超類的三角形。支付是現金,支票和信用的超類。
一個協會有兩個目的。結束可能有一個角色名稱來澄清協會的性質。例如, OrderDetail是每一個訂單的訂單項。繼承
一個 關聯上的可導航箭頭顯示能夠遍歷或查詢關聯的方向。一個的OrderDetail能夠查詢有關其項目周圍,而不是其餘方式。箭頭還能夠讓你知道誰擁有該協會的實施; 在這種狀況下, OrderDetail有一個 Item。沒有導航箭頭的協會是雙向的。ip
該 關聯結束的多重性是與另外一端的單個實例關聯的類的可能實例的數量。多重性是單個數字或數字範圍。在咱們的示例中,每一個訂單只能有一個客戶,但客戶能夠有任意數量的訂單。ci
該表給出了最多見的多重性。get
多重 | 含義 |
---|---|
0..1 | 零個或一個實例。符號n。。m表示n到m個實例。 |
0 .. * 或 * | 對實例數量沒有限制(包括無)。 |
1 | 剛好一個例子 |
1 .. * | 至少有一個例子 |
每一個類圖都有類,關聯和多重性。導航和角色是放置在圖表中的可選項目,以提供清晰度。it
參考信息
- Why UML Modeling? (爲何是uml建模?)
- Overview of the 14 UML Diagram Types (14種UML圖表類型概述)