0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

常用UML建模工具介绍

jf_78858299 来源:学java会前端 作者:靖凯开源 2023-05-05 11:09 次阅读

UML简介

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。

分类

UML定义了5类,10种模型图

五种类图定义

用例图:从用户角度描述系统功能,并指各功能的操作者。

静态图:包括类图,包图,对象图。

  • 类图:描述系统中类的静态结构
  • 包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构
  • 对象图:是类图的实例

行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图

  • 活动图:描述了业务实现用例的工作流程
  • 状态图:是描述状态到状态控制流,常用于动态特性建模

交互图:描述对象之间的交互关系

  • 顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互
  • 合作图:描述对象之间的协助关系

实现图:

配置图:定义系统中软硬件的物理体系结构

UML提供的基本模型图包括:

(1)、用例图:展示系统外部的各类执行者与系统提供的各种用例之间的关系

(2)、类图:展示系统中类的静态结构(类是指具有相同属性和行为的对象,类图用来描述系统中各种类之间的静态结构)

(3)、对象图:是类图的一种实例化图(对象图是对类图的一种实例化)

(4)、包图:是一种分组机制。在UML1.1版本中,包图不再看作一种独立的模型图)

(5)、状态图:描述一类对象具有的所有可能的状态及其转移关系(它展示对象所具有的所有可能的状态以及特定事件发生时状态的转移情况)

(6)、时序图/顺序图:展示对象之间的一种动态协作关系(一组对象组成,随时间推移对象之间交换消息的过程,突出时间关系)

(7)、合作图:从另一个角度展示对象之间的动态协作关系(对象间动态协作关系,突出消息收发关系)

(8)、活动图:展示系统中各种活动的执行流程(各种活动的执行顺序、执行流程)

(9)、构件图:展示程序代码的物理结构(描述程序代码的组织结构,各种构件之间的依赖关系)

(10)、配置图:展示软件在硬件环境中(特别是在分布式及网络环境中)的配置关系(系统中硬件和软件的物理配置情况和系统体系结构)

常用UML建模工具

工欲善其事必先利其器,本文向大家介绍几款常用UML建模工具,UML是个好东西,但是过分的依赖于UML也不是一件好事,因为有时候它会把简单的东西复杂化。

1、Rational Rose

官网:http://www-03.ibm.com/software/products/en/ratirosefami

Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。它包括了统一建模语言(UML),OOSE,以及OMT。其中统一建模语言(UML)由Rational公司3位世界级面向对象技术专家Grady Booch、Ivar Jacobson、和Jim Rumbaugh通过对早期面向对象研究和设计方法的进一步扩展而得来的,它为可视化建模软件奠定了坚实的理论基础。

Rational Rose 是一个完全的、具有能满足所有建模环境(Web开发,数据建模,Visual Studio和 C++ )灵活性需求的一套解决方案。Rose 允许开发人员,项目经理,系统工程师和分析人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练。通过在软件开发周期内使用同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。

在面向对象应用程序开发领域,Rational Rose是影响其发展的一个重要因素。Rational Rose自推出以来就受到了业界的瞩目,并一直引领着可视化建模工具的发展。越来越多的软件公司和开发团队开始或者已经采用Rational Rose,用于大型项目开发的分析、建模与设计等方面。

Rose2002功能上可以完成UML的9种标准建模,即静态建模(用例图类图对象图组件图配置图)和动态建模(合作图序列图状态转移图活动图),为了使静态建模可以直接作用于代码,Rose提供了类设计到多种程序语言代码自动产生的插件。同时,作为一款优秀的分析和设计工具,常用UML建模工具Rose具有强大的正向和逆向工程能力。正向工程这里指的是由设计产生代码,逆向工程指由代码归纳出设计。通过逆向工程Rose可以对历史系统作出分析,然后进行改进,再通过正向工程产生新系统的代码,这样的设计方式我们称之为再工程。

2、PowerDesigner

Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使缩短开发时间和使系统设计更优化。

Power Designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。在这里,概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。

PowerDesigner 6.0支持数据流图,8.0支持UML的UseCase/sequence/class视图。

3、Visual Paradigm for UML

官网:http://www.visual-paradigm.com/product/vpuml/

Visual Paradigm for UML (VP-UML)是一款功能强大、跨平台、使用最便捷、直观的UML建模和CASE工具,它可以整合在其他CASE工具或者其他IDE工具中,这种“一站购物式”的软件解决方案要远远优于常规的Model-Code-Deploy的开发进程。

Visual Paradigm for UML支持UML建模、数据库建模、对象关系映射、逆向工程和Java双向工程等等,功能异常强大。

4、Jude

一个号称中日xp合作开发出来的小uml工具,只有几m的大小,功能也还不错。也是java做的,速度还是很快的。如果不需要使用逆向工程之类的高级功能的话,强烈推荐这个常用UML建模工具,并且它是免费的。

5、SystemArchitect

一个很受欢迎的高端UML建模工具,支持双向工程(Round-tripEngineering)。

6、StarUML

StarUML(简称SU),是一种创建UML类图,是一种生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML是一个开源项目之一发展快、灵活、可扩展性强(zj)。唯一不足之处,在反向工程时,只能生成类图,不能生成类之间的关系。

Rational Rose & PowerDesigner & VISIO比较

ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能。ROSE主要是在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗(但是它的结构仅仅对那些对掌握UML的开发人员,也就是说对客户了解系统的功能和流程等并不一定很有效),对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。

