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、操作契约:
操作、交叉引用(用例)、前置条件、后置条件
试题答案: