PlantUml安装
笔者使用的是VsCode中的插件PlantUml,安装完成后,如果需要画类图的话,还需要安装GRAPHVIZ这个软件.在Windows下的安装包放在了下面的链接中GRAPHVIZ的地址 Windows需要配置环境变量.Linux下的安装就要简单多了,直接使用sudo apt-get install graphviz即可.
从一个示例开始
- 车的类图结构为<>,表示车是一个抽象类;
- 它有两个继承类:小汽车和自行车;它们之间的关系为实现关系,使用带空心箭头的虚线表示;
- 小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系,使用带空心箭头的实线表示;
- 小汽车与发动机之间是组合关系,使用带实心箭头的实线表示;
- 学生与班级之间是聚合关系,使用带空心箭头的实线表示;
- 学生与身份证之间为关联关系,使用一根实线表示;
- 学生上学需要用到自行车,与自行车是一种依赖关系,使用带箭头的虚线表示;
PlantUml实现
版本一
@startuml
interface 车
车 <|.. 小汽车
车 <|.. 自行车
轮胎 --* 小汽车
发动机 --* 小汽车
SUV --|> 小汽车
学生 ..> 自行车
学生 --O 班级
学生 -- 学生证
@enduml
顺序有点乱,后续改进
版本2
@startuml
interface 车
车 <|.. 小汽车
车 <|.. 自行车
轮胎 --* 小汽车
发动机 --* 小汽车
小汽车 <|-- SUV
自行车 <.. 学生
学生 -left-o 班级
学生 -- 学生证
@enduml
顺序还有点乱,后续改进
版本3
@startuml
interface 车
class 小汽车
class 自行车
车 <|.. 小汽车
车 <|.. 自行车
小汽车 <|-- SUV
自行车 <.left. 学生
学生 -left-o 班级
学生 -- 学生证
轮胎 --* 小汽车
发动机 --* 小汽车
@enduml
PlantUml的缺点
PlantUml的布局确实是一个硬伤,相信开发人员会在这方面不断改进的。
PlantUml不支持导出Pdf。这个有些不方便。相信开发人员会进行改善的。
尽管如此,PlantUml的快捷是其他手绘软件无法比拟的。还是非常感谢PlantUml这个软件。