ProcessOn - 在线绘图工具

ProcessOn

  • 支持流程图、思维导图、原型图、UML、网络拓扑图等;
  • 主流的UML图列都支持,可以作为方便快捷的UML工具;

PlantUML - 多系统多编辑器的UML绘图工具

PlantUML

  • 以文字方式表达图的内容并直接生成图,支持时序图、流程图、用例图、状态图、组件图等;
  • 以插件形式被Eclipse、PyCharm、Idea、Emacs、Word等所集成;
  • 需要花费一些时间熟悉绘图语法;

在Windows系统安装PyCharm的PlantUML插件:

  1. 安装PlantUML插件
  2. 安装开源图片渲染库Graphviz,否则无法正常显示
  3. 设置:File---》Settings---》Other Settings--》PlantUML---》Graphviz dot executable:填写Graphviz下bin目录dot.exe的完整路径
  4. 使用PlantUML:File---》New---》选择创建UML图

UMLet - 多系统针对Java语言的UML绘图工具

UMLet

  • 免费开源,能够快速构建UML图并导出为eps、pdf、jpg、svg等格式;
  • 单独运行或者作为Eclipse插件在Windows、OS X以及Linux上运行;
  • 可以创建自定义的UML元素;

单独运行:从UMLet官网下载独立版本,解压后点击UMLet.exe开始绘制UML图;
作为Eclipse插件:

  1. UMLet官网下载Eclipse plugin版本的压缩包;
  2. 将解压出来的jar文件复制到Eclipse的plugins目录下,然后重启Eclipse;
  3. 选择File--》New--》Other--》Umlet Diagram,选择位置和指定名称--》开始绘制UML图;

使用简介:

  1. 打开UMLet后,在右上侧区域内双击想要添加的对象,对象被自动添加到面板中;
  2. 选中添加进来的对象,在右下角的属性面板中,修改对象的属性;
  3. 保存创建完成的UML图,可以导出来为其它格式;

ObjectAid UML Explorer - 针对Java语言用来创建UML图的Eclipse插件

ObjectAid UML Explorer可将Java源代码生成类图等,便于快速阅读和分析代码。
自动生成类图示例:

  1. File--》New--》Other--》ObjectAid UML Diagram--》ClassDiagram--》输入路径和文件名,点击Finish。
  2. 可以直接拖动类文件到文件工作区域,自动生成类图。
  3. 在文件工作区域点击右键,显示相关功能,例如“Add--》Java Classfier”添加相关的类。

Umbrello - 多系统多语言的UML绘图工具

Umbrello

  • 支持Linux、Windows、OS X系统;
  • 可以对C++、IDL、Pascal、Ada、Python和Java编写的代码进行反向工程;
  • 允许模型内容由输出成docbook和XHTML格式发布

其他Eclipse插件

Acceleo:代码自动生成器,可将模型转换为Java、Python、C等代码。
Papyrus: UML绘图工具,可将Java文件或包逆向生成Papyrus类图。

支持Python的UML工具

  • Umbrello
  • Acceleo
  • PlantUML
  • 专业版PyCharm的Diagrams功能显示UML图:当前文件右键--》Diagrams--》Show Diagrams
  • 使用Graphviz和Pyreverse生成Python代码的UML类图

示例:使用Pyreverse生成Python代码的UML类图

  1. 安装Graphviz,并添加PATH系统变量
  2. 因为Pyreverse工具集成在Pylint里,可通过“pip install pylint”命令安装pyreverse
  3. “pyreverse -h”获取命令帮助
  4. 参考命令:“pyreverse -ASmy -o png test/”,test为存放代码的目录

