- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]9-绘制用例顺序图
面向对象分析与设计OOAD 交互图(顺序图和协作图) Spring, 2011 曾素燕 OO主要步骤 系统顺序图(System sequence diagrams) 目的---确定系统事件 描述与系统相关的输入和输出事件,以快速获得系统边界责任。 SSD展示了直接与系统交互的外部参与者、系统及外部事件使用系统的过程 UML没有系统顺序图,只有顺序图。 (过渡制品) 系统顺序图 对于用例的一个特定场景,外部参与者产生的与系统的交互的事件。 系统视为黑盒,描述系统做什么,无需解释如何做。 系统顺序图的好处 明确外部对系统操作的事件(系统事件) 从高层次分析系统行为,容易入手 对主成功场景,频繁发生或复杂的场景绘制SSD 系统需要处理和响应的事件类型有: 来自于参与者的外部事件 时间事件 错误或异常 针对用例中一个场景考察系统顺序图 使用操作契约详细描述系统事件 处理销售示例 P129 系统事件的命名 以动词开始,明确事件是命令或请求 如:增加、输入、结束、产生 系统顺序图中出现有数据元素应放入词汇表中,在词汇表中详细描述 为复杂的场景建立系统顺序图 Monopoly模拟游戏场景 ATM查询用例 学生选课 信用卡支付 操作契约 目的 定义系统操作 为系统操作创建契约 使用前置和后置条件的形式,描述领域模型里对象的详细变化 围绕领域模型 (过渡制品) 操作契约的编写 操作契约更为详细和精确的描述领域内对象的变化 针对一个系统操作,分析领域模型内的对象变化(实为对待这一系统操作的内部实现过程) 操作契约 P135 着重关注后置条件 创建或删除实例 属性值的变化 形成或消除关联 处理销售的系统顺序图 后置条件 不是操作过程中执行的活动 是对领域模型对象的观察结果,希望操作完成后达到的效果 后置条件 检测操作的正确与否 操作契约实例 P139 POS部分领域模型 了解系统处理系统事件的过程,使用顺序图描述过程,对后期编码代码以指导 操作契约对应顺序图 操作契约对应顺序图 处理销售顺序图 顺序图 显示用例的行为序列 显示了用例流程中不同对象之间的调用关系 对象、类和参与者都在顺序图中进行描述 何时需要绘制顺序图 顺序图 是验证逻辑使逻辑清晰的好办法 发现瓶颈的一种很好的机制 用于动态对象建模。(类图是静态视图,不易区分对错) 在用例和类模型之间搭起一座桥梁 描述对象之间以及对象与参与者之间的消息发送关系 发现类并依据其职责构建类的属性和方法 考虑OO设计细节时,要落实发送哪些消息、发送给谁、以何种顺序发送 顺序图和协作图 同质的模型,在CASE工具中可相互转换 顺序图着重描述对象按照时间顺序的消息交换,表示调用流的顺序,由上至下,直观 协作图节省表示空间;着重描述系统成分如何协同工作。 顺序图建模元素 对象(object,participant) 生命线(lifeline) 控制焦点(focus of control) 消息(message) 对象用矩形框,使用带下划线的对象名 消息用带箭头的实线表示 时间用垂直虚线表示 顺序图元素 对象 生命线 控制焦点 控制焦点是顺序图中表示时间段的符号,在这个时间段内,对象将执行相应的操作。 同步消息 发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制 异步消息 发送者发送消息后继续自己的活动,不等待接收者返回消息或控制 返回消息(return)。从过程调用返回。 例:返回消息的表示符号。 如果是从过程调用返回,则返回消息是隐含包括的,所以返回消息可省略。 对于非过程调用,如果有返回消息,必须明确表示出来。 阻止(balking)消息。消息发送者发出消息给接收者,如果接收者无法立即接收消息,则发送者放弃这个消息。 例:阻止消息的表示符号。 超时(time-out)消息。消息发送者发出消息给接收者并等待指定时间,如果接收者无法在指定时间内接收消息,则发送者放弃这个消息。 例:超时消息的表示符号。 消息格式 方括号所括的是可选部分 message-name: 消息名 argument-list:消息的参数列表 Predecessor:必须先发生的消息的列表,其中消息列表中各消息号用逗号分隔,以‘/’结束。 Guard-condition:警戒条件,是一个在方括号中的布尔表达式,表示只有在guard-condition满足时才能发送该消息 [xy] 条件发送 *[i:=1..n] 循环发送 Sequence-expression:消息顺序表达式。消息顺序表达式是用句点“.”分隔、以冒号“:”结束的消息顺序项列表。 1.3.1 Return-value:将赋值为消息的返回值的名字列表。如果消息没
文档评论(0)