UML期末复习题——2.5:System Sequence Diagram & Post-condition
第五题:系统顺序图
重要概念:
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的更多相关文章
- UML期末复习题——2.6:Package Diagram
第六题 包图 重要概念: 1.包图(package Diagram) 由若干个包以及包之间的关系组成.包是一种分组机制,其将一些相关的类集合为一个包,形成高内聚,低耦合的类集合,可以说,一个包相当于一 ...
- UML建模之时序图(Sequence Diagram)<转>
UML建模之时序图(Sequence Diagram) 一.时序图简介(Brief introduction) 二.时序图元素(Sequence Diagram Elements) 角色(Acto ...
- UML建模之时序图(Sequence Diagram)
一.时序图简介(Brief introduction) 二.时序图元素(Sequence Diagram Elements) 角色(Actor) 对象(Object) 生命线(Lifeline) 控制 ...
- UML期末复习题——2.7:UML Sequence Diagram
第七题:顺序图 重要概念: 1. 顺序图的主要介绍,在之前对第5题“系统顺序图”的解析讲解里已经很详细了,在这里只是对部分不全面的内容进行补充. 第五题:系统顺序图&后置条件 http://w ...
- UML期末复习题——2.8:UML Design Class Diagram(DCD)
第八题:设计类图 重要概念: 1. 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系 ...
- UML期末复习题——2.9:UML Deployment Diagram
附加题:部署图 重要概念: 1. 部署图 部署图表示的是,如何将具体的软件制品(例如可执行文件)分配到计算节点(具有处理服务的某种事物)上.部署图表示了软件元素在物理架构上的部署,以及物理元素之间的通 ...
- UML期末复习题——2.3:UML State Diagram
第三题 状态图 重要概念: 1.定义:事件.状态和转换: 事件:指一件值得注意的事情的发生. 状态:指对象在事件发生之间某时刻所处的情形. 转换:两个状态之间的关系.它表明当某事件发生时,对象从先前 ...
- UML期末复习题——2.2:UML Activity Diagram.
第二题:活动图 重要概念: 活动图:一种有助于使工作流和业务过程可视化的图. 绘制要点: 具体方法见:http://www.cnblogs.com/xiaolongbao-lzh/p/4591953. ...
- UML期末复习题——2.1:Use Case Diagram
第一题:用例图 重要概念: 1.采用参与者和参与者目标的观点: 一组用例实例,每个实例是系统所执行的一系列活动,以此产生对特定参与者具有价值的客观结果. 短语“对特定参与者具有价值的客观结果”是细微而 ...
随机推荐
- IDAPython实战项目——DES算法识别
在CTF的逆向中我们需要的是找到加密的主函数,结合了yara的识别原理,通过对常量数组的引用的查找,一步步递归构建调用树.调用树根部就是可能的密码算法主函数. 由于这种办法需要常量分布于算法的各个步骤 ...
- 用python在屏幕上输出一个杨辉三角
在屏幕上输出一个杨辉三角,代码如下 def yanghui(): L = [1] while True: yield L L.append(0) L = [L[i - 1] + L[i] for i ...
- grafana根据不同prometheus server统计数据
场景:由于采集的数据量巨大,所以部署了多台prometheus server服务器.根据业务领域分片采集,减轻prometheus server单节点的压力. 问题:grafana如何同时显示多数据源 ...
- 图解数据库中的各种 JOIN
本文转载至https://mazhuang.org/2017/09/11/joins-in-sql/#full-outer-join-excluding-inner-join,如需阅读原文请至上述链接 ...
- 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 ...
- Wannafly挑战赛24-A-石子游戏--【思维题】
链接:https://www.nowcoder.com/acm/contest/186/A 来源:牛客网 石子游戏 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他 ...
- 你不知道的JavaScript LHS 和 RHS 查找
今天在学习JavaScript的相关知识时接触到了 LHS(Left Hand Side)和 RHS(Right Hand Side)两种对变量查找的方法,之所以JavaScript要查找变量,那就先 ...
- react-router和react-router-dom的区别
RR4 本次采用单代码仓库模型架构(monorepo),这意味者这个仓库里面有若干相互独立的包,分别是: react-router React Router 核心 react-router-dom 用 ...
- Python中正则匹配使用findall,捕获分组(xxx)和非捕获分组(?:xxx)的差异
转自:https://blog.csdn.net/qq_42739440/article/details/81117919 下面是我在用findall匹配字符串时遇到的一个坑,分享出来供大家跳坑. 例 ...
- Java8-Lambda-No.03
import java.util.Comparator; import java.util.Objects; import java.util.UUID; import java.util.concu ...