日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當(dāng)前位置:雨林木風(fēng)下載站 > 辦公軟件教程 > 詳細(xì)頁面

如何簡(jiǎn)單完成用visio畫UML類圖

如何簡(jiǎn)單完成用visio畫UML類圖

更新時(shí)間:2024-02-12 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

Office Visio 是Office軟件系列中的負(fù)責(zé)繪制流程圖和示意圖的軟件,是一款便于IT和商務(wù)人員就復(fù)雜信息、系統(tǒng)和流程進(jìn)行可視化處理、分析和交流的軟件。使用 Office Visio 圖表,可以促進(jìn)對(duì)系統(tǒng)和流程的了解。

和大家一起學(xué)習(xí)一下用Visio畫UML類圖的方法,主要有四個(gè)步驟,這里和大家分享一下,相信通過本節(jié)的學(xué)習(xí),你對(duì)Visio畫UML類圖的步驟一定會(huì)有所了解。?

用Visio畫UML類圖?

對(duì)于畫類圖的工具很多,曾經(jīng)學(xué)過用starUML畫類圖,但這個(gè)是用于Java語言的,對(duì)于用vs編程C++語言,個(gè)人感覺用visio會(huì)好一點(diǎn)。以下用以前面的俄羅斯方塊游戲中的一個(gè)Block類為例來講述。

1.首先創(chuàng)建一個(gè)類圖。接下來我們要做一下準(zhǔn)備工作,因?yàn)槲覀冞@里用了PSDK中的POINT類型,在種數(shù)據(jù)類型在visio數(shù)據(jù)類型中找不到,所以我們先得追加這個(gè)數(shù)據(jù)類型。為了便于管理我們會(huì)先創(chuàng)建PSDK數(shù)據(jù)類型包.

創(chuàng)建數(shù)據(jù)包:菜單->UML->包.打開[UML包]對(duì)話框.點(diǎn)擊[新建]按鈕,在[包]列中輸入[PSDK數(shù)據(jù)類型],并確定

2.追加POINT數(shù)據(jù)類型:

這時(shí)我們可以看到模型資源管理器(若左邊窗口沒有,可以在從菜單->UML->視圖->模型資源管理器調(diào)出)中選中剛建的PSDK數(shù)據(jù)類型,再右擊->新建->數(shù)據(jù)類型,打開UML數(shù)據(jù)類型屬性對(duì)話框。選擇[數(shù)據(jù)類型]項(xiàng)目,在名稱項(xiàng)目中填寫[POINT],選擇[確定]結(jié)束.

注意:在PSDK中POINT是一個(gè)結(jié)構(gòu)體,但是由于我們并不關(guān)心POINT的細(xì)節(jié),所以把POINT作為簡(jiǎn)單數(shù)據(jù)類型來處理。

類:Visio畫UML類圖時(shí)添加一個(gè)類很簡(jiǎn)單,從形狀窗口中[UML靜態(tài)結(jié)構(gòu)]分類中拖動(dòng)對(duì)象就可以了。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

3.設(shè)定類的詳細(xì)信息:設(shè)定類的詳細(xì)信息的大部分工作都是同時(shí)屬性對(duì)話框?qū)崿F(xiàn)的.對(duì)于C++程序員來說,需要設(shè)定的內(nèi)容包括類名,數(shù)據(jù)成員,成員函數(shù).。

雙擊類或右擊->屬性打開UML類屬性對(duì)話框。在[類別]中選擇[類]項(xiàng)目,然后在右面的名稱欄目中寫入類名就可以了。這里還可以設(shè)定類的一些屬性,可以暫時(shí)先不管。

添加數(shù)據(jù)成員在右面的表格中追加成員函數(shù)。。[特性]欄目中寫入變量名,[類型]是用來選擇數(shù)據(jù)類型的。這里我們選擇[POINT]。[可見性]欄目選擇的是這個(gè)成員是公共的(private)。[多重性]是指,在類中,數(shù)據(jù)成員的個(gè)數(shù)。[1]代表在這個(gè)類中,有而且只有一個(gè)數(shù)據(jù)成員。[0..1]表示,沒有或者有一個(gè)。可以在[初始值]中輸入數(shù)據(jù)成員的初值。同樣添加其它數(shù)據(jù)成員。

