統一建模語言 UML

目錄

  1. 統一建模語言 UML
    1. UML定義了5類10種模型圖
      1. 一用例圖用于建立需求模型
      2. 二靜態圖主要描述系統的靜態表示和關系包括類圖包圖對象圖
      3. 三行為圖描述系統動態模型和對象組成的交換關系包括狀態圖和活動圖
      4. 四交互圖用于描述對象間的交互關系由一組對象和它們之間的關系組成包含它們之間可能傳遞的消息
      5. 五實現圖就是指示如何組織構件和具體的構件部署到具體的節點上包含組件圖和部署圖
    2. 畫圖工具
    3. 圖例介紹

統一建模語言 UML

?UML(Unified Modeling Language)的是要成為一種標準的統一語言,使得IT專業人員能夠進行計算機應用程序的建模。

UML的主要創始人是JimRumbaugh、IvarJacobson和GradyBooch,他們最初都有自己的建模方法(OMT、OOSE和Booch),彼此之間存在著競爭。最終,他們聯合起來創造了一種開放的標準。

UML成為"標準"建模語言的原因之一在于,它與程序設計語言無關。而且,UML符號集只是一種語言而不是一種方法學。因為語言與方法學不同,它可以在不做任何更改的情況下很容易地適應任何公司的業務運作方式。

UML不是一種方法學,不需要任何正式的工作產品。而且它還提供了多種類型的模型描述圖(diagram),當在某種給定的方法學中使用這些圖時,它使得開發中的應用程序的更易理解。UML的內涵遠不只是這些模型描述圖,但是對于入門來說,這些圖對這門語言及其用法背后的基本原理提供了很好的介紹。通過把標準的UML圖放進工作產品中,精通UML的人員就更加容易加入項目并迅速進入角色。最常用的UML圖包括:用例圖、類圖、序列圖、狀態圖、活動圖、組件圖和部署圖。

?

  • 1、UML定義了5類,10種模型圖

五種類圖定義:

一、用例圖:用于建立需求模型

1.用例圖(UseCaseDiagram):從用戶角度描述系統功能,并指各功能的操作者;主要用來描述用戶、需求、系統功能單元之間的關系。它展示了一個外部用戶能夠觀察到的系統功能模型圖。

二、靜態圖:主要描述系統的靜態表示和關系;包括類圖,包圖,對象圖。

2.類圖(ClassDiagram):描述系統中類的靜態結構。是顯示了一組類、接口、協作以及他們之間的關系。在UML中問題域最終要被逐步轉化,通過類來建模,通過編程語言構建這些類從而實現系統。類加上他們之間的關系就構成了類圖,類圖中還可以包含接口、包等元素,也可以包括對象、鏈等實例。

3.包圖(PackageDiagram):是包和類組成的,表示包與包之間的關系,包圖描述系統的分層結構。

4.對象圖(ObjectDiagram):是類圖的實例,幾乎使用與類圖完全相同的標示。使用對象圖來說明數據結構,類圖中的類或組件等的實例的靜態快照。對象圖和類圖一樣反映系統的靜態過程,但它是從實際的或原型化的情景來表達的。

?

三、行為圖:描述系統動態模型和對象組成的交換關系。包括狀態圖和活動圖

5.活動圖(ActiveDiagram):描述了業務實現用例的工作流程。一種特殊的狀態圖,展現了系統內一個活動到另一個活動的流程。活動圖有利于識別并行活動。

6.狀態圖(StateDiagram):是描述狀態到狀態控制流,常用于動態特性建模,由狀態、轉換、事件和活動組成,描述類的對象所有可能的狀態以及事件發生時的轉移條件。通常狀態圖是對類圖的補充,僅需為那些有多個狀態的、行為隨外界環境而改變的類畫狀態圖。

?

四、交互圖:用于描述對象間的交互關系,由一組對象和它們之間的關系組成,包含它們之間可能傳遞的消息。

交互圖又分為序列圖和協作圖,其中序列圖描述了以時間順序組織的對象之間的交互活動;協作圖強調收發消息的對象的結構組織。

