刘秋香 刘振伟

摘要:随着UML的发展,建模工具也越来越多。每个软件开发团队都希望找到能满足自己所需并快捷有效的建模工具。Rational Rose、RSA、StarUML和Visual Paradigm是几款应用比较广泛、颇具影响力的UML建模工具。只有了解各款主流UML工具的优缺点,才能选择出适合自己开发团队的UML工具。

关键词:UML建模工具;Rational Rose;RSA;StarUML;Visual Paradigm

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)32-0245-01

1 背景

UML(Unified Modeling Language,统一建模语言)提供了优秀的可视化面向对象的建模机制。但UML的图形元素众多,为了提高建模的效率,必须有合适的建模工具软件。面对种类繁多的UML工具,软件开发人员要了解这些工具的优缺点.并根据自己的需要,从中选择一款最适合自己的UML工具。

2 UML建模工具概述

UML建模工具可以大致分为两类:商业(收费)的和免费的。目前,国内主流的UML建模工具中,商业软件有Rational Rose、RSA、StarUML(V2及V3版)、Visual Paradigm、Visio、Together等,免费软件有StarUML 5.0、Visual Paradigm Community Edition、WhiteStarUML、UMLet等。

UML先后推出了多个版本,目前最新版本是2.5。UML 1系列版本主要包括9种图:用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图和部署图。而UML 2.0 包括13种图,与UML1相比,新增了包图、复合结构图、交互概览图、时序图。

选择UML建模工具时,首先要从技术方面考虑,应提供下列基本功能[1]:

1)支持各种UML模型图的输入、编辑和存储(至少应支持UML 1的9种图);

2)支持正向工程和逆向工程;

3)提供和其他开发工具的接口。

3 几款主流的UML建模工具

Rational Rose、RSA、StarUML和Visual Paradigm是几款应用比较广泛的UML建模工具。

3.1 Rational Rose

经典的UML建模工具当数Rational Rose。这是由Rational公司开发的一款面向对象的可视化建模工具,Rational合并到IBM后,Rose改名为IBM Rational Rose。

Rose把UML有机地集成到面向对象的软件开发过程中,它对UML的主要支持如下[2]:

1)为UML提供基本的绘图功能,支持UML1的9种图(对象图可利用协作图绘制)和包图(可利用类图绘制);

2)支持双向工程,提供对多种程序设计语言的支持,如C++、Java、VB等;

3)提供模型互换功能,可以导入其他工具创建的模型文件。

Rose 是非常有效且成功的建模工具,但它是基于 UML 1.4 标准的。现在Rose已经退出市场,但仍然有不少的使用者。Rose经典的版本是2003和2007,之后IBM推出了RSA来替代Rational Rose。

3.2 RSA

RSA是 IBM Rational Software Architect 简称,它是IBM公司在Rational Rose的基础上开发的产品,支持UML 2.0及以上版本,提供对Java、C++、VB、Delphi、SQL、Oracle等软件的支持。

IBM RSA 是一个高级而又全面的应用程序设计、建模和开发工具,支持软件开发的全过程[3]。它是一个集成开发平台,其中的Rational Software Modeler 是一个基于UML 2的工具,它允许创建系统的不同视图,在建模视图下能够进行创建 UML 图、生成代码等操作。

RSA最新的版本是9.0,支持UML2除了包图之外的12种图,IBM官网有8.5.1试用版。

3.3 StarUML

StarUML是韩国MKLab公司主导开发的,曾经是最流行的开源UML工具,但从2008年以后没有再更新,版本停留在5.0。2014年又重新开发StarUML,不再使用原来的版本号,而是从2.0.0开始使用新版本号,并开始走商业化路线。

StarUML 5.0是一款开源免费的UML开发工具,支持绘制9款UML图,缺少对象图、包图、定时图和交互概述图等功能,但对象图和包圖可以通过类图绘制;支持双向工程,提供对Java、C++、C#语言的支持;还可以导入Rose文件。

2014年,StarUML 2.0.0作为商业软件发布,目前最新的版本是3.0.2,支持UML 2.2的12种图(缺少定时图和交互概述图,新增了概览图)。

3.4 Visual Paradigm

Visual Paradigm是香港Visual Paradigm公司的产品,是包含设计共享、线框图和数据库设计的企业项目设计工具。根据不同用户群推出了4种商业版本,按照功能由多到少分别是Enterprise、Professional、Standard和Modeler,可以试用30天。此外,还提供了基于学术研究和教学的免费Community版。

Visual Paradigm的建模版支持绘制14种UML 2.2模型图(新增概览图);标准版还支持双向工程,提供对Java、C++语言的支持;免费的社区版,功能与建模版相似,支持14种UML模型图的绘制,但无法使用双向工程。

目前,Visual Paradigm最新的版本是15.1。

4 结束语

UML建模工具各有侧重点,各有优缺点。上述软件在UML建模工具中颇具代表性,不管在高校教学还是软件开发中,都深受大家喜爱。在选择UML建模工具时,除了考虑UML工具应提供的基本功能,还要考虑产品的价格、服务、通用性、与自己开发环境结合是否密切等方面的因素。

