實(shí)例講解UML活動(dòng)圖繪制方法
本節(jié)向大家介紹一下繪制UML活動(dòng)圖的方法,主要包括繪制具體步驟介紹和實(shí)例講解兩部分內(nèi)容,相信通過本節(jié)的學(xué)習(xí),你一定會(huì)對(duì)如何繪制UML活動(dòng)圖有深刻的認(rèn)識(shí)。
UML活動(dòng)圖
UML活動(dòng)圖記錄了單個(gè)操作或方法的邏輯,單個(gè)用戶案例,或者單個(gè)業(yè)務(wù)流程的邏輯。在很多方面,活動(dòng)圖是結(jié)構(gòu)化開發(fā)中流程圖和數(shù)據(jù)流程圖(DFD)的面向?qū)ο蟮韧w,要?jiǎng)?chuàng)建一個(gè)UML活動(dòng)圖,您需要反復(fù)執(zhí)行下列步驟。
第一步,定義uml活動(dòng)圖的范圍首先應(yīng)該定義您要對(duì)什么建模。單個(gè)用戶案例力?一個(gè)用戶案例的一部分?一個(gè)包含多個(gè)用戶案例的商務(wù)流程?一個(gè)類的單個(gè)方法?一旦您定義了您所作圖的范圍,您應(yīng)該在其頂部,用一個(gè)標(biāo)注添加標(biāo)簽,指明該圖的標(biāo)題和唯一的標(biāo)示符。您有可能也想要包括該圖的時(shí)間甚至作者名。
第二步,添加起始和結(jié)束點(diǎn)每個(gè)活動(dòng)圖有一個(gè)起始點(diǎn)和結(jié)束點(diǎn),因此您也要馬上添加它們。在《UML精粹》(UMLDistilled)(參見參考資料),F(xiàn)owler和Scott認(rèn)為結(jié)束點(diǎn)是可選的。有時(shí)候一個(gè)活動(dòng)只是一個(gè)簡單的結(jié)束,如果是這種情況,指明其唯一的轉(zhuǎn)變是到一個(gè)結(jié)束點(diǎn)也是無害的。這樣,當(dāng)其他人閱讀您的圖時(shí),他或她知道您已經(jīng)考慮了如何退出這些活動(dòng)。
第三步,添加活動(dòng)如果您正對(duì)一個(gè)用戶案例建模,對(duì)每個(gè)角色(actor)所發(fā)出的主要步驟引入一個(gè)活動(dòng)(該活動(dòng)可能包括起始步驟,加上對(duì)起始步驟系統(tǒng)響應(yīng)的任何步驟)。如果您正對(duì)一個(gè)高層的商務(wù)流程建模,對(duì)每個(gè)主要流程引入一個(gè)活動(dòng),通常為一個(gè)用戶案例或用戶案例包。最后,如果您正對(duì)一個(gè)方法建模,那么對(duì)此引入一個(gè)活動(dòng)是很常見的。
第四步,添加活動(dòng)間的轉(zhuǎn)變我的風(fēng)格總是應(yīng)該退出一個(gè)活動(dòng),即使它是轉(zhuǎn)變到一個(gè)結(jié)束點(diǎn)。一旦一個(gè)活動(dòng)有多個(gè)轉(zhuǎn)變時(shí),您必需對(duì)每個(gè)轉(zhuǎn)變加以相應(yīng)標(biāo)示。
第五步,添加決策點(diǎn)有時(shí)候,您所建模的邏輯需要做出一個(gè)決策。有可能是需要檢查某些事務(wù)或比較某些事務(wù)。要注意的是,使用決策點(diǎn)是可選的。
第六步,找出可并行活動(dòng)之處當(dāng)兩個(gè)活動(dòng)間沒有直接的聯(lián)系,而且它們都必需在第三個(gè)活動(dòng)開始前結(jié)束,那它們是可以并行運(yùn)行的。
下面的UML活動(dòng)圖描述了大學(xué)新生第一次將如何辦理入學(xué)的商業(yè)邏輯。
實(shí)心圓表示活動(dòng)圖的起點(diǎn),實(shí)際上是一個(gè)占位符,帶邊框的實(shí)心圓表示終點(diǎn)。
圓角矩形表示執(zhí)行的過程或活動(dòng)。在該圖中,雖然您會(huì)注意到“登記研習(xí)班”用例將多次調(diào)用“登記研習(xí)班”活動(dòng),但這些活動(dòng)卻相當(dāng)緊密地映射到用例?;顒?dòng)可以細(xì)致得多,特別在選擇記錄方法邏輯,而不是高級(jí)商業(yè)過程時(shí)。
菱形表示判定點(diǎn),雖然在此示例中判定點(diǎn)只有兩種可能結(jié)果;但即使有更多可能結(jié)果,它也同樣容易。
箭頭表示活動(dòng)之間的轉(zhuǎn)換,各種活動(dòng)之間的流動(dòng)次序。
箭頭上的文字表示繼續(xù)轉(zhuǎn)換所必須滿足的條件,總是使用格式“[條件]”來描述。我猜想,在UML的將來版本中,我們將會(huì)看到使用UML約束表示法(如“{condition}”)記錄的條件。
粗線條表示可能會(huì)并行進(jìn)行的過程的開始和結(jié)束;在大學(xué)里成功入學(xué)后,必須參加指定的概況介紹,還要至少登記一個(gè)研習(xí)班并交付一部分的學(xué)費(fèi)。
退出活動(dòng)可能有幾種方法,如您看到的“填寫入學(xué)表”活動(dòng)的那樣。如果正確填寫了表格,那么可以繼續(xù)進(jìn)行大學(xué)的入學(xué)手續(xù)。但是,如果表格不正確,那么必須獲得幫助(可能從注冊(cè)員獲得幫助)以正確填寫它們。
圖1.第一次入學(xué)的UML活動(dòng)圖
這個(gè)活動(dòng)圖非常有趣,因?yàn)樗〉袅藞D2中標(biāo)識(shí)的幾個(gè)用例的邏輯。用例模型沒有很好地表達(dá)處理的順序是件好事。例如,雖然圖2中顯示的用例圖為您清楚地描述了該系統(tǒng)所執(zhí)行的功能類型,但是它沒有明確地表達(dá)這些用例可能發(fā)生的順序。但是,圖1的活動(dòng)圖做到了這一點(diǎn)。總之,不同模型的優(yōu)缺點(diǎn)各有不同。
中標(biāo)識(shí)的幾個(gè)用例的邏輯。用例模型沒有很好地表達(dá)處理的順序是件好事。例如,雖然中顯示的用例圖為您清楚地描述了該系統(tǒng)所執(zhí)行的功能類型,但是它沒有明確地表達(dá)這些用例可能發(fā)生的順序。但是,的活動(dòng)圖做到了這一點(diǎn)。總之,不同模型的優(yōu)缺點(diǎn)各有不同。
【編輯推薦】
- 術(shù)語匯編 UML活動(dòng)圖簡介
- 如何繪制UML活動(dòng)圖?
- UML用例圖用法實(shí)例剖析
- 術(shù)語匯編 UML統(tǒng)一建模語言簡介
- UML活動(dòng)圖繪制技巧剖析