成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

UML工具選型應(yīng)該注意的九個問題

開發(fā) 項(xiàng)目管理
今天我們并不會介紹具體的某種UML工具如何操作,總結(jié)了一些我使用UML工具的心得體會,希望對大家有幫助

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

我使用過不少UML軟件,我會簡單介紹我的一些心得體會,希望這些體會能幫助你更快上手、更快找到適合你自己或貴公司的軟件。

1. 開始向?qū)?/strong>

很多UML軟件喜歡一啟動就顯示一個開始向?qū)В坪踹@樣的設(shè)計(jì)能讓你很快入手,但這樣的向?qū)鶗屝率趾芾Щ螅@是這些向?qū)У牡谝粋€問題!而第二個問題是:向?qū)э@示了各種模板,用這些模板建立了一系列內(nèi)容框架,這些內(nèi)容框架會讓你很頭暈。第三個問題是:實(shí)際工作中這些模板基本沒用,我不喜歡這些模板建立的內(nèi)容框架,我基本上會刪除掉全部甚至大部分模板建立的內(nèi)容。
對于開始向?qū)В业慕ㄗh是:大致看看就OK了,不要糾結(jié)于當(dāng)中,那些模板的內(nèi)容框架基本上都是基于某些理論來設(shè)計(jì)的,大多數(shù)不適用。而我通常是從空白開始建立工程的,有些軟件還不允許你從空白開始,你可以隨便選一種模板,建立后刪除那些看不懂的內(nèi)容。

2. 畫圖與建模

如果認(rèn)為UML軟件就是一種畫圖工具,就是設(shè)置好一張圖紙,然后你選擇一些UML元素在上面畫。基于這樣的理解來使用UML軟件的話,一開始可能會很不習(xí)慣,甚至摸不著頭腦。大部分UML軟件的思路是一邊畫圖一邊建模的,下面要細(xì)分來講解。

大部分UML軟件界面的布局是這樣的:左邊顯示一堆UML元素,中間是畫圖區(qū),右邊顯示工程視圖和屬性視圖之類的東東。如果你從空白開始建立工程,你可能會發(fā)現(xiàn)左邊區(qū)域是空的,也不知道從哪開始新建一張圖。

那個工程視圖其實(shí)就是用來顯示模型的,最開始里面什么內(nèi)容都沒有,通常需要你右鍵單擊工程那個節(jié)點(diǎn),從右鍵菜單中選擇建立一些“節(jié)點(diǎn)”(這些節(jié)點(diǎn)不同軟件有不同的說法),建立“節(jié)點(diǎn)”后再通過該節(jié)點(diǎn)的右鍵菜單中選擇要新建什么UML圖,這時(shí)中間區(qū)域才會出現(xiàn)畫圖區(qū),同時(shí)左邊區(qū)域才會出現(xiàn)可用的UML元素。

當(dāng)你開始在畫圖區(qū)添加UML元素時(shí),工程視圖也會添加相應(yīng)的元素,這其實(shí)就是畫圖的同時(shí)也在建模。請留意,如果你刪除圖形中的UML元素,工程視圖中的對應(yīng)UML元素并不會刪除。也就是說圖形發(fā)生了變化,但模型并沒有變化。你要真正從模型上刪除該UML元素的話,你需要明確地選擇從模型上刪除才行。

我們可以這樣理解UML建模活動,要建模通過圖形來建立是最直觀的,但模式是一種邏輯關(guān)系,模型的展示形式可以是多樣的。例如:我們通過某張圖建立了業(yè)務(wù)概念模型,我們可以另外再建立一張空白的圖,從工程視圖中“拉”出一些類放到這張空白的圖中,這些類放到圖中后就會自動展示出它們之間的關(guān)系,而無需你重新繪制一次。當(dāng)我們?yōu)槟骋幌到y(tǒng)建模的時(shí)候,實(shí)際上模型只有一套體系,但我們可以根據(jù)不同的需要,用多張UML圖從不同的視覺來展示該模型。

3. 復(fù)制的問題

有人曾經(jīng)問我用某某工具如何復(fù)制UML的問題,你可能不是真的要復(fù)制,而是想在不同的圖中使用相同的UML元素而已。如果是這樣的話,你完全可以從工程視圖中將這個UML元素“拉”到圖中就可以了。當(dāng)然你也有可能真的想在模型級別復(fù)制該UML,很多UML軟件并不允許你這樣做,因?yàn)槟P椭械臇|西應(yīng)該是唯一的不能重名的。當(dāng)然要視乎具體是什么軟件才好說明這個問題。

遇到你想復(fù)制某些UML元素時(shí),請你先想清楚你只是想在多個圖展示相同的內(nèi)容,還是真的想在模型級別上復(fù)制一些UML元素。

4. 正向與反向工程

這個問題就是由UML生成代碼或由代碼生成UML的問題了。如果你是做需求分析工作而使用UML,這個問題基本上不需要關(guān)注。如果你是做軟件設(shè)計(jì)工作,那是不是需要關(guān)注這個問題呢?我的回答是:不需要關(guān)注!在實(shí)際工作中我極少用正向和反向工程,只是曾經(jīng)試過將代碼反向?yàn)閁ML,希望幫助我看清楚代碼的結(jié)構(gòu)而已。由UML生成代碼的需求是很低的,理由如下:

1) 架構(gòu)設(shè)計(jì)生成代碼,你需要“額外”指定很多內(nèi)容,這是很難做到的,也是沒必要的。

2) 詳細(xì)設(shè)計(jì)要生成代碼的話,則需要將類圖設(shè)計(jì)到很細(xì)的程度,而且需要所有代碼都必須先保證有對應(yīng)的類圖。這是毫無必要的,實(shí)際工作中并不需要所有代碼都需要事先有超詳細(xì)的設(shè)計(jì),搞到這么復(fù)雜,還不如直接編碼。

