【二】、UML基礎知識

【二】、UML基礎知識

UML概述
UML是一個通用的可視化建模語言,不一樣於編程語言,它經過一些標準的圖形符號和文字來對系統進行建模。用於對軟件進行描述、可視化處理、構建軟件系統的文檔。是一套總結了以往建模技術的經驗並吸取了當今最優秀成果的標準建模方法。編程

UML的結構
視圖
用戶視圖:以用戶的觀點表示系統的目標,它是全部視圖的核心,該視圖描述系統的需求。編程語言

結構視圖:表示系統的靜態行爲,描述系統的靜態元素,如包、類與對象,以及它們之間的關係。ide

行爲視圖:表示系統的動態行爲,描述系統的組成元素,如對象在系統運行時的交互關係。設計

實現視圖:表示系統中邏輯元素的分佈,描述系統中的文件以及它們之間的關係。3d

環境視圖:表示系統中物理元素的分佈,描述系統中的硬件設備以及它們之間的關係。
【二】、UML基礎知識對象


用例圖blog

類圖、對象圖、包圖、組合結構圖繼承

狀態圖、活動圖、順序圖、通訊圖、定時圖、交互概覽圖接口

組件圖生命週期

部署圖

模型元素
模型元素包括事物以及事物與事物之間的關係

事物是UML的重要組成部分,它表明任何能夠定義的東西

事物之間的關係把事物聯繫在一塊兒,組成有意義的結構模型

每個模型元素都有一個與之相對應的圖形元素

同一個模型元素能夠在不一樣的UML圖中使用

但不管在哪一個圖中,同一個模型元素都保持相同的意義和符號

通用機制
UML提供的通用機制爲模型元素提供額外的註釋、語義和其餘信息,包括擴展機制,容許用戶對UML進行擴展。

類和類圖
類(Class)封裝了數據和行爲,是面向對象的重要組成部分。

類是具備相同屬性、操做、關係的對象集合的總稱。

在系統中每一個類具備必定的職責,職責指的是類所擔任的任務,即類要完成什麼樣的功能,要承擔什麼樣的義務。一個類能夠有多種職責,設計得好的類通常只有一種職責。

類的屬性即類的數據職責,類的操做即類的行爲職責。

類圖使用出如今系統中的不一樣類來描述系統的靜態結構,它用來描述不一樣的類以及它們之間的關係。

類的UML圖示
在UML類圖中,類通常由三部分組成:

第一部分是類名:每一個類都必須有一個名字,類名是一個字符串

按照Java語言的命名規範,類名中每個單詞的首字母均大寫。
【二】、UML基礎知識

第二部分是類的屬性:屬性是指類的性質,即類的成員變量。一個類能夠有任意多個屬性,也能夠沒有屬性。

按照Java語言的命名規範,屬性名中的第一個單詞全小寫,以後每一個單詞首字母大寫(駝峯命名法)
【二】、UML基礎知識

第三部分是類的操做:操做是類的任意一個實例對象都擁有的行爲,是類的成員方法。

按照Java語言的命名規範,屬性名中的第一個單詞全小寫,以後每一個單詞首字母大寫(駝峯命名法)
【二】、UML基礎知識

類之間的關係
關聯關係
關聯關係是類與類之間最經常使用的一種關係,它是一種結構化關係,用於表示一類對象與另外一類對象之間有聯繫。

在UML類圖中,用實線鏈接有關聯關係的對象所對應的類,在使用Java、C++和C#等編程語言實現關聯關係時,一般將一個類的對象做爲另外一個類的成員變量

在使用類圖表示關聯關係時能夠在關聯線上標註角色名
【二】、UML基礎知識

雙向關聯
【二】、UML基礎知識

單向關聯
【二】、UML基礎知識

自關聯

【二】、UML基礎知識
【二】、UML基礎知識
多重性關聯:多重性關聯關係又稱爲重數性關聯關係,表示兩個關聯對象在數量上的對應關係。在UML中,對象之間的多重性能夠直接在關聯直線上用一個數字或一個數字範圍表示
【二】、UML基礎知識
【二】、UML基礎知識

聚合關聯

聚合關係表示總體與部分的關係

在聚合關係中,成員對象是總體對象的一部分,可是成員對象能夠脫離總體對象獨立存在

在UML中,聚合關係用帶空心菱形的直線表示
【二】、UML基礎知識
【二】、UML基礎知識

組合關聯

組合關係也表示類之間總體和部分的關係,可是在組合關係中總體對象能夠控制成員對象的生命週期,一旦總體對象不存在,成員對象也將不存在。

成員對象與總體對象之間具備同生共死的關係。

在UML中,組合關係用帶實心菱形的直線表示。
【二】、UML基礎知識
【二】、UML基礎知識

依賴關係
依賴關係是一種使用關係,特定事物的改變有可能會影響到使用該事物的其餘事物,在須要表示一個事物使用另外一個事物時使用依賴關係。

大多數狀況下,依賴關係體如今某個類的方法使用另外一個類的對象做爲參數

在UML中,依賴關係用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。
【二】、UML基礎知識
【二】、UML基礎知識

在系統實現階段,依賴關係一般經過三種方式來實現:

將一個類的對象做爲另外一個類中方法的參數

在一個類的方法中將另外一個類的對象做爲其局部變量

在一個類的方法中調用另外一個類的靜態方法

泛化關係
泛化關係也就是繼承關係,用於描述父類與子類之間的關係,父類又稱爲基類或超類,子類又稱爲派生類。

在UML中,泛化關係用帶空心三角形的直線來表示

在代碼實現時,使用面向對象的繼承機制來實現泛化關係,在Java語言中使用extends關鍵字,在C++/C#中使用冒號":"來實現。
【二】、UML基礎知識
【二】、UML基礎知識

接口與實現關係
接口之間也能夠有與類之間關係相似的繼承關係和依賴關係

接口與類之間存在一種實現關係,在這種關係中,類實現了接口,類中的操做實現了接口中聲明的操做

在UML中,類與接口之間的實現關係用帶空心三角形的虛線來表示
【二】、UML基礎知識
【二】、UML基礎知識
【二】、UML基礎知識

註釋
【二】、UML基礎知識
實例——命令模式
【二】、UML基礎知識

相關文章
相關標籤/搜索