`

PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件

阅读更多

在应用系统软件开发过程中,如果软件由很多对象组成,它的结构仅仅凭借分析很难理清,同时为了有利于软件的开发及重用,所以在开发系统之前建模是非常有必要的,在众多的建模方法中选择一种适应自身应用特点,方便不同背景的人们交流的建模方法已经成为开发人员及用户的迫切愿望。UML 是面向对象软件开发中的一种通用、统一的图形模型语言,是用于软件系统规约化、可视化构造和建模的有效工具。本文介绍了一种简单快速的 UML 编辑软件 —— PlantUML,PlantUML 是一个用来绘制 UML 图的 Java 类库。支持的 UML 图包括:时序图、用例图、类图、组件图、活动图等。PlantUML 可以帮助开发人员建立和编辑 UML,有较好的应用前景。

宋 强, 软件工程师, IBM

2012 年 7 月 05 日

  • +内容

随着计算机技术的飞速发展,面向对象的软件开发技术发展迅速并获得了广泛应用,在面向对象的分析、设计技术及面向对象的程序设计语言方面均获得了丰富的研究成果,面向对象的方法占据着主导地位。统一建模语言 UML(Unified Modeling Language,简称 UML)是面向对象软件开发中的一种通用、统一的图形模型语言,是用于软件系统规约化、可视化构造和建模的有效工具。他已经被国际化标准组织吸收为软件建模领域的国际标准。UML 融入了软件技术领域的新思想、新方法和新技术,不仅可以支持面向对象的分析与设计,更重要的是能够有力的支持从需求分析开始的软件开发全过程。基于 UML 的设计和开发过程也越来越受到广泛的关注,UML 在面向对象的分析和设计中显示了其强大的生命力。本文介绍了一种简单快速的 UML 编辑软件 -PlantUML,PlantUML 是一个用来绘制 UML 图的 Java 类库。支持的 UML 图包括:时序图、用例图、类图、组件图、活动图等。PlantUML 可以帮助开发人员建立和编辑 UML,有较好的应用前景。

UML 的简介

统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。UML 合并了由 BOOCH、OMT、OOSE 等方法的基本概念和表示符号的基础上,溶入了软件工程的方法,是一种通用的、易于表达的、具有强大的可视化的建模语言。UML 在 1997 年被国际化标准组织(OMG)接纳为正式官方标准后已经成为新一代面向对象软件设计的事实标准,其与 Rational 统一过程的配合使用已经被业界许多企业所采用。UML 提供了一套描述软件系统模型的概念和图形表示方法,软件开发人员可以使用 UML 对复杂的面向对象软件系统建立可视化的模型,并通过增量式的不断细化直接控制从设计、编码、测试到文档编制的整个软件开发过程。

UML 独立于程序设计语言,用 UML 建立的模型可以采用 C++,Java 以及其它任何一种面向对象的程序设计语言来实现。另外 UML 具有以下等优点;UML 合并了由 BOOCH、OMT、OOSE 等方法的优点,提供了标准的面向对象模型元素定义和表示方法,能够间接地表达面向对象的各种概念和模型元素。UML 是一种图形化的语言,其可视性强,具有较强的表示能力。此外,UML 独立于开发过程,能同多种开发过程结合使用,具有广泛的适用性。最后,UML 易用使用,为开发人员及用户提供了详尽的说明文档。

UML 由视图、图、模型元素和通用机制等几个部分组成。其中,视图是用于表达系统某一方面特征的 UML 建模元素的子集,由多个图构成,是在某一抽象层上,对系统的抽象表示。图是模型元素集的图形表示。模型元素代表面向对象中的类、对象、消息和关系等概念,是构成图的最基本的常用概念。通用机制用于表示其他信息。另外,UML 有事物,关系和图三个基本构造块。事物是实体抽象化的最终结果,是模型是中的基本成员;关系是将事物联系在一起的方式;图是事物集合的分类。

 

PlantUML 的安装及配置

PlantUML 支持在多个平台上安装使用,比如 Eclipse,NetBeans,oneline servlet 等,它也支持多种语言的编辑,例如 C/C++,PHP,Java,Html 等。用户可以从 PlantUML 的官方网站上下载所需用的相应的文件。http://plantuml.sourceforge.net/download.html

下面本文仅以 Eclipse 开发操作平台为例简要地介绍 PlantUML 的安装及配置方法。

  1. 下载更新 PlantUML Eclipse 插件,打开 Eclipse,Help-> Install new software...。

    填入相应的 URL:

    http://basar.idi.ntnu.no/svn/tdt4100/anonymous/trunk/updatesite/

    http://plantuml.sourceforge.net/updatesite/

    图 1. 下载安装 PlantUML 插件
    图 1. 下载安装 PlantUML 插件
  2. 下载安装成功后,重启 Eclipse。会在 Windows->Show View->Other 看到 PlantUML 的图标。
    图 2 . PlantUML 图标成功显示
    图 2 . PlantUML 图标成功显示

    用户也可以下载相应的 plantuml.jar文件,进行手动安装。

 

PlantUML 的使用实例

用户可以根据不同的需要,利用 PlantUML 可以生成不同的视图。操作非常简单方便。

图 3. PlantUML 操作界面
图 3. PlantUML 操作界面

下面本文将用实际的语法实例对应用 PlantUML 生成的各种视图进行说明介绍。

时序图

时序图亦称为 序列图或循序图,是一种 UML 行为图。它通过描述 对象之间发送 消息的时间顺序显示多个对象之间的动态协作。它可以表示 用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。

语法实例:

 @startuml 
 title Sequence Diagram Example 
 actor Tester1 #red 
 actor Tester2 #Yellow 
 Tester1 -> Tester2: 发送请求
 Tester2 --> Tester1: 回复请求 
 @enduml
图 4. 时序图视图
图 4. 时序图视图

用例图

用例图 - 由主角、用例以及它们之间的关系构成的图。

语法实例:

 @startuml 
 : 管理员 : as Admin << 管理员 >> 
 ( 应用程序 ) as (Use) 
 Tester1 -> ( 开始 ) 
 Tester2 --> (Use) 
 Admin ---> (Use) 
 note right of Admin : 管理员身份
 note left of (Use) 
  实现 Notes Domino 的功能
 end note 
 note "测试人员进行测试工作" as user 
 ( 开始 ) .. user 
 user .. (Use) 
 @enduml
图 5. 用例图视图
图 5. 用例图视图

类图

类图 - 显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。

语法实例:

 @startuml 
 skinparam classAttributeIconSize 12 
 class Test << 主函数 >> { 
 -Function1 
 +Function2 
 #Function3 
 ~Function4 
 ~method1() 
 +method2() 
 #method3() 
 ~method4() 
 } 
 Test <|-- Test2 
 Test1 o-- Test2 
 Test *-- Test3: 调用
 @enduml
图 6. 类图视图
图 6. 类图视图

活动图

活动图 - 阐明了业务 用例实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。

语法实例:

 @startuml 
 (*) --> "Start" 
 note right: Start Testing 
 if "result" then 
  -->[true] "Next Testing"
  --> "End"
  -right-> (*) 
 else 
  ->[false] "Change Testing"
  -->[Ending process] (*) 
 endif 
 @enduml
图 7. 活动图视图
图 7. 活动图视图

组件图

组件图 - 用来反映代码的物理结构。从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。使用组件图可以将系统划分为内聚组件并显示代码自身的结构。

语法实例:

 @startuml 
 title Lotus 
 interface "IBMDocs" as SC 
 package "Test1" { 
 SC - [ 第一个组件 ] 
 Notes - [ 第一个组件 ]: use 
 Symphony - [ 第二个组件 ] 
 [ 其他组件 ] 
 } 
 package "Test2" { 
 Connections - [ 第三个组件 ] 
 [ 第一个组件 ] --> iNotes 
 } 
 @enduml
图 8. 组件图视图
图 8. 组件图视图

状态图

状态图 - 描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态

对不同的事件做出反应的。

语法实例:

 @startuml 
 [*] --> Test 
 state "Test" as Test { 
  state "Testing Module" as TM 
  state "Configuring Module" as CM 
  [*] --> CM 
  TM --> CM : Testing1 
  CM --> TM : Testing2 
 } 
 note right of Test : 状态图实例
 @enduml
图 9. 状态图视图
图 9. 状态图视图

对象图

对象图 - 显示了一组对象和他们之间的关系。使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。对象图显示某时刻对象和对象之间的关系。一个对象图可看成一个类图的特殊用例,实例和类可在其中显示。对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。

语法实例:

 @startuml 
 object Test1 
 object Test2 
 @enduml
图 10. 对象图实例
图 10. 对象图实例

下面本文将简要地介绍一个具体实例的应用。

这个实例是由其官方网站提供:

http://plantuml.sourceforge.net/unicode.html

图 11 是由 PlantUML 的方法生成的实例图。

图 11. 具体实例图
图 11. 具体实例图

在 PlantUML 的官方主页中,有对各种方法更为详尽的描述及说明。文本仅仅列举了一些简单的语法规则,利用 PlantUML 做出的各种视图。可以看到 PlantUML 提供了非常简单的语法规则,为用户进行编辑提供了较为便捷的方法。

PlantUML 提供了多种语言的编辑方式,如 TXT 文本,HTML,Java,C/C++,LaTex,APT,Word 及 URL 等多种方式,满足不同的用户需求。

 

总结

本文向读者介绍了一种开源的软件— PlantUML,它是一种简单快速的 UML 编辑软件,PlantUML 是一个用来绘制 UML 图的 Java 类库。提供了各种简单有效地方法,支持的 UML 各种视图,包括:时序图、用例图、类图、组件图、活动图等。PlantUML 可以帮助开发人员建立和编辑 UML,为开发人员提供了更多的开发条件,有较好的应用前景。

 

本文来源于:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-plantuml/

分享到:
评论

相关推荐

    JBPM采购申请系统——02_Eclipse与JBPM.7z

    JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z ...

    eclipse中的uml类图插件jar包

    它还包含了用于创建和编辑UML模型的编辑器。 org.eclipse.uml2.uml.diagram:这个库包含了用于创建和编辑UML类图的类和接口。它提供了各种布局管理器,用于控制UML图中的元素的位置和大小。此外,它还包含了一些...

    应用于Eclipse的UML插件

    "应用于Eclipse的UML插件"是专门为Eclipse设计的一个扩展,它允许开发者在Eclipse环境中方便地创建、编辑和管理统一建模语言(Unified Modeling Language,简称UML)模型。 UML是一种标准化的可视化建模语言,用于...

    eclipse插件——uml

    eclipse使用的uml插件,用来在eclipse上直接进行uml制图。

    Eclipse插件之UML反向类图生成工具

    总之,Eclipse插件中的UML反向类图生成工具是Java开发者的一个强大辅助工具,通过它,我们可以从代码中快速提取出结构化信息,增强代码的理解和管理。结合合理的开发实践,可以极大地提升开发效率和代码质量。

    eclipse UML2插件

    Eclipse UML2插件是Eclipse集成开发环境(IDE)的一个强大工具,它使得软件开发者能够方便地创建、编辑和管理统一建模语言(UML)模型。这个插件扩展了Eclipse的功能,允许用户在开发过程中直接进行UML建模,从而...

    eclipseUML

    将两者结合,EclipseUML为软件开发人员提供了一个强大的平台,用于创建、编辑和维护UML模型。 标签:“eclipse uml” 知识点: 1. **Omondo Eclipse UML**:这是一种在Eclipse平台上使用的可视化建模工具,它原生...

    eclipse UML 插件

    eclipse的UML插件,生成类文件的UML图,很实用。

    eclipse3.5.1_eclipseUML2.2_package.zip

    eclipseUML 2.2 插件在 Eclipse 3.5.1 中的应用 EclipseUML 是一款功能强大且实用的 UML 建模插件,能够将工程反向导出类图,并且可以直接集成到 Eclipse 开发环境中。下面将对 eclipseUML 2.2 插件在 Eclipse ...

    Eclipse王者归来——如何使用Eclipse调试Android源码

    【长青说安卓】系列专题(七):Eclipse王者归来——如何使用Eclipse调试Android源码 在Android开发领域,Eclipse曾是开发者的主要工具,尤其在早期,其强大的集成开发环境为开发者提供了便捷的代码编辑、构建和调试...

    eclipse 插件 反向UML

    综上所述,Eclipse的反向UML插件是理解和优化Java源代码的强大工具,它通过可视化的方式将抽象的代码结构转化为易于理解的UML模型,有助于提升软件开发的效率和质量。在实际工作中,结合UML的正向设计和反向工程,...

    eclipse画UML类图的jar包.zip

    Eclipse是一款广泛使用的Java集成开发环境,而UML(统一建模语言)是软件工程中用于可视化和设计软件系统的一种标准化语言。"eclipse画UML类图的jar包.zip"是一个包含Eclipse插件的压缩文件,这些插件允许用户在...

    m2e —— maven to eclipse plugin 1.5 最新离线安装版

    **m2e——Maven到Eclipse插件1.5最新离线安装版** M2E,全称为m2eclipse,是Eclipse IDE中一个非常重要的插件,它为Eclipse提供了对Apache Maven项目的集成支持。Maven是一个强大的项目管理和构建工具,广泛应用于...

    eclipse画时序图插件plantuml

    其中,"eclipse画时序图插件plantuml"是Eclipse的一个重要插件,用于帮助开发者创建和编辑时序图。时序图是UML(统一建模语言)中的一个重要图表类型,主要用于描述系统中对象之间的交互行为,特别是时间顺序。 ...

    eclipse uml2.0 插件

    2. **启动编辑器**:安装完成后,用户可以在Eclipse中打开或新建一个uml2文件,插件会自动加载并显示对应的编辑界面。这个编辑器提供了丰富的工具栏和菜单选项,用于创建和修改UML模型。 3. **建模**:通过拖放或...

    Eclipse UML编辑器_本科毕业设计论文

    ### Eclipse UML编辑器开发相关知识点 #### 一、研究背景与意义 1. **业务基础平台与开发工具的关系**: - 在软件开发过程中,一个高效、灵活的基础平台能够极大地提升开发效率和软件质量。Eclipse作为一种广泛...

    eclipse插件开发form编辑器

    Eclipse Forms不仅适用于传统的编辑器、视图、向导和对话框,还适用于更复杂的用户界面需求。 #### 二、Eclipse Forms的历史背景与设计理念 **历史背景** - **原生外观**:Eclipse平台的核心特性之一就是让基于该...

    iOS游戏应用源代码——JayDugger-Eclipse-Phase-Mind-Maps.zip

    《iOS游戏应用源代码解析——基于JayDugger的Eclipse Phase Mind Maps》 iOS游戏开发是一项技术性强、富有挑战性的任务,它涉及到多种技术和工具的综合运用。在这个项目中,我们将深入探讨由JayDugger开发的...

Global site tag (gtag.js) - Google Analytics