UML設(shè)計(jì)的9種圖例
?
?
??? 對(duì)UML不是很了解,簡(jiǎn)單得了解一下UML設(shè)計(jì)中有的圖例及基本作用。首先對(duì)UML中的各個(gè)圖的功用做一個(gè)簡(jiǎn)單介紹:
?
1、用例圖
?
??? 說(shuō)明的是誰(shuí)要使用系統(tǒng),以及他們使用該系統(tǒng)可以做些什么。一個(gè)用例圖包含了多個(gè)模型元素,如系統(tǒng)、參與者和用例,并且顯示了這些元素之間的各種關(guān)系,如泛化、關(guān)聯(lián)和依賴。
?
2、類圖
?
??? 能夠讓我們?cè)谡_編寫(xiě)代碼以前對(duì)系統(tǒng)有一個(gè)全面的認(rèn)識(shí)。類圖是一種模型類型,確切的說(shuō),是一種靜態(tài)模型類型。一個(gè)類圖根據(jù)系統(tǒng)中的類,以及各個(gè)類之間的關(guān)系描述系統(tǒng)的靜態(tài)視圖。
?
3、對(duì)象圖
?
??? 與類圖極為相似,只是它描述的不是類之間的關(guān)系,而是對(duì)象之間的關(guān)系
?
4、活動(dòng)圖
?
??? 能夠演示出系統(tǒng)中哪些地方存在功能,以及這些功能和系統(tǒng)中其他組件的功能如何共同滿足前面使用用例圖建模的商務(wù)需求。
?
5、狀態(tài)圖
?
??? 可以捕獲對(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ù)雜行為的類;該圖可以確定類的行為,以及該行為如何根據(jù)當(dāng)前的狀態(tài)變化,也可以展示哪些事件將會(huì)改變類的對(duì)象的狀態(tài)。
?
6、順序圖
?
??? 是用來(lái)顯示你的參與者如何以一系列順序的步驟與系統(tǒng)的對(duì)象交互的模型。順序圖可以用來(lái)展示對(duì)象之間是如何進(jìn)行交互的。順序圖將顯示的重點(diǎn)放在消息序列上,即消息是如何在對(duì)象之間被發(fā)送和接收的。
?
7、協(xié)作圖
?
??? 可以看成是類圖和順序圖的交集,協(xié)作圖建模對(duì)象或者角色,以及它們彼此之間是如何通信的。
?
8、構(gòu)件圖
?
??? 用來(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è)試人員。
?
?
-------------------------------------------------------------------------------------------------------------
?
??? 然后轉(zhuǎn)一篇blog對(duì)各個(gè)圖做一個(gè)比較詳細(xì)的說(shuō)明和舉例:
?
**********************************************************
UML(2009-04-11 12:18:57)
標(biāo)簽:uml 狀態(tài)圖 類圖 it?? 分類:軟件設(shè)計(jì)
?
**********************************************************
?
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)部分,表示行為。
分組事物是組織部分。
注釋事物是解釋部分。
?
依賴:一個(gè)事物變化會(huì)引起另一個(gè)事物變化。
聚集:特殊的關(guān)聯(lián),描述整體與部分的組合關(guān)系。
泛化:是一種特殊與一般的關(guān)系,如子元素(特殊)與父元素(一般),箭頭指向父元素。
實(shí)現(xiàn):類元之間的關(guān)系,其中一個(gè)類元指定了由另一個(gè)類元保證執(zhí)行的契約。一般用在接口和實(shí)現(xiàn)他們的類之間或用例和實(shí)現(xiàn)它們的協(xié)作之間。
?
UML提供9種視圖:類圖、對(duì)象圖,用例圖,序列圖、協(xié)作圖,狀態(tài)圖、活動(dòng)圖,構(gòu)件圖和部署圖。
在UML系統(tǒng)開(kāi)發(fā)中有三個(gè)主要的模型:
功能模型: 從用戶的角度展示系統(tǒng)的功能,包括用例圖。
對(duì)象模型: 采用對(duì)象,屬性,操作,關(guān)聯(lián)等概念展示系統(tǒng)的結(jié)構(gòu)和基礎(chǔ),包括類圖。
動(dòng)態(tài)模型: 展現(xiàn)系統(tǒng)的內(nèi)部行為。 包括序列圖,活動(dòng)圖,狀態(tài)圖。
?
下面具體說(shuō)明:
1.類圖:描述一組對(duì)象、接口、協(xié)作等事物之間的關(guān)系。如下圖(摘自網(wǎng)絡(luò)):
?
?
?注:#表示protected,+表示Public,-表示private
2.對(duì)象圖:描述一組對(duì)象之間的關(guān)系,是具有具體屬性值和行為的一個(gè)具體事物,其是類圖中所建事物實(shí)例的靜態(tà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ì)象生命線和控制焦點(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)件之間的組織和依賴關(guān)系,并以全局的模型展示出來(lái)。部署圖是構(gòu)件的配置及描述系統(tǒng)如何在硬件上部署。如下圖(摘自網(wǎng)絡(luò)):
?
?
???????????????????????????????????????????????????????????????<如有不足,請(qǐng)指正>
------------------------------------------------------------------------------------------
?
??? 找齊這么多的圖真的不容易啊,我試了一下太麻煩就放棄了,對(duì)這個(gè)作者表示欽佩。
?
?
?
?
-The End-