挑了几个UML常用图,整理一下,方便自己查询
多半是应付设计师考试的,考试专用不喜可踩勿喷;
用例图示例
用例图:
参与者:外部参与者(用户/其他系统)
用例:功能
包含关系:一个用例包含另一个用例(不可或缺)
拓展关系:一个用例存在是为了拓展另一个用例(锦上添花)
继承关系:一个用例继承自一个用例
依赖关系:一个用例依赖另一个用例
--------------------------------------------静态图结束---------------------------------------------------
静态视图: 用例图 , 部署图 , 类图 , 对象图
动态视图: 序列图 , 协作图 , 状态图 , 活动图
--------------------------------------------动态图开始---------------------------------------------------
序列图示例
时序图:
对象: 类的实例
焦点: 对象操作的执行
同步消息(黑实心箭头):等待响应
异步消息(尖角箭头):无需等待响应
返回消息:操作响应
示例说明:
1. 用户向控制器发送一个同步登录消息(调用控制器的login方法)
2. 控制器先检查用户信息(查询DB或会话),成功匹配后向账户发送一个信息请求
3. 账户收到请求,返回一个账户信息,控制器返回给用户
4. 控制器给自己发送一个异步用户已登录消息(保存会话信息)
通信图示例
时序图和协作图可以相互转化!此图来自上述时序图;
状态图示例
状态图:
超状态:状态的父状态
事件:激发状态转换
动作:状态转换伴随的行为
监护条件:满足条件状态才可转换
示例说明:(假设是一台咖啡机)
1. 打开开关,开机灯亮,状态置为On::Ready
2. 按下制作按钮,判断监护条件:是否有水有咖啡粉,满足进入工作状态,工作灯亮
3. 制作完毕,就绪灯亮,状态转换为Ready
4. 按下关闭按钮,灯灭进入Off状态
活动图示例
活动图
和流程图类似,但又有所区别:
1. 活动图侧重对象活动顺序,表现系统行为; 流程图侧重控制结构,表现处理过程;
2. 活动图面向对象,流程图面向过程;
3. 活动图可以表示并发活动;
最后总结一下没画出的图:
对象图: 系统类的实例快照,图形元素同类图
部署图: 和物理相关的图,与构件图相关;