自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

專家指導(dǎo) 如何選擇合適的UML建模工具

開發(fā) 架構(gòu)
關(guān)于如何選擇UML建模工具你是否了解,這就向大家介紹一下選擇UML建模工具的標(biāo)準(zhǔn),相信學(xué)習(xí)了本文之后你對如何選擇有自己的認(rèn)識,歡迎大家一起來學(xué)習(xí)。

本節(jié)繼續(xù)向大家介紹UML建模工具選擇的標(biāo)準(zhǔn),掌握了標(biāo)準(zhǔn)你就會選擇出比較合適的UML建模工具,從而更好的完成工作,希望本節(jié)的介紹對你的學(xué)習(xí)有所幫助。下面我們一起來看一下UML建模工具選擇標(biāo)準(zhǔn)吧。

健壯性(Robustness)

你的UML工具需要象巖石般堅(jiān)固可靠,以防止設(shè)計(jì)期間工具崩潰而使用戶的時(shí)間和生產(chǎn)率在不知不覺中損失,或者在模型沒有備份的情況下崩潰。我們曾親眼見過許多領(lǐng)先的工具因?yàn)楸罎⒒蛭募p壞而引起數(shù)小時(shí)的工作成果丟失。如果你是一位開發(fā)人員,你知道那種因“生產(chǎn)率高的軟件”反而比粗糙的代碼工具生產(chǎn)率要低而產(chǎn)生的蔑視感覺。如果你是一位經(jīng)理,你會看到被要求使用一種不可靠的工具時(shí)開發(fā)人員的憤恨。

今天,健壯性常被發(fā)現(xiàn)于用Java實(shí)現(xiàn)的應(yīng)用程序(JVM運(yùn)行時(shí)保護(hù))或開放源碼的項(xiàng)目(在web范圍內(nèi)并行調(diào)試)。發(fā)現(xiàn)某種特定的UML工具是否健壯的最快方法是在comp.object等新聞組四處詢問,你一定會聽到許多抱怨的!
可用于此處的另一個(gè)策略可以借鑒有效率的辦公應(yīng)用程序,我們也推薦工具開發(fā)商采用這種策略。該策略就是讓UML建模工具每隔一定時(shí)間間隔就在背后自動保存模型。

平臺

為了使你在建模工具上的投資得到最大回報(bào),請慎重地考慮工具將運(yùn)行在哪種平臺上。你需要為Windows還是Unix開發(fā)軟件?還是二者都要?將在哪種平臺上開發(fā)?
最近的各種事件一起推翻了這個(gè)神話:一流的跨平臺圖形用戶界面還不能實(shí)現(xiàn)或者擁有一個(gè)"最少共同支配者"的視感。很長時(shí)間以來,這是不可能的(除了基于HTML的應(yīng)用程序之外),直到最近Java的Swing用戶界面的出現(xiàn)。但是,跨平臺工具需要在Linux等常用平臺得到支持,以大規(guī)模地被程序員們采用。

Sun最初幾乎沒有做什么事情來促進(jìn)Java在Linux上的應(yīng)用。但最近工業(yè)界元老們,主要是IBM,IBM保證在他們所有的硬件平臺上為Linux提供無限廣泛的支持,并支持Apache/Jakarta項(xiàng)目,IBM現(xiàn)正快速地在Linux上推廣Java。也許因?yàn)镮BM已經(jīng)開始為主要的Linux廠商發(fā)放它的JDK1.1.8版本,Sun被迫支持在Linux上的全功能JDK1.2(帶Swing的Java2)的發(fā)放。通過Blackdown小組的努力,這個(gè)Linux上的Java端口大部分已被完成。
迄今為止我們已經(jīng)測試了一種Linux平臺上基于Swing的領(lǐng)先Linux工具,結(jié)果優(yōu)秀。但要告誡的是:128M內(nèi)存是必需的。

版本更新

你需要選擇一種將會不斷通過修正錯(cuò)誤、改進(jìn)性能、添加新特性來進(jìn)行改進(jìn)的UML建模工具,畢竟你在時(shí)間和金錢上進(jìn)行了一項(xiàng)大的投資,而且改換到另一種建模工具并不容易。
小心那些已經(jīng)被大公司擁有的產(chǎn)品。在兌現(xiàn)所有期權(quán)之后,最初的開發(fā)者常常會離開公司,尋找下一次大的機(jī)會。尋找有才能的、能讀懂和維護(hù)最初并非由其編碼的軟件復(fù)雜模塊的程序員并不容易。這種場景也會出現(xiàn)在開放源碼項(xiàng)目上。

