日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

UML建模之活动图介绍

發(fā)布時(shí)間:2025/6/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UML建模之活动图介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

活動(dòng)圖是UML用于對(duì)系統(tǒng)的動(dòng)態(tài)行為建模的另一種常用工具,它描述活動(dòng)的順序,展現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流。活動(dòng)圖在本質(zhì)上是一種流程圖。活動(dòng)圖著重表現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流,是內(nèi)部處理驅(qū)動(dòng)的流程。

一、活動(dòng)圖的組成元素?Activity Diagram Element

1、活動(dòng)狀態(tài)圖(Activity)

活動(dòng)狀態(tài)用于表達(dá)狀態(tài)機(jī)中的非原子的運(yùn)行,其特點(diǎn)如下:

(1)、活動(dòng)狀態(tài)可以分解成其他子活動(dòng)或者動(dòng)作狀態(tài)。

(2)、活動(dòng)狀態(tài)的內(nèi)部活動(dòng)可以用另一個(gè)活動(dòng)圖來(lái)表示。

(3)、和動(dòng)作狀態(tài)不同,活動(dòng)狀態(tài)可以有入口動(dòng)作和出口動(dòng)作,也可以有內(nèi)部轉(zhuǎn)移。

(4)、動(dòng)作狀態(tài)是活動(dòng)狀態(tài)的一個(gè)特例,如果某個(gè)活動(dòng)狀態(tài)只包括一個(gè)動(dòng)作,那么它就是一個(gè)動(dòng)作狀態(tài)。

UML中活動(dòng)狀態(tài)和動(dòng)作狀態(tài)的圖標(biāo)相同,但是活動(dòng)狀態(tài)可以在圖標(biāo)中給出入口動(dòng)作和出口動(dòng)作等信息。

?

?

2、動(dòng)作狀態(tài)(Actions)

動(dòng)作狀態(tài)是指原子的,不可中斷的動(dòng)作,并在此動(dòng)作完成后通過(guò)完成轉(zhuǎn)換轉(zhuǎn)向另一個(gè)狀態(tài)。動(dòng)作狀態(tài)有如下特點(diǎn):

(1)、動(dòng)作狀態(tài)是原子的,它是構(gòu)造活動(dòng)圖的最小單位。

(2)、動(dòng)作狀態(tài)是不可中斷的。

(3)、動(dòng)作狀態(tài)是瞬時(shí)的行為。

(4)、動(dòng)作狀態(tài)可以有入轉(zhuǎn)換,入轉(zhuǎn)換既可以是動(dòng)作流,也可以是對(duì)象流。動(dòng)作狀態(tài)至少有一條出轉(zhuǎn)換,這條轉(zhuǎn)換以內(nèi)部的完成為起點(diǎn),與外部事件無(wú)關(guān)。

(5)、動(dòng)作狀態(tài)與狀態(tài)圖中的狀態(tài)不同,它不能有入口動(dòng)作和出口動(dòng)作,更不能有內(nèi)部轉(zhuǎn)移。

(6)、在一張活動(dòng)圖中,動(dòng)作狀態(tài)允許多處出現(xiàn)。

UML中的動(dòng)作狀態(tài)圖用平滑的圓角矩形表示,如下:

?

3、動(dòng)作狀態(tài)約束(Action Constraints)

動(dòng)作狀態(tài)約束:用來(lái)約束動(dòng)作狀態(tài)。如下圖展示了動(dòng)作狀態(tài)的前置條件和后置條件

4、動(dòng)作流(Control Flow)

動(dòng)作之間的轉(zhuǎn)換稱之為動(dòng)作流,活動(dòng)圖的轉(zhuǎn)換用帶箭頭的直線表示,箭頭的方向指向轉(zhuǎn)入的方向。

5、開(kāi)始節(jié)點(diǎn)(Initial Node)
開(kāi)始節(jié)點(diǎn):表示成實(shí)心黑色圓點(diǎn)

?

6、終止節(jié)點(diǎn)(Final Node)
分為活動(dòng)終止節(jié)點(diǎn)(activity final nodes)和流程終止節(jié)點(diǎn)(flow final nodes)。

活動(dòng)終止節(jié)點(diǎn)表示整個(gè)活動(dòng)的結(jié)束

而流程終止節(jié)點(diǎn)表示是子流程的結(jié)束。

