uml是在開發階段,說明、視覺化、構建和書寫乙個物件導向軟體密集系統的製品的開放方法。最佳的應用是工程實踐,對大規模,複雜系統進行建模方面,特別是在軟體架構層次,已經被驗證有效。統一建模語言(uml)是一種模型化語言。模型大多以圖表的方式表現出來。乙份典型的建模圖表通常包含幾個塊或框,連線線和作為模型附加資訊之用的文字。這些雖簡單卻非常重要,在uml規則中相互聯絡和擴充套件。
在畫類圖的時候,理清類和類之間的關係是重點。類的關係有泛化(generalization)、實現(realization)、依賴(dependency)和關聯(association)。其中關聯又分為一般關聯關係和聚合關係(aggregation),合成關係(composition)。下面我們結合例項理解這些關係。
類圖(class diagram): 類圖是物件導向系統建模中最常用和最重要的圖,是定義其它圖的基礎。類圖主要是用來顯示系統中的類、介面以及它們之間的靜態結構和關係的一種靜態模型。
類圖的3個基本元件:類名、屬性、方法。
泛化(generalization):表示is-a的關係,是物件之間耦合度最大的一種關係,子類繼承父類的所有細節。直接使用語言中的繼承表達。在類圖中使用帶三角箭頭的實線表示,箭頭從子類指向父類。
實現(realization):在類圖中就是介面和實現的關係。這個沒什麼好講的。在類圖中使用帶三角箭頭的虛線表示,箭頭從實現類指向介面。
依賴(dependency):物件之間最弱的一種關聯方式,是臨時性的關聯。**中一般指由區域性變數、函式引數、返回值建立的對於其他物件的呼叫關係。乙個類呼叫被依賴類中的某些方法而得以完成這個類的一些職責。在類圖使用帶箭頭的虛線表示,箭頭從使用類指向被依賴的類。
關聯(association) : 物件之間一種引用關係,比如客戶類與訂單類之間的關係。這種關係通常使用類的屬性表達。關聯又分為一般關聯、聚合關聯與組合關聯。後兩種在後面分析。在類圖使用帶箭頭的實線表示,箭頭從使用類指向被關聯的類。可以是單向和雙向。
聚合(aggregation) : 表示has-a的關係,是一種不穩定的包含關係。較強於一般關聯,有整體與區域性的關係,並且沒有了整體,區域性也可單獨存在。如公司和員工的關係,公司包含員工,但如果公司倒閉,員工依然可以換公司。在類圖使用空心的菱形表示,菱形從區域性指向整體。
組合(composition) : 表示contains-a的關係,是一種強烈的包含關係。組合類負責被組合類的生命週期。是一種更強的聚合關係。部分不能脫離整體存在。如公司和部門的關係,沒有了公司,部門也不能存在了;調查問卷中問題和選項的關係;訂單和訂單選項的關係。在類圖使用實心的菱形表示,菱形從區域性指向整體。
多重性(multiplicity) : 通常在關聯、聚合、組合中使用。就是代表有多少個關聯物件存在。使用數字…星號(數字)表示。如下圖,乙個割接通知可以關聯0個到n個故障單。
聚合和組合的區別
這兩個比較難理解,重點說一下。聚合和組合的區別在於:聚合關係是「has-a」關係,組合關係是「contains-a」關係;聚合關係表示整體與部分的關係比較弱,而組合比較強;聚合關係中代表部分事物的物件與代表聚合事物的物件的生存期無關,一旦刪除了聚合物件不一定就刪除了代表部分事物的物件。組合中一旦刪除了組合物件,同時也就刪除了代表部分事物的物件。
uml基礎知識
類中的關係有六種,分別是 依賴是物件之間最弱的一種關聯方式,是一種臨時性的關聯,依賴物件依賴於被依賴的物件來完成某方面的功能,被依賴物件行為的改變會影響的依賴物件的結果輸出,中一般指由區域性變數 函式引數 返回值建立的對於其他物件的呼叫關係。在類圖使用帶箭頭的虛線表示,箭頭從使用類指向被依賴的類,如...
了解uml基礎知識
1.1 uml基礎知識掃盲 uml這三個字母的全稱是unified modeling language,直接翻譯就是統一建模語言,簡單地說就是一種有特殊用途的語言。你可能會問 這明明是一種圖形,為什麼說是語言呢?偉大的漢字還不是從圖形 象形文本 開始的嗎?語言是包括文字和圖形的 其實有很多內容文字是...
前置知識 UML部分基礎知識
uml unified modeling language 統一建模語言。它是乙個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和視覺化支援,包括由需求分析到規格,到構造和配置。目前主要包括13種圖,這包括uml2.0在原有的基礎上增加的4種。關聯是一種擁有關係,表示乙個類知道...