如何能知道一種產(chǎn)品是否在改進(jìn)?向銷售代表詢問下一版本發(fā)放的詳細(xì)時(shí)間表以及該產(chǎn)品將來的藍(lán)圖。密切觀察產(chǎn)品改進(jìn)和添加新特性的速度。產(chǎn)品計(jì)劃什么時(shí)候支持UML1.3?圖形界面是否支持最新的流行樣式?你也可以看看該公司的網(wǎng)站:如果產(chǎn)品發(fā)布和外界評論是舊的,就是可疑的。#p#

未來...

現(xiàn)在我們來看看對未來有什么希望。建模工具的當(dāng)前成熟程度表明,工具廠商準(zhǔn)備通過添加高級特性來使產(chǎn)品達(dá)到新的高度。我們希望在下一代產(chǎn)品中看到以下特性的出現(xiàn)。

集成編輯器

在模型的迭代開發(fā)過程中,將UML圖表和相鄰窗口的源代碼匹配,是非常有效率的。支持這種視圖協(xié)調(diào)的產(chǎn)品可以給模型設(shè)計(jì)者的工具箱添加一個(gè)額外的功能選項(xiàng),以直接給建模工具添加強(qiáng)大的源代碼編輯特性。當(dāng)UML建模工具不必作為設(shè)計(jì)者的首選編輯器時(shí),能夠在代碼里直接更改方法的名字或原型,并立即反映到模型中。

最想要的特性是類似emacs等流行編輯器的鍵盤仿真,另一個(gè)熱門特性是通過改變顏色來突出語言關(guān)鍵字,注釋等等,提高了代碼的易讀性。一個(gè)重要特性是在類圖中選擇一個(gè)類、屬性或方法時(shí)跳轉(zhuǎn)到匹配代碼行的能力。最重要的是,編輯器應(yīng)該是快速易用的。
作為變通的方法,另一種解決方案是允許建模工具和開發(fā)者喜愛的編輯器通信。例如,通過一個(gè)熱鍵,允許建模工具從當(dāng)前活動窗口跳轉(zhuǎn)到伴隨編輯器的匹配代碼行。

自動生成

我們真正想在不久的將來看到的一個(gè)特性是,UML建模工具幫助產(chǎn)生交互圖和狀態(tài)圖的能力。
工作方式是:在一個(gè)已有的程序的執(zhí)行過程中,建模工具應(yīng)容易生成一個(gè)追蹤文件,目的是獲取對象間互相傳遞信息時(shí)的交互。產(chǎn)生追蹤文件后,建模工具將被用于分析該追蹤文件,以發(fā)現(xiàn)對象交互的模式。建模工具應(yīng)允許用戶從一組類中選擇一個(gè)來分析,然后展示被追蹤文件記錄的每個(gè)類唯一的一套交互,允許用戶為模型選擇交互。最后,工具應(yīng)能夠產(chǎn)生一張基于真實(shí)記錄對象交互的順序或協(xié)作圖。

很酷嗎?它并不象聽起來的那樣太過前衛(wèi)。因?yàn)樽粉櫦夹g(shù)已經(jīng)十分成功地應(yīng)用在幫助開發(fā)人員追捕他們的程序中性能瓶頸的工具中。這類產(chǎn)品一個(gè)很好的例子就是KLGroup的JProbe,用于分析Java程序的性能。
使用同樣的技術(shù)自動產(chǎn)生狀態(tài)圖也是可能的。對以前描述過的順序的修改將允許用戶為狀態(tài)機(jī)里的狀態(tài)指定基類的名稱。建模工具將追蹤基類的衍生類之間的交互。從這種追蹤,建模工具能夠通過描繪每次被記錄的狀態(tài)遷移來創(chuàng)建狀態(tài)圖。

管理工具

