第五题:系统顺序图

重要概念:

1.对象:

  对象是特定行为与属性的集合。

  对象的表示方式有三种:

  a.包括对象名和类名

  b.只有类名。

  c.只有对象名

 

2.消息表示形式:

  消息用于描述对象间交互的方式及内容。

  消息分为四种:同步消息异步消息返回消息自关联消息

  a.同步消息:一个对象向另一个对象发出同步消息后,将处于阻塞状态,一直等到另一个对象的回应。

  表示方式:

  b.异步消息:一个对象向另一个对象发出异步消息后,这个对象可以进行其他的操作,不需要等到另一个对象的响应。

  表示方式:

  c.返回消息:同步消息的返回消息

  表示方式:

  注意:创建对象的表示法也是用虚线箭头表示!

  d.自关联消息:用来描述对象内部函数的互相调用。

  表示方式:

3.复合片段

  为了支持有条件和循环的构造(以区别于其他事物),UML使用了图框。图框是图的区域或片段,在图框中具有操作符或标签(例如loop)和保护信息(条件子句)。

  复合片段有多种,在此主要介绍一下几种:条件判断可选循环同步

  a.条件判断:用于描述代码中if…else…这种结构

  标记为“alt

  例如:

  

  b.可选:是一种特殊的“条件判断”,它只是一个if,没有else if或else

  可选的标记为:opt

  例如:

  

  c.循环:是指代码中的for、while之类的语句块。

  循环的标记为:loop

  例如:下图中[m,n]是指至少执行m次,最多执行n次

     

  d.同步:用于描述多线程的情况。

  同步的标记是:par

  例如:

  

   除此之外,顺序图中还包含一种特殊的形式,引用:

  在一个顺序图中,可以引用另一个顺序图,其引用方式类似于复合片段,

  标签为:ref

  例如:

  

4.系统顺序图:

  UML没有定义所谓的“系统顺序图”,而只是定义了“顺序图”。这一限定强调将系统的应用视为黑盒

  系统顺序图是为了阐述与讨论系统相关的输入和输出事件而快速、简单的创建新的制品。

  通常,软件系统主要对以下三种时间进行响应:

  1)来自参与者(人或计算机)的外部事件

  2)时间事件

  3)错误或异常(通常源于外部)

绘制要点:

  具体方法:http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html

       http://blog.csdn.net/sunnylgz/article/details/8525287

  两篇文章,第一篇对主要内容进行简单介绍,第二篇更为详细。

  如果只为画出简图,第一篇就足够了。想要深入了解更详细的内容,推荐看第二篇。

注意事项:

  通常用系统顺序图来画一个用例场景(例如主场景或复杂的常用的场景)。

  1、首先要画一个system,前面要加个冒号,不写system,扣全部分,不写冒号扣1分,位置放错扣1分。

    因为要画的是系统事件,没有系统还画什么

  2、顺序:最左边是actor(前面也要加冒号),然后是system,然后就是用例的外部实体

  3、通常只要求描述一个场景(主场景)。主场景是按照最理想的情况把事情做完就可以了,不需要考虑细节

  4、系统顺序图通常只有3-5个事件,消息不应该超过5个!一定要仔细审题,如果某个事件操作很多,直接忽略后面那些细节,否则后面的很难做,越少越好

  5、后置条件:直接用注释写在后面

  6、后置条件只能写这3句话中的一句或几句:

     创建什么对象或删除什么对象修改什么属性生成什么关联

     这是整个画图考试唯一需要文字的地方

  7、操作契约:

     操作、交叉引用(用例)、前置条件、后置条件  

试题答案:

