软件设计师:UML
UML基本概念
UML(Unified Modeling Language,统一建模语言)
UML词汇表包含3种构造块:事物、关系、图
事物
- 结构事物:静态部分,如类、接口、用例等
- 行为事物:动态部分,如交互、状态机、活动
- 分组事物:包Package
- 注释事物:注释
关系
UML中有4种关系:依赖、关联、泛化、实现
依赖(虚线箭头)
一个类依赖于另一个类
关联(实线)
2种特殊的关联:聚合、组合
- 聚合:部分和整体生命周期不一致,部分可以脱离整体。
- 组合:部分和整体生命周期一致,整体消失部分也消失。
泛化(实线空心箭头)
子类指向父类
实现(虚线空心箭头)
实现接口,基本不考
图
类图
对象图(某一时刻对象间静态关系)
对象名:类名 |
---|
属性 |
用例图
包含关系
包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。表示符号:<<include>>
扩展关系
用一个用例(可选)扩展另一个用例(基本例)的功能,将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。表示符号:<<extend>>
泛化关系
交互图
序列图(时序图、顺序图)
- 对象生命线:对象下面垂直的虚线
- 控制焦点:瘦高的矩形
通信图(协作图)
有路径、有顺序号
状态图(太难了看不懂)
状态名称 |
---|
事件[监护条件]/动作 |
活动图
构件图(组件图)
部署图
UML图总结
图 | 关系 |
---|---|
类图 | 一组对象、接口、协助和它们之间的关系 |
对象图 | 某一时刻一组对象之间的关系 |
用例图 | 一组用例与参与者之间的关系 |
序列图 | 多个对象与一个用例的行为 |
通信图 | 对象之间的消息流及顺序 |
状态图 | |
活动图 | 一个活动到另一个活动的流程 |
构件图 | 一组构件之间的组织及依赖 |
部署图 | 软件与硬件的关系 |