UML設(shè)計(jì)的9種圖例
系統(tǒng)
2300 0
首先對(duì)UML中的各個(gè)圖的功用做一個(gè)簡(jiǎn)單介紹:
1、用例圖
??? 描述角色以及角色與用例之間的連接關(guān)系。說(shuō)明的是誰(shuí)要使用系統(tǒng),以及他們使用該系統(tǒng)可以做些什么。一個(gè)用例圖包含了多個(gè)模型元素,如系統(tǒng)、參與者和用例,并且顯示了這些元素之間的各種關(guān)系,如泛化、關(guān)聯(lián)和依賴(lài)。
2、類(lèi)圖
??? 類(lèi)圖是描述系統(tǒng)中的類(lèi),以及各個(gè)類(lèi)之間的關(guān)系的靜態(tài)視圖。能夠讓我們?cè)谡_編寫(xiě)代碼以前對(duì)系統(tǒng)有一個(gè)全面的認(rèn)識(shí)。類(lèi)圖是一種模型類(lèi)型,確切的說(shuō),是一種靜態(tài)模型類(lèi)型。
3、對(duì)象圖
??? 與類(lèi)圖極為相似,它是類(lèi)圖的實(shí)例,對(duì)象圖顯示類(lèi)的多個(gè)對(duì)象實(shí)例,而不是實(shí)際的類(lèi)。它描述的不是類(lèi)之間的關(guān)系,而是對(duì)象之間的關(guān)系。
4、活動(dòng)圖
??? 描述用例要求所要進(jìn)行的活動(dòng),以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng)。能夠演示出系統(tǒng)中哪些地方存在功能,以及這些功能和系統(tǒng)中其他組件的功能如何共同滿(mǎn)足前面使用用例圖建模的商務(wù)需求。
5、狀態(tài)圖
??? 描述類(lèi)的對(duì)象所有可能的狀態(tài),以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。可以捕獲對(duì)象、子系統(tǒng)和系統(tǒng)的生命周期。他們可以告知一個(gè)對(duì)象可以擁有的狀態(tài),并且事件(如消息的接收、時(shí)間的流逝、錯(cuò)誤、條件變?yōu)檎娴?會(huì)怎么隨著時(shí)間的推移來(lái)影響這些狀態(tài)。一個(gè)狀態(tài)圖應(yīng)該連接到所有具有清晰的可標(biāo)識(shí)狀態(tài)和復(fù)雜行為的類(lèi);該圖可以確定類(lèi)的行為,以及該行為如何根據(jù)當(dāng)前的狀態(tài)變化,也可以展示哪些事件將會(huì)改變類(lèi)的對(duì)象的狀態(tài)。狀態(tài)圖是對(duì)類(lèi)圖的補(bǔ)充。
6、序列圖
(順序圖)
??? 序列圖是用來(lái)顯示你的參與者如何以一系列順序的步驟與系統(tǒng)的對(duì)象交互的模型。順序圖可以用來(lái)展示對(duì)象之間是如何進(jìn)行交互的。順序圖將顯示的重點(diǎn)放在消息序列上,即強(qiáng)調(diào)消息是如何在對(duì)象之間被發(fā)送和接收的。
7、協(xié)作圖
??? 和序列圖相似,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。可以看成是類(lèi)圖和順序圖的交集,協(xié)作圖建模對(duì)象或者角色,以及它們彼此之間是如何通信的。如果強(qiáng)調(diào)時(shí)間和順序,則使用序列圖;如果強(qiáng)調(diào)上下級(jí)關(guān)系,則選擇協(xié)作圖;這兩種圖合稱(chēng)為交互圖。
8、構(gòu)件圖
(組件圖)
??? 描述代碼構(gòu)件的物理結(jié)構(gòu)以及各種構(gòu)建之間的依賴(lài)關(guān)系。用來(lái)建模軟件的組件及其相互之間的關(guān)系,這些圖由構(gòu)件標(biāo)記符和構(gòu)件之間的關(guān)系構(gòu)成。在組件圖中,構(gòu)件時(shí)軟件單個(gè)組成部分,它可以是一個(gè)文件,產(chǎn)品、可執(zhí)行文件和腳本等。
9、部署圖
(配置圖)
??? 是用來(lái)建模系統(tǒng)的物理部署。例如計(jì)算機(jī)和設(shè)備,以及它們之間是如何連接的。部署圖的使用者是開(kāi)發(fā)人員、系統(tǒng)集成人員和測(cè)試人員。
?
?
幾種圖的區(qū)別:
?
一:這九種模型圖各有側(cè)重,
1:
用例圖側(cè)重描述用戶(hù)需求,
2:
類(lèi)圖側(cè)重描述系統(tǒng)具體實(shí)現(xiàn);
二:描述的方面都不相同,
1:
類(lèi)圖描述的是系統(tǒng)的結(jié)構(gòu),
2:
序列圖描述的是系統(tǒng)的行為;
三:抽象的層次也不同,
1
:構(gòu)件圖描述系統(tǒng)的模塊結(jié)構(gòu),抽象層次較高,
2
:類(lèi)圖是描述具體模塊的結(jié)構(gòu),抽象層次一般,
3
:對(duì)象圖描述了具體的模塊實(shí)現(xiàn),抽象層次較低。
?
在有的文獻(xiàn)書(shū)籍中,將這九種模型圖分為三大類(lèi):
結(jié)構(gòu)分類(lèi)、動(dòng)態(tài)行為和模型管理:
1
:結(jié)構(gòu)分類(lèi)包括用例圖、類(lèi)圖、對(duì)象圖、構(gòu)件圖和部署圖,
2
:動(dòng)態(tài)行為包括狀態(tài)圖、活動(dòng)圖、順序圖和協(xié)作圖,
3
:模型管理則包含類(lèi)圖。
?
?
畫(huà)圖說(shuō)明
UML(統(tǒng)一建模語(yǔ)言):是面向?qū)ο蟮目梢暬5囊环N語(yǔ)言。是數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中,在E-R圖(實(shí)體-聯(lián)系圖)的設(shè)計(jì)后的進(jìn)一步建模。
UML中有3種構(gòu)造塊:事物、關(guān)系和圖,事物是對(duì)模型中最具有代表性的成分的抽象;關(guān)系是把事物結(jié)合在一起;圖聚集了相關(guān)的的事物。具體關(guān)系圖標(biāo)如下:
說(shuō)明:
構(gòu)件事物是名詞,是模型的靜態(tài)部分。
行為事物是動(dòng)態(tài)部分,表示行為。
分組事物是組織部分。
注釋事物是解釋部分。
依賴(lài):一個(gè)事物變化會(huì)引起另一個(gè)事物變化。
聚集:特殊的關(guān)聯(lián),描述整體與部分的組合關(guān)系。
泛化:是一種特殊與一般的關(guān)系,如子元素(特殊)與父元素(一般),箭頭指向父元素。
實(shí)現(xiàn):類(lèi)元之間的關(guān)系,其中一個(gè)類(lèi)元指定了由另一個(gè)類(lèi)元保證執(zhí)行的契約。一般用在接口和實(shí)現(xiàn)他們的類(lèi)之間或用例和實(shí)現(xiàn)它們的協(xié)作之間。
UML提供9種視圖:類(lèi)圖、對(duì)象圖,用例圖,序列圖、協(xié)作圖,狀態(tài)圖、活動(dòng)圖,構(gòu)件圖和部署圖。
在UML系統(tǒng)開(kāi)發(fā)中有三個(gè)主要的模型:
功能模型: 從用戶(hù)的角度展示系統(tǒng)的功能,包括用例圖。
對(duì)象模型: 采用對(duì)象,屬性,操作,關(guān)聯(lián)等概念展示系統(tǒng)的結(jié)構(gòu)和基礎(chǔ),包括類(lèi)圖。
動(dòng)態(tài)模型: 展現(xiàn)系統(tǒng)的內(nèi)部行為。 包括序列圖,活動(dòng)圖,狀態(tài)圖。
下面具體說(shuō)明:
1.類(lèi)圖:描述一組對(duì)象、接口、協(xié)作等事物之間的關(guān)系。如下圖(摘自網(wǎng)絡(luò)):
注:#表示protected,+表示Public,-表示private
2.對(duì)象圖:描述一組對(duì)象之間的關(guān)系,是具有具體屬性值和行為的一個(gè)具體事物,其是類(lèi)圖中所建事物實(shí)例的靜態(tài)快照,其與類(lèi)圖的主要區(qū)別是一個(gè)是抽象的,而對(duì)象圖是具體的。如下圖(摘自網(wǎng)絡(luò)):
3.用例圖:描述一組用例、參與者以及它們之間的關(guān)系,其展示的是該系統(tǒng)在它的外面環(huán)境中所提供的外部可見(jiàn)服務(wù)。如下圖(摘自網(wǎng)絡(luò)):
4.交互圖:包括序列圖(順序圖)和協(xié)作圖,兩者對(duì)應(yīng),順序圖是強(qiáng)調(diào)消息時(shí)間順序,有對(duì)象生命線(xiàn)和控制焦點(diǎn)。協(xié)作圖是強(qiáng)調(diào)接收和發(fā)送消息的對(duì)象的結(jié)構(gòu)組織,有路徑和順序號(hào)。如下圖(摘自網(wǎng)絡(luò)):
序列圖:
協(xié)作圖:
5.狀態(tài)圖:展示了一個(gè)狀態(tài)機(jī),由狀態(tài)、轉(zhuǎn)換、事件和活動(dòng)組成。強(qiáng)調(diào)事件行為的順序。如下圖(摘自網(wǎng)絡(luò)):
6.活動(dòng)圖:是一種特殊的狀態(tài)圖,實(shí)現(xiàn)一個(gè)活動(dòng)到另一個(gè)活動(dòng)的流程。如下圖(摘自網(wǎng)絡(luò)):
7.構(gòu)件圖和部署圖:構(gòu)件圖展示一組構(gòu)件之間的組織和依賴(lài)關(guān)系,并以全局的模型展示出來(lái)。部署圖是構(gòu)件的配置及描述系統(tǒng)如何在硬件上部署。如下圖(摘自網(wǎng)絡(luò)):
UML設(shè)計(jì)的9種圖例
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元