某些收費(fèi)軟件可以包含或不包含正向和反向工程功能,如果包含的話你需要付額外的錢,這些錢可以不必花,這是冤枉錢。

5. 面向軟件設(shè)計(jì)而不是面向需求分析

需求分析工作中應(yīng)用UML,并不需要用到UML中很深或很細(xì)的語法。如:我們用類圖描述業(yè)務(wù)概念模型時(shí),我希望的效果就是直接用中文表示屬性名稱就可以了,不需要指定為public也不需要指定屬性類型。但大部分UML軟件是面向軟件設(shè)計(jì),面向要生成代碼而設(shè)計(jì)的,類的屬性需要指定為public,屬性類型需要指定是string還是int或其他什么的。諸如此類,如果你不指定一些詳細(xì)的信息,軟件還會提示錯誤信息,讓你無法進(jìn)行下去,搞到你有些厭煩。遇到這樣情況,只能忍一忍將就一下了。

6. 是否支持UML 2.x?

收費(fèi)軟件大都支持UML 2.x,免費(fèi)的有一些不支持,有些部分支持,但我還沒有發(fā)現(xiàn)完全支持UML 2.x的免費(fèi)軟件。盡管本書介紹的內(nèi)容以UML 2.x為準(zhǔn),實(shí)際上在大部分的工作實(shí)踐中,需要用到的主要是UML 1.x,部分UML 2.x的內(nèi)容也不是必須的,可以用UML 1.x來代替。所以看在錢的份上,也不需要太計(jì)較是否全面支持UML 2.x的問題了。

7. 收費(fèi)與不收費(fèi)軟件的區(qū)別

兩者差別其實(shí)不大,自己用的話用免費(fèi)的也就OK了,如果不差錢或者公司出錢,用收費(fèi)的還是不錯的,收費(fèi)軟件還是有它獨(dú)到的地方的。

8. 多多嘗試

每種工具都有優(yōu)缺點(diǎn),你不妨多試試各種軟件,選擇適合你的軟件,你的選擇不一定是某一個軟件,你可以多個軟件同時(shí)用!

9. 公司是否需要統(tǒng)一UML工具?

作為公司來說,可能會認(rèn)為員工都用相同一個UML軟件會有利于溝通。我在以往公司時(shí),并沒有強(qiáng)制要求大家都用什么UML工具,反而是鼓勵大家用自己喜歡的工具。經(jīng)過大家的“自然選擇、優(yōu)勝劣汰”后,最后發(fā)現(xiàn)大家基本上都是集中使用其中某一兩款UML軟件。

原文鏈接:http://www.cnblogs.com/umlonline/archive/2011/07/15/2106952.html

【編輯推薦】

  1. 架構(gòu)師要努力成為內(nèi)功深厚的高手
  2. 架構(gòu)師:每天要在魚和熊掌之間做選擇
  3. 深入學(xué)習(xí)UML狀態(tài)機(jī)視圖用法
  4. 全面認(rèn)識UML部署圖
  5. .NET企業(yè)級架構(gòu)解決方案:什么是UML
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-03-19 18:36:49

虛擬化Vmwareesx

2009-07-01 14:49:52

JSP空間租用

2009-04-23 14:30:19

UML建模

2018-06-11 11:03:09

2020-02-27 09:39:42

云安全云計(jì)算網(wǎng)絡(luò)安全

2022-08-18 07:43:17

分布式存儲系統(tǒng)

2010-07-12 14:08:59

UML序列圖

2024-11-12 14:56:07

2010-12-30 09:49:20

2022-08-12 11:42:44

終端管理方案UEM解決方案

2020-03-03 09:28:30

Python內(nèi)存開發(fā)

2010-08-30 09:22:13

DIV高度自適應(yīng)

2019-02-21 06:26:35

物聯(lián)網(wǎng)IOT網(wǎng)絡(luò)

2023-10-12 13:07:29

2023-10-14 18:18:59

Spring

2021-07-30 09:00:40

鴻蒙HarmonyOS應(yīng)用

2023-01-10 09:24:47

Python編程語言

2010-07-06 14:27:42

Visio繪制UML序

2020-10-19 15:52:42

物聯(lián)網(wǎng)漏洞IoT

2011-07-08 14:09:51

iPhone UI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩欧美中文在线 | 精品免费国产视频 | 国产精品一区视频 | 久久久久久久久久久久91 | 国产91网站在线观看 | 一区二区三区欧美 | 久久久九九九九 | 精品久久99 | 国产xxxx岁13xxxxhd | 国产精久久久久久久妇剪断 | 国产熟熟 | 久久精品亚洲精品国产欧美 | 国产欧美一区二区三区日本久久久 | 五月婷六月丁香 | 蜜桃精品视频在线 | 免费在线看黄 | 亚洲a视 | 91网站视频在线观看 | 伊人焦久影院 | 91精品国产91久久久久久吃药 | 欧美精品在线一区二区三区 | av香港经典三级级 在线 | 成人午夜电影在线观看 | 国产一区二区在线视频 | 亚洲男人的天堂网站 | 亚洲一区高清 | 亚洲一区二区三区四区视频 | 中文字幕日韩欧美一区二区三区 | 国产乱码精品一区二区三区中文 | 国产操操操 | 亚洲精品毛片av | 亚洲精品欧美精品 | 伊人免费在线观看高清 | 2018天天干天天操 | 国产一区二区精品 | 国产三区在线观看视频 | 日韩亚洲视频 | 中文一区 | 国产精品国产三级国产aⅴ浪潮 | 色噜噜狠狠色综合中国 | 亚洲一区二区三区久久 |