UML期末复习——系统顺序图和操作协议

第五题:系统顺序图

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_顺序图

 

重要概念:

1.对象:

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

  对象的表示方式有三种:

  a.包括对象名和类名

     

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_顺序图_02

  b.只有类名。

       

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_UML_03

  c.只有对象名

 

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_uml请求消息返回消息 异步消息线条_04

 

2.消息表示形式:

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

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

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

  表示方式:

        

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_uml请求消息返回消息 异步消息线条_05

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

  表示方式:

       

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_条件判断_06

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

  表示方式:

 

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_UML_07

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

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

  表示方式:

        

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_UML_08

3.复合片段

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

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

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

  标记为“alt

  例如:

  

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_uml请求消息返回消息 异步消息线条_09

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

opt

  例如:

   

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_UML_10

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

  循环的标记为:loop

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

  

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_uml请求消息返回消息 异步消息线条_11

   

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

par

  例如:

  

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_UML_12

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

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

  标签为:ref

  例如:

  

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_顺序图_13

4.系统顺序图:

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

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

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

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

  2)时间事件

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

 

绘制要点:

  具体方法:

       

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

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

 

注意事项:

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

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

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

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

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

 

消息不应该超过5个!一定要仔细审题,如果某个事件操作很多,直接忽略后面那些细节,否则后面的很难做,越少越好

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

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

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

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

  7、操作契约:

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

 

试题答案:

uml请求消息返回消息 异步消息线条 uml定义的四种消息类型_UML_14