本文主要介绍在Visual Studio中设计时序图,内容如下:

  1. 何时使用时序图
  2. 时序图元素介绍
  3. 条件、循环在时序图中的使用
  4. 直接通过代码生成时序图

一、何时使用时序图

当要查看单个用例内若干对象的行为时,应该使用时序图,时序图用于展示对象之间的协作(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的更多相关文章

  1. UML Design Via Visual Studio-Class Diagram

    用过几个建模设计工具,小的有staruml,大的有rational rose,EA.最后发现还是Visual Studio建模比较舒服(个人观点,不要争论). 打算对自己经常用的几个建模图做一个介绍, ...

  2. 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)

    Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级 ...

  3. visual studio 2017无建模项目?

    教一跨行同事学C#,我想从基础的讲一下,也就是最基本的面象对象分析与设计(OOAD),我直接打开我最新安装的 visual studio 2017.准备建一个“建模项目”.结果发现死活找不到?打开一个 ...

  4. [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图

    [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...

  5. [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图

    [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图  1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...

  6. [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图

    [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...

  7. 【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 ...

  8. UML建模之时序图(Sequence Diagram)<转>

    UML建模之时序图(Sequence Diagram)   一.时序图简介(Brief introduction) 二.时序图元素(Sequence Diagram Elements) 角色(Acto ...

  9. 微软移除Visual Studio 2015中的UML

    微软已经在Visual Studio 2015中移除了UML(Unified Modeling Language,统一建模语言),原因是该语言使用率过低.因此微软要优化产品结构,把好钢用在刀刃上. V ...

随机推荐

  1. 【BZOJ3791】作业 DP

    [BZOJ3791]作业 Description 众所周知,白神是具有神奇的能力的.比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成:对语文作业说一声“语”,语文作业就会出于畏惧而自己 ...

  2. can not find java.util.map java.lang.Double问题

    mybatis      @Param注解和ParamType属性不能共存

  3. spring 事物管理

    示例:模拟实现转账操作,"A"转给"B"1000,"A"少1000而"B"多一千. 一.转账环境搭建 1.xml配置文件 ...

  4. 怎样解决KEIL 5 编译KEIL4的带有RTX系统的project解决方法

        1.笔者个人对KEIL5与KEIL4的比較             相较于KEIL 5 的"华丽",笔者还是喜欢KEIL4的"内敛".主要也还是习惯了, ...

  5. QT设置TextEdit颜色

    //设置textEdit颜色 QPalette palette= ui->receiveTextEdit->palette(); palette.setColor(QPalette::Ba ...

  6. C#泛型命名潜规则

    public class List<T>{} public class LinkedList<T>{} public class SortedList<TKey,TVal ...

  7. python基础22------python基础之基于tcp和udp的套接字

    一.TCP套接字 1.low版tcp套接字 服务器端 客户端 2.改进版tcp套接字 服务端 客户端 二.UDP的套接字 服务器 客户端 注:udp的套接字可以支持多个客户端同时访问,但tcp套接字就 ...

  8. 数据库连接理解——JDBC

    需求:数据库操作 数据是:用户信息 1.连接数据库  JDBC Hibernate 2.操作数据库 c create r read u update d delete 3.关闭数据库连接 interf ...

  9. mysql高可用研究(一) 主从+MHA架构

    最近在研究mysql的高可用架构,自己想总结下常用的高可用方案都有哪些.有哪些优缺点以及应用的场景?搞得是头昏脑涨,天昏地暗,看了诸多资料,每次都觉得公说公有理婆说婆有理.其实嘛,大家说的都有一定的道 ...

  10. 第四章 python中的面向对象设计

    一.首先来理解几个面向对象的关键特性: 1.封装:对象可以将他们的内部状态隐藏起来.python中所有特性都是公开可用的. 2.继承:一个类可以是一个或多个类的子类.python支持多重继承,使用时需 ...