UML Design Via Visual Studio-Sequence Diagram
2024-10-21 09:53:04
本文主要介绍在Visual Studio中设计时序图,内容如下:
- 何时使用时序图
- 时序图元素介绍
- 条件、循环在时序图中的使用
- 直接通过代码生成时序图
一、何时使用时序图
当要查看单个用例内若干对象的行为时,应该使用时序图,时序图用于展示对象之间的协作(Martin Fowler)。
二、时序图元素介绍
先上一个图
上图中展示了时序图的基本元素:参与者,生命线,消息,返回,自我调用。
有一点注意一下,参与者people:People,这个是用类来表示的,格式是name: Class.。 如果用类表示参与者 name可以省略,但是冒号必须保留。如果在看别人画的时序图时发现参与者包含冒号,说明这是一个类。其他可能是一个普通抽象参与者。
三、循环、条件在时序图中的使用
1、条件
业务场景,用户要查询自己银行卡的消费记录,先访问bankService,bankService在收到查询请求时会先访问SecurityService来验证用户身份,如果身份合法则直接查询消费记录,否则,直接返回。
通过在Query消息线条上右键-Surround With-》alt完成操作
2、循环
业务场景,用户可能有多张卡,需要访问多次DataService进行查询。
通过在Query消息线条上右键-Surround With-》Loop完成操作
四、直接通过代码生成时序图
示例代码
生成方式:在方法上右键。
生成的时序图
通过代码生成时序图很少用,还是蛮方便的。这种便于像外人解释自己的代码逻辑,但是前提是代码要要简介,封装的彻底才行。
以上是自己平时工作中对于时序图用的最多的地方。VS里面做起来还是非常方便的。
最新文章
- 基于WCF MSMQ 的企业应用解决方案
- 用javascript写Android和iOS naitve应用,实在炫酷。
- js实现拖拽
- enumerate
- Integer的缓存机制
- JS验证邮箱格式是否正确的代码
- mybaties 缓存
- UGUI 粒子特效与UI层级问题
- codeforces-1131 (div2)
- 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件
- docker-ce-17.09 镜像获取,创建,删除,保存
- Tgrocery学习及使用
- wkhtmltopdf 参数介绍
- catalan数的新理解
- vCenter orchestrator使用范例
- React Native工程修改Android包名
- 下载Chrome独立版(alternate/offline Installer)的地方
- 利用 Intel Realsense做SLAM开发(一)
- 【mybatis】在mybatis分页查询时,主表对关联表 一对多 分页查询怎么实现
- PHP 基础系列(三) 【转】PHP 函数实现原理及性能分析