7.順序圖(SequenceDiagram):對象之間的動態合作關系,強調對象發送消息的順序,同時顯示對象之間的交互

8.協作圖(CollaborationDiagram):描述對象之間的協助關系

?

五、實現圖:就是指示如何組織構件和具體的構件部署到具體的節點上。包含組件圖和部署圖

9.組件圖(ComponentDiagram):展現了一組組件的物理結構和組件之間的依賴關系。部件圖有助于分析和理解組件之間的相互影響程度。

10.部署圖(DeploymentDiagram):展現了運行處理節點以及其中的組件的配置。部署圖給出了系統的體系結構和靜態實施視圖。它與組件圖相關,通常一個節點包含一個或多個構建。

?

畫圖工具

1.UML建模工具Visio 、RationalRose、PowerDesign。

2.ProcessOn在線設計器支持UML統一建模語言的定義和語義,同時支持UML的用例圖和靜態圖在線建模。

?

圖例介紹

?

?1.用例圖(UseCaseDiagram)

?

?

?2.類圖(ClassDiagram)

?

在UML類圖中,常見的有以下幾種關系: 泛化(Generalization), ?實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)

?

?

?

3.包圖(PackageDiagram)

?

4.對象圖(ObjectDiagram)

?

5.活動圖(ActiveDiagram)

?

6.狀態圖(StateDiagram)

?

?

7.順序圖(SequenceDiagram)——時序圖

?

8.協作圖(CollaborationDiagram)

?

?

9.組件圖(ComponentDiagram)

?

?

10.部署圖(DeploymentDiagram)

?

轉自:http://blog.csdn.net/xinyuan_java/article/details/51589627

?

轉載于:https://www.cnblogs.com/liushui-sky/p/6121842.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285315.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285315.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285315.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[轉]npm生成的package.json文件中依賴項版本號前的波浪號(~)和插入符號(^)是啥意思?

package.json一般也就長這么模樣: {"name": "","description": "","version": "4.17.1","author": "","contributors": [],"license": "MIT",&quo…

使用 C# 提取 PDF 文件中的所有文字(支持 .NET Core)

PDF 是 Portable Document Format 的簡稱,意為“可攜帶文檔格式”,是由 Adobe Systems 用于與應用程序、操作系統、硬件無關的方式進行文件交換所發展出的文件格式。PDF 文件以 PostScript 語言圖象模型為基礎,無論在哪種打印機上都可保證精確…

【錯誤異常大全】:正嘗試在 OS 加載程序鎖內執行托管代碼。不要嘗試在 DllMain 或映像初始化函數內運行托管代碼,這樣做會導致應用程序掛起。

文章目錄 錯誤異常:解決方案一:解決方案二:錯誤異常: 正嘗試在 OS 加載程序鎖內執行托管代碼。不要嘗試在 DllMain 或映像初始化函數內運行托管代碼,這樣做會導致應用程序掛起。 解決方案一: 1、把VS菜單的 調試->異常->Managed Debuggin Assistants->LoaderLo…

Linux——JDK的部署

1.檢查一下系統中的jdk版本[java] view plaincopy $>java -version java version "1.7.0_"OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)2.檢測JDK安裝包[java] view pla…

python字符串格式化方法 format函數的使用

python從2.6開始支持format,新的更加容易讀懂的字符串格式化方法,從原來的% 模式變成新的可讀性更強的花括號聲明{}、用于渲染前的參數引用聲明, 花括號里可以用數字代表引用參數的序號, 或者 變量名直接引用。從format參數引入的…

C語言試題133之畫圓形

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:畫圓形 2 、溫馨提示 想獲取…

ReactDom.render和React.render的區別

這個是react最新版api,也就是0.14版本做出的改變。主要是為了使React能在更多的不同環境下更快、更容易構建。于是把react分成了react和react-dom兩個部分。這樣就為web版的react和移動端的React Native共享組件鋪平了道路。也就是說我們可以跨平臺使用相同的react組…

[轉]阿里編程規范(精簡版)