如果你是項(xiàng)目經(jīng)理中的一員,你最有可能想要能夠估量你的O-O項(xiàng)目進(jìn)展如何。一個(gè)應(yīng)被集成到建模工具中的很好的特性是能夠輸出模型信息到允許你追蹤項(xiàng)目設(shè)計(jì)和實(shí)現(xiàn)進(jìn)程的工具中。由于它的通用性和可塑性,電子表格是實(shí)施這個(gè)解決方案的理想工具。項(xiàng)目管理工具也是理想的候選。
這個(gè)特性如何工作呢?在高層次,通常你想追蹤的是模型中的類和負(fù)責(zé)在這些類上工作的的人。你想知道什么時(shí)候有人開始在該類上工作,完成任務(wù)到了哪種水平。在下一層次的細(xì)節(jié)上,你想要知道每個(gè)類的方法。在這一層次,你可能想要知道哪種方法已經(jīng)包括在交互圖中,或在實(shí)施階段,每種方法完成了多少代碼量。

要使這個(gè)特性起作用,你需要“敏捷”地更新你的項(xiàng)目管理信息。不象報(bào)表工具那樣總是從頭產(chǎn)生一個(gè)新報(bào)表,你只需要在第一次輸出所有東西。產(chǎn)生初始報(bào)表后,你的建模工具應(yīng)該只被要求用新信息來修改你的管理工具。根據(jù)用戶需要控制的級別,UML建模工具能在輸出之前展現(xiàn)給用戶一個(gè)修改的清單。
建立一個(gè)項(xiàng)目管理鏈接的一個(gè)美妙的好處是,提供把分析和設(shè)計(jì)階段的完成日期作為目標(biāo)的能力。具體方法是通過計(jì)算進(jìn)展速度,并基于完成模型所需的剩余的工作,使用這個(gè)速度來計(jì)算預(yù)期的完成日期。

度量(Metrics)

當(dāng)你的項(xiàng)目開始成熟時(shí),你可能需要知道你的模型的度量。度量能在一個(gè)特殊的模型的生存質(zhì)量上給面向?qū)ο蠓治鰡T一些即時(shí)的反饋。一些感興趣的度量包括:類層次中的超類數(shù)量,每個(gè)類中方法的數(shù)量,每個(gè)類中屬性的數(shù)量,get/set的數(shù)量,方法重載的數(shù)量,每個(gè)方法的代碼行數(shù),public、private和protected方法的百分比,每個(gè)類的耦合度(該類知道另外的類的數(shù)量),以及被注釋方法的百分?jǐn)?shù)。

度量可以通過一個(gè)報(bào)表界面提供,或者,更好的是,通過一個(gè)到電子表格的鏈接,類似于前面描述的項(xiàng)目管理鏈接。#p#

SVG:矢量圖形

為達(dá)到真正的、標(biāo)準(zhǔn)化的矢量圖形輸出/輸入功能,UML建模工具廠商即將有一種選擇。W3C的可縮放矢量圖形(ScalableVectorGraphics,SVG)建議是可格式化圖形的一種XML語法,成熟的1.0版本規(guī)范已經(jīng)進(jìn)展到“最后預(yù)覽”階段(3/3/2000)。一旦被完全認(rèn)可,你可以留意HTML瀏覽器廠商什么時(shí)候在他們的下一代瀏覽器中提供支持。
為什么是SVG?因?yàn)橐惶子眠@種矢量圖形格式輸出的UML圖表可以被鏈接到網(wǎng)頁上。“overtheweb”的UML設(shè)計(jì)文檔的讀者將能夠使用這種圖形瀏覽技術(shù),如在瀏覽器內(nèi)縮放和平移,來更輕松地瀏覽一張大的UML圖表。還有,和GIF格式圖形相比,這種格式將戲劇性地提高通過web加載大圖形的速度。請看今天MacromediaFlash的展示在瀏覽器中加載是如何之快,就可以證明這一點(diǎn)!

為了強(qiáng)調(diào)GIF圖形和可縮放圖形在出版環(huán)境中的強(qiáng)烈差別,我們準(zhǔn)備了一個(gè)模擬,通過創(chuàng)建包括兩個(gè)類圖實(shí)例的AdobePDF文件,其中一張是輸入的GIF圖形,另一張是矢量圖形。你可以下載這個(gè)PDF文檔并在AdobeAcrobat中觀看。嘗試放大到很高的水平如800%或1600%,然后比較GIF圖形和矢量圖形的結(jié)果。這個(gè)實(shí)驗(yàn)并非不切實(shí)際:你可能需要準(zhǔn)備一張被縮放到一個(gè)可讀性提高的水平的演示圖。

