新聞中心
常見的可以繪制UML的工具有:Rose、XDE、Visio、Enterprise Architeture、JUDE、StarUML,其中可免費使用的是JUDE、StarUML,其他幾種都是需要購買license的。
我與任何UML工具廠商沒有利益關(guān)系(至少目前是這樣),為避免廣告的嫌疑,本小節(jié)并不會具體介紹某一種或幾種UML工具的細節(jié),也不會說我用得最多的是哪個軟件。況且介紹具體一個UML軟件是如何操作,這是沒啥必要的,這樣只會浪費本書的篇幅,增加書的售價而已。我相信只要你稍加研究,你是可以很快上手的。

成都創(chuàng)新互聯(lián)秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都網(wǎng)站制作、做網(wǎng)站,微信小程序,網(wǎng)頁設(shè)計制作,手機網(wǎng)站開發(fā),全網(wǎng)營銷推廣幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻自己的專業(yè)和所長。
我使用過不少UML軟件,我會簡單介紹我的一些心得體會,希望這些體會能幫助你更快上手、更快找到適合你自己或貴公司的軟件。
1. 開始向?qū)?/strong>
很多UML軟件喜歡一啟動就顯示一個開始向?qū)В坪踹@樣的設(shè)計能讓你很快入手,但這樣的向?qū)鶗屝率趾芾Щ?,這是這些向?qū)У牡谝粋€問題!而第二個問題是:向?qū)э@示了各種模板,用這些模板建立了一系列內(nèi)容框架,這些內(nèi)容框架會讓你很頭暈。第三個問題是:實際工作中這些模板基本沒用,我不喜歡這些模板建立的內(nèi)容框架,我基本上會刪除掉全部甚至大部分模板建立的內(nèi)容。
對于開始向?qū)?,我的建議是:大致看看就OK了,不要糾結(jié)于當(dāng)中,那些模板的內(nèi)容框架基本上都是基于某些理論來設(shè)計的,大多數(shù)不適用。而我通常是從空白開始建立工程的,有些軟件還不允許你從空白開始,你可以隨便選一種模板,建立后刪除那些看不懂的內(nèi)容。
2. 畫圖與建模
如果認為UML軟件就是一種畫圖工具,就是設(shè)置好一張圖紙,然后你選擇一些UML元素在上面畫?;谶@樣的理解來使用UML軟件的話,一開始可能會很不習(xí)慣,甚至摸不著頭腦。大部分UML軟件的思路是一邊畫圖一邊建模的,下面要細分來講解。
大部分UML軟件界面的布局是這樣的:左邊顯示一堆UML元素,中間是畫圖區(qū),右邊顯示工程視圖和屬性視圖之類的東東。如果你從空白開始建立工程,你可能會發(fā)現(xiàn)左邊區(qū)域是空的,也不知道從哪開始新建一張圖。
那個工程視圖其實就是用來顯示模型的,最開始里面什么內(nèi)容都沒有,通常需要你右鍵單擊工程那個節(jié)點,從右鍵菜單中選擇建立一些“節(jié)點”(這些節(jié)點不同軟件有不同的說法),建立“節(jié)點”后再通過該節(jié)點的右鍵菜單中選擇要新建什么UML圖,這時中間區(qū)域才會出現(xiàn)畫圖區(qū),同時左邊區(qū)域才會出現(xiàn)可用的UML元素。
當(dāng)你開始在畫圖區(qū)添加UML元素時,工程視圖也會添加相應(yīng)的元素,這其實就是畫圖的同時也在建模。請留意,如果你刪除圖形中的UML元素,工程視圖中的對應(yīng)UML元素并不會刪除。也就是說圖形發(fā)生了變化,但模型并沒有變化。你要真正從模型上刪除該UML元素的話,你需要明確地選擇從模型上刪除才行。
我們可以這樣理解UML建模活動,要建模通過圖形來建立是最直觀的,但模式是一種邏輯關(guān)系,模型的展示形式可以是多樣的。例如:我們通過某張圖建立了業(yè)務(wù)概念模型,我們可以另外再建立一張空白的圖,從工程視圖中“拉”出一些類放到這張空白的圖中,這些類放到圖中后就會自動展示出它們之間的關(guān)系,而無需你重新繪制一次。當(dāng)我們?yōu)槟骋幌到y(tǒng)建模的時候,實際上模型只有一套體系,但我們可以根據(jù)不同的需要,用多張UML圖從不同的視覺來展示該模型。
3. 復(fù)制的問題
有人曾經(jīng)問我用某某工具如何復(fù)制UML的問題,你可能不是真的要復(fù)制,而是想在不同的圖中使用相同的UML元素而已。如果是這樣的話,你完全可以從工程視圖中將這個UML元素“拉”到圖中就可以了。當(dāng)然你也有可能真的想在模型級別復(fù)制該UML,很多UML軟件并不允許你這樣做,因為模型中的東西應(yīng)該是唯一的不能重名的。當(dāng)然要視乎具體是什么軟件才好說明這個問題。
遇到你想復(fù)制某些UML元素時,請你先想清楚你只是想在多個圖展示相同的內(nèi)容,還是真的想在模型級別上復(fù)制一些UML元素。
4. 正向與反向工程
這個問題就是由UML生成代碼或由代碼生成UML的問題了。如果你是做需求分析工作而使用UML,這個問題基本上不需要關(guān)注。如果你是做軟件設(shè)計工作,那是不是需要關(guān)注這個問題呢?我的回答是:不需要關(guān)注!在實際工作中我極少用正向和反向工程,只是曾經(jīng)試過將代碼反向為UML,希望幫助我看清楚代碼的結(jié)構(gòu)而已。由UML生成代碼的需求是很低的,理由如下:
1) 架構(gòu)設(shè)計生成代碼,你需要“額外”指定很多內(nèi)容,這是很難做到的,也是沒必要的。
2) 詳細設(shè)計要生成代碼的話,則需要將類圖設(shè)計到很細的程度,而且需要所有代碼都必須先保證有對應(yīng)的類圖。這是毫無必要的,實際工作中并不需要所有代碼都需要事先有超詳細的設(shè)計,搞到這么復(fù)雜,還不如直接編碼。
某些收費軟件可以包含或不包含正向和反向工程功能,如果包含的話你需要付額外的錢,這些錢可以不必花,這是冤枉錢。
5. 面向軟件設(shè)計而不是面向需求分析
需求分析工作中應(yīng)用UML,并不需要用到UML中很深或很細的語法。如:我們用類圖描述業(yè)務(wù)概念模型時,我希望的效果就是直接用中文表示屬性名稱就可以了,不需要指定為public也不需要指定屬性類型。但大部分UML軟件是面向軟件設(shè)計,面向要生成代碼而設(shè)計的,類的屬性需要指定為public,屬性類型需要指定是string還是int或其他什么的。諸如此類,如果你不指定一些詳細的信息,軟件還會提示錯誤信息,讓你無法進行下去,搞到你有些厭煩。遇到這樣情況,只能忍一忍將就一下了。
6. 是否支持UML 2.x?
收費軟件大都支持UML 2.x,免費的有一些不支持,有些部分支持,但我還沒有發(fā)現(xiàn)完全支持UML 2.x的免費軟件。盡管本書介紹的內(nèi)容以UML 2.x為準,實際上在大部分的工作實踐中,需要用到的主要是UML 1.x,部分UML 2.x的內(nèi)容也不是必須的,可以用UML 1.x來代替。所以看在錢的份上,也不需要太計較是否全面支持UML 2.x的問題了。
7. 收費與不收費軟件的區(qū)別
兩者差別其實不大,自己用的話用免費的也就OK了,如果不差錢或者公司出錢,用收費的還是不錯的,收費軟件還是有它獨到的地方的。
8. 多多嘗試
每種工具都有優(yōu)缺點,你不妨多試試各種軟件,選擇適合你的軟件,你的選擇不一定是某一個軟件,你可以多個軟件同時用!
9. 公司是否需要統(tǒng)一UML工具?
作為公司來說,可能會認為員工都用相同一個UML軟件會有利于溝通。我在以往公司時,并沒有強制要求大家都用什么UML工具,反而是鼓勵大家用自己喜歡的工具。經(jīng)過大家的“自然選擇、優(yōu)勝劣汰”后,最后發(fā)現(xiàn)大家基本上都是集中使用其中某一兩款UML軟件。
原文鏈接:http://www.cnblogs.com/umlonline/archive/2011/07/15/2106952.html
分享名稱:UML工具選型應(yīng)該注意的九個問題
新聞來源:http://m.fisionsoft.com.cn/article/cdojhip.html


咨詢
建站咨詢
