软件工程第8章 面向对象分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
异步消息 用它表示异步通讯,也即发送者发出消息后,立即继续执行中的下一步,不进行等待。 异步消息返回 若请求方发了一个异步消息,且接收方响应它后要返回信息,则使用另一个异步消息。 注意:消息与对消息的响应。 若在一个主动对象发送信号并等待完成一个嵌套的行为序列才继续时,也可以把同步消息用于并发的主动对象。 8.3.1顺序图 在多数情况下,收发消息的时间是可以忽略的。通常消息箭头都画成水平的。 这表示发送消息所需要的持续时间是“原子的”(也即,它与交互的粒度相比是短暂的,并且在传送消息的中间不能发生任何事情)。这在很多计算机中都被假设是正确的。 如果需要表示收发消息间的时间差,有三种方法: (1)可以在图中使用约束,用于指示时间间隔。可以用消息名和经过规定的函数书写计时表达式,如下图的“b.receiveTime – a.sendTime1 分钟” 。 (2)若要在图中显式地表示时间差的数值,还可以通过构造标记来指明,如下图右下角所示。 (3)如果需要表示发送消息是需要时间的,还可把消息箭线向下倾斜,使箭线头部在尾部下方,表示消息需要一段时间到达。 8.3.1顺序图 消息分支 把分支画成从一个点出发的多个箭头,每个箭头由监护条件标示。依据监护条件是否互斥,这个结构可以表达条件或者并发。 消息循环 标以持续的条件: *[条件] 方框围起来的区域为重复的。 通过使用预定的接口或消息设施(如分布式系统中的中间件)来实现和管理各软件部件间的请求通信。 8.3.1顺序图 例题:打电话 问题:时间超过30秒的情况没说明 会话对象没有说明计费等情况 s :电话 c:会话 :交换机 a:拿起话筒 b:发拨号声 逻辑连通 连接s与r r :电话 c:*拨号 {时间少于30秒} 创建 阵铃 拿起话筒 接通 接通 {b.receiveTime-a.sendTime1分钟} {c.receiveTime-c.sendTime1秒} 5秒 {30秒} 8.3.1顺序图 二、 建立顺序图 步骤: ■ 按照当前交互的意图,如系统的一次执行,或者一组对象(包括参与者实例,以下不再明确地提及参与者实例)之间的协作,详细地审阅有关材料(如有关的用况),设置交互的语境,其中包括可能需要的那些对象。 ■ 通过识别对象在交互中扮演的角色,在顺序图的上部列出所选定的一组对象(应该给出其类名),并为每个对象设置生命线。通常把发起交互的对象放在左边。 ■ 对于那些在交互期间要被创建和撤销的对象,在适当的时刻,用消息箭线显式地予以指明。 ■ 决定消息将怎样或以什么样的序列在对象之间传递。 通过首先发出消息的对象,看它需要哪些对象为它提供操作,它向那些对象提供操作。追踪相关的对象,进一步做这种模拟,直到分析完与当前语境有关的全部对象。 如果一个对象的操作在某个执行点上应该向另一个对象发消息,则从这一点向后者画一条带箭头的直线,并在其上注明消息名。用适当的箭头线区别各种消息。 8.3.1顺序图 在各对象下方的生命线上,按使用该对象操作的先后次序排列各个代表操作执行的棒形条(执行规约)。若出于某种目的要简化顺序图,可不画棒型条,或者针对一个对象只用一个棒型条代表其上的所有操作的执行。 两个对象的操作执行如果属于同一个控制线程,则接收者操作的执行应在发送者发出消息之后开始,并在发送者结束之前结束。不同控制线程之间的消息有可能在接收者的某个操作的执行过程中到达。 如果需要,也可以对对象所执行的操作的功能以及时间或空间约束进行描述。 如果需要,可使用结构化控制。 用途 帮助分析员对照检查每个用况中描述的用户需求,是否已经落实到一些对象中去实现。提醒分析员去补充遗漏的对象类或操作。 通过对一个特定的对象群体的动态方面建模,深刻地理解对象之间的交互。 帮助分析员发现哪些对象是主动对象 活动图可用于对业务过程和操作的算法建模 一、 概念与表示法 活动图显示从活动到活动的流。下面详述有关的概念。 1、动作和活动 动作(action)是行为规约的基础单元,用以描述系统中的活动,它是原子的和即时的。动作是原子的,是指在与状态相关的抽象层次上,动作是不可间断的;动作时即时的,是指动作执行的时间是可忽略不计的。 如调用另一个操作,发送一个信号,创建或撤销一个对象,或者某些纯计算(例如对一个表达式求值),都是一个动作。 活动(activity)是由一系列的动作构成的(也称为动作表达式),用于描述系统的一项

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档