4.添加成員函數(shù):在[類別]窗口中選擇[操作]項(xiàng)目。在右邊表格中追加成員函數(shù)。在[操作]寫函數(shù)名,在[可見性]中選擇函數(shù)是,共有,保護(hù)還是私有的。[多態(tài)]也就是使否是虛函數(shù)。[范圍]表示一個(gè)函數(shù)是屬于實(shí)例,還是屬于類,靜態(tài)函數(shù),也被稱為類的成員函數(shù),普通的成員函數(shù)也被稱為實(shí)例的成員函數(shù)。所以如過,在這里選中了[分類器],就說明這個(gè)函數(shù)是靜態(tài)函數(shù)。

Visio畫UML類圖時(shí),對(duì)于上面的操作,只是設(shè)定函數(shù)的一些基本信息,更詳細(xì)的信息可以通過選中函數(shù)后,點(diǎn)擊[屬性]按鈕,在出現(xiàn)的[UML操作屬性]窗口中設(shè)定。首先是設(shè)定函數(shù)的基本信息。和上面的窗口重復(fù)的內(nèi)容,我們不再說明。我們只說明[前綴]和[后綴]。如果我們想要返回的類型是指針類型或者是應(yīng)用類型的話,只要在[后綴]中填寫[*]或[&]就可以了。

下圖是用Visio畫UML類圖完成之后的效果。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

?

?

==============================

Uml?關(guān)系主要有四大類: 依賴,關(guān)聯(lián),泛化,實(shí)現(xiàn)。

其中 依賴和關(guān)聯(lián)是事物之間語義上的橫向關(guān)系,泛化和實(shí)現(xiàn)是事物之間的縱向關(guān)系。

一:依賴 Dependency

圖示:----->

定義:關(guān)系最為松散的,單向的,暫時(shí)產(chǎn)生關(guān)系的事物之間使用。

使用圖例:在靜態(tài)圖、組件圖、部署圖中兩事物的弱依賴關(guān)系用此圖示。

二:關(guān)聯(lián) Association

圖示:此圖為visio中畫法(在uml靜態(tài)結(jié)構(gòu)中,拖動(dòng)復(fù)合圖例,然后雙擊此圖例,將出現(xiàn)下圖,在關(guān)聯(lián)端list中,聚合列都選擇無,然后在isNavigable列中選擇劃箭頭的端。然后點(diǎn)選確定,就出現(xiàn)右側(cè)的關(guān)聯(lián)圖例)。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

?

定義:兩事物之間的比較密切關(guān)系。

實(shí)體之間的一個(gè)結(jié)構(gòu)化關(guān)系表明對(duì)象是相互連接的。箭頭是可選的,它用于指定導(dǎo)航能力。如果沒有箭頭,暗示是一種雙向的導(dǎo)航能力。關(guān)聯(lián)轉(zhuǎn)換為一個(gè)實(shí)例作用域的變量。可為一個(gè)關(guān)聯(lián)附加其他修飾符。多重性(Multiplicity)修飾符暗示著實(shí)例之間的關(guān)系。

使用圖例:在靜態(tài)圖中使用,其他圖中也有類似的關(guān)聯(lián)關(guān)系,但細(xì)化為其他關(guān)系。

其中具體細(xì)分了兩種關(guān)系:聚合和組合。

1聚合 Aggregation

圖示:此圖為visio中畫法(在uml靜態(tài)結(jié)構(gòu)中,拖動(dòng)復(fù)合圖例,然后雙擊此圖例,將出現(xiàn)下圖,在關(guān)聯(lián)端list中,在聚合列中在需劃箭頭端選擇共享選項(xiàng)。然后點(diǎn)選確定,就出現(xiàn)左側(cè)的聚合圖例)。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

定義:整體和個(gè)體之間的關(guān)系,個(gè)體生命周期的消亡對(duì)整體生命周期沒有太大的影響。has a的關(guān)系。

聚合是關(guān)聯(lián)的一種形式,代表兩個(gè)類之間的整體/局部關(guān)系。聚合暗示著整體在概念上處于比局部更高的一個(gè)級(jí)別,而關(guān)聯(lián)暗示兩個(gè)類在概念上位于相同的級(jí)別。聚合也轉(zhuǎn)換成一個(gè)實(shí)例作用域變量。關(guān)聯(lián)和聚合的區(qū)別純粹是概念上的,而且嚴(yán)格反映在語義上。聚合還暗示著實(shí)例圖中不存在回路。換言之,只能是一種單向關(guān)系。

2組合 Composition