参考文献:

[1] 王先国. UML基础与建模实践教程[M]. 北京: 机械工业出版社, 2018.

[2] 谢星星. UML基础与Rose建模实用教程[M]. 北京: 清华大学出版社, 2011.

[3] 高科华, 李娜. UML软件建模技术——基于IBM RSA工具[M]. 北京: 清华大学出版社, 2017.

【通联编辑:谢媛媛】

staruml 试用_浅析几款主流的UML建模工具相关推荐

  1. 几款好用的UML建模工具

    JUDE – community:JUDE是一个中日合作的软件项目,有商业化的Professional版本和免费的Community版本,最大的区别是免费版的不支持UML 2.0,对于一般应用足够了- ...

  2. 推荐下载:三款主流文件校验码工具HashCalc、WinMD5、Hasher

    大家在下载大型软件的时候,尤其是操作系统或应用软件,一定要记得校验一下,只要内容被修改过,那么校验结果一般都会发生变化(尤其对MD5和SHA1),当然校验也是验证是否官方原版的主要手段之一,本文汇总供 ...

  3. 三款主流文件校验码工具HashCalc、WinMD5、Hasher

    大家在下载大型软件的时候,尤其是操作系统或应用软件,一定要记得校验一下,只要内容被修改过,那么校验结果一般都会发生变化(尤其对MD5和 SHA1),当然校验也是验证是否官方原版的主要手段之一,本文汇总 ...

  4. startuml动态模型工具_跟我学UML建模工具StarUML(第11部分)——应用StarUML创建顺序图的创建示例...

    杨教授大学堂,版权所有,盗版必究. 1/27 页 1.1 跟我学 UML 建模工具 StarUML (第 11 部分) --应用 StarUML 创建 顺序图的创建示例 1.1.1 UML 动态建模相 ...

  5. 10款UML建模工具最近更新(2021年2月)(二)-EDraw、StarUML、SinelaboreRT

    UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx 最近一段时间更新: 工具最新版本:Edraw Max 10.5.3 更新 ...

  6. UML建模工具Rose与PowerDesigner,两款建模工具的对比

    原文:http://developer.51cto.com/art/201006/207888.htm 作为世界最著名的两大CASE工具,UML建模工具Rose和PowerDesigner的名声可谓如 ...

  7. 几款常用UML建模工具解析

    本节向大家介绍几款常用UML建模工具,UML是个好东西,但是过分的依赖于UML也不是一件好事,因为有时候它会把简单的东西复杂化.请看下面详细介绍. 常用UML建模工具 UML不算是个新名词,但是实际中 ...

  8. UML建模工具StarUML中文版

    UML建模工具有好几种,笔者以前用过的是EA(Enterprise Architect),现在觉得StarUML也挺好用的,特此提供下载: 链接:https://pan.baidu.com/s/1su ...

  9. python 报表开发工具_测评8款热门的报表开发工具 开源

    阅读提示: 文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式. FineReport最新版免费试用:https://www.finereport. ...

  10. python最好用的助手_推荐5款好用的Python工具

    这篇文章的内容是给大家推荐了5款好用的Python工具,有需要的朋友可以看一看 摘要:推荐5个酷毙的Python工具 工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足 ...

最新文章

  1. 微信支付教程系列之公众号支付
  2. 从NoSQL到Lakehouse,Apache Doris的13年技术演进之路
  3. 怎么解决深入学习PHP的瓶颈
  4. freetds php mssql 中文乱码,PHP读取mssql json数据中文乱码的解决办法
  5. C++ 运算符优先级
  6. Node:服务器端解决跨域
  7. 有关table的几个问题
  8. 正则表达式 - php正则匹配内容?
  9. 如何用java语言编写小游戏?(一)
  10. 套件端口 群晖_群晖NAS的各种端口
  11. html caption属性,HTML caption align 属性 | 菜鸟教程
  12. 激光扫描测距仪的实质就是3D激光雷达
  13. IDEA 报错 LoggerFactory is not a Logback LoggerContext but Logback is on the classpath,如何排除依赖冲突
  14. Access violation at address 77106D4E in module 'ntdll.dll'. Write of address 004051A5.
  15. 基于element-ui实现待支付订单显示定时器
  16. 大数据模型-银行客户细分与个人客户流失预警
  17. 1. ELK docker部署
  18. 【算法思路】常见岛屿数量的算法题
  19. push时git报错 error: failed to push some refs to 'git@gitee.com:git_zn/jianli.git' 解决办法...
  20. MPT——cost function推导过程

热门文章

  1. 第四讲 系统建模方法
  2. 粒子群算法(PSO) C
  3. mac 思科 链路聚合_链路聚合笔记
  4. 小菜编程成长记(十二 无熟人难办事?——聊设计模式迪米特法则)
  5. OpenCV图像灰度化的六种方法
  6. 国庆促销海报模板素材
  7. vue音乐播放器demo,主要是模仿慕课音乐播放器教程制作的一个小demo
  8. 用蒙特卡洛仿真估计π的值
  9. 好用的内网穿透工具汇总
  10. 用supermemo背单词达到5000词条