PowerDesigner原来是对数据库建模而发展起来的一种数据库建模工具。直到7.0版才开始对面向对象的开发的支持,后来又引入了对UML的支持。但是由于PowerDesigner侧重不一样,所以它对数据库建模的支持很好,支持了能够看到的90%左右的数据库,对UML的建模使用到的各种图的支持比较滞后。但是在最近得到加强。所以使用它来进行UML开发的并不多,很多人都是用它来作为数据库的建模。如果使用UML分析,它的优点是生成代码时对Sybase的产品PowerBuilder的支持很好(其它UML建模工具则没有或者需要一定的插件),其他面向对象语言如 C++,Java,VB,C#等支持也不错。但是它好像继承了Sybase公司的一贯传统,对中国的市场不是很看看好,所以对中文的支持总是有这样或那样的问题。

VISIO原来仅仅是一种画图工具,能够用来描述各种图形(从电路图到房屋结构图),也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具(对软件开发中的UML支持仅仅是其中很少的一部分)。它跟微软的office产品的能够很好兼容。能够把图形直接复制或者内嵌到WORD的文档中。但是对于代码的生成更多是支持微软的产品如VB,VC++,C#,MS SQL Server 等(这也是微软的传统),所以它可以说用于图形语义的描述比较方便,但是用于软件开发过程的迭代开发则有点牵强。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 建模
    +关注

    关注

    1

    文章

    299

    浏览量

    60731
  • UML
    UML
    +关注

    关注

    0

    文章

    122

    浏览量

    30848
  • 软件系统
    +关注

    关注

    0

    文章

    62

    浏览量

    9494
收藏 人收藏

    评论

    相关推荐

    【PPT】UML统一建模语言

    本帖最后由 assingle 于 2011-2-22 10:11 编辑 【PPT】UML同意建模语言附件下载:
    发表于 02-22 10:10

    UML建模工具推荐

    本文推荐五个免费的UML建模工具。对软件开发而言,软件的对象模型有助于他们对软件的需求以及系统的架构和功能进行沟通。
    发表于 07-19 08:33

    如何用UML建模开发嵌入式软件?

    如何用UML建模开发嵌入式软件?
    发表于 04-25 07:58

    利用UML映射工具实现系统可靠性建模

    许多可靠性建模技术是基于可靠性框图、故障树、Markov 链等表示方法,但系统架构师、产品经理和软件开发者往往对这些表示方法不太熟悉,他们通常使用统一建模语言UML)来对
    发表于 05-30 14:00 17次下载

    UML在流程工业优化调度工艺描述系统中的应用

    UML在流程工业优化调度工艺描述系统中的应用 结合建模工具Rational Rose说明如何在系统开发过程中运用UML建模。通过流程工业优
    发表于 02-22 16:24 22次下载

    基于UML的嵌入式硬件系统模型

    阐述了统一建模语言UML的基本语法结构和基本建模步骤,介绍建模设计方法中 的层次构架模式。参照基本建模
    发表于 04-19 15:54 38次下载
    基于<b class='flag-5'>UML</b>的嵌入式硬件系统模型

    基于UML对象建模的财务软件设计研究

    本篇目的在于研究基于UML对象建模的财务软件设计。基于当前UML、财务软件设计相关知识,能够去优化分析基于UML的财务软件设计相关需求,开发设计一个
    发表于 11-13 17:16 6次下载
    基于<b class='flag-5'>UML</b>对象<b class='flag-5'>建模</b>的财务软件设计研究

    如何使用实时UML的进行雷达软件的设计

    实时统一建模语言(UML)和面向对象的建模技术代表着雷达软件设计的一个发展方向。文中介绍了使用UML的用例图、状态图、顺序图等进行系统分析、
    发表于 03-26 15:09 20次下载
    如何使用实时<b class='flag-5'>UML</b>的进行雷达软件的设计

    最流行的uml建模工具有哪些

    UnifiedModelingLanguage(UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规
    的头像 发表于 09-25 09:37 2.7w次阅读
    最流行的<b class='flag-5'>uml</b><b class='flag-5'>建模</b><b class='flag-5'>工具</b>有哪些

    什么是UML图?常见的UML工具有哪些?

    例子,来自亿图图示 需注意,UML是一种建模语言,不是一个开发过程。常用的作UML图软件有plantUML、Graphiz等等,这些都是较为专业的,这里推荐三款小白式商用绘制
    的头像 发表于 06-22 14:10 4596次阅读
    什么是<b class='flag-5'>UML</b>图?常见的<b class='flag-5'>UML</b>图<b class='flag-5'>工具</b>有哪些?

    基于实时UML的雷达软件设计

    实时统一建模语言 (UML)和面向对象的建模技术代表着雷达软件设计的一个发展方向。文中介绍了使用UML的用例图、状态图、顺序图等进行系统分析
    发表于 03-26 14:06 24次下载

    UML统一建模语言

    UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML
    的头像 发表于 05-05 10:15 851次阅读
    <b class='flag-5'>UML</b>统一<b class='flag-5'>建模</b>语言

    UML相关基本知识介绍

    UML - Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语 言工具, 用于帮助软件开发人员进行思考和记录思路的结果。简单
    的头像 发表于 05-05 10:22 627次阅读
    <b class='flag-5'>UML</b>相关基本知识<b class='flag-5'>介绍</b>

    五个免费UML建模工具介绍

    UML工具很多是商用的,价格不菲;而免费的UML建模工具,功能完善的很少。以下推荐的是五个免费的UML
    的头像 发表于 05-05 11:10 6215次阅读
    五个免费<b class='flag-5'>UML</b><b class='flag-5'>建模</b><b class='flag-5'>工具</b><b class='flag-5'>介绍</b>

    UML和绘图工具Visio解析

    转化成指定的程序语言代码。 本章介绍通过UML绘图工具: visio。visio是Windows系统下创建图表的工具
    的头像 发表于 05-05 11:11 1448次阅读
    <b class='flag-5'>UML</b>和绘图<b class='flag-5'>工具</b>Visio解析