團(tuán)隊(duì)溝通利器之UML:活動(dòng)圖
在平時(shí)的項(xiàng)目開(kāi)發(fā)中,可能有的團(tuán)隊(duì)對(duì)業(yè)務(wù)都是用口頭在團(tuán)隊(duì)里面進(jìn)行交流,有時(shí)程序員的理解跟老大表達(dá)的意思不一致,還有其他等等的弊端就不說(shuō)了。我們知道建筑工人都是按照?qǐng)D紙做事的,同樣在軟件開(kāi)發(fā)中,我們應(yīng)該也有這樣一份”圖紙“,這也就是我們要說(shuō)的UML,有了它就可以讓我們做事統(tǒng)一口徑,而從更快的理解業(yè)務(wù)并完成項(xiàng)目。
可喜的是VS2010已經(jīng)集成了我們平時(shí)最常用的一些UML圖,這個(gè)系列也準(zhǔn)備介紹這5種圖。
我們從”活動(dòng)圖“說(shuō)起,平時(shí)我們?cè)诳磒rd的時(shí)候,經(jīng)常會(huì)看到一些”用例圖“和”活動(dòng)圖“,對(duì)的,一個(gè)好的產(chǎn)品經(jīng)理這些都是基本功。
一:用途
活動(dòng)圖是一種工作流程圖,非常容易看懂,非常適合于和用戶(hù)溝通的一種UML圖。
二:基本元素
現(xiàn)在我們看一下活動(dòng)圖到底有哪些基本元素,這些也是我們經(jīng)常用到的。
1:初始節(jié)點(diǎn),活動(dòng)最終節(jié)點(diǎn),操作,連接符
<1> 初始節(jié)點(diǎn): 在繪制活動(dòng)圖中,總有一個(gè)起始點(diǎn),在UML的規(guī)范中用”實(shí)心圓點(diǎn)“表示。
<2>活動(dòng)最終節(jié)點(diǎn): 有起點(diǎn)就必然存在終點(diǎn),在UML中用”空心圓點(diǎn)“表示。
<3> 操作: 是活動(dòng)圖中的一個(gè)基本步驟,具有原子性。
<4>連接符:操作之間的過(guò)渡我們用”連接符“進(jìn)行連接。
下面做個(gè)簡(jiǎn)單的例子加深下印象,這個(gè)也是最簡(jiǎn)單的活動(dòng)圖。
2:注釋
良好的代碼習(xí)慣是二行一注釋?zhuān)赨ML中同樣也存在注釋?zhuān)览矶家粯?,幫助團(tuán)隊(duì)理解。
3:對(duì)象節(jié)點(diǎn)
首先看下專(zhuān)業(yè)的解釋?zhuān)喝绻粋€(gè)操作執(zhí)行結(jié)束之后生成了某些數(shù)據(jù)需要傳遞給下一個(gè)目標(biāo)操作,此時(shí)需要用對(duì)象節(jié)點(diǎn)表示。
對(duì)應(yīng)到上面案例就是我們需要在”登陸界面“和”登陸后臺(tái)“中間插一個(gè)”登陸信息“的對(duì)象節(jié)點(diǎn),這個(gè)也就是”登陸界面“產(chǎn)生的數(shù)據(jù)”。
4:決策節(jié)點(diǎn)和合并節(jié)點(diǎn)
<1>決策節(jié)點(diǎn): 在工具箱中我們看到?jīng)Q策節(jié)點(diǎn)使用”菱形“來(lái)表示的,也非常好理解,決策嘛,不就是抉擇,一條邊進(jìn),多條邊出。
<2> 合并節(jié)點(diǎn): 既然放在一起講,它們肯定有關(guān)聯(lián),多條邊進(jìn),一條邊出,比如在很多頁(yè)面中都有傳送門(mén)讓我們進(jìn)入登陸頁(yè)面。
如果眼尖的話已經(jīng)看到了”連接符"旁邊的提示信息,這個(gè)也就是“警示信息”,設(shè)置方法很簡(jiǎn)單,選中“連接符”,按F4打開(kāi)“屬性窗口”,然后在Guard字段中設(shè)置值即可。
5:分叉節(jié)點(diǎn)和聯(lián)接節(jié)點(diǎn)
這兩個(gè)節(jié)點(diǎn)是真的需要同對(duì)出現(xiàn),用途跟“決策和合并”非常類(lèi)似,分叉節(jié)點(diǎn)是一條邊進(jìn),多條邊出,聯(lián)接節(jié)點(diǎn)是多條邊
進(jìn),一條邊出,只不過(guò)有一點(diǎn)不一樣的就是,聯(lián)接節(jié)點(diǎn)需要等待“分叉節(jié)點(diǎn)”的所有邊都到達(dá)后整個(gè)流程才能繼續(xù)進(jìn)行下去。
對(duì)應(yīng)上圖中,我們登錄成功后,進(jìn)入了分叉節(jié)點(diǎn),此時(shí)我們需要干兩件事情,“簽到”和“發(fā)微博”,如果只做了其中某一件事情,整個(gè)流程都會(huì)處理中斷狀態(tài),直到兩件事都已做完,哈哈,是不是有點(diǎn)多線程的味道。
最后要補(bǔ)充的就是,UML是圖形語(yǔ)言,沒(méi)有絕對(duì)的正確和錯(cuò)誤,團(tuán)隊(duì)能夠理解才是最終目的,所以我們應(yīng)該拒絕口交。
原文鏈接:http://www.cnblogs.com/huangxincheng/archive/2012/09/24/2699429.html