什么是顺序图顺序图sequencediagram是一种详细表示对

上传人:m**** 文档编号:574473783 上传时间:2024-08-16 格式:PPT 页数:17 大小:171.50KB
返回 下载 相关 举报
什么是顺序图顺序图sequencediagram是一种详细表示对_第1页
第1页 / 共17页
什么是顺序图顺序图sequencediagram是一种详细表示对_第2页
第2页 / 共17页
什么是顺序图顺序图sequencediagram是一种详细表示对_第3页
第3页 / 共17页
什么是顺序图顺序图sequencediagram是一种详细表示对_第4页
第4页 / 共17页
什么是顺序图顺序图sequencediagram是一种详细表示对_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《什么是顺序图顺序图sequencediagram是一种详细表示对》由会员分享,可在线阅读,更多相关《什么是顺序图顺序图sequencediagram是一种详细表示对(17页珍藏版)》请在金锄头文库上搜索。

1、什么是顺序图什么是顺序图什么是顺序图什么是顺序图顺序图(顺序图(sequence diagramsequence diagram)是一种详细表示对象之间以及对象与)是一种详细表示对象之间以及对象与系统外部的参与者之间动态联系的图形文档。系统外部的参与者之间动态联系的图形文档。它详细而直观地表现了一组相互协作的对象在执行一个(或少量几它详细而直观地表现了一组相互协作的对象在执行一个(或少量几个)用况时的行为依赖关系,以及操作和消息的时序关系。个)用况时的行为依赖关系,以及操作和消息的时序关系。类图对对象之间的消息(交互情况)表达不够详细;类图对对象之间的消息(交互情况)表达不够详细;详细说明对消

2、息的表达虽然详细,但不够直观;详细说明对消息的表达虽然详细,但不够直观;顺序图既详细又直观,但通常只能表示少数几个对象之间的交互。顺序图既详细又直观,但通常只能表示少数几个对象之间的交互。用途用途用途用途q帮助分析员对照检查每个用况中描述的用户需求,是否已经落实到帮助分析员对照检查每个用况中描述的用户需求,是否已经落实到一些对象中去实现。提醒分析员去补充遗漏的对象类或操作。一些对象中去实现。提醒分析员去补充遗漏的对象类或操作。q帮助分析员发现哪些对象是主动对象帮助分析员发现哪些对象是主动对象q通过对一个特定的对象群体的动态方面建模,深刻地理解对象之间通过对一个特定的对象群体的动态方面建模,深刻

3、地理解对象之间的交互。的交互。 5.1 5.1 5.1 5.1 顺序图顺序图顺序图顺序图第第第第5 5章章章章 建立动态模型建立动态模型建立动态模型建立动态模型1表示示例表示示例表示示例表示示例对象生命线表示扮演特定角色的对象。对象生命线表示扮演特定角色的对象。在生命线之间的箭头表示扮演这些角色的对象之间的通讯。在生命线之间的箭头表示扮演这些角色的对象之间的通讯。25.1 .1 5.1 .1 概念与表示法概念与表示法1 1、概述、概述定义定义顺序图是一种表达对象(参与者)间交互的图,由一组对象顺序图是一种表达对象(参与者)间交互的图,由一组对象(参与者)及其间可发送的消息组成,强调消息之间的时

4、间顺序。(参与者)及其间可发送的消息组成,强调消息之间的时间顺序。 由对象由对象(参与者)(参与者)、消息、生命线和激活组成。、消息、生命线和激活组成。对象名对象名:类:类名名3 从从图图中中可可以以看看出出顺顺序序图图是是二二维维的的,其其中中:垂垂直直方方向向表表示示时时间间,水水平平方方向向表表示示不不同同的的对对象象或或参参与与者。者。正正常常地地,时时间间维维由由上上到到下下(根根据据需需要要,也也可可以以由由下下到到上上)。通通常常只只有有时时间间顺顺序序是是重重要要的的,但但在在实时应用中时间轴是能度量的。实时应用中时间轴是能度量的。对对象象的的水水平平顺顺序序并并不不重重要要,

5、相相应应地地生生命命线线之之间间的的顺顺序序可可以以是是任任意的。意的。 可以把各种标签(例如,计时可以把各种标签(例如,计时约束,对活动中的行为描述等)约束,对活动中的行为描述等)放在图的边缘或在它们标记的消放在图的边缘或在它们标记的消息的旁边。息的旁边。42、对象生命线、对象生命线把对象表示成称之为把对象表示成称之为“生命线生命线”的垂直虚线。的垂直虚线。生命线代表一个对象在特定时间内的存在。生命线代表一个对象在特定时间内的存在。如果对象在图中所示的时间段内被创建或者如果对象在图中所示的时间段内被创建或者销毁,那么它的生命线就在适当的点开始或结销毁,那么它的生命线就在适当的点开始或结束。否

