| ??? 1 UML的建筑塊 組成UML有三種基本的建筑塊: 1、事物(Things) 2、關系(Relationships) 3、圖(Diagrams) 事物是UML中重要的組成部分。關系把事物緊密聯系在一起。圖是很多有相互相關的事物的組。
1.1?? UML的事物 UML中有始終類型的事物: 1、結構事物(Structural things) 2、動作事物(Behavioral things) 3、分組事物(Grouping things) 4、注釋事物(Annotational things) 這些事物是UML模型中最基本的面向對象的建筑塊。它們在模型中屬于最靜態的部分,代表概念上等或物理上的元素。
1.1.1結構事物。 總共有七種結構化事物。首先是類(class),類是描述具有相同屬性、方法、關系和語義的對象的集合。一個類實現一個或多個接口。在UML 中類被畫為一個矩型,通常包括它的名字、屬性和方法。 | Window | | Origin Size | Open() Close() Move() Display() | ? ? ? ? ? ?圖1-1 類 第二種是接口(interface),接口是指類或組件提供特定服務的一組操作的集合。因此,一個接口描述了類或組件的對外的可見的動作。一個接口可以實現類或組件的全部動作,也可以只實現一部分。接口在UML 中被畫成一個圓和它的名字。???? ?????? 圖1-2 接口
第三種是協作(collaboration),協作定義了交互的操作,是一些角色和其它元素一起工作,提供一些合作的動作,這些動作比元素的總和要大。因此,協作具有結構化、動作化、維的特性。一個給定的類可能是幾個協作的組成部分。這些協作代表構成系統的模式的實現。協作在UML 中用一個虛線畫的橢圓和它的名字來表示。 ? ? 圖1-3 協作 ? 第四種是use case,use case是描述一系列的動作,這些動作是系統對一個特定角色執行,產生值得注意的結果的值。在模型中use case通常用來組織動作事物。Use case是通過協作來實現的。在UML 中,use case畫為一個實線橢圓,通常還有它的名字。 ? ? 圖1-4 use case ?
第五種是活動類(active class),活動類是這種類,它的對象有一個或多個進程或線程。活動類和類很相象,只是它的對象代表的元素的行為和其他的元素是同時存在的。在UML 中活動類的畫法和類相同,只是邊框用粗線條。 | EventManager | Suspend() Flush()
|
圖1-5 活動類 ? 第六種是組件(component),組件是物理上或可替換的系統部分,它實現了一個接口集合。在一個系統中,你可能會遇到不同種類的組件,例如COM+ 或JAVA BEANS。組件在UML中用如下的圖表示:
圖1-6 組件 第七種是結點(node),結點是一個物理元素,它在運行時存在,代表一個可計算的資源,通常占用一些內存和具有處理能力。一個組件集合一般來說位于一個結點,但有可能從一個結點轉到另一個結點。結點通常用如下的圖形表示: ??? 圖1-7結點 ? 類、接口、協作、use case、活動類、組件和結點這七個元素是在UML 模型中使用的最基本的結構化事物。系統中還有這七種基本元素的變化體,如角色、信號(某種類),進程和線程(某種活動類),應用程序、文檔、文件、庫、表(組件的一種)。 ? 1.1.2 動作事物 動態事物是UML 模型中的動態部分。它們是模型的動詞,代表時間和空間上的動作。總共有兩種主要的動作事物。 第一種是ineraction,interaction是由一組對象之間在特定上下文中,為達到特定的目的而進行的一系列消息交換而組成的動作。 interaction中組成動作的對象的每個操作都要詳細列出,包括消息、動作次序(消息產生的動作),連接(對象之間的連接)。在UML 中消息畫成帶箭頭的直線,通常加上操作的名字。
?
圖1-8 消息 ?????? 第二種是狀態機(state machine),狀態機由一系列對象的狀態組成。在UML 中狀態表示為下圖: ? 圖案1-9 狀態 ? interaction和狀態機是UML 模型中最基本的兩個動態事物元素,它們通常和其他的結構元素、主要的類、對象連接在一起。 ? 1.1.3 分組事物 分組事物是UML 模型中組織的部分,可以把它們看成是個盒子,模型可以在其中被分解。總共只有一種分組事物,稱為包(package)。 包是一種將有組織的元素分組的機制。結構事物、動作事物甚至其他的分組事物都有可能放在一個包中。與組件(存在于運行時)不同的是包純粹是一種概念上的東西,只存在于開發階段。在UML 中用如下圖表示包: ? ? ? 圖 1-10 包
1.1.4 注釋事物 注釋事物是UML模型的解釋部分。UML中用如下圖表示: ? 圖 1-11 注釋 ? 1.1.5 UML中的關系 UML中有四種關系: 1.???? 依賴(Dependencies)? (圖1-12 依賴) ? 2.??? 關聯(Association) (圖 1-13 關聯) ? 3.???????? 一般化(generalization) (圖1-14 一般化) ? 4.?????? 實現(realuzation)? (圖 1-15 實現) ? 1.1.6 UML中的圖 ? 1、類?圖(class diagram) 2、對象圖(class diagram) 3、用例圖(Use case diagram) 4、順序圖(Sequence diagram) 5、協作圖(Collaboration diagram) 6、狀態圖(Statechart diagram) 7、活動圖(Activity diagram) 8、組件圖(Compomnent diagram) 9、分布圖(Deployment diagram) ? |