- UML 建模、設(shè)計與分析:從新手到高手
- 夏麗華
- 2188字
- 2019-12-09 14:44:18
2.1 常用UML建模工具
面向?qū)ο蟮慕9ぞ邞?yīng)對系統(tǒng)的模型進(jìn)行可視化、構(gòu)造和文檔化,并且應(yīng)該擁有特定的概念和表示方法。隨著UML的發(fā)展,許多建模工具應(yīng)運而生,其中比較具有代表性的建模工具有Visio、PowerDesigner、StarUML和Rational Rose(簡稱Rose)等。
2.1.1 Visio
Visio是Microsoft公司推出的一款專業(yè)辦公繪圖軟件,具有簡單性與便捷性等強(qiáng)大的關(guān)鍵特性。它能夠?qū)⒆约旱乃枷搿⒃O(shè)計與最終產(chǎn)品演變成形象化的圖像進(jìn)行傳播,同時還可以幫助用戶創(chuàng)建具有專業(yè)外觀的圖表,以便理解、記錄和分析信息、數(shù)據(jù)、系統(tǒng)和過程。
Visio是一種便于IT和商務(wù)專業(yè)人員就復(fù)雜信息、系統(tǒng)和流程進(jìn)行可視化處理、分析和交流的軟件。它使文檔的內(nèi)容更加豐富、更容易克服文字描述與技術(shù)上的障礙,讓文檔變得更加簡潔、易于閱讀與理解。
Visio原來僅僅是一種畫圖工具,主要用來描述各種圖形,直到Visio 2000版本才開始引進(jìn)從軟件分析設(shè)計到代碼生成的全部功能。雖然Visio對軟件開發(fā)中的UML支持僅僅是其中的很少一部分,但它卻是目前最能夠用圖形方式表達(dá)各種商業(yè)圖形用途的工具。
最新版的Microsoft Office Visio 2016可以幫助用戶輕松地可視化、分析與交流復(fù)雜的信息,并可以通過創(chuàng)建與數(shù)據(jù)相關(guān)的Visio圖表來顯示復(fù)雜的數(shù)據(jù)與文本,這些圖表易于刷新,并可以輕松地了解、操作和共享企業(yè)內(nèi)的組織系統(tǒng)、資源及流程等相關(guān)信息。
Office Visio 2016中包含了3個類型的版本,分別為Visio標(biāo)準(zhǔn)版2016、Visio專業(yè)版2016和Visio Pro for Office 365版。其中,Visio標(biāo)準(zhǔn)版2016擁有豐富的內(nèi)置模具和強(qiáng)大的圖表繪制功能,包含用于業(yè)務(wù)、基本網(wǎng)絡(luò)圖表、組織結(jié)構(gòu)圖、基本流程圖和通用多用途圖表的模具;Visio專業(yè)版2016擁有70個內(nèi)置模板和成千上萬個形狀,可以讓個人和團(tuán)隊輕松地創(chuàng)建和共享專業(yè)和多用途的圖表,從而簡化復(fù)雜的信息;Visio Pro for Office 365可以通過Office 365訂閱最新服務(wù),并可使用Visio專業(yè)版2016的所有功能。
使用Visio可以輕松地將流程、系統(tǒng)和復(fù)雜的信息可視化,并且Visio還提供了特定工具用以支持IT和商務(wù)人員的不同圖表的制作需求。
Office Visio 2016為用戶提供了網(wǎng)絡(luò)圖、工作流圖、數(shù)據(jù)庫模型圖、軟件圖等模板,這些模板可用于可視化和簡化業(yè)務(wù)流程、跟蹤項目和資源、繪制組織結(jié)構(gòu)圖、映射網(wǎng)絡(luò)、繪制建筑地圖以及優(yōu)化系統(tǒng)。

Visio新增了自動連接功能,可以自動連接形狀,使形狀均勻分布并自動對齊,無須用戶再繪制連接線。而在移動連接的形狀時,會保持連接,并且連接線會在形狀之間自動重排。
Visio中的繪圖和圖表制作軟件有助于IT和商務(wù)人員輕松可視化、分析和交流復(fù)雜信息,并能夠?qū)㈦y以理解的復(fù)雜文本和表格轉(zhuǎn)換為一目了然的Visio圖表。除此之外,Visio還可以通過創(chuàng)建與數(shù)據(jù)相關(guān)的Visio圖表,用于顯示模型數(shù)據(jù)。
Visio與Office產(chǎn)品能夠很好地兼容,可以將圖形直接復(fù)制或嵌入到Word文檔中。但是,對于代碼生成,則傾向于支持微軟公司的產(chǎn)品VB、C++、MS SQL Server等,以比較方便描述圖形語義,而對于軟件開發(fā)過程中的迭代開發(fā),則顯得力不從心。
2.1.2 PowerDesigner
PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統(tǒng)進(jìn)行分析設(shè)計,他幾乎包括了數(shù)據(jù)庫模型設(shè)計的全過程。
PowerDesigner采用模型驅(qū)動方法,將業(yè)務(wù)與IT結(jié)合起來,可幫助部署有效的企業(yè)體系架構(gòu),并為軟件開發(fā)生命周期管理提供強(qiáng)大的分析與設(shè)計技術(shù)。
利用PowerDesigner不僅可以制作數(shù)據(jù)流程圖、概念數(shù)據(jù)模型、物理數(shù)據(jù)模型,而且還可以為數(shù)據(jù)倉庫制作結(jié)構(gòu)模型,以及對團(tuán)隊設(shè)計模型進(jìn)行控制。
PowerDesigner獨具匠心地將多種標(biāo)準(zhǔn)數(shù)據(jù)建模技術(shù)(UML、業(yè)務(wù)流程建模以及市場領(lǐng)先的數(shù)據(jù)建模)集成于一體,并與.NET、WorkSpace、PowerBuilder、JavaTM、Eclipse等主流開發(fā)平臺集成起來,從而為傳統(tǒng)的軟件開發(fā)周期管理提供業(yè)務(wù)分析和規(guī)范的數(shù)據(jù)庫設(shè)計解決方案。因此,PowerDesigner可以與許多流行的軟件開發(fā)工具相配合,例如PowerBuilder、Delphi、VB等,從而縮短開發(fā)時間和優(yōu)化系統(tǒng)設(shè)計。

