(六)uml建模
uml建模
文章目錄
- uml建模
- UML 概述
- UML 注釋
- UML 核心
- UML 類圖
- UML 對象圖
- UML 組件圖
- UML 部署圖
- UML 用例圖
- UML 交互圖
- UML 狀態(tài)圖
- UML 活動圖
- UML構(gòu)建模塊
- 一:事物:
- (1)結(jié)構(gòu)事物:
- (2)行為事物:
- (3)分組事物:
- (4)注釋事物:
- 二:關(guān)系
- 三:UML圖
- UML架構(gòu)
- UML建模類型
- (1)結(jié)構(gòu)建模:
- (2)行為建模:
- (3)架構(gòu)建模:
UML 概述
UML 是 OMG 在1997年1月提出了創(chuàng)建由對象管理組和 UML1.0 規(guī)范草案;
UML 是一種為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進行說明、可視化、和編制文檔的標準語言;
UML 作為一種模型語言,它使開發(fā)人員專注于建立產(chǎn)品的模型和結(jié)構(gòu),而不是選用什么程序語言和算法實現(xiàn);
UML 是不同于其他常見的編程語言,如C + +,Java中,COBOL等,它是一種繪畫語言,用來做軟件藍圖;
UML 不是一種編程語言,但工具可用于生成各種語言的代碼中使用UML圖;
UML 可以用來建模非軟件系統(tǒng)的處理流程,以及像在一個制造單元等.
UML 注釋
UML 中最重要的建模元素是符號。
適當(dāng)有效地使用符號對于一個完整的,有意義的模型來說是非常重要的。如果一個模型的目的無法正確的描繪,那么該模型是無用的。
因此,在開始學(xué)習(xí) UML 的時候就要強調(diào)表示法的重要性,不同的符號可用于表示物件和關(guān)系。
可擴展性是 UML 的另一個重要的特點,這使得UML更加強大和靈活。
UML 核心
UML 的核心是圖表,大致可以將這些圖歸類為結(jié)構(gòu)圖和行為圖。
- 結(jié)構(gòu)圖是由靜態(tài)圖,如類圖,對象圖等靜態(tài)圖;
- 行為圖是由像序列圖,協(xié)作圖等動態(tài)圖;
一個系統(tǒng)的靜態(tài)和動態(tài)特性是通過使用這些圖的可視化。
UML 類圖
類圖是使用面向?qū)ο蟮纳鐣盍餍械?UML 圖。它描述了在一個系統(tǒng)中的對象和他們的關(guān)系,能夠讓我們在正確編寫代碼以前對系統(tǒng)有一個全面的認識。
一個單獨的類圖描述系統(tǒng)的一個具體方面,收集類圖表示整個系統(tǒng)。基本上,類圖表示系統(tǒng)的靜態(tài)視圖。
類圖是唯一可以直接映射到面向?qū)ο蟮恼Z言UML圖。因此,它被廣泛應(yīng)用于開發(fā)者社區(qū)。
UML 對象圖
對象圖(Object Diagram)描述的是參與交互的各個對象在交互過程中某一時刻的狀態(tài)。對象圖可以被看作是類圖在某一時刻的實例。
在UML中,對象圖使用的是與類圖相同的符號和關(guān)系,因為對象就是類的實例。
UML 組件圖
組件圖是一種特殊的UML圖來描述系統(tǒng)的靜態(tài)實現(xiàn)視圖。組件圖包括物理組件,如庫,檔案,文件夾等。
此圖是用來從實施的角度。使用一個以上的元件圖來表示整個系統(tǒng)。正向和逆向工程技術(shù)的使用,使可執(zhí)行文件組件圖。
UML 部署圖
組件圖是用來描述一個系統(tǒng)的靜態(tài)部署視圖。這些圖主要用于系統(tǒng)工程師。
部署圖是由節(jié)點和它們之間的關(guān)系。一個高效的部署圖是應(yīng)用軟件開發(fā)的一個組成部分。
UML 用例圖
用例圖是從用戶角度描述系統(tǒng)功能,并指出各功能的操作者,用來捕捉系統(tǒng)的動態(tài)性質(zhì)。
一個高層次的設(shè)計用例圖是用來捕捉系統(tǒng)的要求,因此它代表系統(tǒng)的功能和流向。雖然用例圖的正向和反向工程是不是一個很好的選擇,但他們?nèi)匀辉谝粋€稍微不同的方法來模擬它。
UML 交互圖
交互圖,用于捕獲系統(tǒng)的動態(tài)性質(zhì)。
交互圖包括序列圖和協(xié)作圖,其中:序列圖顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互;協(xié)作圖描述對象間的協(xié)作關(guān)系,協(xié)作圖跟時序圖相似,顯示對象間的動態(tài)合作關(guān)系。
UML 狀態(tài)圖
狀態(tài)圖是一個用于模擬系統(tǒng)的動態(tài)性質(zhì)的五個圖。這些圖用來模擬一個對象的整個生命周期。
一個對象的狀態(tài)被定義為對象所在的條件下,特定的時間和對象移動對其他狀態(tài),在某些事件發(fā)生時。狀態(tài)圖還用于正向和反向工程。
狀態(tài)圖著重描述從一個狀態(tài)到另一個狀態(tài)的流程,主要有外部事件的參與。
UML 活動圖
活動圖是 UML 的動態(tài)模型的一種圖形,一般用來描述相關(guān)用例圖,活動圖是一種特殊的狀態(tài)圖。
準確的活動圖定義:活動圖描述滿足用例要求所要進行的活動以及活動間的約束關(guān)系,有利于識別并行活動。活動圖是一種特殊的狀態(tài)圖,它對于系統(tǒng)的功能建模特別重要,強調(diào)對象間的控制流程。
UML構(gòu)建模塊
UML 的概念模型需要掌握的三大要素是:
- UML構(gòu)建模塊
- 規(guī)則連接構(gòu)建模塊
- UML的公共機制
UML 的構(gòu)建塊的定義如下:
- 事物
- 關(guān)系
- 圖
一:事物:
事物是實體抽象化的最終結(jié)果,是 UML 構(gòu)建塊最重要的組成部分,事物的分類如下:
- 結(jié)構(gòu)事物
- 行為事物
- 分組事物
- 注釋事物
(1)結(jié)構(gòu)事物:
結(jié)構(gòu)事物是模型中的靜態(tài)部分,用以呈現(xiàn)概念或?qū)嶓w的表現(xiàn)元素,是軟件建模中最常見的元素,接下來是對結(jié)構(gòu)化物件的簡要描述:
A 類(class)
類是指具有相同屬性、方法、關(guān)系和語義的對象的集合;
B 接口((interface))
接口是指類或組件所提供的服務(wù)(操作),描述了類或組件對外可見的動作;
C 協(xié)作(collaboration)
協(xié)作定義元素之間的相互作用;
D 用例(use case)
用例定義了執(zhí)行者(在系統(tǒng)外部和系統(tǒng)交互的人)和被考慮的系統(tǒng)之間的交互來實現(xiàn)的一個業(yè)務(wù)目標;
E 組件(component)
組件描述物理系統(tǒng)的一部分;
F 節(jié)點(node)
一個節(jié)點可以被定義為在運行時存在的物理元素;
(2)行為事物:
行為事物指的是 UML 模型中的動態(tài)部分,代表語句里的 “動詞”,表示模型里隨著時空不斷變化的部分,包含兩類:
A 交互:
交互被定義為一種行為,包括一組元素之間的消息交換來完成特定的任務(wù)。
B 狀態(tài)機:
狀態(tài)機由一系列對象的狀態(tài)組成,它是有用的,一個對象在其生命周期的狀態(tài)是很重要的。
(3)分組事物:
可以把分組事物看成是一個"盒子",模型可以在其中被分解。目前只有一種分組事物,即包(package)。結(jié)構(gòu)事物、動作事物甚至分組事物都有可能放在一個包中。包純粹是概念上的,只存在于開發(fā)階段,而組件在運行時存在。
包:
封裝是唯一一個分組事物可收集結(jié)構(gòu)和行為的東西。
(4)注釋事物:
注釋事物可以被定義為一種機制來捕捉UML模型元素的言論,說明和注釋。注釋是唯一一個注釋事物。
注釋:
注釋用于渲染意見,約束等的UML元素。
二:關(guān)系
關(guān)系是另一個最重要的構(gòu)建塊UML,它顯示元素是如何彼此相關(guān)聯(lián),此關(guān)聯(lián)描述的一個應(yīng)用程序的功能,UML中定義了四種關(guān)系:
A 依賴關(guān)系:
依賴是兩件事物之間的語義聯(lián)系,其中一個事物的變化也影響到另一個事物。
B 協(xié)作:
一種描述一組對象之間連接的結(jié)構(gòu)關(guān)系,如聚合關(guān)系(描述了整體和部分間的結(jié)構(gòu)關(guān)系);
C 泛化:
泛化可以被定義為一個專門的元件連接關(guān)系與一個廣義的元素,它基本上描述了在對象世界中的繼承關(guān)系,是一種一般化-特殊化的關(guān)系;
D 實現(xiàn):
類之間的語義關(guān)系,其中的一個類指定了由另一個類保證執(zhí)行的契約。
三:UML圖
UML 圖的整個討論的最終輸出所有要素,關(guān)系用于使一個完整的UML圖,圖中表示的系統(tǒng)。
UML 圖的視覺效果是整個過程中最重要的部分。
圖是事物集合的分類,UML 中包含多種圖:
UML架構(gòu)
UML 是由視圖(View)、圖(Diagrams)、模型元素(Model elements)和通用機制等幾個部分構(gòu)成。
視圖用來表示被建模系統(tǒng)的各個方面。由多個圖構(gòu)成,它不是一個圖片,而是在某一個抽象層上,對系統(tǒng)的抽象表示。如果要為系統(tǒng)建立一個完整的模型圖,只需定義一定數(shù)量的視圖,每個視圖表示系統(tǒng)的一個特殊方面就可以了。視圖還把建模語言和系統(tǒng)開發(fā)時選擇的方法或過程連接起來。
圖由各種圖片構(gòu)成,用來描述一個視圖的內(nèi)容。UML語言定了9中不同的圖的類型,把它們有機地結(jié)合起來就可以描述系統(tǒng)的所有視圖。
模型元素代表面向?qū)ο笾械念悺ο蟆⑾⒑完P(guān)系等概念,是構(gòu)成圖的最基本的常用概念。
通用機制用于表示其他信息,比如注釋、模型元素的語義等。它還提供擴展機制,使UML語言能夠適應(yīng)一個特殊的方法(或過程)、或擴充至一個組織或用戶。
UML 系統(tǒng)可以由不同的用戶使用,用戶可以是開發(fā)人員、測試人員、商務(wù)人士、分析師等等,所以要設(shè)計一個系統(tǒng)的體系結(jié)構(gòu),最重要的是做到從不同的角度來看,實現(xiàn)可視化系統(tǒng),這樣也可以讓我們自己更好的了解系統(tǒng),讓它達到一個更好的效果。
從不同的角度使用 UML 定義一個系統(tǒng)的起著重要的作用,這些角度是:
- 設(shè)計
- 實現(xiàn)
- 處理
- 部署
該中心是連接所有這四個用例視圖,一個用例代表了系統(tǒng)的功能。因此,其他的角度連接使用的情況下:
- 系統(tǒng)設(shè)計包括類,接口和協(xié)作。 UML類圖,對象圖支持。
- 實現(xiàn)定義的組件組裝在一起,使一個完整的物理系統(tǒng)。 UML組件圖是用來支持實施的角度。
- 流程定義了系統(tǒng)的流動。因此,在設(shè)計中所用的相同的元件也可用來支持當(dāng)前角度看。
- 部署代表物理節(jié)點的硬件系統(tǒng)構(gòu)成。 UML部署圖是用來支持這個角度來看。
UML建模類型
UML 建模可以把在復(fù)雜世界的許多重要的細節(jié)給抽象出。為了區(qū)分 UML 模型, UML 建模用不同類型的不同的圖。接下來介紹三個重要類型的UML建模:
(1)結(jié)構(gòu)建模:
結(jié)構(gòu)建模具有捕捉靜態(tài)的功能,包括下列各項:
- 類圖
- 對象圖
- 部署圖
- 包圖
- 復(fù)合結(jié)構(gòu)圖
- 組件圖
結(jié)構(gòu)模型代表的系統(tǒng)架構(gòu),這個框架的所有其他組件存在的地方。因此,類圖,組件圖和部署圖的部分結(jié)構(gòu)建模。它們都代表的元素和機制將它們組裝。
但是,從來沒有的結(jié)構(gòu)模型描述系統(tǒng)的動態(tài)行為。類圖中是最廣泛使用的結(jié)構(gòu)圖。
(2)行為建模:
行為建模描述了在系統(tǒng)中的相互作用,代表之間的交互的結(jié)構(gòu)圖,行為建模顯示系統(tǒng)的動態(tài)性質(zhì),包括下列各項:
- 活動圖
- 交互圖
- 用例圖
所有上述的顯示在一個系統(tǒng)中流動的動態(tài)序列。
(3)架構(gòu)建模:
架構(gòu)建模表示的是一個系統(tǒng)的總體框架,它包含了系統(tǒng)的結(jié)構(gòu)和行為的元素。架構(gòu)建模可以被定義為整個系統(tǒng)的藍圖。包圖是根據(jù)架構(gòu)模型進行的。
總結(jié)
- 上一篇: 计量经济学及Stata应用 第五章习题
- 下一篇: 壹百度-百度十年千倍的29条法则