UML工具使用教程

UML的全稱是Unified Modeling Language,翻譯過(guò)來(lái)就是統(tǒng)一建模語(yǔ)言碧囊。

UML可以很有效的幫助產(chǎn)品經(jīng)理或產(chǎn)品設(shè)計(jì)師進(jìn)行前期的產(chǎn)品需求分析與產(chǎn)品的設(shè)計(jì)蛉幸。在我們梳理項(xiàng)目的業(yè)務(wù)流程時(shí)就會(huì)用到活動(dòng)圖,在我們整理系統(tǒng)功能時(shí)就會(huì)用到用例圖喳整,在我們與客戶面對(duì)面進(jìn)行溝通調(diào)研時(shí)用例圖管搪、活動(dòng)圖虾攻、順序圖等UML可以使得溝通變得更加順暢。

UML圖

開(kāi)始介紹幾種在需求分析和設(shè)計(jì)階段會(huì)用到的UML圖更鲁。

1. 流程圖

(1)什么是流程圖?

流程中包含一個(gè)個(gè)活動(dòng)霎箍,在業(yè)務(wù)系統(tǒng)中強(qiáng)調(diào)從活動(dòng)到活動(dòng)的控制流。

這里的活動(dòng)澡为,可以指企業(yè)的活動(dòng)漂坏,也可以指應(yīng)用程序中的活動(dòng)。因此,也可說(shuō)活動(dòng)圖是用來(lái)陳述活動(dòng)與活動(dòng)之間的流程控制的遷移樊拓。

(2)流程圖的畫(huà)法

流程圖的繪制涉及幾個(gè)重要的元素:

起始點(diǎn):是一連串活動(dòng)的開(kāi)始點(diǎn)纠亚,在一個(gè)流程圖中,有且只有一個(gè)起始點(diǎn)筋夏。

起始點(diǎn)的圖示:

結(jié)束點(diǎn):是一連串活動(dòng)的終結(jié)點(diǎn)蒂胞,在一個(gè)流程圖中,可以有多個(gè)結(jié)束點(diǎn)条篷。

結(jié)束點(diǎn)的圖示:

活動(dòng):是活動(dòng)圖最核心的元素骗随,指人或系統(tǒng)的一連串執(zhí)行細(xì)節(jié)。比如赴叹,用戶在淘寶APP內(nèi)的“要求退貨”就是一個(gè)活動(dòng)鸿染,在這個(gè)活動(dòng)中,可能會(huì)包括用戶的一連串的動(dòng)作——比如“打開(kāi)APP乞巧、進(jìn)入訂單頁(yè)面”等涨椒,但是這些細(xì)節(jié)都要通過(guò)“要求退貨”這個(gè)活動(dòng)來(lái)表達(dá)。

活動(dòng)的圖示:

遷移:代表流程控制權(quán)的遷移绽媒,當(dāng)某一個(gè)活動(dòng)結(jié)束后蚕冬,流程的控制權(quán)就通過(guò)遷移給另一個(gè)活動(dòng)。如下圖:

分支:代表一個(gè)判斷的準(zhǔn)則是辕,以菱形塊表示囤热。當(dāng)指定一個(gè)分支時(shí),從分支連接出去的遷移必須要有必要條件获三,這在UML中稱為約束旁蔼。在UML中,使用“[]”來(lái)表示約束:

分叉以及會(huì)合:代表對(duì)于后續(xù)活動(dòng)的同步處理疙教,這也是活動(dòng)圖區(qū)分與流程圖的關(guān)鍵一點(diǎn)棺聊。當(dāng)某個(gè)活動(dòng)結(jié)束后,需要同時(shí)進(jìn)行兩個(gè)以上的活動(dòng)松逊,此時(shí)需要用分叉來(lái)表達(dá)躺屁;而當(dāng)某個(gè)活動(dòng)必須要等其前置的多個(gè)活動(dòng)完成后方可執(zhí)行肯夏,此時(shí)會(huì)用會(huì)合來(lái)表達(dá)经宏。

分叉與會(huì)合的圖示都是:

通常來(lái)說(shuō),分叉與會(huì)合會(huì)搭配出現(xiàn)驯击,當(dāng)活動(dòng)圖中出現(xiàn)了分叉點(diǎn)烁兰,那么在后續(xù)的某個(gè)特定環(huán)節(jié)必定會(huì)有會(huì)合點(diǎn)。

泳道:對(duì)于產(chǎn)品經(jīng)理來(lái)說(shuō)并不陌生徊都,利用泳道可以分配對(duì)應(yīng)的角色沪斟,可以幫助我們清晰地知道發(fā)起活動(dòng)的角色是誰(shuí)。

