
2.1 常用UML建模工具
面向对象的建模工具应对系统的模型进行可视化、构造和文档化,并且应该拥有特定的概念和表示方法。随着UML的发展,许多建模工具应运而生,其中比较具有代表性的建模工具有Visio、PowerDesigner、StarUML和Rational Rose(简称Rose)等。
2.1.1 Visio
Visio是Microsoft公司推出的一款专业办公绘图软件,具有简单性与便捷性等强大的关键特性。它能够将自己的思想、设计与最终产品演变成形象化的图像进行传播,同时还可以帮助用户创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。
Visio是一种便于IT和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。它使文档的内容更加丰富、更容易克服文字描述与技术上的障碍,让文档变得更加简洁、易于阅读与理解。
Visio原来仅仅是一种画图工具,主要用来描述各种图形,直到Visio 2000版本才开始引进从软件分析设计到代码生成的全部功能。虽然Visio对软件开发中的UML支持仅仅是其中的很少一部分,但它却是目前最能够用图形方式表达各种商业图形用途的工具。
最新版的Microsoft Office Visio 2016可以帮助用户轻松地可视化、分析与交流复杂的信息,并可以通过创建与数据相关的Visio图表来显示复杂的数据与文本,这些图表易于刷新,并可以轻松地了解、操作和共享企业内的组织系统、资源及流程等相关信息。
Office Visio 2016中包含了3个类型的版本,分别为Visio标准版2016、Visio专业版2016和Visio Pro for Office 365版。其中,Visio标准版2016拥有丰富的内置模具和强大的图表绘制功能,包含用于业务、基本网络图表、组织结构图、基本流程图和通用多用途图表的模具;Visio专业版2016拥有70个内置模板和成千上万个形状,可以让个人和团队轻松地创建和共享专业和多用途的图表,从而简化复杂的信息;Visio Pro for Office 365可以通过Office 365订阅最新服务,并可使用Visio专业版2016的所有功能。
使用Visio可以轻松地将流程、系统和复杂的信息可视化,并且Visio还提供了特定工具用以支持IT和商务人员的不同图表的制作需求。
Office Visio 2016为用户提供了网络图、工作流图、数据库模型图、软件图等模板,这些模板可用于可视化和简化业务流程、跟踪项目和资源、绘制组织结构图、映射网络、绘制建筑地图以及优化系统。

Visio新增了自动连接功能,可以自动连接形状,使形状均匀分布并自动对齐,无须用户再绘制连接线。而在移动连接的形状时,会保持连接,并且连接线会在形状之间自动重排。
Visio中的绘图和图表制作软件有助于IT和商务人员轻松可视化、分析和交流复杂信息,并能够将难以理解的复杂文本和表格转换为一目了然的Visio图表。除此之外,Visio还可以通过创建与数据相关的Visio图表,用于显示模型数据。
Visio与Office产品能够很好地兼容,可以将图形直接复制或嵌入到Word文档中。但是,对于代码生成,则倾向于支持微软公司的产品VB、C++、MS SQL Server等,以比较方便描述图形语义,而对于软件开发过程中的迭代开发,则显得力不从心。
2.1.2 PowerDesigner
PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。
PowerDesigner采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为软件开发生命周期管理提供强大的分析与设计技术。
利用PowerDesigner不仅可以制作数据流程图、概念数据模型、物理数据模型,而且还可以为数据仓库制作结构模型,以及对团队设计模型进行控制。
PowerDesigner独具匠心地将多种标准数据建模技术(UML、业务流程建模以及市场领先的数据建模)集成于一体,并与.NET、WorkSpace、PowerBuilder、JavaTM、Eclipse等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解决方案。因此,PowerDesigner可以与许多流行的软件开发工具相配合,例如PowerBuilder、Delphi、VB等,从而缩短开发时间和优化系统设计。

PowerDesigner开始是对数据库建模而发展起来的一种数据库建模工具,直到7.0版才开始支持面向对象开发,而后又引入了对UML的支持。
PowerDesigner可以对数据库进行强大的设计,是一款开发人员常用的数据库建模工具,包括概念数据模型、物理数据模型、面向对象模型和业务程序模型4种模型。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)2个层次对数据库进行设计。
此外,PowerDesigner还支持60多种关系数据库管理系统(RDBMS)版本,运行在Microsoft Windows平台上,并提供了Eclipse插件。
由于PowerDesigner主要用于支持数据库建模,它可支持90%左右的数据库;但它对UML建模所使用的各种图的支持却不尽如人意,虽然在后续的版本中加强了UML建模功能,但大多数用户并不会使用它进行UML建模。虽然PowerDesigner是支持数据库建模的,但其UML的分析功能却具有独特的功能;PowerDesigner不仅可以生成代码,而且还对Sybase公司的PowerBuilder、C++、Java、VB、C#具有很好的支持。
2.1.3 StarUML
StarUML(简称SU),是一种创建和生成UML类图和其他类型的统一建模语言图表的工具。它是由韩国公司主导开发出来的产品,可以直接到StarUML网站下载。
StarUML是一款开放源码的UML开发工具,具有发展快、灵活、可扩展性强等优点。由于StarUML是一套开放源码的软件,不仅可以免费下载,而且还提供免费的代码。

StarUML可绘制UML中的用例图、类图、序列图、状态图、活动图、通信图、构件图、部署图等9种图,而且还可以导出JPG、JPGE、BMP、EMF和WMF等格式的影像文件。
StarUML不仅可以依据类图的内容生成Java、C++、C#代码,而且还能够读取Java、C++、C#代码反向生成类图。
StarUML遵守UML的语法规则,不支持违反语法的动作。StarUML接受XMI 1.1、1.2和1.3版的导入导出,其中XMI是一种以XML为基础的交换格式,用以交换不同开发工具所生成的UML模型。
StarUML支持23种GoF模式(Pattern),以及3种EJB模式,并结合了模式和自动生成代码功能,方便用户落实设计。除此之外,StarUML还可以读取Rational Rose生成的文件,让原先Rose的用户可以转而使用免费的StarUML。