下載GIF和矢量圖形對比的PDF例子文件.
為了展望UML和SVG的未來,我們也準(zhǔn)備了一個(gè)使用SVG在瀏覽器中顯示類圖的演示。為了觀看這個(gè)演示,你必須首先為你的瀏覽器下載一個(gè)SVG察看器。我們推薦來自優(yōu)秀的AdobeSVG站點(diǎn)的插件。這樣你就可以觀看用SVG顯示的圖形模型演示。

XMI:把所有東西捆綁在一起

對UML開發(fā)團(tuán)體來說,對象管理組織(OMG)的XMI標(biāo)準(zhǔn)是最近最令人振奮的進(jìn)展。XMI是一種有潛力最終允許在領(lǐng)先的開發(fā)工具之間無縫共享模型的交換格式。例如,與其在UML建模工具中書寫腳本來創(chuàng)建報(bào)表,不如讓用戶簡單地在開發(fā)時(shí)使用XMI輸出該模型,然后引入到一種特定的報(bào)表書寫工具中。事實(shí)上,這個(gè)范例將平等地、很好地應(yīng)用到前面討論過的特性:O-O度量追蹤和項(xiàng)目管理。此外,自從XMI使用XML來表示模型信息,一批XML解決方案很快會出籠,例如為基于瀏覽器表示提供的XSL格式表和為搜索兼容性提供的XQL查詢工具。

XMI標(biāo)準(zhǔn)是復(fù)雜的,在被廣泛使用之前,它將需要時(shí)間來適應(yīng)許多不可避免的兼容性問題(誰說標(biāo)準(zhǔn)經(jīng)不起解釋?)。但是,既然XMI是由IBM和Unisys等領(lǐng)先的工業(yè)巨頭開發(fā)的,可以預(yù)期產(chǎn)品很快會出現(xiàn)。一直到用戶團(tuán)體不斷要求廠商來驅(qū)動在UML工具中的XMI支持的需求。關(guān)于XMI的進(jìn)一步信息,請看優(yōu)秀的IBM網(wǎng)頁。
作為XMI如何投入使用的例子,請看我們的項(xiàng)目,轉(zhuǎn)換XMI到HTML.這個(gè)項(xiàng)目展示了XSL格式表如何能被用來產(chǎn)生UML模型的HTML翻譯。本節(jié)關(guān)于如何選擇UML建模工具介紹到這里。

【編輯推薦】

  1. UML建模工具選擇標(biāo)準(zhǔn)
  2. UML建模工具中EA和Rose的比較
  3. NetBeans 6 M8發(fā)布 新添UML建模工具
  4. 術(shù)語匯編 UML統(tǒng)一建模語言簡介
  5. UML建模工具UMLGraph 4.3 發(fā)布
責(zé)任編輯:佚名 來源: ChinaUnix.net
相關(guān)推薦

2010-06-29 14:23:38

UML建模分析步驟

2010-06-08 15:33:19

UML建模工具

2010-07-12 11:04:54

UML建模工具

2010-07-12 11:36:32

UML活動圖

2010-07-05 15:39:53

NetBeans UM

2010-06-28 11:10:26

最好UML建模工具

2010-07-07 09:20:16

UML工具EA

2010-07-12 11:14:09

UML建模工具

2010-06-08 16:08:42

UML建模工具

2010-06-10 17:14:54

UML建模過程

2010-07-01 12:21:35

UML類圖關(guān)系

2010-07-07 13:54:00

UML用例圖

2010-06-29 17:15:29

UML建模方法

2010-06-09 17:23:57

Rose UML建模工

2010-07-12 15:56:37

UML建模工具

2010-06-17 10:05:35

UML動態(tài)建模

2010-06-08 18:43:11

UML建模工具

2010-07-05 14:22:54

UML圖

2010-06-29 19:08:23

UML建模技術(shù)

2010-06-08 18:53:43

UML建模工具
點(diǎn)贊
收藏

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