2. 用例圖

(1)什么是用例?

? ??用例也代表著一個(gè)具體的業(yè)務(wù)場(chǎng)景主之。從用戶的角度描述了系統(tǒng)的功能择吊,并指出各個(gè)功能的執(zhí)行者,強(qiáng)調(diào)用戶的使用者槽奕,系統(tǒng)為執(zhí)行者完成哪些功能几睛。因此,我們可以使用用例圖系統(tǒng)地表達(dá)軟件系統(tǒng)的絕大部分功能性需求粤攒。

(2)用例圖的畫(huà)法

? ??用例通常會(huì)用一個(gè)橢圓形表示:

執(zhí)行者/角色:即是扮演著某個(gè)角色的用戶或系統(tǒng)所森,執(zhí)行者通常版扮演者對(duì)于產(chǎn)品或系統(tǒng)來(lái)說(shuō)有實(shí)際作用的用戶或其他系統(tǒng)。

在UML中夯接,執(zhí)行者的圖示如下:

系統(tǒng)邊界:展示了系統(tǒng)的內(nèi)外之分焕济,明確的劃分了開(kāi)發(fā)過(guò)程中需要關(guān)心和不需要關(guān)心的邊界。系統(tǒng)邊界的圖示:

泛化:執(zhí)行者之間可以有泛化關(guān)系盔几,泛化關(guān)系可以簡(jiǎn)單理解為繼承關(guān)系——比如:職員擁有“申請(qǐng)開(kāi)票”功能晴弃,經(jīng)理?yè)碛小吧暾?qǐng)開(kāi)票、審核”功能逊拍,那么經(jīng)理類就可以是職員類泛化生成的肝匆。用例之間也會(huì)具有泛化關(guān)系,比如“篩選用例”可以泛化出“按播放量”和“按訂閱數(shù)”的用例顺献。

泛化通常是子類指向基類:

關(guān)聯(lián):執(zhí)行者與用例之間旗国,只能有關(guān)聯(lián)的關(guān)系。

關(guān)聯(lián)用來(lái)連接執(zhí)行者和用例:

擴(kuò)展:擴(kuò)展是用例與用例之間的關(guān)系注整,指的是一個(gè)用例的擴(kuò)展功能——比如:“登錄”用例的擴(kuò)展用例是“忘記密碼”能曾,這個(gè)“忘記密碼”功能不一定會(huì)使用。

擴(kuò)展一般使用extend表示(注意箭頭方向):

包括:區(qū)別于擴(kuò)展肿轨,包括指的是一個(gè)用例內(nèi)寿冕,包括的子用例——比如:“角色管理”用例包括“創(chuàng)建角色”、“查詢角色”等用例椒袍。

包括使用include表示(注意箭頭方向):

用例圖范例:

3. 序列圖

(1)什么是序列圖驼唱?

序列圖也叫順序圖,序列圖最主要的目的就是表達(dá)對(duì)象與對(duì)象之間是如何溝通與協(xié)作的驹暑。

用例常常被細(xì)化為一個(gè)或者更多的序列圖玫恳,同時(shí)序列圖更有效地描述如何分配各個(gè)類的職責(zé)以及各類具有相應(yīng)職責(zé)的原因。

(2)序列圖的畫(huà)法

序列圖涉及到的幾個(gè)重要元素:

對(duì)象:在序列圖中优俘,每個(gè)參與部分都是對(duì)象京办。在序列圖中,主要是以“對(duì)象名稱”的方式來(lái)表述帆焕。

圖示:

消息:對(duì)象與對(duì)象之間只能通過(guò)消息來(lái)進(jìn)行聯(lián)系惭婿,消息可以理解為對(duì)象的某一個(gè)操作。消息分為同步消息、異步消息和自關(guān)聯(lián)消息财饥,同步消息需要同步等待消息换吧。

圖示為:

異步發(fā)送消息時(shí)不需要等待,圖示為:

自關(guān)聯(lián)消息是對(duì)象給自身發(fā)送消息钥星,圖示為:

約束:是對(duì)象與對(duì)象之間進(jìn)行消息交互式的約束條件式散,也就是要完成此次消息交互必須需要的條件約束,

約束通常使用“[]”表示打颤。

序列圖范例:

4暴拄、狀態(tài)機(jī)圖