7、對(duì)象(Objects

  

8、數(shù)據(jù)存儲(chǔ)對(duì)象(DataStore

使用關(guān)鍵字?datastore?

?

9、對(duì)象流(Object Flows

對(duì)象流是動(dòng)作狀態(tài)或者活動(dòng)狀態(tài)與對(duì)象之間的依賴關(guān)系,表示動(dòng)作使用對(duì)象或動(dòng)作對(duì)對(duì)象的影響。用活動(dòng)圖描述某個(gè)對(duì)象時(shí),可以把涉及到的對(duì)象放置在活動(dòng)圖中并用一個(gè)依賴將其連接到進(jìn)行創(chuàng)建、修改和撤銷的動(dòng)作狀態(tài)或者活動(dòng)狀態(tài)上,對(duì)象的這種使用方法就構(gòu)成了對(duì)象流。

對(duì)象流中的對(duì)象有以下特點(diǎn):

(1)、一個(gè)對(duì)象可以由多個(gè)動(dòng)作操作。

(2)、一個(gè)動(dòng)作輸出的對(duì)象可以作為另一個(gè)動(dòng)作輸入的對(duì)象。

(3)、在活動(dòng)圖中,同一個(gè)對(duì)象可以多次出現(xiàn),它的每一次出現(xiàn)表面該對(duì)象正處于對(duì)象生存期的不同時(shí)間點(diǎn)。

對(duì)象流用帶有箭頭的虛線表示。如果箭頭是從動(dòng)作狀態(tài)出發(fā)指向?qū)ο?#xff0c;則表示動(dòng)作對(duì)對(duì)象施加了一定的影響。施加的影響包括創(chuàng)建、修改和撤銷等。如果箭頭從對(duì)象指向動(dòng)作狀態(tài),則表示該動(dòng)作使用對(duì)象流所指向的對(duì)象。

狀態(tài)圖中的對(duì)象用矩形表示,矩形內(nèi)是該對(duì)象的名稱,名稱下的方括號(hào)表明對(duì)象此時(shí)的狀態(tài)。

10、分支與合并(Decision and Merge Nodes
分支與合并用菱形表示


11、分叉與匯合(Fork and Join Nodes

分為水平風(fēng)向和垂直方向。

?

對(duì)象在運(yùn)行時(shí)可能會(huì)存在兩個(gè)或多個(gè)并發(fā)運(yùn)行的控制流,為了對(duì)并發(fā)的控制流建模,UML中引入了分叉與匯合的概念。分叉用于將動(dòng)作流分為兩個(gè)或多個(gè)并發(fā)運(yùn)行的分支,而匯合則用于同步這些并發(fā)分支,以達(dá)到共同完成一項(xiàng)事務(wù)的目的。

12、異常處理(Exception Handler

當(dāng)受保護(hù)的活動(dòng)發(fā)生異常時(shí),觸發(fā)異常處理節(jié)點(diǎn)。

?

?

13、活動(dòng)中斷區(qū)域(Interruptible Activity Region

活動(dòng)中斷區(qū)域圍繞一些可被中斷的動(dòng)作狀態(tài)圖。比如下圖,正常情況下【Process Order】順序流轉(zhuǎn)到【Close Order】,訂單處理流程完畢;但在【Process Order】過(guò)稱中,會(huì)發(fā)送【Cancel Order】請(qǐng)求,這時(shí)會(huì)流轉(zhuǎn)到【Cancel Order】,從而訂單處理流程結(jié)束

14、泳道(Partition
泳道將活動(dòng)圖中的活動(dòng)劃分為若干組,并把每一組指定給負(fù)責(zé)這組活動(dòng)的業(yè)務(wù)組織,即對(duì)象。在活動(dòng)圖中,泳道區(qū)分了負(fù)責(zé)活動(dòng)的對(duì)象,它明確地表示了哪些活動(dòng)是由哪些對(duì)象進(jìn)行的。在包含泳道的活動(dòng)圖中,每個(gè)活動(dòng)只能明確地屬于一個(gè)泳道。

泳道是用垂直實(shí)線繪出,垂直線分隔的區(qū)域就是泳道。在泳道的上方可以給出泳道的名字或?qū)ο蟮拿?#xff0c;該對(duì)象負(fù)責(zé)泳道內(nèi)的全部活動(dòng)。泳道沒(méi)有順序,不同泳道中的活動(dòng)既可以順序進(jìn)行也可以并發(fā)進(jìn)行,動(dòng)作流和對(duì)象流允許穿越分隔線。

?

二、活動(dòng)圖案例分析

1、??泳道分為:會(huì)員泳道和系統(tǒng)泳道。會(huì)員選擇商品并加入購(gòu)物車,系統(tǒng)完成訂單生成及其支付完畢。

2、??開(kāi)始節(jié)點(diǎn):會(huì)員添加商品到購(gòu)物車,點(diǎn)擊【訂單確認(rèn)】,開(kāi)始交于系統(tǒng)處理訂單流程

3、??結(jié)束節(jié)點(diǎn):商品發(fā)送完畢和付款成功,訂單處理流程結(jié)束

4、??活動(dòng)狀態(tài):產(chǎn)生訂單、Check Credit Cart核對(duì)信用卡、Check Stock?核對(duì)庫(kù)存量、Deliver Goods?發(fā)送商品、Process Credit Cart付款

5、??分叉與匯合:【產(chǎn)生訂單】份叉為檢查庫(kù)存量和會(huì)員支付金額是否足夠,如果不足,取消訂單,如過(guò)庫(kù)存量和支付金額足夠,發(fā)送商品和付款,最后匯合為訂單完成。

三、總結(jié)

總結(jié)

以上是生活随笔為你收集整理的UML建模之活动图介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。