wendan0 2020-05-07
本学期我上了一门UML课,也就是统一建模语言(我之前一直区分不出XML和UML).
录屏也看了,另外看了UML面向对象分析、建模与设计这一本书,但仍然是一知半解.所以在此我回忆一下内容,进行下大致的一言以蔽式的梳理.
以上的排列是根据学习顺序书写的,括号内是一些联想和解释,辅助记忆.最后的组件图、包图和部署图并没有细讲.以上根据是否表现交互行为,又可以区分为结构图和行为图,结构图包含类、对象、构建和部署图,行为图为剩下的.
类图的高级概念有抽象类、模板类、关联类和分析类
对象图有用:
表示的类的匿名对象
活动图的组成要素有动作和活动节点、开始和终止(实心小圆点和带有小圆点的?)、控制流、判断、合并节点、泳道.值得注意的是合并节点不等于结合节点,后者时间上相同,前者是形式上收束.
顺序图出现的是类的实例,动作和对象分割比活动图更清晰,强调了时间顺序.消息分为简单消息(同步or异步)、返回、创建(<>)、销毁.
通信图由顺序图一键转换,生命线改称为链.
状态机图适合复杂对象的内部状态转换,转换分为外部转换、自转换(触发出入口条件)、内部转换(不触发event和do),复合状态分为顺序子状态、并发子状态、历史状态.
组件图是物理抽象,组成元素由组件、接口(肾小球)、端口(一个小方框连个小球,裸露的接口)
部署图表现运行时节点配置和节点间通信情况以及部署在节点上的artifact,组成元素有节点(node)和连接.节点常见stereotype有<>、<>等.连接的构造性有<<TCP/IP>>等.
包图的包名e.g.com::system:GUI
,需要关注分包原则,例如高内聚和低耦合以及不能一个元素放到很多包里等等(其实也说得差不多了).