動態

列表
創建 時間

UML之包與包圖

瞭解UML的人都知道UML中也有包的概念,包在UML中作用與面向對象編程語言中類似,它是管理對象的工具,也是解決對象同名衝突的手段。 在UML中,包的表示圖形是一個左上角帶標籤的矩形,而包名可以標註於矩形中央(如下圖所示,包名Package1位於矩形中央)或者左上角的標籤之內。 將包名置於包圖形中央時,通常會影響包中所包含內容的描畫,因而在需要體現包中的內容時,通常將包名置於左

創建 時間

UML之包的導入與訪問

包是UML中管理元素的有效手段,UML中的所有元素均隸屬於某一個包,即使你沒有指定元素所屬的包,這些元素也會被置於一個默認包中,包的本質是命名空間。當我們在一個包中需要訪問另一個包中的元素時,可以使用符號“::”逐級引用。 例如在下圖所示的包圖中,存在兩支包含多個層次的包,如果包A3中的元素需要訪問包B3中的元素C,則可以使用B1::B2::B3::C的形式達到目的。 不同包中

創建 時間

UML之模型、包及包的版型(構造型)

包是UML模型的組織結構,也是UML項目的配置管理結構。包存在多個層級,除了頂層包,所有包隸屬於一個且僅隸屬於一個上層包。在項目不同階段實際推進與配置過程中,通常以不同層級的包為單位進行check-in、check-out、打標籤及建立基準。許多項目會在計劃的時間點進行正式的官方評審,例如系統需求評審(SRR)、系統設計評審(SDR)、初步設計評審(PDR)、關鍵設計評審(CDR)或測試準備評審(

創建 時間

UML之屬性與參數的多重性

在UML中,多重性是指一個條目潛在的數量範圍。多重性可被用於屬性、操作參數、關聯關係。UML元模型也使用多重性對元模型元素之間的關係進行約束。多重性總是包含基數值,它是相關條目在現實世界中的確切數量。本文將説明類屬性和類操作參數的多重性。 一、屬性的多重性 假設我們需要定義一個表示書的Book類,它包含有一系列的屬性。我們只選取其中的書名(title)、作者(author)、頁數(pa

創建 時間

UML之集合類型

無論何時當我們要使用一個多值對象時,我們必須要清楚兩個問題,一是這些值的順序重要嗎?二是允許重複值的存在嗎?在編程語言中還會有其他的明確的信息,在UML中,只需明確這兩個問題的答案即可確定對應的集合類型。 1.Set Set是一個不允許存在重複值且未排序的集合。 例如一個騎行活動中,有許多騎手參加。每個騎手在一個騎行活動中只可能出現一次,即任一個特定的騎手在騎行活動中不可能重複出現;每個參與

創建 時間

UML之關聯

關聯指兩個類之間的各種聯繫。UML使用各種單實線表示關聯,這個單實線可以是直線(垂直的、水平的或者傾斜的)、折線甚至曲線。 事實上,關聯也是展示類的屬性的另一外的一種形式。例如在下圖中,我們通過一條實線連接類Book和類Person,表示它們之間存在關聯。在關聯的末端,標出多重性[*]和關聯端名稱(通常稱為“角色名稱”)author。 從上圖中我們可以看到關聯端名稱(角色名稱)

創建 時間

UML之組合與聚合

關聯和鏈接關係在很多情況下是對稱的,即被關聯的兩個類都有以自己為源端對方為目標端的角色存在,而且角色與源端類的屬性是等價的,即在關聯一端的關聯端(角色)等價於另外一端的屬性。例如,在下圖中,我們可以認為author:Person是類Book的一個屬性,而myBooks:Person是類Person的一個屬性。 關於關聯的詳細信息,可參閲《UML之關聯》一文。 如果希望表達一種非

創建 時間

UML之泛化、特化和繼承

在UML(統一建模語言)中,泛化(Generalization)和特化(Specialization)是面向對象思想中繼承(Inheritance)關係的重要概念,它們描述類與類(或用例與用例、參與者與參與者等)之間的一般與特殊的關係。 泛化是一種表示類之間繼承關係的方式,它指定了子類如何特化超類(父類)的所有特徵和行為。在UML中,泛化關係通過帶空心三角箭頭的實線表示,箭頭指向超類。這種關

創建 時間

UML之發現用例

用例是最簡單的UML元素,用例圖是最簡單的UML圖,但它也可能是UML中最有用的元素之一。儘管我們用包將工作分解為工作包、團隊任務或單項任務,也就是説包是組織UML中的各種圖及元素的工具。但是用例圖可以幫助我們確定任務,以及應當如何將它們分組並確定工作範圍。 每個用例都代表用户希望系統幫助實現的一個目的或目標。例如,對於銀行ATM機,客户希望使用它來取款、存款、轉賬或者修改密碼等,而銀行則希