写点什么

UML 学习总结

用户头像
行者
关注
发布于: 2020 年 09 月 20 日

在很久很久之前(头发依然茂密的时候),我认为编程的核心是代码,UML并不重要,真是头发多见识短 ^_^。

UML是什么

UML是Unified Modeling Language,统一建模语言;通过一系列图形来对软件进行描述。

为什么是图形而不是文字呢?

相比文字,图形更加直观,不会产生歧义。

小黄鸭图片可以让所有看到图片的人明白小黄鸭是什么;但是假如使用文字,一只通体金黄的小鸭子😢,n个人很可能会理解出n个小黄鸭。

UML都有哪些图

  • 用例图(Use Case Diagrams)

  • 对象图(Object Diagrams)

  • 类图(Class Diagrams)

  • 组件图(Component Diagrams)

  • 包图(Package Diagrams)

  • 部署图(Deployment Diagrams)

  • 协作图(Collaboration Diagrams)

  • 序列图(Sequence Diagrams)

  • 活动图(Activity Diagrams)

  • 状态图(State Diagrams)



竟然有10种图,不过不要怕,它们是有迹可循的。

用例图、对象图、类图、组件图、包图、部署图表现的是关系,类、对象、数据结构之间的关系,来描述软件中不变的逻辑结构,是静态的

协作图、序列图、活动图、状态图表现的是变化,执行流程、实体状态变化,来描述软件执行过程中的变化,是动态的

静态图

用例图

用例图主要用于需求分析阶段;在需求分析阶段,我们要找到系统组成元素,参与者、用例、以及两者之间的关系。

参与者首先是系统之外的存在,可以是人或者事件乃至设备,和系统存在关联。

用例指的是参与者在系统中活动的集合。

拿支付宝转账举例,转账就是一个用例,这个用例关联这2个参与者,转账者和被转账者。



对象图

对象图展示了某一时刻一组对象之间的关系,如同突然给对象拍了一张照片。



类图

类图展示了一组类、接口之间的关系,类图和对象图一起建立出软件的对象模型。



组件图

软件是由一个个组件组成的,类似一辆汽车,包含了动力模块、控制模块等等不同的模块。

而组件图用来描述组件之间的关系。



部署图

部署图用来展示系统该如何进行部署,整体系统架构是什么样子的。



动态图

序列图

序列图用来表示用例中的行为,在这个行为中对象之间互相交互,达成最终行为。



活动图

活动图用来描述具体动态执行过程中的逻辑,相比序列图,更加完善。

状态图

状态图用来描述一个对象在不同情况下状态的变更。



用户头像

行者

关注

还未添加个人签名 2018.03.09 加入

还未添加个人简介

评论

发布
暂无评论
UML学习总结