6、则,生命线应当从图的顶部一直延续到束。否则,生命线应当从图的顶部一直延续到底部。底部。在生命线的顶部画对象符号。如果一个对象在生命线的顶部画对象符号。如果一个对象在图中被创建,那么就把创建对象的箭头的头在图中被创建,那么就把创建对象的箭头的头部画在对象符号上。如果对象在图中被销毁,部画在对象符号上。如果对象在图中被销毁,那么用一个大的那么用一个大的“X”标记它的析构,该标记或标记它的析构,该标记或者放在引起析构的箭头处,或者放在从被销毁者放在引起析构的箭头处,或者放在从被销毁的对象最终返回的箭头处(在自析构的情况下)。的对象最终返回的箭头处(在自析构的情况下)。在图的顶部(第一个箭头之上)放置

7、在转换在图的顶部(第一个箭头之上)放置在转换开始时就存在的对象,而在整个转换完成时仍开始时就存在的对象,而在整个转换完成时仍然存在的对象的生命线,要延伸超出最后一个然存在的对象的生命线,要延伸超出最后一个箭头。箭头。 生命线可以分裂成两条或更多条并发的生命生命线可以分裂成两条或更多条并发的生命线,以表示条件性。这样的每一个生命线对应线,以表示条件性。这样的每一个生命线对应于通讯中的一个条件分支。生命线可以在某个于通讯中的一个条件分支。生命线可以在某个后续点处合并。后续点处合并。5激活激活表示一个对象直接或者通过从属例表示一个对象直接或者通过从属例程执行一个行为的时期。它既表示了行程执行一个行为

8、的时期。它既表示了行为执行的持续时间,也表示了活动和它为执行的持续时间,也表示了活动和它的调用者之间的控制关系。的调用者之间的控制关系。用一个窄长的矩形表示激活,矩形顶用一个窄长的矩形表示激活,矩形顶端和它的开始时刻对齐,末端和它的结端和它的开始时刻对齐,末端和它的结束时刻对齐。可以用文本标注被执行的束时刻对齐。可以用文本标注被执行的动作,依赖于整体风格,或者把标注放动作,依赖于整体风格,或者把标注放在激活符号的旁边,或者放在图左边的在激活符号的旁边,或者放在图左边的空白处。空白处。在程序的控制流中,激活符号的顶端在程序的控制流中,激活符号的顶端画在进入的箭头的尖端(开始该动作的画在进入的箭头

9、的尖端(开始该动作的那个箭头),底端画在返回的箭头的尾那个箭头),底端画在返回的箭头的尾部。部。当一个对象处于激活期时,该对象能够当一个对象处于激活期时,该对象能够响应或发送消息,执行对象或活动。响应或发送消息,执行对象或活动。当一个对象不处于激活期时,该对象不当一个对象不处于激活期时,该对象不做什么事情,但它是存在的,等待新的做什么事情,但它是存在的,等待新的消息激活它。消息激活它。3 3、激活、激活6定定义义消消息息是是两两个个对对象象间间的的通通讯讯,这这样样的的通通讯讯用用于于传传输输将将产产生生的的动动作作所所需需要要的信息。的信息。一一个个消消息息会会调调用用另另一一个个对对象象的

10、的操操作作,调调用用本本对对象象的的操操作作,向向另另一一个个对对象象发发送送一一个个信信号号,创创建建或或者者撤撤消消一一个个对对象象(可可以以自自己己销销毁毁自自己己),还还可可能能向向调调用用者者返回一个结果。返回一个结果。注意:消息与对消息的响应。注意:消息与对消息的响应。把把消消息息表表示示为为从从一一个个对对象象生生命命线线到到另另一一个个对对象象生生命命线线的的一一个个水水平平实实线线箭箭头头,即即从从源源对对象象指指向向目目标标对对象象,以以触触发发目目标标对对象象中中的的特特定定操操作作。对对于于对对象象到到自自身身的的消息,箭头就从同一个对象符号开始和结束。消息,箭头就从同

11、一个对象符号开始和结束。用消息(操作或信号)的名字及其参数值或者参数表达式标示箭头。用消息(操作或信号)的名字及其参数值或者参数表达式标示箭头。在很多情况下,转换时间是可以忽略的。在很多情况下,转换时间是可以忽略的。可可以以在在图图中中使使用用一一些些标标记记,用用于于指指示示时时间间间间隔隔,且且约约束束可可以以附附在在其其上上。例例如如,可可以以用用消消息息名名表表示示在在计计时时表表达达式式中中的的发发送送或或接接收收消消息息的的时时间间(如如下下图图中中的的“b.receiveTimea.sendTime1sec.”)。4、消息、消息7s :打电话的人:会话:交换机a:拿起话筒b:发拨

