EA&UML日拱一卒--活動圖::重新審視動作

活動圖說明進行到這裡,應該可以滿足大部分需求了。但是不要忘了,活動圖不是流程圖,它還有許多流程圖中沒有的東西,如泳道,並發等。作為活動圖最後的內容,接下來的幾篇文章來重新審視一下Action。

如果在用EA畫活動圖時用過Action,一定看到過下面的畫面。

如果選中【Other】選項,還可以看到下面的列表。

這時候一般的反應是無視,然後選【Atomic】,原因只有一個:選Atomic得到的Action最乾淨。

讓我們換一個場景。假設大家在尋寶,進了第一個山洞,東西也搬得差不多了,突然間又發現了一個小門,裡面似乎別有洞天。這時你會怎麼辦?裝作不知道么? 相信每個尋寶人都會義無反顧地衝進去。當然了,是在做好準備之後。

本文作為探討各種動作的準備工作,首先重新審視一下動作(Action)的基本概念。

語義

動作是基本的活動節點,是UML能夠表達的最小計算單元。如果將高層的活動看成一棵由嵌套活動節點組成的樹,那麼這棵樹的葉子結點便是動作。

動作包含許多輸入引腳和輸出引腳,它們分別對輸入和輸出建模。引腳的數量和類型由動作的種類決定。

當所有的輸入引腳得到輸入值並且所有控制邊收到控制令牌,動作便可以開始執行。當動作執行完畢,所有引腳上產生輸出值,同時控制令牌被放置到控制邊上。

----UML參考手冊(第二版)

補充說明

第一段很容易理解,就不展開說明了。

第二段可以參看下圖。這圖可是有來歷,它來自《OMG Unified Modeling Language, Superstructure Version 2.4.1》。

雖說出身高貴,但內容卻很簡單:Action包含若干輸入引腳(InputPin),若干輸出引腳(OutputPin),而輸入輸出引腳有一個共同的基類Pin。對照這幅圖看第二段描述應該可以有更形象的理解。

第三段說明動作的執行條件,首先說明兩個名詞:

令牌(token):活動執行過程中的控制焦點。

控制邊(activity edge):是在活動節點之間傳遞令牌的連接關係的抽象。它包含控制流和數據流。

至於動作,簡單說就是輸入都準備好了才開始動作才開始執行,動作執行以後所有的輸出都有內容並同時交出令牌。

以上就是今天的文章,如果它能給您帶來些許收穫,歡迎點贊並推薦給您的朋友!

閱讀更多更新文章,請關注【面向對象思考】微信公眾號!

參考資料下載鏈接:omg.org/spec/UML/2.4.1/


推薦閱讀:

EA&UML日拱一卒--類圖::關聯(關聯,聚合,組合)
(翻譯)活動圖::Structural Feature Actions
(翻譯)13.1 Summary
EA&UML日拱一卒--活動圖::異常
EA&UML日拱一卒--活動圖::AcceptCallAction和ReplyAction

TAG:面向對象編程 | 面向對象分析與設計 | UML建模 |