活動圖是UML用于對系統的動态行為模組化的工具。他描述活動的順序,展現從一個活動到另一個活動的控制流。活動圖在本質上是一種流程圖。他是我們為系統模組化時應該畫的第一張圖。
(一)概念
1,定義:
他是用于描述活動流程的。
2,差別
(1)與狀态圖的差別
同:都是狀态機的表現形式。
異:活動圖着重表現從一個活動到另一個活動的控制流,是内部處理驅動的流程。
而狀态圖着重描述從一個狀态到另一個狀态的流程。主要有外部事件的參與。
(2)與流程圖的差別
1)流程圖着重描述處理過程,它的主要控制結構式順序、分支和循環。各個處理過程之間有嚴格的順序關系和時間關系。而活動圖描述的是對象活動的順序關系所遵循的規則,他着重表現的是系統的行為。而非系統的處理過程。
2)活動圖能夠表示并發活動的情形;而流程圖不可以。
3)活動圖是OO的,而流程圖是面向過程的。
3,組成元素(略,大家可以到别的地方找一下,在這裡不提供參考。)
使用圓角矩形,與狀态圖的圓角矩形相比,活動圖的矩形更加柔和,看上去接近橢圓,活動圖的圖示包含對活動的描述(如活動名)。如果一個活動引發下一個活動,兩個活動的圖表之間用帶有箭頭的直線連接配接。有起點和終點。
活動圖中還有分支、合并、彙合等模型元素。分支與合并的圖檔與判定的圖示相同,而分叉與彙合則用一條加粗的線段表示。
總體來說是:動作狀态、活動狀态、動作流、分支與合并、分叉與彙合、泳道與對象流等。
(二)模組化
在系統模組化過程中,活動圖能夠附加到任何模組化元素中以描述其行為,這些元素包括用例、類、接口、節點、協作、操作、方法等。
步驟:
(1)識别要對工作流描述的類或對象
(2)确定工作流的初始狀态和終止狀态
(3)對動作狀态或活動狀态模組化
(4)對動作流模組化
(5)對對象流模組化
(6)對建立的模型進行精化和細化。
(三)執行個體(使用EA)
在機房收費系統中的學生上下機的活動圖:
首先分析一下機房收費系統中上下機的活動流程,這個可以借助我們在編寫文檔中所歸納的業務流程。
其次使用EA畫圖。
(1)建立活動圖(繪制分區)。繪制分區,不同參與的角色就用不同的分區來表示。配置設定活動。
(2)加入初始狀态和終止狀态
(3)添加動作狀态
(4)添加活動狀态
(5)添加動作流
(6)增加分支和合并
(7)添加分叉和彙合
(8)添加泳道(用于将活動圖中的活動分組)
(9)增加對象和對象流
(10)活動圖的說明
例圖:(因為我是第一次畫的圖,圖檔有錯,不提供參考)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90zdiZnUU1UMFRVTx5ESkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DO2EDO1cDMyIDMzcDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)