UML機制、通用機制

UML中的四種機制使地它簡單和更易於使用,你可以在UML語言的任何時候用同樣的方法來使用,這四種機制是:

l specifications

l adornments

l common divisions

l extensibility

本章討論adornments和extensibility這兩種機制。

 

註釋是最重要的一種修飾。一個註釋在UML中是一個圖形符號,描述了和它相關聯的元素或一組元素的限制或註釋語。

 

   


上圖就是一個使用註釋的例子,圖中右邊的爲註釋符號。

 

UML的擴充性機制允許你在控制的方式下擴充UML語言。這一類的機制包括:stereotype,標記值、約束。Stereotype擴充了UML的詞彙表,允許你創建新的建築塊,這些建築塊從已有的繼承而來,但特別針對你的問題。標記值擴充了UML的建築塊的屬性,允許你在元素的規格中創建新的信息。約束擴充了UML建築塊的語義,允許你添加新的規則或修改已有的。你將使用這些機制來讓UML滿足你的領域和開發的特別需要。

 

 

 


上面是一個使用擴充機制的例子。<<subsystem>>是stereotype,{version = 3.2}是標記值

 

術語和概念

註釋是一種圖形符號用來限制或給一個元素或一組元素加上註解。註釋畫成一個帶折角的矩形,在矩形中加上文字或圖形的註解,

 

stereotype是UML詞彙的擴充,允許你創建新的UML建築塊,這些新的建築塊和原有的類似,但特別針對你自己的問題。通常stereotype畫成用<<和>>包圍起來的一個名字,通常放在另一個元素的名字之上。作爲可選,stereotype可以畫成加一個圖標。

 

標記值是UML元素特性的擴充,允許你創建元素規格的新的信息。在UML中標記值畫成{}內的字符串,跟在元素名後面。

 

限制是UML元素語義的擴充,允許你對一個UML元素添加新規則或修改存在的規則。限制通常畫成{}內的字符串,放在關係附近。當然,你也可以把限制用註釋來表示。

 

通用建模技術

1.        建模註解

使用註釋的目的是爲了讓模型更清晰,下面是使用註釋的一些技巧:

l  將註釋放在你要註解的元素邊上,寫下註解的文字。用依賴關係的線將註釋和被註釋的元素連起來會讓人更明白。

l  記住,你可以隱藏元素或使隱藏的元素可見。這就意味着你可以將註釋不隱藏起來,而她註釋的元素是可見的,這樣會使你的模型圖簡潔,在必要的地方讓註釋可見。

l  如果你的註釋很長或不僅僅是普通文本,你可以將你的註解放到一個獨立的外部文件中(如WORD文檔)然後鏈接或嵌入到你的模型中。

下面是一個使用註解的例子:



建立新的建築塊

UML的建築塊如:類、接口、合作、組件、註釋、關係等等,都在爲具體問題建模的時候基本上是夠用了。然而,如果你想擴展你的模型的詞彙,如用來表示你的特定的問題領域,你需要stereotypes。

建立新的建築塊有如下的技巧:

l  確定沒有現成的基本的UML方法可以表達你的需要。如果你碰到一個普通的建模問題,很有可能已經有某種標準的stereotype是你想要的。

l  如果你確信沒有現成的東西可以表達這些語義,首先找到一個UML中的最接近你要建立的模型的元素(例如:類、接口、組件、註釋、關係等等)然後爲她定義一個stereotype。值得一提的是你可以定義stereotypes的層次從而得到一般的stereotypes和爲它定義的特別的特性。這種方法儘量少用。

l  通過對普通的stereotype定義一組標記值和對stereotype進行限制可以實現普通stereotype不能實現的功能。

l  如果你希望這些stereotype具有不同的視覺效果,爲他們定義一個特別的圖標。



上面是一個例子。假如你用活動圖來爲一個涉及到教練工作流和隊員工作流的體育活動建模。在這裏,區別教練和運動員以及與其他的本領域的對象是有意義的。上面的圖中有兩個事物是很突出的,教練對象和隊員對象。這裏不僅僅是普通的類,更確切地說,他們現在是兩個新的建築塊。因爲定義了教練和隊員stereotype,並且運用到了UML的類上。在這個圖上,被標記爲:Coach和:Team的匿名實例,後者顯示了不同的狀態。

建模新屬性

UML建築塊的基本屬性如:類的屬性和操作,包的內容等等,都足夠描述清楚你要建立的模型。然而,如果你想擴展這些基本建築塊(或者用stereotype建立的新的建築塊)的屬性,你就需要使用標記值。

下面是一些技巧:

l  首先要確定的是你的需要無法用基本的UML表達。如果你碰到一個普通的建模問題,很有可能已經有某種標準的標記值是你想要的

l  如果你確定沒有其他的方法可以表達你需要的語義,添加新的屬性到一個單獨的元素或一個stereotype。繼承的規則是適用的,也就是說對父親定義的標記值對兒子也具有。


建立新的語義

當你用UML建立模型的時候,你總是使用UML定義的規則,這實在是件好事,因爲別的懂得如何讀UML的人可以毫無偏差地讀懂你想要表達的東西。然而,如果你發現你需要表達的語義是UML無法表達的或你想要修改UML的規則,這時你就需要使用限制了。下面是使用限制的一些技巧:

l  首先要確定的是你的需要無法用基本的UML表達。如果你碰到一個普通的建模問題,很有可能已經有某種標準的限制是你想要的。

l  如果你確定沒有其他的方法可以表達你需要的語義,用文本的形式在限制中寫下你的新語義,並且將他放在他涉及的元素附近。你可以使用依賴關係來明確地表示限制和他涉及的元素之間的關聯。

l  如果你需要詳細說明你的語義,你可以用使用OCL把它寫下來。

下面的圖是一個公司人力資源系統的一小部分:


這副圖顯示了每個Person可能是0個或多個Department的成員。每個Department至少要有一個Person成員。這副圖進一步說明每個Department嚴格地有一個Person作爲管理者,每個Person可以是0個或多個Department的被管理人員。所有的這些語義可以被簡單的UML表達。然而,爲了指出一個管理者必須也是Department的成員是多員關係所忽略的,也是簡單的UML無法表達的。爲了表達這種關係,你必須寫下一個限制指出管理者是Department成員的一個子集。從子集到超集用依賴關係將兩個關係聯繫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章