UML建模—活動圖表

來源:互聯網
上載者:User

       活動圖表是UML用於對系統的動態行為建模的另一種常用工具, 描述活動的順序,展現從一個活動到另一個活動的控制流程。活動圖表在本質上是一種流程圖。活動圖表著重表現從一個活動到另一個活動的控制流程,是內部處理驅動的流程。 下面詳細一下介紹活動圖表:
一、基本元素:
1、動作狀態(Action State)

• 動作狀態是指執行原子的、不可中斷的動作,並在此動作完成後通過完成轉換轉向另一個狀態的狀態。

動作狀態使用平滑的圓角矩形表示,動作狀態所表示的動作寫在圓角矩形內部。


2、活動狀態(Activity State)

• 活動狀態用於表達狀態機器中的一個非原子的運行。
• 活動狀態的表示表徵圖也是平滑的圓角矩形,並可以在表徵圖中給出入口動作和出口動作等資訊。

• 活動狀態的特點:
活動狀態可以分解成其他子活動或動作狀態,由於它是一組不可中斷的動作或操作的組合,所以可以被中斷。
活動狀態的內部活動可以用另一個活動圖表來表示。
和動作狀態不同,活動狀態可以有入口動作和出口動作,也可以有內部轉換。

動作狀態是活動狀態的一個特例,如果某個活動狀態只包括一個動作,那麼它就是一個動作狀態。


3、動作流(Action Flow)
所有動作狀態之間的轉換流稱之為動作流。
• 活動圖表的轉換用帶箭頭的直線表示,箭頭的方向指向轉入的方向。


4、分支(Branch)與合并(Merge)

• 分支一般用於表示對象類所具有的條件行為。
• 條件行為用分支和合并表達。
• 在活動圖表中分支與合并用空心小菱形表示。
• 一個分支有一個入轉換和兩個帶條件的出轉換,出轉換的條件應當是互斥的,這樣可以保證只有一條出轉換能夠被觸發。

• 一個合并有兩個帶條件的入轉換和一個出轉換,合并表示從對應的分支開始的條件行為的結束。

5、分叉(Fork)與匯合(Join)
• 分叉用於將動作流分為兩個或者多個並發啟動並執行分支,而匯合則用於同步這些並發分支,以達到共同完成一項事務的目的。
• 分叉可以用來描述並發線程,每個分叉可以有一個輸入轉換和兩個或多個輸出轉換,每個轉換都可以是獨立的控制流程。
• 匯合代表兩個或多個並發控制流程同步發生,當所有的控制流程都達到匯合點後,控制才能繼續往下進行。每個匯合可以有兩個或多個輸入轉換和一個輸出轉換。

分叉和匯合都使用加粗的水平線段表示。


6、泳道(Swimlane)
• 泳道將活動圖表中的活動化分為若干組,並把每一組指定給負責這組活動的業務組織即對象。
• 泳道區分了負責活動的對象,明確地表示了哪些活動是由哪些對象進行的。
• 每個活動只能明確地屬於一個泳道。
• 泳道用垂直實線繪出,垂直線分隔的地區就是泳道。在泳道上方可以給出泳道的名字或對象(對象類)的名字,該對象(對象類)負責泳道內的全部活動。
泳道沒有順序,不同泳道中的活動既可以順序進行也可以並發進行,動作流和物件流程允許穿越分隔線

7、物件流程(Object Flow)
• 物件流程是動作狀態或者活動狀態與對象之間的依賴關係,表示動作使用對象或者動作對對象的影響。
• 物件流程中的對象特點:一個對象可以由多個動作操縱;一個動作輸出的對象可以作為另一個動作輸入的對象。

     物件流程用帶有箭頭的虛線表示。如果箭頭從動作狀態出髮指向對象,則表示動作對對象施加了一定的影響。如果箭頭從對象指向動作狀態,則表示該動作使用物件流程所指向的對象。
    在活動圖表中,同一個對象可以多次出現,它的每一次出現表明該對象正處於物件存留期的不同時間點。

泳道和物件流程可在中觀察:


豎線就是泳道,四方塊是表示的對象。


二、活動圖表建模技術:

①識別要對其工作流程描述的類或對象。②確定工作流程的初始狀態和終止狀態,明確工作流程的邊界。③對動作狀態或活動狀態建模。④對動作流建模。⑤對物件流程建模。⑥對建立的模型進行精化和細化。
三、執行個體解析:

這是一個圖書館管理員的活動圖表:


解釋:先進入圖書管理系統,有兩個活動分支:一、get
book。也就是學生還書,判斷是否到期,如果到期就收費,之後再更新借書者的資訊;不到期,直接更新借書者的資訊,活動結束。二、Lend
book。也就是借給學生書,判斷是有限制,沒有限制的話就借出書更新資訊;有限制就不借出。活動結束。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.