圖示:此圖為visio中畫法(在uml靜態(tài)結(jié)構(gòu)中,直接拖動(dòng)復(fù)合圖例)

如何輕松實(shí)現(xiàn)用visio畫UML類圖

定義:整體和個(gè)體之間的關(guān)系,contains a 的關(guān)系。

組合是聚合的一種特殊形式,暗示“局部”在“整體”內(nèi)部的生存期職責(zé)。組合也是非共享的。所以,雖然局部不一定要隨整體的銷毀而被銷毀,但整體要么負(fù)責(zé)保持局部的存活狀態(tài),要么負(fù)責(zé)將其銷毀。局部不可與其他整體共享。但是,整體可將所有權(quán)轉(zhuǎn)交給另一個(gè)對(duì)象,后者隨即將承擔(dān)生存期職責(zé)。

在visio中 聚合和組合關(guān)系被分別稱之為共享和復(fù)合關(guān)系。主要在靜態(tài)圖中使用。菱形為整體一端,另一端為個(gè)體。

三:泛化 Generalization

圖示:此圖為visio中畫法(在uml靜態(tài)結(jié)構(gòu)中,直接拖動(dòng)歸納圖例)

如何輕松實(shí)現(xiàn)用visio畫UML類圖

定義:特殊到一般的關(guān)系。在軟件開發(fā)中被稱為繼承關(guān)系,is a 的關(guān)系。

四:實(shí)現(xiàn) Realization

圖示:此圖為visio中畫法(右擊類,然后選擇形狀顯示選項(xiàng),然后再勾選如左邊所示的實(shí)現(xiàn)鏈接,點(diǎn)選確定,此時(shí)選擇此類例圖,將出現(xiàn)黃色菱形,點(diǎn)選黃色菱形,然后劃線到要關(guān)聯(lián)的事物中。即出現(xiàn)此虛箭頭線)。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

定義:類元之間的實(shí)現(xiàn)關(guān)系,在軟件開發(fā)中被稱為實(shí)現(xiàn)接口,或者抽象類之間的實(shí)現(xiàn)關(guān)系。

?

另外在用例圖中,存在3種關(guān)系

1:參與者與參與者之間泛化關(guān)系,即visio中的歸納圖例。

2:參與者與用例之間用依賴關(guān)系。即visio中的通信圖例。

3:用例與用例之間用關(guān)聯(lián)關(guān)系,即拖拽visio中的擴(kuò)展圖例。有時(shí)也可以用泛化關(guān)系。

其中關(guān)聯(lián)分為兩類:include關(guān)系,extends關(guān)系。

1)包含關(guān)系:把幾個(gè)用例的公共步驟分離成一個(gè)被包含的用例,用例間的包含關(guān)系允許包含提供者用例的行為到客戶用例中.把包含用例稱為客戶用例,被包含用例稱為提供者用例.包含用例提供功能給客戶用例。通俗一點(diǎn)講就是把一個(gè)復(fù)雜的事物,拆分成幾部分,整體和部分之間用包含關(guān)系。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

2)擴(kuò)展關(guān)系:是把新行為插入到已有用例中的方法.基礎(chǔ)用例提供了一組擴(kuò)展點(diǎn).這些擴(kuò)展點(diǎn)可以添加新的行為.而擴(kuò)展用例提供了一組插入片段.這些片段能插入到基礎(chǔ)用例的擴(kuò)展點(diǎn)。將基用例中一段相對(duì)獨(dú)立并且可選的動(dòng)作,用擴(kuò)展(Extension)用例加以封裝,再讓它從基用例中聲明的擴(kuò)展點(diǎn)(Extension Point)上進(jìn)行擴(kuò)展,從而使基用例行為更簡(jiǎn)練和目標(biāo)更集中,做基事件之后,我可能做擴(kuò)展事件,也可能不做(在特殊情況下需要的新功能,擴(kuò)展點(diǎn)就是特殊情況)。通俗一點(diǎn)講就是一個(gè)操作,可以有多種選擇方式,每種方式都可以實(shí)現(xiàn)此功能。多個(gè)實(shí)現(xiàn)和功能接口之間是一種擴(kuò)展關(guān)系。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

3)泛化關(guān)系:用例的泛化關(guān)系與類的泛化關(guān)系相似,即在用例泛化中,子用例表示父用例的特殊形式,子用例從父用例繼承了行為和屬性,還可以添加行為和屬性,改變已繼承的行為。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。在實(shí)際應(yīng)用中很少使用泛化關(guān)系,子用例中的特殊行為都可以作為父用例中的備選流存在。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