PowerDesigner開始是對數(shù)據(jù)庫建模而發(fā)展起來的一種數(shù)據(jù)庫建模工具,直到7.0版才開始支持面向?qū)ο箝_發(fā),而后又引入了對UML的支持。
PowerDesigner可以對數(shù)據(jù)庫進(jìn)行強(qiáng)大的設(shè)計,是一款開發(fā)人員常用的數(shù)據(jù)庫建模工具,包括概念數(shù)據(jù)模型、物理數(shù)據(jù)模型、面向?qū)ο竽P秃蜆I(yè)務(wù)程序模型4種模型。使用它可以分別從概念數(shù)據(jù)模型(Conceptual Data Model)和物理數(shù)據(jù)模型(Physical Data Model)2個層次對數(shù)據(jù)庫進(jìn)行設(shè)計。
此外,PowerDesigner還支持60多種關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)版本,運行在Microsoft Windows平臺上,并提供了Eclipse插件。
由于PowerDesigner主要用于支持?jǐn)?shù)據(jù)庫建模,它可支持90%左右的數(shù)據(jù)庫;但它對UML建模所使用的各種圖的支持卻不盡如人意,雖然在后續(xù)的版本中加強(qiáng)了UML建模功能,但大多數(shù)用戶并不會使用它進(jìn)行UML建模。雖然PowerDesigner是支持?jǐn)?shù)據(jù)庫建模的,但其UML的分析功能卻具有獨特的功能;PowerDesigner不僅可以生成代碼,而且還對Sybase公司的PowerBuilder、C++、Java、VB、C#具有很好的支持。
2.1.3 StarUML
StarUML(簡稱SU),是一種創(chuàng)建和生成UML類圖和其他類型的統(tǒng)一建模語言圖表的工具。它是由韓國公司主導(dǎo)開發(fā)出來的產(chǎn)品,可以直接到StarUML網(wǎng)站下載。
StarUML是一款開放源碼的UML開發(fā)工具,具有發(fā)展快、靈活、可擴(kuò)展性強(qiáng)等優(yōu)點。由于StarUML是一套開放源碼的軟件,不僅可以免費下載,而且還提供免費的代碼。

StarUML可繪制UML中的用例圖、類圖、序列圖、狀態(tài)圖、活動圖、通信圖、構(gòu)件圖、部署圖等9種圖,而且還可以導(dǎo)出JPG、JPGE、BMP、EMF和WMF等格式的影像文件。
StarUML不僅可以依據(jù)類圖的內(nèi)容生成Java、C++、C#代碼,而且還能夠讀取Java、C++、C#代碼反向生成類圖。
StarUML遵守UML的語法規(guī)則,不支持違反語法的動作。StarUML接受XMI 1.1、1.2和1.3版的導(dǎo)入導(dǎo)出,其中XMI是一種以XML為基礎(chǔ)的交換格式,用以交換不同開發(fā)工具所生成的UML模型。
StarUML支持23種GoF模式(Pattern),以及3種EJB模式,并結(jié)合了模式和自動生成代碼功能,方便用戶落實設(shè)計。除此之外,StarUML還可以讀取Rational Rose生成的文件,讓原先Rose的用戶可以轉(zhuǎn)而使用免費的StarUML。
- 玩轉(zhuǎn)Scratch少兒趣味編程
- Drupal 8 Blueprints
- Visual C++數(shù)字圖像模式識別技術(shù)詳解
- 樂高機(jī)器人設(shè)計技巧:EV3結(jié)構(gòu)設(shè)計與編程指導(dǎo)
- 基于免疫進(jìn)化的算法及應(yīng)用研究
- Mastering LibGDX Game Development
- Learning Apache Kafka(Second Edition)
- QGIS By Example
- SQL Server實用教程(SQL Server 2008版)
- Instant PHP Web Scraping
- Visual Studio 2015高級編程(第6版)
- Cocos2d-x Game Development Blueprints
- Unity 2018 Augmented Reality Projects
- C指針原理揭秘:基于底層實現(xiàn)機(jī)制
- Flask Web開發(fā):基于Python的Web應(yīng)用開發(fā)實戰(zhàn)(第2版)