上一篇博客:

 写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭!
用知识改变命运,用知识成就未来!加油 (ง •̀o•́)ง (ง •̀o•́)ง

文章目录

  • UML简介
  • 如何使用IDEA画UML图
    • 安装PlantUML插件
    • 安装Graphviz
      • Graphviz安装和环境变量配置
        • Graphviz安装
        • 环境变量配置
  • 类图画法

UML简介

统一建模语言 (Unified Modeling Language,UML) 是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。1

UML 作为一种统一的软件建模语言具有广泛的建模能力。UML 是在消化、吸收、提炼至今存在的所有软件建模语言的基础上提出的,集百家之所长,它是软件建模语言的集大成者。UML还突破了软件的限制,广泛吸收了其他领域的建模方法,并根据建模的一般原理,结合了软件的特点,因此具有坚实的理论基础和广泛性。UML不仅可以用于软件建模,还可以用于其他领域的建模工作。 1

UML 立足于对事物的实体、性质、关系、结构、状态和动态变化过程的全程描述和反映。UML可以从不同角度描述人们所观察到的软件视图,也可以描述在不同开发阶段中的软件的形态。UML可以建立需求模型、逻辑模型、设计模型和实现模型等,但UML在建立领域模型方面存在不足,需要进行补充。 1

 作为一种建模语言,UML有严格的语法和语义规范。UML建立在元模型理论基础上,包括 4 层元模型结构,分别是基元模型、元模型、模型和用户对象。4 层结构层层抽象,下一层是上一层的实例。UML中的所有概念和要素均有严格的语义规范。 1

UML 采用一组图形符号来描述软件模型,这些图形符号具有简单、直观和规范的特点,开发人员学习和掌握起来比较简单。所描述的软件模型,可以直观地理解和阅读,由于具有规范性,所以能够保证模型的准确、一致。 1

如何使用IDEA画UML图

安装PlantUML插件

 使用 IDEAUML 图需要安装 plantMUL 插件。PlantUML 是一个支持快速绘制的开源项目。其定义了一套完整的语言用于实现 UML 关系图的描述,并基于强大的 Graphviz 图形渲染库进行 UML 图的生成。绘制的 UML 图还可以导出为图片,以及通用的矢量 SVG 格式文件。

 为什么要使用 plantMUL 呢?因为 PlantUml 与开发语言,平台无关,如果你愿意,只要能编辑文本,就可以开始编写uml图。而且 PlantUml 拥有十分广泛的插件支持,包括:chrom插件 (PlantUml Viewer/UML Diagram Editor)、IDEA插件(PlantUML)、eclipse插件(PlantUML)、Sublime插件(sublime_diagram_plugin)等等。PlantUML甚至还有 在线编辑器,我们不用安装任何插件即可在该网站画 UML 图。

 安装步骤为:File -> Settings -> Plugins 搜索 PlantUML ,找到 PlantUML integration 并安装

安装Graphviz

IDEA 安装 PlantUML 插件之后发现光有插件还不能渲染类图,还需要 Graphviz 的支持。

Graphviz安装和环境变量配置

Graphviz安装

 安装包下载地址:https://graphviz.org/download/。下载完成之后双击安装即可。安装的过程中可以直接配置环境变量,如果忘记选可以手动配置一下。

环境变量配置

 打开电脑系统属性选择高级 -> 环境变量添加path变量,变量值为之前安装路径下的bin目录。


 配置完成之后打开 cmd 输入:dot -version,如果版本号打印成功,说明环境配置完成。

 成功之后重新启动 IDEA 即可创建 PlantUML File 了。

点击之后可以发现可以创建很多 UML 图,例如:时序图、用例图、类图、活动图、组件图、状态图、对象图。

创建成功之后即可看到画图界面了。

类图画法

 与其所画UML图不如说是写UML图。因为我们是使用 统一建模语言 (Unified Modeling Language,UML) 来“画”UML图的。使用 PlantUML 画图的具体方式详见 类图的语法和功能。

@startumltitle 类图
scale 1.5
/'组合关系(composition)'/
class Human {- Head mHead;- Heart mHeart;..- CreditCard mCard;--+ void travel(Vehicle vehicle);
}Human *-up- Head : contains >
Human *-up- Heart : contains >/'聚合关系(aggregation)'/
Human o-left- CreditCard : owns >/'依赖关系(dependency)'/
Human .down.> Vehicle : dependent/'关联关系(association'/
Human -down-> Company : associate/'继承关系(extention)'/
interface IProgram {+ void program();
}
class Programmer {+ void program();
}
Programmer -left-|> Human : extend
Programmer .up.|> IProgram : implement
@enduml


参考文献:


  1. 钱雪忠,王月海主编;陈国俊,徐华,
    钱瑛副主编.数据库原理及应用:北京邮电大学出版社,2015.04:第209页 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

