UML Design Via Visual Studio-Sequence Diagram
本文主要介绍在Visual Studio中设计时序图,内容如下:
- 何时使用时序图
- 时序图元素介绍
- 条件、循环在时序图中的使用
- 直接通过代码生成时序图
一、何时使用时序图
当要查看单个用例内若干对象的行为时,应该使用时序图,时序图用于展示对象之间的协作(Martin Fowler)。
二、时序图元素介绍
先上一个图
上图中展示了时序图的基本元素:参与者,生命线,消息,返回,自我调用。
有一点注意一下,参与者people:People,这个是用类来表示的,格式是name: Class.。 如果用类表示参与者 name可以省略,但是冒号必须保留。如果在看别人画的时序图时发现参与者包含冒号,说明这是一个类。其他可能是一个普通抽象参与者。
三、循环、条件在时序图中的使用
1、条件
业务场景,用户要查询自己银行卡的消费记录,先访问bankService,bankService在收到查询请求时会先访问SecurityService来验证用户身份,如果身份合法则直接查询消费记录,否则,直接返回。
通过在Query消息线条上右键-Surround With-》alt完成操作
2、循环
业务场景,用户可能有多张卡,需要访问多次DataService进行查询。
通过在Query消息线条上右键-Surround With-》Loop完成操作
四、直接通过代码生成时序图
示例代码
生成方式:在方法上右键。
生成的时序图
通过代码生成时序图很少用,还是蛮方便的。这种便于像外人解释自己的代码逻辑,但是前提是代码要要简介,封装的彻底才行。
以上是自己平时工作中对于时序图用的最多的地方。VS里面做起来还是非常方便的。
UML Design Via Visual Studio-Sequence Diagram的更多相关文章
- UML Design Via Visual Studio-Class Diagram
用过几个建模设计工具,小的有staruml,大的有rational rose,EA.最后发现还是Visual Studio建模比较舒服(个人观点,不要争论). 打算对自己经常用的几个建模图做一个介绍, ...
- 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)
Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级 ...
- visual studio 2017无建模项目?
教一跨行同事学C#,我想从基础的讲一下,也就是最基本的面象对象分析与设计(OOAD),我直接打开我最新安装的 visual studio 2017.准备建一个“建模项目”.结果发现死活找不到?打开一个 ...
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
[.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...
- [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图 1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
- 【UML】-NO.44.EBook.5.UML.1.004-【UML 大战需求分析】- 顺序图(Sequence Diagram)
1.0.0 Summary Tittle:[UML]-NO.44.EBook.1.UML.1.004-[UML 大战需求分析]- 顺序图(Sequence Diagram) Style:DesignP ...
- UML建模之时序图(Sequence Diagram)<转>
UML建模之时序图(Sequence Diagram) 一.时序图简介(Brief introduction) 二.时序图元素(Sequence Diagram Elements) 角色(Acto ...
- 微软移除Visual Studio 2015中的UML
微软已经在Visual Studio 2015中移除了UML(Unified Modeling Language,统一建模语言),原因是该语言使用率过低.因此微软要优化产品结构,把好钢用在刀刃上. V ...
随机推荐
- 【BZOJ3791】作业 DP
[BZOJ3791]作业 Description 众所周知,白神是具有神奇的能力的.比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成:对语文作业说一声“语”,语文作业就会出于畏惧而自己 ...
- can not find java.util.map java.lang.Double问题
mybatis @Param注解和ParamType属性不能共存
- spring 事物管理
示例:模拟实现转账操作,"A"转给"B"1000,"A"少1000而"B"多一千. 一.转账环境搭建 1.xml配置文件 ...
- 怎样解决KEIL 5 编译KEIL4的带有RTX系统的project解决方法
1.笔者个人对KEIL5与KEIL4的比較 相较于KEIL 5 的"华丽",笔者还是喜欢KEIL4的"内敛".主要也还是习惯了, ...
- QT设置TextEdit颜色
//设置textEdit颜色 QPalette palette= ui->receiveTextEdit->palette(); palette.setColor(QPalette::Ba ...
- C#泛型命名潜规则
public class List<T>{} public class LinkedList<T>{} public class SortedList<TKey,TVal ...
- python基础22------python基础之基于tcp和udp的套接字
一.TCP套接字 1.low版tcp套接字 服务器端 客户端 2.改进版tcp套接字 服务端 客户端 二.UDP的套接字 服务器 客户端 注:udp的套接字可以支持多个客户端同时访问,但tcp套接字就 ...
- 数据库连接理解——JDBC
需求:数据库操作 数据是:用户信息 1.连接数据库 JDBC Hibernate 2.操作数据库 c create r read u update d delete 3.关闭数据库连接 interf ...
- mysql高可用研究(一) 主从+MHA架构
最近在研究mysql的高可用架构,自己想总结下常用的高可用方案都有哪些.有哪些优缺点以及应用的场景?搞得是头昏脑涨,天昏地暗,看了诸多资料,每次都觉得公说公有理婆说婆有理.其实嘛,大家说的都有一定的道 ...
- 第四章 python中的面向对象设计
一.首先来理解几个面向对象的关键特性: 1.封装:对象可以将他们的内部状态隐藏起来.python中所有特性都是公开可用的. 2.继承:一个类可以是一个或多个类的子类.python支持多重继承,使用时需 ...