Tools - UML的更多相关文章

  1. UML online tools

    UML online tools UML https://www.diagrams.net/assets/svg/home-dia1.svg refs https://www.diagrams.net ...

  2. UML drawing tools

    1. tools based on the script http://www.websequencediagrams.com/ UMLet 12.1 My best two recommendati ...

  3. QM UML状态机建模实例之Blinky for cortex-m0

    简介:QP由Quantum Leaps公司开发异于传统顺序式系统(前后台架构即main+ISR)和传统多任务系统(操作系统)的事件驱动型状态机框架,实现了在C语言下的面向对象编程,该框架支持有限状态机 ...

  4. UML基础与Rose建模实训教程

    目  录 第1章  初识UML. 1 1.1 初识UML用例图... 1 1.2 初识UML类图... 3 第2章  Rational Rose工具... 6 2.1 安装与配置Rational Ro ...

  5. 【转】Java 项目UML反向工程转化工具

    原文链接:http://www.cnblogs.com/bakari/p/3561207.html 今天在看一个模拟器的源码,一个包里有多个类,一个类里又有多个属性和方法,如果按顺序看下来,不仅不能对 ...

  6. [转]UML八大误解

    潘加宇 本文删节版发表于<程序员>2013年11期 UML(统一建模语言)是软件建模的表示法标准.我从2002年开始专门从事研究和推广UML的工作,在为软件组织提供UML相关需求和设计技能 ...

  7. 13个优秀的开源UML工具介绍

    本文将为您介绍12个优秀的UML工具: 1. StarUML StarUML(简称SU),是一种创建UML类图,是一种生成类图和其他类型的统一建模语言(UML)图表的工具.StarUML是一个开源项目 ...

  8. Eclipse UML插件Green UML、AmaterasUML

    一.Green UML插件 1.查看Eclipse版本 查看当前电脑上安装的Eclipse版本(Help-About Eclipse Platform),是3.3.2版本的. 2.查看相应插件版本 然 ...

  9. 10 Code Coverage Tools for C & C++

    Code coverage is a measure used in software testing that describes the degree to which the source co ...

随机推荐

  1. Sqlite安装教程

    Sqlite下载页面:http://www.sqlite.org/download.html Windows安装 需要下载 sqlite-tools-win32-*.zip 和 sqlite-dll- ...

  2. Swagger使用

    Swagger 1.集成springboot 第一步:pom <dependency> <groupId>io.springfox</groupId> <ar ...

  3. 3. Go语言基本类型

    Go语言基本类型如下: bool string 数值类型 (int8, int16, int32, int64, int, uint8, uint16, uint32, uint64, uint, f ...

  4. Demo002 IDEA中Junit单元测试的使用(初级篇)

    推荐JUnit视频教程:JUnit-Java单元测试必备工具. 1.基本理论 1.1 单元测试 单元测试又称模块测试,属于白盒测试,是最小单位的测试.模块分为程序模块和功能模块.功能模块指实现了一个完 ...

  5. sqlserver2017 重装过程中出现“无法找到数据库引擎启动句柄”错误的解决办法

    sqlserver数据库引擎修改账号名,详情参考:http://blog.51cto.com/djclouds/2089047?utm_source=oschina-app 在SQL Server安装 ...

  6. react项目请求数据的fetch的使用

    准备三个文件(封装请求函数),然后测试一下,能不能调用数据 第一个文件  request.js import 'whatwg-fetch'; /** * Parses the JSON returne ...

  7. node.js中stream流中可读流和可写流的使用

    node.js中的流 stream 是处理流式数据的抽象接口.node.js 提供了很多流对象,像http中的request和response,和 process.stdout 都是流的实例. 流可以 ...

  8. 【APP测试(Android)】--安全测试

  9. JAVA中内部类(匿名内部类)访问的局部变量为什么要用final修饰?

    本文主要记录:在JAVA中,(局部)内部类访问某个局部变量,为什么这个局部变量一定需要用final 关键字修饰? 首先,什么是局部变量?这里的局部是:在方法里面定义的变量. 因此,内部类能够访问某局部 ...

  10. flask通过form表单一次上传多个文件

    基本上,用了flask官网的示例代码(中文版,英文版),稍微做了修改. import os from flask import Flask, flash, request, redirect, url ...