文章目錄 1、簡介2、命名:3、格式規約4、注釋規約5、OOP規約6、集合處理7、控制語句8、異常9、日志10、單元測試11、工程規約1、簡介 統一規范標準將有助于提高行業編碼規范化水平,幫助行業人員提高開發質量和效率、大大降低代碼維護成本 2017年年初,首次…

C#(Sharp)GDI plus與圖形編程(計算機圖形學必備知識)

文章目錄 9.1 GDI+與圖形編程9.1.0 GDI概念9.1.1 GDI+繪圖命名空間9.1.2 坐標系統9.1.3 Graphics類9.2 繪圖工具類9.2.1 Pen類9.2.2 常用圖形的繪制方法9.2.3 Brush 類9.3 繪制相關圖形9.3.1 繪制曲線9.1 GDI+與圖形編程 9.1.0 GDI概念 GDI是Graphics Device Interface的縮寫…

.Net之延遲隊列

介紹具有隊列的特性,再給它附加一個延遲消費隊列消息的功能,也就是說可以指定隊列中的消息在哪個時間點被消費。使用場景延遲隊列在項目中的應用還是比較多的,尤其像電商類平臺:訂單成功后,在30分鐘內沒有支付&#xf…

C語言試題134之畫直線

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:用 line 畫直線 2 、溫馨提示…

KeyMob應用開發者服務平臺幫助開發者推廣和盈利

為什么80%的碼農都做不了架構師?>>> 2014年10月,新版KeyMob移動廣告聚合平臺正式上線,登入KeyMob移動廣告聚合平臺即可看到聚合功能,目前新KeyMob整合了國內外多家主流的廣告平臺,實實在在的為應用開發者賺…

Android GIS開發系列-- 入門季(13)Gdal簡單寫個shp文件

Gdal是用來讀寫柵格與矢量數據的,在Gdal官網,可以下載相關的資源進行平臺的編譯。其實Arcgis底層也是用Gdal來讀取shp文件的,那在Android中可以直接讀寫shp文件嗎,是可以的。這里已經有人編譯了Android端的so ,下載地址…

VS code 搭建Vue 項目

必備工具:Vs Code、NodeJs 1、新建一文件目錄來存放工程文件 2、右鍵用VS Code打開 3、Ctr 打開terminal面板,建議先將設置鏡像服務器,可能否則安裝比較慢。 npm config set registry https://registry.npm.taobao.org --globalnpm config…

C語言試題135之畫方形

??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 題目:用 rectangle 畫方形 2 、溫…

C#(Sharp)操作數據庫原理及案例精析(強烈建議收藏)

劉一哥C#從入門到精通系列精品教程合集: 1.【C#程序設計】教學講義——第一章:C#語言概述 2.【C#程序設計】教學講義——第二章:簡單C#程序設計 3.【C#程序設計】教學講義——第三章:C#語言基礎 4.吐血整理:C#順序、選擇、循環結構用法與案例,這一篇就夠了! 5.C#數組原來…

SpringMVC4零配置--web.xml

servlet3.0規范后,允許servlet,filter,listener不必聲明在web.xml中,而是以硬編碼的方式存在,實現容器的零配置。 ServletContainerInitializer:啟動容器時負責加載相關配置 Java代碼 package javax.servl…

GoldenGate介紹

Oracle Golden Gate軟件是一種基于日志的結構化數據復制備份軟件,它通過解析源數據庫在線日志或歸檔日志獲得數據的增量變化,再將這些變化應用到目標數據庫,從而實現源數據庫與目標數據庫同步。Oracle Golden Gate可以在異構的IT基礎結構&…

[轉]我們為什么要用vue,他解決了什么問題,如何使用它?

Vue.js新手入門指南 最近在逛各大網站,論壇,以及像SegmentFault等編程問答社區,發現Vue.js異常火爆,重復性的提問和內容也很多,樓主自己也趁著這個大前端的熱潮,著手學習了一段時間的Vue.js,目前…

java反射機制續

http://www.cnblogs.com/fingerboy/p/5325261.html轉載于:https://www.cnblogs.com/yangmin-78819/p/5328869.html