12、号声接通线路连接s与rr :打电话的人c:*拨号 时间少于30秒创建阵铃拿起话筒连接连接b.receiveTime-a.sendTime1秒c.receiveTime-c.sendTime1秒1秒8用如下种类的箭头表示不同种类的通讯:用如下种类的箭头表示不同种类的通讯:实箭头实箭头过过程程调调用用或或其其它它的的嵌嵌套套控控制制流流。在在外外层层控控制制恢恢复复之之前前,要要完完成成整整个个嵌嵌套套序序列列。通通常常把它用于普通的过程调用。把它用于普通的过程调用。在在某某个个主主动动对对象象发发送送信信号号并并等等待待完完成成嵌嵌套套的的行行为为序序列列时时,也也可可以以把把它它用用于于并并发

13、发的的主主动对象。动对象。 从过程调用的返回从过程调用的返回在在控控制制的的过过程程流流中中,可可以以省省略略返返回回箭箭头头(暗暗示示激激活活结结束束),假假设设每每个个调调用用在在任任何消息后都有一个配对的返回,并可以把返回值标示在初始的箭头上。何消息后都有一个配对的返回,并可以把返回值标示在初始的箭头上。枝状箭头枝状箭头 异异步步通通讯讯,也也就就是是没没有有控控制制嵌嵌套套。发发送送者者发发送送消消息息后后, ,并并且且立立即即继继续续执执行中的下一步。行中的下一步。对对于于非非过过程程控控制制流流(包包括括并并发发处处理理和和异异步步消消息息),都都应应当当显显式式地地标标出出返返回

14、回(如果有的话)(如果有的话)*。9通常消息箭头都画成水平的通常消息箭头都画成水平的这这表表示示发发送送消消息息所所需需要要的的持持续续时时间间是是“原原子子的的”(也也即即,它它与与交交互互的的粒粒度度相相比比是是短短暂暂的的,并并且且在在传传送送消消息息的的中中间间不不能能发发生生任任何何事事情情)。这这在在很很多多计计算算机机中中都都被被假假设设是正确的。是正确的。箭头可以向下倾斜箭头可以向下倾斜如如果果消消息息需需要要一一段段时时间间到到达达,且且这这中中间间可可能能发发生生某某些些事事情情(例例如如反反向向的的消消息息),那么使箭头头部在尾部下方。那么使箭头头部在尾部下方。消息分支消

15、息分支把把分分支支画画成成从从一一个个点点出出发发的的多多个个箭箭头头,每每个个箭箭头头由由监监护护条条件件标标示示。依依据据监监护护条条件件是否互斥,这个结构可以表达条件或者并发。是否互斥,这个结构可以表达条件或者并发。自身操作调用自身操作调用消息箭头指向自己消息箭头指向自己 在调用一个已激活的对象的操作情况下,第二个在调用一个已激活的对象的操作情况下,第二个激活符号画在第一个符号稍微靠右的位置,在视觉上激活符号画在第一个符号稍微靠右的位置,在视觉上它们看起来像是叠起来一样。它们看起来像是叠起来一样。10打电话打电话打电话打电话s :打电话的人:会话:交换机a:拿起话筒b:发拨号声接通线路连

16、接s与rr :打电话的人c:*拨号 时间少于30秒创建阵铃拿起话筒连接连接问题:时间超过30秒的情况没说明 会话对象没有说明计费等情况b.receiveTime-a.sendTime1秒c.receiveTime-c.sendTime1秒1秒11对象的创建与销毁对象的创建与销毁对象的创建与销毁对象的创建与销毁:客户机:JDBC代理服务器:事务创建setAction(a,d,o)Setvalue(d,3.9)Setvalue(a,”pm”)已提交销毁 在过程性代码的情况下,一个激活表示在一个对象中一个过程是活动的,在过程性代码的情况下,一个激活表示在一个对象中一个过程是活动的,或者它的从属过程(

17、可能在其它的对象中)是活动的持续时间。或者它的从属过程(可能在其它的对象中)是活动的持续时间。 换句话说,可以在一个特定的时间看到所有活动着的嵌套过程激活。换句话说,可以在一个特定的时间看到所有活动着的嵌套过程激活。125 5、信号、信号、信号、信号 对象之间的异步传送异步传送的消息的规格说明,该规格说明由一组参数描述。 从一个对象可以向另一个对象或对象的集合发送信号。例如消息广播。 发送者在发送信号时,要实例化其参数。 对于接收者来说,它收到的是一个事件。 在类图中,在类符号上用关键字声明信号。把参数说明为属性。信号没有操作。 在类的描述模板中,要指定所能接收的信号。 通常用信号对异常情况建