如何使用IDEA画UML图相关推荐

  1. Visio画UML图基本操作及技巧解析

    Visio如何添加枚举类型 1.  新建DataType 2. 选择DataType -> Property -> Stereotype -> enumeration 3. 添加其他 ...

  2. 使用Visio画UML图(Java)

    2019独角兽企业重金招聘Python工程师标准>>> 1.全面认识UML类图元素:http://cqujsjcyj.iteye.com/blog/387546 2.类UML2:ht ...

  3. 安利一个在线画UML图的网址

    安利一个在线画UML图的网址 https://www.draw.io/

  4. python解析visio_Visio画UML图基本操作及技巧解析

    本文和大家重点讨论一下用Visio画UML图基本操作,画UML图有好多种工具,VISIO只是其中一种,VISIO的动作非常轻快.很多人都在用.下面就让我们一起来看一下具体介绍吧. 用Visio画UML ...

  5. vscode画UML图

    目录 准备环境 流程图demo 关系图demo 画UML图是基于markdown实现的. 准备环境 首先要[全局]安装npm和cnpm. 由于我在安装vue的时候已经安装好了.此处省略 1 通过vsc ...

  6. 推荐画UML图以及流程图的在线网站Site

    记得当年学UML课程的时候,当你还在为了安装Rose而发愁的时候,人家都把作业给交了,并且现在大多数UML课程都会让学生使用Rational Rose做画图练习.近来,做毕业设计需要提供各种流程图.U ...

  7. 20201127 使用Markdown 画uml图,Graphviz 安装经历吐血整理

    1 visio code 编辑器,最好有 2 visio code markdownlint插件安装上,这个插件可以比visio code自带的markdown预览展示的更好. 预览相关插件好像是: ...

  8. java测试类要画UML图吗,如何从Java代码生成UML图(尤其是序列图)?

    如何从Java代码生成UML图(尤其是序列图)? 如何从现有Java代码生成UML图(尤其是序列图)? 14个解决方案 249 votes ObjectAid UML Explorer 是我用过的. ...

  9. 如何简单快速画UML图?

    用例图可以通过系统外部用户的角度来描述系统的功能,操作者可以依据用例图来实行各功能的操作.用例图可以通过一个用例来描述一个行为.角色和用例的关系.构成用例图的元素有:角色.用例.包含关系和扩展关系.因 ...

  10. 设计模式(ProcessOn)----如何画uml图? 用ProcessOn在线画图工具

    下面主要介绍一下UML类图怎么画 一.注释 注释就是对类图的补充说明,通过虚线连接被注释的元素. 二.类 类使用包含类名.属性(field) 和方法(method) 且带有分割线的矩形来表示. 三.接 ...

最新文章

  1. POJ - 2446 Chessboard 二分匹配+建图
  2. MYSQL.版本查看-LINUX
  3. 解决安装SQL Server 2005开发版时,出现“SQL Server 服务无法启动 ”点击重试或取消的解决方法
  4. CSDN 独家对话阿里云贾扬清、华先胜等大咖,剧透阿里云原生技术密码
  5. 新盲盒星球抽奖商城手机网站源码 随机开箱抢购
  6. vs2010上opencv配置
  7. echarts大屏模板_大屏数据展示模板智慧城市
  8. 3.3 垃圾回收算法
  9. linux学习——文件系统结构
  10. ye我们胜利了的shooow
  11. Activity中getWindow().setBackground()与getWindw().getDecorView().setBackground()的区别
  12. 【190411】VC++ 双摄像头视频监控捕捉程序源代码
  13. 奥的斯服务器设置楼层运行,奥的斯服务器PPT
  14. 二维码生成api接口调用示例
  15. oracle中的crs,Oracle CRS简介
  16. 浮士德---法国:古诺
  17. Excel中如何将多页强制打印在一页上
  18. 摄像机Rtsp地址格式大全
  19. SPPID开发-开发简介及VB代码转C#
  20. grpc流式传输示例(c++)

热门文章

  1. 全年日降雨数据下载与处理教程
  2. 金融市场:最全的外汇平台资料大全(包括开户金额、点差、特色!)
  3. Catia抛物线建模_基于CATIA的方程曲线设计建模研究
  4. maven使用国内源和使用代理
  5. 搭建服务器处理系统(基于netty),基于Netty的农业物联网服务器系统设计.PDF
  6. 全国大学生“高教杯“成图大赛:关于蜗轮蜗杆快速建模研究(一)
  7. 怎样在计算机桌面上安装驱动器,驱动安装好了却不知该怎么查看 如何找到驱动安装的位置 - 驱动管家...
  8. 电容 电阻0201/0402/0603/等封装长宽高定义
  9. 查看打包成exe程序的批处理并提取代码
  10. 五色电阻在线计算机,色环电阻(5色环在线电阻计算器)