uml活动图 各个功能的操作流程和分支_UML建模之活动图介绍(Activity Diagram)
一、活動圖的組成元素 Activity Diagram Element
1、活動狀態(tài)圖(Activity)
2、動作狀態(tài)(Actions)
3、動作狀態(tài)約束(Action Constraints)
4、動作流(Control Flow)
5、開始節(jié)點(Initial Node)
6、終止節(jié)點(Final Node)
7、對象(Objects)
8、數(shù)據(jù)存儲對象(DataStore)
9、對象流(Object Flows)
10、分支與合并(Decision and Merge Nodes)
11、分叉與匯合(Fork and Join Nodes)
12、異常處理(Exception Handler)
13、活動中斷區(qū)域(Interruptible Activity Region)
14、泳道(Partition)
二、活動圖案例分析.
三、總結(jié)
活動圖是UML用于對系統(tǒng)的動態(tài)行為建模的另一種常用工具,它描述活動的順序,展現(xiàn)從一個活動到另一個活動的控制流。活動圖在本質(zhì)上是一種流程圖。活動圖著重表現(xiàn)從一個活動到另一個活動的控制流,是內(nèi)部處理驅(qū)動的流程。
1、活動狀態(tài)圖(Activity)
活動狀態(tài)用于表達狀態(tài)機中的非原子的運行,其特點如下:
(1)、活動狀態(tài)可以分解成其他子活動或者動作狀態(tài)。
(2)、活動狀態(tài)的內(nèi)部活動可以用另一個活動圖來表示。
(3)、和動作狀態(tài)不同,活動狀態(tài)可以有入口動作和出口動作,也可以有內(nèi)部轉(zhuǎn)移。
(4)、動作狀態(tài)是活動狀態(tài)的一個特例,如果某個活動狀態(tài)只包括一個動作,那么它就是一個動作狀態(tài)。
UML中活動狀態(tài)和動作狀態(tài)的圖標相同,但是活動狀態(tài)可以在圖標中給出入口動作和出口動作等信息。
2、動作狀態(tài)(Actions)
動作狀態(tài)是指原子的,不可中斷的動作,并在此動作完成后通過完成轉(zhuǎn)換轉(zhuǎn)向另一個狀態(tài)。動作狀態(tài)有如下特點:
(1)、動作狀態(tài)是原子的,它是構(gòu)造活動圖的最小單位。
(2)、動作狀態(tài)是不可中斷的。
(3)、動作狀態(tài)是瞬時的行為。
(4)、動作狀態(tài)可以有入轉(zhuǎn)換,入轉(zhuǎn)換既可以是動作流,也可以是對象流。動作狀態(tài)至少有一條出轉(zhuǎn)換,這條轉(zhuǎn)換以內(nèi)部的完成為起點,與外部事件無關(guān)。
(5)、動作狀態(tài)與狀態(tài)圖中的狀態(tài)不同,它不能有入口動作和出口動作,更不能有內(nèi)部轉(zhuǎn)移。
(6)、在一張活動圖中,動作狀態(tài)允許多處出現(xiàn)。
UML中的動作狀態(tài)圖用平滑的圓角矩形表示,如下:
3、動作狀態(tài)約束(Action Constraints)
動作狀態(tài)約束:用來約束動作狀態(tài)。如下圖展示了動作狀態(tài)的前置條件和后置條件
4、動作流(Control Flow)
動作之間的轉(zhuǎn)換稱之為動作流,活動圖的轉(zhuǎn)換用帶箭頭的直線表示,箭頭的方向指向轉(zhuǎn)入的方向。
5、開始節(jié)點(Initial Node)開始節(jié)點:表示成實心黑色圓點
6、終止節(jié)點(Final Node)分為活動終止節(jié)點(activity final nodes)和流程終止節(jié)點(flow final nodes)。
活動終止節(jié)點表示整個活動的結(jié)束
而流程終止節(jié)點表示是子流程的結(jié)束。
7、對象(Objects)
8、數(shù)據(jù)存儲對象(DataStore)
使用關(guān)鍵字?datastore?
9、對象流(Object Flows)
對象流是動作狀態(tài)或者活動狀態(tài)與對象之間的依賴關(guān)系,表示動作使用對象或動作對對象的影響。用活動圖描述某個對象時,可以把涉及到的對象放置在活動圖中并用一個依賴將其連接到進行創(chuàng)建、修改和撤銷的動作狀態(tài)或者活動狀態(tài)上,對象的這種使用方法就構(gòu)成了對象流。
對象流中的對象有以下特點:
(1)、一個對象可以由多個動作操作。
(2)、一個動作輸出的對象可以作為另一個動作輸入的對象。
(3)、在活動圖中,同一個對象可以多次出現(xiàn),它的每一次出現(xiàn)表面該對象正處于對象生存期的不同時間點。
對象流用帶有箭頭的虛線表示。如果箭頭是從動作狀態(tài)出發(fā)指向?qū)ο?#xff0c;則表示動作對對象施加了一定的影響。施加的影響包括創(chuàng)建、修改和撤銷等。如果箭頭從對象指向動作狀態(tài),則表示該動作使用對象流所指向的對象。
狀態(tài)圖中的對象用矩形表示,矩形內(nèi)是該對象的名稱,名稱下的方括號表明對象此時的狀態(tài)。
10、分支與合并(Decision and Merge Nodes)分支與合并用菱形表示
11、分叉與匯合(Fork and Join Nodes)
分為水平風(fēng)向和垂直方向。
對象在運行時可能會存在兩個或多個并發(fā)運行的控制流,為了對并發(fā)的控制流建模,UML中引入了分叉與匯合的概念。分叉用于將動作流分為兩個或多個并發(fā)運行的分支,而匯合則用于同步這些并發(fā)分支,以達到共同完成一項事務(wù)的目的。
12、異常處理(Exception Handler)
當受保護的活動發(fā)生異常時,觸發(fā)異常處理節(jié)點。
13、活動中斷區(qū)域(Interruptible Activity Region)
活動中斷區(qū)域圍繞一些可被中斷的動作狀態(tài)圖。比如下圖,正常情況下【Process Order】順序流轉(zhuǎn)到【Close Order】,訂單處理流程完畢;但在【Process Order】過稱中,會發(fā)送【Cancel Order】請求,這時會流轉(zhuǎn)到【Cancel Order】,從而訂單處理流程結(jié)束
14、泳道(Partition)泳道將活動圖中的活動劃分為若干組,并把每一組指定給負責這組活動的業(yè)務(wù)組織,即對象。在活動圖中,泳道區(qū)分了負責活動的對象,它明確地表示了哪些活動是由哪些對象進行的。在包含泳道的活動圖中,每個活動只能明確地屬于一個泳道。
泳道是用垂直實線繪出,垂直線分隔的區(qū)域就是泳道。在泳道的上方可以給出泳道的名字或?qū)ο蟮拿?#xff0c;該對象負責泳道內(nèi)的全部活動。泳道沒有順序,不同泳道中的活動既可以順序進行也可以并發(fā)進行,動作流和對象流允許穿越分隔線。
1、泳道分為:會員泳道和系統(tǒng)泳道。會員選擇商品并加入購物車,系統(tǒng)完成訂單生成及其支付完畢。
2、開始節(jié)點:會員添加商品到購物車,點擊【訂單確認】,開始交于系統(tǒng)處理訂單流程
3、結(jié)束節(jié)點:商品發(fā)送完畢和付款成功,訂單處理流程結(jié)束
4、活動狀態(tài):產(chǎn)生訂單、Check Credit Cart核對信用卡、Check Stock核對庫存量、Deliver Goods發(fā)送商品、Process Credit Cart付款
5、分叉與匯合:【產(chǎn)生訂單】份叉為檢查庫存量和會員支付金額是否足夠,如果不足,取消訂單,如過庫存量和支付金額足夠,發(fā)送商品和付款,最后匯合為訂單完成。
活動圖描述的是對象活動的順序關(guān)系所遵循的規(guī)則,它著重表現(xiàn)的是系統(tǒng)的行為,而非系統(tǒng)的處理過程。活動圖能夠表示并發(fā)活動的情形,活動圖是面向?qū)ο蟮摹?/p>
總結(jié)
以上是生活随笔為你收集整理的uml活动图 各个功能的操作流程和分支_UML建模之活动图介绍(Activity Diagram)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 曝比亚迪将在越南建汽车零部件工厂 耗资超
- 下一篇: 红外传感器型号和参数_红外传感器参数|热