天天看點

UML基本元素符号

在UML模組化中,對類圖上出現元素的了解是至關重要的。開發者必須了解如何将類圖上出現的元素轉換到Java中。以java為代表結合網上的一些執行個體,下面是個人一些基本收集與總結: 基本元素符号: 1. 類(Classes) 類包含3個組成部分。第一個是Java中定義的類名。第二個是屬性(attributes)。第三個是該類提供的方法。 屬性和操作之前可附加一個可見性修飾符。加号(+)表示具有公共可見性。減号(-)表示私有可見性。#号表示受保護的可見性。省略這些修飾符表示具有package(包)級别的可見性。如果屬性或操作具有下劃線,表明它是靜态的。在操作中,可同時列出它接受的參數,以及傳回類型,如下圖所示:
UML基本元素符号
  2. 包(Package) 包是一種正常用途的組合機制。UML中的一個包直接對應于Java中的一個包。在Java中,一個包可能含有其他包、類或者同時含有這兩者。進行模組化時,你通常擁有邏輯性的包,它主要用于對你的模型進行組織。你還會擁有實體性的包,它直接轉換成系統中的Java包。每個包的名稱對這個包進行了惟一性的辨別。
UML基本元素符号
  3. 接口(Interface) 接口是一系列操作的集合,它指定了一個類所提供的服務。它直接對應于Java中的一個接口類型。接口既可用下面的那個圖示來表示(上面一個圓圈符号,圓圈符号下面是接口名,中間是直線,直線下面是方法名),也可由附加了<<interface>>的一個标準類來表示。通常,根據接口在類圖上的樣子,就能知道與其他類的關系。
UML基本元素符号
關 系: 1. 依賴(Dependency) 實體之間一個“使用”關系暗示一個實體的規範發生變化後,可能影響依賴于它的其他執行個體。更具體地說,它可轉換為對不在執行個體作用域内的一個類或對象的任何類型的引用。其中包括一個局部變量,對通過方法調用而獲得的一個對象的引用(如下例所示),或者對一個類的靜态方法的引用(同時不存在那個類的一個執行個體)。也可利用“依賴”來表示包和包之間的關系。由于包中含有類,是以你可根據那些包中的各個類之間的關系,表示出包和包的關系。
UML基本元素符号
  2. 關聯(Association) 實體之間的一個結構化關系表明對象是互相連接配接的。箭頭是可選的,它用于指定導航能力。如果沒有箭頭,暗示是一種雙向的導航能力。在Java中,關聯轉換為一個執行個體作用域的變量,就像圖E的“Java”區域所展示的代碼那樣。可為一個關聯附加其他修飾符。多重性(Multiplicity)修飾符暗示着執行個體之間的關系。在示範代碼中,Employee可以有0個或更多的TimeCard對象。但是,每個TimeCard隻從屬于單獨一個Employee。
UML基本元素符号
3. 聚合(Aggregation) 聚合是關聯的一種形式,代表兩個類之間的整體/局部關系。聚合暗示着整體在概念上處于比局部更高的一個級别,而關聯暗示兩個類在概念上位于相同的級别。聚合也轉換成Java中的一個執行個體作用域變量。 關聯和聚合的差別純粹是概念上的,而且嚴格反映在語義上。聚合還暗示着執行個體圖中不存在回路。換言之,隻能是一種單向關系。
UML基本元素符号
  4. 合成(Composition) 合成是聚合的一種特殊形式,暗示“局部”在“整體”内部的生存期職責。合成也是非共享的。是以,雖然局部不一定要随整體的銷毀而被銷毀,但整體要麼負責保持局部的存活狀态,要麼負責将其銷毀。 局部不可與其他整體共享。但是,整體可将所有權轉交給另一個對象,後者随即将承擔生存期職責。Employee和TimeCard的關系或許更适合表示成“合成”,而不是表示成“關聯”。
UML基本元素符号
  5. 泛化(Generalization) 泛化表示一個更泛化的元素和一個更具體的元素之間的關系。泛化是用于對繼承進行模組化的UML元素。在Java中,用extends關鍵字來直接表示這種關系。
UML基本元素符号
  6. 實作(Realization) 執行個體關系指定兩個實體之間的一個合同。換言之,一個實體定義一個合同,而另一個實體保證履行該合同。對Java應用程式進行模組化時,實作關系可直接用implements關鍵字來表示。
UML基本元素符号
像聚合還分為:非共享聚合、共享聚合、複合聚合等。以及其它内容,下次再補充。