《用VS2010動手學UML 第 6 回》上手UML活動圖的中級概念(二)

在前幾回文章中,已經介紹過VS2010所支援的活動圖初級概念,以及中級概念中的新元素,現在要回頭來看物件節點、活動參數節點、輸入栓與輸出栓,在這幾個初級概念中還有一些先前沒有提到的特性,也就是在初級概念中的中級概念特性。先從物件節點開始。


物件節點
在物件節點的性質表中,我們還留下了三個中級概念的特性還沒談,分別為:次序(Ordering)、選擇(Selection)和上界(Upper Bound)這三項,如圖1所示。




緊接著看到圖2,這三個概念確實出現在UML母模中,先看到次序的概念,顯然UML定義了四種次序,分別為:先進先出(FIFO)、後進先出(LIFO)、有序(Ordered)、無序(Unordered)。




特別注意到,雖然在圖1的VS2010物件節點性質表中,次序的預設值是「無序」。但是,實際上,UML對於物件節點次序的預設值是「先進先出」的。簡單說明這四種次序,如下:
● 先進先出(FIFO):預設值。先進到物件節點的資料或物件,也會優先輸出給下一個活動節點使用。
● 後進先出(LIFO):後進到物件節點的資料或物件,卻優先輸出給下一個活動節點使用。
● 有序(Ordered):物件節點內資料或物件的進出,有依照特別的次序方法,但不是前面提到的先進先出,也不是後進先出方法,而是其他的次序方法。
● 無序(Unordered):物件節點內資料或物件的進出,並沒有依照特定的次序方法。
既然,物件節點有次序的特性,你大概就能推想的到,物件節點可以保存一個以上的資料或物件,因此才會有一個「上界」(Upper Bound)的特性,用來設定最多可以保存多少個資料或物件。物件節點上界的預設值是「多個」,UML使用星字號(*)來代表多個、無上限的數量。

當然,我們也可以指定一個上界數字,來代表最多只能保存這麼多數量的資料或物件。比方說,我們的教室最多只能坐下25位學員,所以我們招生的上限是25人,也就是說,我們最多只能保存25張報名表,而且是先報名者優先處理的先進先出次序,如圖3所示。




不過,當我們設定完物件節點的性質之後,回頭來看活動圖,你會發現無法從圖面上看出報名表具有特殊的性質,如圖4所示。




其實,軟體工具應該提供顯示或隱藏資訊的功能,我找不到VS2010中關於這方面的設定。我想透過另一套前面文章談過的UML工具Visual Paradigm for UML Community Edition,來展現這個簡單的功能。

請你看到圖5,在Visual Paradigm中,可以讓我們選擇秀出物件節點的特性內容,而且這也是UML標準的表示法。




由於,次序的預設值是先進先出,在沒有更改預設值的情況下,其實是不需要秀出次序的設定值。所以,在圖5的右圖中,我們特別將次序改成「有序」,這時就會出現次序的設定值了。

倘若,把VS2010和Visual Paradigm簡單地兩相比較之下,我們可以發現,對於支援UML的課題上,VS2010其實還有許多值得我們期待的功能,在往後的改版中是指日可待的。
好吧,最後我們再來看物件節點的「選擇」(Selection)特性。其實,這個特性跟「有序」有關係,當我們設定了物件節點是有次序的,但不是先進先出、後進先出,而是某一種我們設計的次序方法時,就可以在「選擇」這個欄位中連結我們自行設計的排序方法。

《詳細內文請見iThome電腦報449期(www.ithome.com.tw),天瓏、誠品、何嘉仁、搜主義、敦煌、法雅客、Page one書店均有銷售》


449期其他精采內容:
.封面故事:短焦投影機採購大特輯
.新聞:個人資料保護法三讀通過
.3分鐘關鍵字:智慧電網
.CIO TALK:輔祥IT貼緊營運的秘訣 用持續性審計天天幫IT健檢
.IT實戰:如何架設VMware分散式虛擬交換器
.產品測試:3G/802.11n無線路由器:D-Link DIR-412/備份軟體:Acronis True Image Home 2010
.IT邦幫忙:如何做精簡的客服記錄系統?/如何利用排程為遠端主機重新開機或重啟服務?/連接Facebook的網路異常,請問該如何解決?