UML的畫圖規(guī)范

在團(tuán)隊協(xié)作過程中最常見的就是開會、開會最常用的就是圖往弓,而圖中最常見的就是流程圖、時序圖蓄氧、類圖函似,這三個圖可以清楚的描述你想解釋的內(nèi)容。學(xué)好類圖不僅僅能幫助自己更清楚的梳理業(yè)務(wù)喉童,還能提高開會效率撇寞。但是話說回來,你是否真的看懂別人畫的圖了泄朴?或者你真的會畫嗎重抖?今天就和大家一起學(xué)習(xí)一下怎么畫類圖。

image

上圖是我模擬出來的一個場景和大家具體說一下類圖究竟應(yīng)該怎么畫才對祖灰。圖中講的是這樣一個「故事」:

一個公司下面有很多部門钟沛,公司和部門是不可分割的。

碼農(nóng)屬于一個部門局扶,但是如果部門解散了恨统,碼農(nóng)依然依然是碼農(nóng)。

碼農(nóng)無時無刻在用手機(jī)三妈,只有工作時間才會使用 Mac畜埋。

Mac 是一種電腦,電腦是“可計算處理器”的一種實現(xiàn)畴蒲。

下面我們就逐一介紹下這些關(guān)系悠鞍。

泛化關(guān)系(generalization)

泛化關(guān)系為 is-a 的關(guān)系;兩個對象之間如果可以用 is-a 來表示模燥,就是泛化關(guān)系咖祭。

image

泛化關(guān)系用一條帶空心箭頭的直接表示掩宜。如圖為例, Mac 和電腦就是泛化關(guān)系么翰,通常在程序里面泛化表現(xiàn)為繼承于非抽象類牺汤。

實現(xiàn)關(guān)系(realization)

image

實現(xiàn)關(guān)系用一條帶空心箭頭的虛線表示。如圖為例浩嫌,電腦和可計算處理器就是實現(xiàn)關(guān)系檐迟,通常程序里面實現(xiàn)關(guān)系表現(xiàn)為繼承抽象類。比如我們平時寫的 Readable,Printable等接口的實現(xiàn)码耐。

聚合關(guān)系(aggregation)

image

聚合關(guān)系用一條帶空心菱形箭頭的直線表示追迟,如圖碼農(nóng)和部門就是聚合關(guān)系。與組合關(guān)系不同的是伐坏,整體和部分不是強(qiáng)依賴的怔匣,即使整體不存在了,部分仍然存在桦沉。如圖為例每瞒, 部門撤銷了,碼農(nóng)換一個工作還是碼農(nóng)嘛纯露。

組合關(guān)系(composition)

image

組合關(guān)系用一條帶實心菱形箭頭直線表示剿骨,與聚合關(guān)系一樣,組合關(guān)系同樣表示整體由部分構(gòu)成的關(guān)系埠褪,不同之處在于整體和部分是強(qiáng)依賴關(guān)系浓利,如果整體不存在了,部分也不復(fù)存在钞速。如圖為例贷掖,如果公司倒閉了,那么何來部門呢渴语?

關(guān)聯(lián)關(guān)系(association)

image

關(guān)聯(lián)關(guān)系通常用一條直線表示苹威,當(dāng)然如果需要標(biāo)明方向可以添加箭頭。它是描書不同的類對象之間的關(guān)系驾凶,通常不會隨著狀態(tài)的變化而變化牙甫,可以理解為被關(guān)聯(lián)者屬于關(guān)聯(lián)者的一部分。如圖為例调违,手機(jī)就是碼農(nóng)的一部分窟哺,不會因為他上班與否而變化所屬關(guān)系。通常情況在程序里面以類變量的方式表現(xiàn)技肩。

依賴關(guān)系(dependency)

image

依賴關(guān)系是用一套帶箭頭的虛線表示且轨,他通常描述一個對象在運行期間會用到另一個對象的關(guān)系。如圖為例碼農(nóng)只有在工作的時候才會用到 Mac 電腦,所以這種依賴關(guān)系是依賴于運行狀態(tài)的旋奢。通常情況下是在程序里面通過構(gòu)造函數(shù)阿蝶、形參等體現(xiàn)。

推薦幾個UML工具

PlantUML黄绩、starUML2.0、JUDE-Community

ProcessOn玷过、STARUML爽丹、VISIO

Enterprise Architect、LucidChart

Draw.io辛蚊、百度腦圖粤蝎、Astah

喜歡哪一個請自取袋马!

回顧總結(jié)

到這里我們再次回顧一下開篇的圖片是不是更加理解里面的連線了初澎?所以我們在繪圖過程中一定要非常注意這個線和箭。

image

不過話說回來虑凛,死記硬背這些東西確實很難碑宴,于是我自己想了一個打油詩,幫助自己來記憶桑谍,你也可以來試一下延柠。

實箭泛化虛實現(xiàn)

虛線依賴實關(guān)聯(lián)

空菱聚合實組合

項目溝通圖常見

所以你學(xué)會了嗎?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锣披,一起剝皮案震驚了整個濱河市贞间,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雹仿,老刑警劉巖增热,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異胧辽,居然都是意外死亡峻仇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進(jìn)店門票顾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來础浮,“玉大人,你說我怎么就攤上這事奠骄《雇” “怎么了?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵含鳞,是天一觀的道長影锈。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么鸭廷? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任枣抱,我火速辦了婚禮,結(jié)果婚禮上辆床,老公的妹妹穿的比我還像新娘佳晶。我一直安慰自己,他們只是感情好讼载,可當(dāng)我...
    茶點故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布轿秧。 她就那樣靜靜地躺著,像睡著了一般咨堤。 火紅的嫁衣襯著肌膚如雪菇篡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天一喘,我揣著相機(jī)與錄音驱还,去河邊找鬼。 笑死凸克,一個胖子當(dāng)著我的面吹牛议蟆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萎战,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼咪鲜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了撞鹉?” 一聲冷哼從身側(cè)響起疟丙,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸟雏,沒想到半個月后享郊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡孝鹊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年炊琉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片又活。...
    茶點故事閱讀 40,435評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡苔咪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柳骄,到底是詐尸還是另有隱情团赏,我是刑警寧澤,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布耐薯,位于F島的核電站舔清,受9級特大地震影響丝里,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜体谒,卻給世界環(huán)境...
    茶點故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一杯聚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抒痒,春花似錦幌绍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至被去,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奖唯,已是汗流浹背惨缆。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留丰捷,地道東北人坯墨。 一個月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像病往,于是被迫代替她去往敵國和親捣染。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,442評論 2 359

推薦閱讀更多精彩內(nèi)容