第五题:系统顺序图

重要概念:

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. linux:# vi /etc/profile -bash: vi: command not found 的解决办法

    /bin/vi /etc/profile 直接用全路径vi,linux下一切皆文件,进去把profile文件内容改一下,一定是profile出了问题 export JAVA_HOME=/usr/jav ...

  2. 《OAuth2.0协议安全形式化分析-》----论文摘抄整理

    ---恢复内容开始--- 本篇论文发表在计算机工程与设计,感觉写的还是很有水准的.实验部分交代的比较清楚 本篇论文的创新点: 使用Scyther工具 主要是在 DY模型下面 形式化分析了 OAuth2 ...

  3. 关于Linux、python的PDF书籍整理(附带亲测的 IT 电子书网站)

    [18.1.3][在博客园发的文章不是很多呢,接下来的博客会转移到独立的个人博客网站上去了,具体的学习笔记和内容都会在独立网站上发布,后期还会有博主的个人资源库和教程还有独立网盘存储(可以关注一波哈) ...

  4. python的类和对象(1)

    类和对象 现在这年头,怎么哪里都有对象?街上看了一路手拉手,回来学习还要看到"对象". 是不是学会了对象,就有对象了? 1.定义: 百度解释: 对象是对客观事物的抽象,类是对对象的 ...

  5. 14、RALM: 实时 look-alike 算法在推荐系统中的应用

    转载:https://zhuanlan.zhihu.com/p/71951411 RALM: 实时 look-alike 算法在推荐系统中的应用 0. 导语 本论文题为<Real-time At ...

  6. python3 虚拟环境

    一.python中的虚拟环境 1.虚拟环境:局部的,独立的python环境,完全模拟系统全局python环境的使用 二.安装 http://virtualenv.pypa.io/en/latest/u ...

  7. 微信小程序将图片数据流添加到image标签中

    原文:https://blog.csdn.net/OliveLao/article/details/78136121 ---------------------------------------- ...

  8. 原生JS实现简单富文本编辑器2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. JQuery中 text()、html() 以及 val()以及innerText、innerHTML和value

    设置内容 - text().html() 以及 val() 我们将使用前一章中的三个相同的方法来设置内容: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容( ...

  10. 关于c语言中结构体的初始化

    1.先定义结构体类型后再定义结构体变量: 格式为:struct 结构体名 变量名列表: struct book s1,s2,*ss://注意这种之前要先定义结构体类型后再定义变量: 2.在定义结构体类 ...