UML設(shè)計的9種圖例
?
?
??? 對UML不是很了解,簡單得了解一下UML設(shè)計中有的圖例及基本作用。首先對UML中的各個圖的功用做一個簡單介紹:
?
1、用例圖
?
??? 說明的是誰要使用系統(tǒng),以及他們使用該系統(tǒng)可以做些什么。一個用例圖包含了多個模型元素,如系統(tǒng)、參與者和用例,并且顯示了這些元素之間的各種關(guān)系,如泛化、關(guān)聯(lián)和依賴。
?
2、類圖
?
??? 能夠讓我們在正確編寫代碼以前對系統(tǒng)有一個全面的認(rèn)識。類圖是一種模型類型,確切的說,是一種靜態(tài)模型類型。一個類圖根據(jù)系統(tǒng)中的類,以及各個類之間的關(guān)系描述系統(tǒng)的靜態(tài)視圖。
?
3、對象圖
?
??? 與類圖極為相似,只是它描述的不是類之間的關(guān)系,而是對象之間的關(guān)系
?
4、活動圖
?
??? 能夠演示出系統(tǒng)中哪些地方存在功能,以及這些功能和系統(tǒng)中其他組件的功能如何共同滿足前面使用用例圖建模的商務(wù)需求。
?
5、狀態(tài)圖
?
??? 可以捕獲對象、子系統(tǒng)和系統(tǒng)的生命周期。他們可以告知一個對象可以擁有的狀態(tài),并且事件(如小溪的接收、時間的流逝、錯誤、條件變?yōu)檎娴?會怎么隨著時間的推移來影響這些狀態(tài)。一個狀態(tài)圖應(yīng)該連接到所有具有清晰的可標(biāo)識狀態(tài)和復(fù)雜行為的類;該圖可以確定類的行為,以及該行為如何根據(jù)當(dāng)前的狀態(tài)變化,也可以展示哪些事件將會改變類的對象的狀態(tài)。
?
6、順序圖
?
??? 是用來顯示你的參與者如何以一系列順序的步驟與系統(tǒng)的對象交互的模型。順序圖可以用來展示對象之間是如何進(jìn)行交互的。順序圖將顯示的重點放在消息序列上,即消息是如何在對象之間被發(fā)送和接收的。
?
7、協(xié)作圖
?
??? 可以看成是類圖和順序圖的交集,協(xié)作圖建模對象或者角色,以及它們彼此之間是如何通信的。
?
8、構(gòu)件圖
?
??? 用來建模軟件的組件及其相互之間的關(guān)系,這些圖由構(gòu)件標(biāo)記符和構(gòu)件之間的關(guān)系構(gòu)成。在組件圖中,構(gòu)件時軟件單個組成部分,它可以是一個文件,產(chǎn)品、可執(zhí)行文件和腳本等。
?
9、部署圖
?
??? 是用來建模系統(tǒng)的物理部署。例如計算機(jī)和設(shè)備,以及它們之間是如何連接的。部署圖的使用者是開發(fā)人員、系統(tǒng)集成人員和測試人員。
?
?
-------------------------------------------------------------------------------------------------------------
?
??? 然后轉(zhuǎn)一篇blog對各個圖做一個比較詳細(xì)的說明和舉例:
?
**********************************************************
UML(2009-04-11 12:18:57)
標(biāo)簽:uml 狀態(tài)圖 類圖 it?? 分類:軟件設(shè)計
?
**********************************************************
?
UML(統(tǒng)一建模語言):是面向?qū)ο蟮目梢暬5囊环N語言。是數(shù)據(jù)庫設(shè)計過程中,在E-R圖(實體-聯(lián)系圖)的設(shè)計后的進(jìn)一步建模。
UML中有3種構(gòu)造塊:事物、關(guān)系和圖,事物是對模型中最具有代表性的成分的抽象;關(guān)系是把事物結(jié)合在一起;圖聚集了相關(guān)的的事物。具體關(guān)系圖標(biāo)如下:
?
說明:
構(gòu)件事物是名詞,是模型的靜態(tài)部分。
行為事物是動態(tài)部分,表示行為。
分組事物是組織部分。
注釋事物是解釋部分。
?
依賴:一個事物變化會引起另一個事物變化。
聚集:特殊的關(guān)聯(lián),描述整體與部分的組合關(guān)系。
泛化:是一種特殊與一般的關(guān)系,如子元素(特殊)與父元素(一般),箭頭指向父元素。
實現(xiàn):類元之間的關(guān)系,其中一個類元指定了由另一個類元保證執(zhí)行的契約。一般用在接口和實現(xiàn)他們的類之間或用例和實現(xiàn)它們的協(xié)作之間。
?
UML提供9種視圖:類圖、對象圖,用例圖,序列圖、協(xié)作圖,狀態(tài)圖、活動圖,構(gòu)件圖和部署圖。
在UML系統(tǒng)開發(fā)中有三個主要的模型:
功能模型: 從用戶的角度展示系統(tǒng)的功能,包括用例圖。
對象模型: 采用對象,屬性,操作,關(guān)聯(lián)等概念展示系統(tǒng)的結(jié)構(gòu)和基礎(chǔ),包括類圖。
動態(tài)模型: 展現(xiàn)系統(tǒng)的內(nèi)部行為。 包括序列圖,活動圖,狀態(tài)圖。
?
下面具體說明:
1.類圖:描述一組對象、接口、協(xié)作等事物之間的關(guān)系。如下圖(摘自網(wǎng)絡(luò)):
?
?
?注:#表示protected,+表示Public,-表示private
2.對象圖:描述一組對象之間的關(guān)系,是具有具體屬性值和行為的一個具體事物,其是類圖中所建事物實例的靜態(tài)快照,其與類圖的主要區(qū)別是一個是抽象的,而對象圖是具體的。如下圖(摘自網(wǎng)絡(luò)):
?
3.用例圖:描述一組用例、參與者以及它們之間的關(guān)系,其展示的是該系統(tǒng)在它的外面環(huán)境中所提供的外部可見服務(wù)。如下圖(摘自網(wǎng)絡(luò)):
?
4.交互圖:包括序列圖(順序圖)和協(xié)作圖,兩者對應(yīng),順序圖是強(qiáng)調(diào)消息時間順序,有對象生命線和控制焦點。協(xié)作圖是強(qiáng)調(diào)接收和發(fā)送消息的對象的結(jié)構(gòu)組織,有路徑和順序號。如下圖(摘自網(wǎng)絡(luò)):
?
序列圖:
?
?
協(xié)作圖:
?
5.狀態(tài)圖:展示了一個狀態(tài)機(jī),由狀態(tài)、轉(zhuǎn)換、事件和活動組成。強(qiáng)調(diào)事件行為的順序。如下圖(摘自網(wǎng)絡(luò)):
?
?
6.活動圖:是一種特殊的狀態(tài)圖,實現(xiàn)一個活動到另一個活動的流程。如下圖(摘自網(wǎng)絡(luò)):
?
?
7.構(gòu)件圖和部署圖:構(gòu)件圖展示一組構(gòu)件之間的組織和依賴關(guān)系,并以全局的模型展示出來。部署圖是構(gòu)件的配置及描述系統(tǒng)如何在硬件上部署。如下圖(摘自網(wǎng)絡(luò)):
?
?
???????????????????????????????????????????????????????????????<如有不足,請指正>
------------------------------------------------------------------------------------------
?
??? 找齊這么多的圖真的不容易啊,我試了一下太麻煩就放棄了,對這個作者表示欽佩。
?
?
?
?
-The End-