UML期末复习题——2.5:System Sequence Diagram & Post-condition的更多相关文章

  1. UML期末复习题——2.6:Package Diagram

    第六题 包图 重要概念: 1.包图(package Diagram) 由若干个包以及包之间的关系组成.包是一种分组机制,其将一些相关的类集合为一个包,形成高内聚,低耦合的类集合,可以说,一个包相当于一 ...

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

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

  3. UML建模之时序图(Sequence Diagram)

    一.时序图简介(Brief introduction) 二.时序图元素(Sequence Diagram Elements) 角色(Actor) 对象(Object) 生命线(Lifeline) 控制 ...

  4. UML期末复习题——2.7:UML Sequence Diagram

    第七题:顺序图 重要概念: 1. 顺序图的主要介绍,在之前对第5题“系统顺序图”的解析讲解里已经很详细了,在这里只是对部分不全面的内容进行补充. 第五题:系统顺序图&后置条件 http://w ...

  5. UML期末复习题——2.8:UML Design Class Diagram(DCD)

    第八题:设计类图 重要概念: 1. 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系 ...

  6. UML期末复习题——2.9:UML Deployment Diagram

    附加题:部署图 重要概念: 1. 部署图 部署图表示的是,如何将具体的软件制品(例如可执行文件)分配到计算节点(具有处理服务的某种事物)上.部署图表示了软件元素在物理架构上的部署,以及物理元素之间的通 ...

  7. UML期末复习题——2.3:UML State Diagram

    第三题  状态图 重要概念: 1.定义:事件.状态和转换: 事件:指一件值得注意的事情的发生. 状态:指对象在事件发生之间某时刻所处的情形. 转换:两个状态之间的关系.它表明当某事件发生时,对象从先前 ...

  8. UML期末复习题——2.2:UML Activity Diagram.

    第二题:活动图 重要概念: 活动图:一种有助于使工作流和业务过程可视化的图. 绘制要点: 具体方法见:http://www.cnblogs.com/xiaolongbao-lzh/p/4591953. ...

  9. UML期末复习题——2.1:Use Case Diagram

    第一题:用例图 重要概念: 1.采用参与者和参与者目标的观点: 一组用例实例,每个实例是系统所执行的一系列活动,以此产生对特定参与者具有价值的客观结果. 短语“对特定参与者具有价值的客观结果”是细微而 ...

随机推荐

  1. IDAPython实战项目——DES算法识别

    在CTF的逆向中我们需要的是找到加密的主函数,结合了yara的识别原理,通过对常量数组的引用的查找,一步步递归构建调用树.调用树根部就是可能的密码算法主函数. 由于这种办法需要常量分布于算法的各个步骤 ...

  2. 用python在屏幕上输出一个杨辉三角

    在屏幕上输出一个杨辉三角,代码如下 def yanghui(): L = [1] while True: yield L L.append(0) L = [L[i - 1] + L[i] for i ...

  3. grafana根据不同prometheus server统计数据

    场景:由于采集的数据量巨大,所以部署了多台prometheus server服务器.根据业务领域分片采集,减轻prometheus server单节点的压力. 问题:grafana如何同时显示多数据源 ...

  4. 图解数据库中的各种 JOIN

    本文转载至https://mazhuang.org/2017/09/11/joins-in-sql/#full-outer-join-excluding-inner-join,如需阅读原文请至上述链接 ...

  5. SpringBoot LoggerFactory is not a Logback LoggerContext but Logback is on the classpath

    SpringBoot 在启动项目的时候一起错误: SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in ...

  6. Wannafly挑战赛24-A-石子游戏--【思维题】

    链接:https://www.nowcoder.com/acm/contest/186/A 来源:牛客网 石子游戏 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他 ...

  7. 你不知道的JavaScript LHS 和 RHS 查找

    今天在学习JavaScript的相关知识时接触到了 LHS(Left Hand Side)和 RHS(Right Hand Side)两种对变量查找的方法,之所以JavaScript要查找变量,那就先 ...

  8. react-router和react-router-dom的区别

    RR4 本次采用单代码仓库模型架构(monorepo),这意味者这个仓库里面有若干相互独立的包,分别是: react-router React Router 核心 react-router-dom 用 ...

  9. Python中正则匹配使用findall,捕获分组(xxx)和非捕获分组(?:xxx)的差异

    转自:https://blog.csdn.net/qq_42739440/article/details/81117919 下面是我在用findall匹配字符串时遇到的一个坑,分享出来供大家跳坑. 例 ...

  10. Java8-Lambda-No.03

    import java.util.Comparator; import java.util.Objects; import java.util.UUID; import java.util.concu ...