狀態(tài)機(jī)圖從某個(gè)對(duì)象的狀態(tài)是如何變化的角度來(lái)展示流程的,是一種由狀態(tài)编饺、變遷乖篷、事件和活動(dòng)組成的狀態(tài)機(jī),用來(lái)描述類的對(duì)象所有可能的狀態(tài)以及時(shí)間發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件透且。

在產(chǎn)品的需求分析中撕蔼,如果一個(gè)流程是圍繞某一事物/對(duì)象的狀態(tài)變化而展開(kāi)時(shí),我們應(yīng)該優(yōu)先使用狀態(tài)機(jī)圖秽誊。

比如:常見(jiàn)的訂單流程就可以使用訂單的狀態(tài)圖來(lái)表示訂單對(duì)象的流程鲸沮。再比如,在請(qǐng)假系統(tǒng)中锅论,請(qǐng)假條的狀態(tài)變化流程也可以用狀態(tài)機(jī)圖來(lái)進(jìn)行分析讼溺。

狀態(tài)機(jī)圖范例:

5. 類圖

類:圖中最重要的就是類,類是由名稱最易、屬性和操作組成怒坯。屬性可以簡(jiǎn)單理解為這個(gè)類包括的字段,操作就是該類可以實(shí)現(xiàn)的方法藻懒。

圖示如下:

類圖中最為重要的剔猿,就是類之間的關(guān)系,UML類圖中有六大關(guān)系嬉荆。

關(guān)聯(lián)關(guān)系:類與類之間最基本的關(guān)系归敬。關(guān)聯(lián)表達(dá)了兩個(gè)類的對(duì)象之間的結(jié)構(gòu)性關(guān)系,比如老師類與課程類之間有一個(gè)關(guān)聯(lián)鄙早,那么就代表著一個(gè)老師一定會(huì)管理著一個(gè)學(xué)生(一對(duì)一家教或多對(duì)多的學(xué)習(xí))汪茧。

關(guān)聯(lián)的圖示:

泛化:在用例圖中我們介紹過(guò)泛化,同理蝶锋,類與類之間的泛化關(guān)系也可以理解為繼承陆爽,也就是特殊類與一般類之間的關(guān)系。泛化圖示扳缕,通常為子類指向基類:

實(shí)現(xiàn):是一種類與接口的關(guān)系,表示類是接口所有特征和行為的實(shí)現(xiàn)∏颍可以理解為驴剔,類通過(guò)接口實(shí)現(xiàn)了什么功能。

實(shí)現(xiàn)的圖示:

依賴:是一種使用關(guān)系粥庄,比如司機(jī)使用汽車丧失。

依賴的圖示:

聚合:是整體與部分的關(guān)系,且部分可以離開(kāi)整體而單獨(dú)存在惜互。如車和輪胎是整體和部分的關(guān)系布讹,輪胎離開(kāi)車仍然可以存在。

聚合的圖示:

類圖例子:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末训堆,一起剝皮案震驚了整個(gè)濱河市描验,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坑鱼,老刑警劉巖膘流,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鲁沥,居然都是意外死亡呼股,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)画恰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)彭谁,“玉大人,你說(shuō)我怎么就攤上這事允扇÷砜浚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵蔼两,是天一觀的道長(zhǎng)甩鳄。 經(jīng)常有香客問(wèn)我,道長(zhǎng)额划,這世上最難降的妖魔是什么妙啃? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮俊戳,結(jié)果婚禮上揖赴,老公的妹妹穿的比我還像新娘。我一直安慰自己抑胎,他們只是感情好燥滑,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著阿逃,像睡著了一般铭拧。 火紅的嫁衣襯著肌膚如雪赃蛛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,785評(píng)論 1 314
  • 那天搀菩,我揣著相機(jī)與錄音呕臂,去河邊找鬼。 笑死肪跋,一個(gè)胖子當(dāng)著我的面吹牛歧蒋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播州既,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谜洽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了吴叶?” 一聲冷哼從身側(cè)響起阐虚,我...
    開(kāi)封第一講書(shū)人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晤郑,沒(méi)想到半個(gè)月后敌呈,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡造寝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年磕洪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诫龙。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡析显,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出签赃,到底是詐尸還是另有隱情谷异,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布锦聊,位于F島的核電站歹嘹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏孔庭。R本人自食惡果不足惜尺上,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望圆到。 院中可真熱鬧怎抛,春花似錦、人聲如沸芽淡。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)挣菲。三九已至富稻,卻和暖如春掷邦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唉窃。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工耙饰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纹笼,地道東北人纹份。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像廷痘,于是被迫代替她去往敵國(guó)和親蔓涧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

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