yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-3-19, PM 10:25 星期三 文章主題: UML簡介一 -- 節錄自《UML使用手冊》 |
|
|
UML(Unified Modeling Language)翻成中文是統一塑模語言。
它主要的功能是以視覺化的方式訂定、建構以及記錄軟體系統的分析設計文件。(此為主要功能,以次要功能來說,UML並不光只能用於軟體系統上,它也能用於公文系統的流程分析、醫療系統的結構和行為分析,以及硬體的設計上。)
UML的各種語彙包括以下三種組成要素:
一、事物(Things)
二、關係(Relationships)
三、圖型(Diagrams)
所謂的事物是抽象化的最終結果,也是模型裡面最基本的成員。
關係可以將事物綁在一起。
圖型則可以將事物的集合作分類。
UML裡面一共有四種事物:
一、結構事物(Structural things)
二、行為事物(Behavioral things)
三、分組事物(Grouping things)
四、附註事物(Annotational things)
以上幾種事物是UML裡面最基本的物件導向組成要素,透過這些事物可以撰寫出編排良好的模型。
結構事物是UML模型裡面的名詞,絕大多數都是模型裡面的靜態部分,可以用來代表概念或實體的表現元素。總而言之,結構事物共有七種。
第一種結構事物是類別(Class)。類別是一組共享某些相同屬性、操作、關係和語意的物件的描述。一個類別可以實作出一個或多個介面。以圖形來表示的話,類別可以表示成長方形,在長方形裡面包括有該類別的名稱、屬性和操作等,如下圖所示。
第二種是介面(Interface)。介面是操作的集合,這些操作可用來定出某一個類別或元件的服務。透過介面可以描述出某一個元素可供外界看見的行為。介面可能代表一個類別或元件全部的行為,也可能只是部分的行為。在介面裡定義有一組操作規格(介面的簽章),但並非操作的實作。以圖形來表示的話,介面可以表示成一個圓圈,圓圈底下標註有介面的名稱。介面甚少會單獨存在,它需要依附在實現此一介面的類別或元件上,如下圖所示。
第三種是合作(Collaboration)。合作定義了一種互動,也就是由角色和其他一同運作的元素所構成的群體,他們所提供的合作行為遠大於這些元素的行為總和。而且合作是有結構、行為以及維度的。一個類別可以參與多個不同的合作,透過合作可以表現出構成一個系統的實作模版。以圖形來表示的話,合作可以表示成一個虛線的橢圓形,橢圓形裡面只標註有合作的名稱,如下圖所示。
第四種是使用案例(Use Case)。使用案例是系統對於某一位動作者所發出的一連串動作的描述,這些動作最後會導致某些可以觀察得到的結果值。透過使用案例可以建構出模型裡面的行為事物。使用案例是由合作所實現的。以圖形來表示的話,使用案例可以表示成一個實線的橢圓形,橢圓形裡面只標註有使用案例的名稱,如下圖所示。
剩餘的三種事物,包括主動類別(Active Classes)、元件(Components)以及節點(Nodes)等都是屬於類別的一種,這表示這三種事物也是用來描述一組共享某些相同屬性、操作、關係和語意的物件的。但這三種事物的差異甚大,且當以某種角度來塑造物件導向系統裡面的模型時,這三種事物是不可或缺的,因此要做特殊的處理才行。
第五種是主動類別。主動類別也是類別的一種,但它裡面的每一個物件均有一個或多個自己的行程或執行緒,因此可以啟動某些控制活動。主動類別除了它裡面的物件所代表的元素的行為是可以同步的方式與其他元素溝通之外,基本上跟一般的類別是一樣的。以圖形來表示的話,主動類別跟類別一樣都是長方形,但主動類別會特別用粗線框起來,框框裡面包括有主動類別的名稱、屬性和操作,如下圖所示。
剩下的兩個元素--元件和節點也具有相當不一樣的特性,他們所代表的是實體的事物,之前的五種事物所代表的均是概念或邏輯事物。
第六種是元件。元件是系統裡面的實體且可取代的部分,代表的是一組介面的實現。在實際的系統裡面,您常會發現相當多的部署元件,像COM+元件或JavaBeans等,但元件也可以是開發過程的產出,比如說程式碼的檔案也可以視為元件。元件基本上代表各種邏輯元素,像類別、介面或合作的實體包裝。以圖形來表示的話,元件是一個長方形外加兩個小標籤,長方形裡面只有該元件的名稱而已,如下圖。
第七種是節點。節點是存在於執行時期的實體元素,代表的是運算資源,一般而言這種運算資源具有記憶體及運算處理的能力。元件會存在於節點裡面,但也可能是由另一個節點轉換過來的。以圖形來表示的話,節點是一個立方體,這個立方體裡面只有該節點的名稱而已,如下圖。
以上七種元素--類別、介面、合作、使用案例、主動類別、元件和節點都是UML模型裡面的基本結構事物。有些事物是概據這七種事物變化而來的,像動作者(Actors)、信號(Signals)以及公用類別(Utilities,是類別的一種)、行程(Processes)、執行緒(Threads,是主動類別的一種)、應用系統(Applications)、文件(Documents)、檔案(Files)、函式庫(Libraries)、分頁(Pages)以及資料表(Tables,是元件的一種)等。 |
|