18、模。signal abca1a2a3QWmoveto()send xyz13 5.1.2 5.1.2 5.1.2 5.1.2 建立顺序图建立顺序图建立顺序图建立顺序图 一个单独的顺序图最好只显示一个控制流(建议尽量少用迭代和分支)一个单独的顺序图最好只显示一个控制流(建议尽量少用迭代和分支)一个单独的顺序图最好只显示一个控制流(建议尽量少用迭代和分支)一个单独的顺序图最好只显示一个控制流(建议尽量少用迭代和分支)。因为一个完整的控制流肯定是复杂的,所以将一个大的流分为几部分放。因为一个完整的控制流肯定是复杂的,所以将一个大的流分为几部分放。因为一个完整的控制流肯定是复杂的,所以将一个大的流分为

19、几部分放。因为一个完整的控制流肯定是复杂的,所以将一个大的流分为几部分放在不同的图中是合理的。在不同的图中是合理的。在不同的图中是合理的。在不同的图中是合理的。步骤:步骤:按按照照当当前前协协作作的的意意图图,详详细细地地审审阅阅有有关关材材料料(有有关关的的用用况况或或协协作作),设设置置交交互互的语境(系统的一次执行的语境(系统的一次执行, ,或者一组对象(包括参与者)之间的协作)。或者一组对象(包括参与者)之间的协作)。通通过过识识别别对对象象在在交交互互中中扮扮演演的的角角色色,在在顺顺序序图图的的上上部部列列出出与与某某个个(些些)用用况况有有关关的的一一组组对对象象(给给出出其其类

20、类名名)。并并为为每每个个对对象象或或参参与与者者设设置置生生命命线线。通通常常把把发发起起交交互互的对象放在左边。的对象放在左边。对对于于那那些些在在交交互互期期间间创创建建和和撤撤销销的的对对象象,在在适适当当的的时时刻刻设设置置它它们们的的生生命命线线,用用消消息显式地指明它们的创建和撤销。息显式地指明它们的创建和撤销。14决定消息将怎样或以什么样的序列决定消息将怎样或以什么样的序列, ,在满足请求所必须的对象之间传递。在满足请求所必须的对象之间传递。 通通过过参参与与者者或或首首先先发发出出消消息息的的对对象象,看看它它需需要要哪哪些些其其它它对对象象为为它它提提供供服服务务,它它向向

21、哪哪些些对对象象提提供供信信息息或或发发布布命命令令。追追踪踪到到新新的的对对象象,进进一一步步做做这这种种模模拟拟,直直到到找找出出与与当前语境有关的全部对象。当前语境有关的全部对象。 如如果果一一个个对对象象操操作作在在某某个个执执行行点点上上应应该该向向另另一一个个对对象象发发消消息息,则则从从这这一一点点向向后后者者画画一一条条带带箭箭头头的的水水平平直直线线,并并在在旁旁边边注注明明被被引引用用的的操操作作名名。用用适适当当的的箭箭头头线线区区别别各各种消息。种消息。在在每每一一类类对对象象下下方方的的生生命命线线上上,按按当当前前的的用用况况使使用用该该对对象象操操作作的的先先后后

22、次次序序排排列列各各个代表操作执行的棒形条。个代表操作执行的棒形条。 两两个个对对象象的的操操作作执执行行如如果果属属于于同同一一个个控控制制流流,则则接接收收者者操操作作的的执执行行应应在在发发送送者者发发出出消消息息之之后后开开始始,并并在在发发送送者者结结束束之之前前结结束束。不不同同控控制制流流之之间间的的消消息息有有可可能能在在接接收收者的某个操作执行过程中到达。者的某个操作执行过程中到达。在系统边界以外,可对相应对象所执行的功能以及时间或空间约束进行描述。在系统边界以外,可对相应对象所执行的功能以及时间或空间约束进行描述。如果需要可视化消息的嵌套,用嵌套激活符号如果需要可视化消息的嵌套,用嵌套激活符号. .如果需要可视化实际计算发生时的时间点,则用约束修饰每个对象的生命线。如果需要可视化实际计算发生时的时间点,则用约束修饰每个对象的生命线。15例题例题例题例题 银行系统的交易验证银行系统的交易验证银行系统的交易验证银行系统的交易验证:交易信用:交易检查器:交易协调器创建返回有效性创建创建担保:交易检查器创建成功全部做完?全部做完?成功16课后作业课后作业课后作业课后作业 1、 使用信用卡可以在AMT机上进行取款,针对一次取款,建立类图、顺序图。注意ATM机是与银行连网的。 要求: (1)绘制一个类图(不要过于复杂) (2)绘制顺序图17

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号