- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4章 顺序图和协作图
协作图的例子: * Login用例实现和Close Registration用例实现 顺序图 Login - Basic Flow 说明: 1. 采用Any User参与者. 2. 对象之间的消息还没 进一步细化. * 常见问题分析 顺序图中消息的循环发送 在消息名字前加循环条件 例: * 常见问题分析 如何在顺序图中表示消息的条件发送 加警戒条件、加条件子句、文字说明、分成多个顺序图 * 顺序图中时间约束的表示 用constraint(约束)来表示。例: 常见问题分析 * 顺序图中递归的表示 利用嵌套的FOC表示 例1. 单个对象自身的递归。 常见问题分析 * . 多个对象间相互递归调用的表示。 常见问题分析 * 如果对象具有多态性,发送对象不可能事先知道目标对象属于哪个类,因此在交互图中如何确定目标对象所属的类 祖先类 常见问题分析 * 交互图中如何表示广播消息? 答:可以用版型broadcast或约束{broadcast}来表示广播对象。发送对象把系统中的每一个对象都看作一个潜在的目标对象。如图所示: 常见问题分析 * 交互图是一步画成的吗? 初始: 关注客户关心的高级信息,消息暂时不映射操作,对象暂时不映射类 作用:让涉众了解系统逻辑流程 精化: 客户同意第一步流程后,小组加入更多的细节 作用:对客户作用不大,对开发、测试等人员有作用 常见问题分析 * 总结 基本概念:交互图,顺序图,协作图,Lifeline (生命线),Focus of control(控制焦点),activation(激活期),消息的类型和语法格式, active object(主动对象), multiobject(多对象),Link(链) 交互图的应用 * 通常把发起交互的对象或角色放在左边,较下级对象或角色依次放在右边。然后,把这些对象发送和接收的消息沿时间顺序从上到下放置。这样,就向读者提供了控制流随时间推移的清晰的可视化轨迹。 委托人 * 供应商ID * * 也称为协作图,用于描述相互合作的对象间的交互关系和链接(Link)关系。虽然顺序图和合作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,合作图则着重体现交互对象间的静态链接关系。 * [return-value]:将赋值为消息的返回值的名字列表,如果消息没有返回值,则return-value部分被省略。 [message-name]:消息名 [argument-list]:消息的参数列表 * 例:一些消息的例子 2: display (x, y) 简单消息 条件消息 [x 0] 4: invert (x, color) 3.1*: update ( ) 循环消息 1.3.1: p:= find(specs) 消息带返回值 A3,B4/ C2: copy(a,b) 线程间同步 * 在交互图中使用的一些概念 object 条件 创建对象 返回消息 循环 * 顺序图的结构化控制 序列性的消息能很好的说明单一的线性的序列,但是通常需要展示条件和循环。有时候要展示多个序列的并发执行。在顺序图中用结构化控制操作符能展示这种高层控制。 控制操作符表示为顺序图上的一个矩形区域,其左上角有一个写在小五边形内的文字标签,用来表明控制操作符的类型。 * 条件执行-Alt 表示多条件的分支结构(选择结构) 虚线分隔区域,每一个区域设置一个监护条件,代表一个分支 * 可选执行(Opt) 表示满足条件则执行分支结构 * 循环(loop) * 并行执行(Par) 用来表示“并行”的,也就是用来表示两个或多个并发执行的子片段,并行子片段中单个元素的执行次序可以以任何可能的顺序相互操作 * 建立sequence图的步骤 1. 确定交互过程的上下文(context); 2. 识别参与交互过程的对象; 3. 为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象在交互过程中被创建和撤销; 4. 从引发这个交互过程的初始消息开始,在生命线之间从顶到下依次画出随后的各个消息; 5. 如果需要表示消息的嵌套,或/和表示消息发生时的时间点,则采用FOC; 6. 如果需要说明时间约束,则在消息旁边加上约束说明; 7. 如果需要,可以为每个消息附上前置和后置条件。 * 分析级-用来概要描述交互场景 * * 设计级 * 主要内容 Sequence图 Collaboration图 * 协作(Collaboration)图 协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。 对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。使
原创力文档


文档评论(0)