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
|