跳过正文
  1. 博客/
  2. 后端/
  3. 软件/

UML最佳实践

·2 分钟· ·
后端 软件
目录

最近面试的时候一个面试官指出了我对系统架构没有固定的认知,推荐我去好好学习一下UML这个语言,我花了几个小时在B站上看了UML这门课,下面是我对UML最佳实践的一点心得

UML是什么
#

首先它是一门语言,全名叫 Unified Modeling Language,翻译过来就是统一建模语言,首先为什么我们思考一下为什么我们需要这么一门语言。

最开始的C语言是面对过程的,我们想做一个什么东西,直接去写就好了,等我们到了比如Java这些面对对象的语言的时候,我们就要思考怎么去建模,所以UML就是在这种情况被创建出来的

怎么用
#

首先UML主要帮助我们设计一个系统,那一般的流程是什么呢

  1. 确定用例 -> 用例图
  2. 确定类模型 -> 类图
  3. 确定流程 -> 时序图
  4. 确定细节 -> 状态图

软件选择
#

其实UML很核心的一个地方就是用可视化的图表展示出你的系统架构,视频里面使用的IBM Rational Rose这个软件,的确拖拽非常方便,但是有个问题就是只支持window,目前我主要操作系统是Ubuntu和Mac,所以我需要一个跨平台的软件

我尝试了跨平台的dia,或者目前一些主流的在网页上拖拽的软件来完成UML图,但是这些都有一个痛点,不方便管理,而且修改起来也比较麻烦,然后有人推荐使用plantuml,不但跨平台,而且UML图是根据代码自动生成

也就是说你不需要拖拽,你可以像写代码一样画UML图,更主要的是这个IDEA上面都有插件集成,你只要安装好插件就可以在IDE里面写UML代码生成你想要的图了

安装流程
#

首先在插件库查找plantuml intergration,然后点击安装,接下面安装绘图课

Mac

brew install graphviz

Ubuntu

sudo apt-get install -y graphviz

接下来你重启IDEA然后随便新建一个文件,输入下面代码

@startuml
Alice -> Bob: test
@enduml

点开侧边栏PlantUML就能看到生成的UML图了

总结
#

以前我只知道IDEA能写代码,后面我知道IDEA能执行SQL,我就把他当成SQL管理工具,后面我发现他也能写Markdown,我就放弃的专业markdown软件,如今我发现他也能写UML,IDEA真的太全能了

PS:这篇博客简单的介绍了我对UML最佳实践的配合,没有涉及到PlantUML的具体使用方法,可以看我的使用UML实现

UML实现Github链接

相关文章

Ubuntu16.04安装Tensorflow的CPU优化
·3 分钟
后端 软件
由于我的笔记本是农卡,没法安装CUDA加速,而且我的显卡只有2G显存,安装OpenCL费力不讨好,而且由于我有一个Google云的300美元的体验,所以可以在Google云上使用TPU来进行加速,所以我就干脆不安装显卡加速,但是Tensorflow提供了指令集优化,由于默认使用pip安装没有提供这个功能,所以只能手动编译安装
巧用Git钩子
·5 分钟
后端 软件 Git
以前听学长提过Git钩子,但是自己一直没有仔细了解过,记得我还写过一个github更新的Python包,现在想想其实用自带的钩子就能很好的完成
Flink批和流处理的思考
·3 分钟
后端 软件
随着2019年8月份,Flink1.9.0正式发布,Flink并入Blink代码,开始同时支持批和流的处理,于此同时,批量同时处理所遇到的问题也就产生了
Apache Atlas 2.0.0部署实践
·6 分钟
后端 软件
Atlas 是一个可扩展和可扩展的核心基础治理服务集 - 使企业能够有效地和高效地满足 Hadoop 中的合规性要求,并允许与整个企业数据生态系统的集成。[来自百科]
FlinkSQL Client实战
·2 分钟
后端 软件
Flink SQL Client 是一个帮助用户直接运行SQL,而不要进行编译运行的工具,首先他支持多个数据源,在Flink1.9.0开始支持了Hive,并且在Flink 1.10.0时候发布了企业级Hive支持,这样就把批处理和流计算结合了起来,这篇博客详解了Hive在Flink SQL Client中的安装和使用,以及探索在上面做的一些复杂开发实践
Build Hadoop Cluster in One Computer
·4 分钟
后端 软件
If you are hadoop novice, I strongly suggest you beginning your study from single node building,you can learn from this website, after you having finshed build one single node, then you can reading my blog to learn how to run a N-node clusters just in your computer.