官术网_书友最值得收藏!

2.4.1 UML的通用機制

UML提供了一些通用的公共機制,使用這些通用的公共機制(簡稱通用機制)能夠使UML在各種圖中添加適當的描述信息,從而完善UML的語義表達。通常,使用模型元素的基本功能不能夠全面地表達所要描述的實際信息,這些通用機制可以有效地幫助更加全面的表達,以助于我們進行更有效的UML建模。UML提供的這些通用機制,貫穿于整個建模過程的方方面面。前面提到,UML的通用機制包括規格說明、修飾和通用劃分三個方面,下面分別對這三個方面進行說明。

1.規格說明(Specification)

如果把模型元素當成一個對象來看待,那么模型元素本身也應該具有很多的屬性,這些屬性用于維護屬于該模型元素的數據值。屬性是使用名稱和標記值(Tagged Value)來定義的。標記值指的是一種特定的類型,可以是布爾型、整型或字符型,也可以是某個類或接口的類型。UML中對于模型元素的屬性有許多預定義說明,例如在UML類圖中的Export Control,這個屬性指出該類對外是Public、Protected、Private還是Implementation。有時候也將這個屬性的具體內容稱為模型元素的特性。

模型元素的實例需要附加的相關規格說明來添加模型元素的特性,最簡單的方式是用鼠標雙擊某個模型元素,然后彈出一個關于該元素規格說明的窗口,在這個窗口內顯示了該模型元素的所有特性。如圖2-25所示,它是一個關于類的規格說明。

2.修飾(Adornment)

在UML的圖形表示中,每一個模型元素都有一個基本符號,這個基本符號可視化地表達了模型元素最重要的信息。用戶也可以把各種修飾細節加到這個符號上以擴展它的含義。這種添加修飾細節的做法可以使圖中的模型元素在視覺效果上發生一些變化。例如,在用例圖中,使用特殊的小人來表達Business Actor,如圖2-26所示。該表示方法相對于參與者的表示發生了顏色和圖形方面的細微變化。

圖2-25 類的規格說明示例

圖2-26 Business Actor圖形表示

不僅在用例圖中,在其他的一些圖中也可以使用修飾,例如,在類圖中,把類的名稱用斜體來標識以表示該類是抽象類等。這類修飾的用法,在這里就不一一舉例了。

另外,有一些修飾包含了對關系多重性的規格說明。這里的多重性是指用一個數值或一個范圍來指明關聯到一定數目的實例。在UML圖中,通常用修飾來添加信息并放在元素的旁邊。如圖2-27所示,這里的修飾表達了一個教師可以教一位到多位學生。

在UML眾多的修飾符中,還有一種修飾符是比較特殊的,那就是前文提到的注釋(Note)。注釋是一種非常重要的并且能單獨存在的修飾符,用它可以附加在模型元素或元素集上用來表示約束或注釋信息。如圖2-28所示,這是對圖書類的注釋示例。

圖2-27 有數目關系的修飾示例

圖2-28 對于圖書類的注釋示例

3.通用劃分(General Division)

通用劃分是一種保證不同抽象概念層次的機制。通常可以采用兩種方式進行通用劃分,一種是對類和對象的劃分,另外一種是對接口和實現的分離。類和對象的劃分是指類是一個抽象而對象是這種抽象的實例化。接口和實現的分離是指接口聲明了一個操作接口,但是卻不實現其內容,而實現則表示了對該操作接口的具體實現,它負責如實地實現接口的完整語義。

類和對象的劃分保證了實例及其抽象的劃分,從而使得對一組實例對象的公共靜態和動態特征無需一一管理和實現,只需要抽象成一個類,通過類的實例化實現對對象實體的管理。接口和實現的劃分則保證了一系列操作的規約和不同類對這些操作的具體實現。

主站蜘蛛池模板: 六安市| 辉县市| 怀柔区| 资源县| 苍梧县| 明光市| 昌都县| 垫江县| 平湖市| 库车县| 北碚区| 洞头县| 岳阳市| 孟连| 临澧县| 迁安市| 峨边| 来宾市| 连江县| 西峡县| 土默特右旗| 黄浦区| 台州市| 安乡县| 新建县| 明光市| 石首市| 东乌| 囊谦县| 喀什市| 萝北县| 文成县| 马山县| 津市市| 封丘县| 绍兴市| 新泰市| 岚皋县| 太湖县| 海兴县| 板桥市|