?

包含以及擴(kuò)展過程與泛化過程類似

共性:都是從現(xiàn)有的用例中抽取出公共的那部分信息,作為一個(gè)單獨(dú)的用例,然后通后過不同的方法來重用這個(gè)公共的用例,以減少模型維護(hù)的工作量

但三者對(duì)用例關(guān)系的優(yōu)化側(cè)重點(diǎn)是不同的。如下:
????????? ●泛化側(cè)重表示子用例間的互斥性;
????????? ●包含側(cè)重表示被包含用例對(duì)Actor提供服務(wù)的間接性;
????????? ●擴(kuò)展側(cè)重表示擴(kuò)展用例的觸發(fā)不定性;詳述如下:

?既然用例是系統(tǒng)提供服務(wù)的UML表述,那么服務(wù)這個(gè)過程在所有用例場(chǎng)景中是必然發(fā)生的,但發(fā)生按照發(fā)生條件可分為如下兩種情況: ????????

⒈無條件發(fā)生:肯定發(fā)生的; ????????

⒉有條件發(fā)生:未必發(fā)生,發(fā)生與否取決于系統(tǒng)狀態(tài);

???????? 因此,針對(duì)用例的三種關(guān)系結(jié)合系統(tǒng)狀態(tài)考慮,泛化與包含用例屬于無條件發(fā)生的用例,而擴(kuò)展屬于有條件發(fā)生的用例。進(jìn)一步,用例的存在是為Actor提供服 務(wù),但用例提供服務(wù)的方式可分為間接和直接兩種,依據(jù)于此,泛化中的子用例提供的是直接服務(wù),而包含中的被包含用例提供的是間接服務(wù)。同樣,擴(kuò)展用例提供的也是直接服務(wù),但擴(kuò)展用例的發(fā)生是有條件的。

?另外一點(diǎn)需要提及的是:泛化中的子用例和擴(kuò)展中的擴(kuò)展用例均可以作為基本用例事件的備選擇流而存在。

?

備注:默認(rèn)情況下visio沒有include關(guān)系,可以通過一下方式來添加,選擇工具欄uml,再選擇構(gòu)造型,添加如圖所示的一行,點(diǎn)選確定。此后將可以引用此include關(guān)系。

如何輕松實(shí)現(xiàn)用visio畫UML類圖

拖一個(gè)擴(kuò)展圖例,然后雙擊,如下圖,構(gòu)造型中就多出一個(gè)list include,選擇include,點(diǎn)選確定。此時(shí)右側(cè)擴(kuò)展圖例上的文字將變?yōu)閕nclude.

如何輕松實(shí)現(xiàn)用visio畫UML類圖


Visio幫助您創(chuàng)建具有專業(yè)外觀的圖表,以便理解、記錄和分析信息、數(shù)據(jù)、系統(tǒng)和過程。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 国产短视频在线观看 | 久久精品爱国产免费久久 | 欧美国产成人免费观看永久视频 | 久久久久久岛国免费网站 | 国产黑丝在线观看 | 久久久久毛片免费观看 | 亚洲一区小说区中文字幕 | 午夜影院在线免费 | 日本aⅴ日本高清视频影片www | 亚洲国产精品久久精品成人 | 边操边吃奶| 日韩男女做性高清在线观看 | 亚洲男人天堂影院 | 亚洲区欧美区 | 久久亚洲国产 | 亚洲网址在线 | 天天干在线观看 | 日本福利视频网站 | 久久中文精品 | 深夜影院在线观看 | 91精品国产薄丝高跟在线看 | 久久青草91线频免费观看 | 九九手机视频 | 男人私人影院免费看视频 | 欧美乱子伦xxxx12在线 | 中文字幕手机在线播放 | 亚洲一区二区三区麻豆 | 久久99精品国产麻豆 | 日本人与黑人做爰巨大和娇小 | 99久久精品久久久 | 日韩精品免费一线在线观看 | 久久精品影院永久网址 | 日韩狠狠操| 欧美日韩中文 | 国产一区二区亚洲精品 | 欧美日本一道高清免费3区 欧美日本一道免费一区三区 | 国产成人综合自拍 | 亚洲综合伊人 | 在线观看中文字幕 | 性盈盈影院免费视频观看在线一区 | 成人区精品一区二区不卡亚洲 |