第七章-面向对象设计PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UML四种类型的消息
(3) 异步消息(Asynchronous Message) 表示,消息源发出消息 后不必等待消息处理过程的返回,即可继续执行自己的后 续操作。异步消息主要用于描述实时系统中的并发行为。 异步消息在UML顺序图中用一种特别的单向箭头表示
(4) 返回消息(Return message) 表示前面发送的消息的处理过程 完结之后的返回结果。返回消息应该是同步的。在许多情 况下,可以隐藏返回消息,但也可显式标出返回消息以示 强调。返回消息用虚线有向箭头表示
UML四种类型的消息
(1) 简单消息(Simple Message) 以一种简单、抽象的函数表示对象之间的信息传 递,不考虑通信过程的内部细节。简单消息在 UML顺序图中用普通的有向箭头表示。
(2) 同步消息(Synchronous Message) 消息源发出消息后必须等待消息处理过程完毕并返 回处理结果后,消息源才可继续执行后续操作。前 面所述的自调用消息应该是同步的。同步消息的表 示图元与简单消息相同,这表明UML在缺省情形 下认为简单消息即为同步消息。
第七章 面向对象的设计方法
设计用例实现方案 设计技术支撑方案 设计用户界面 精化设计模型 RUP中的分析与设计流程
面向对象的设计方法
基于UML的面向对象设计方法将分析模型转换为设 计模型。
面向对象: 分析模型---顶层架构图、用例与用例图、领域概念 模型构成。 设计模型----- 以包图表示的软件体系结构图 以交互图表示的用例实现图 完整、精确的类图 复杂对象的状态图 描述流程化处理过程的活动图
提取边界类、实体类和控制类
实体类源于领域概念模型。有时也需要认真研读用 例描述,从中发掘具有持久意义的信息项。
如果执行者的属性需要持久保存,也可以建立相应 于执行者的实体类。
假设一个实体类A仅仅被系统中的另一个类B引用, 并且系统勿需关心A的行为特征,那么,为了简化 设计模型,应将A中信息项直接作为B的属性。
从外观看,协作图并不采用单独的维度来表示时间推 移,因此,协作图中的对象可以在二维平面中自由 占位。对象之间的链接用于表示消息传递通道,消 息标示于链接之上,消息的箭头指明消息的传递方 向。在协作图中,消息的描述内容包含名称、参数、 返回值以及序列号,返回值和序列号是可选的。
协作图
虽然协作图不强调消息传递的时间序,但借助于 序列号可以表达时间序,序列号较大的消息发生较 晚。
(1) 界面控制:包括输入数据的格式及内容转换,输出结果的 呈现,软件运行过程中界面的变化与切换等。
(2) 外部接口:实现目标软件系统与外部系统或外部设备之间 的信息交流和互操作。主要关注跨越目标软件系统边界的 通信协议。
(3) 环境隔离:将目标软件系统与操作系统、数据库管理系统、 应用服务器中间件等环境软件进行交互的功能与特性封装 于边界类之中,使目标软件系统的其余部分尽可能地独立 于环境软件。
例如,“家庭保安系统”中,“用户命令处理器”和 “监测器”均为控制类。
提取边界类、实体类和控制类
在讨论了边界类、实体类和控制类的基本概念之后, 下面介绍如何从分析模型中的用例描述和领域概念 模型出发获取这些类。
通常情况下,执行者与用例之间的一种通信连接对应 一个边界类。但是,如果两个以上的用例与同一执 行者交互,并且这些交互具有共同的行为、完成相 同或类似的任务,就可以考虑用同一边界类实现用 例与执行者之间的交互。这就意味着边界类的作用 范围可以超越单个用例。
一个对象可以通过发送标准消息“new”来创建另一个对象。 当一个对象被删除或自我删除时,该对象的生命线上的相 应时间点应该用叉号(对象生命线终结符)标识。
7.1.2 协作图
协作图用于描述相互合作的对象间的交互关系和链接 关系。虽然顺序图和协作图都用来描述对象间的交 互关系,但它们的侧重点不一样。顺序图强调消息 交互的时间序,协作图则强调交互对象间的静态链 接关系。
在UML类图中,边界类往往附加UML构造型《boundary》作 为特别标识。
提取边界类、实体类和控制类
例如,“家庭保安系统”中的边界类有“输入键盘接 口类”、“传感器接口类”、“警报器接口类”、 “报警电话接口类”和“显示面板接口类”。
实体类表示目标软件系统中具有持久意义的信息项及 其操作。实体类的操作具有“内向收敛”特征,它 们仅向目标软件系统的其余部分提供Biblioteka Baidu、写信息项 内容的必要的操作接口,并不涉及业务逻辑处理。 实体类的UML构造型为《entity》。
“1.2 msg4”是“对 象1”为了处理“1. msg1”而发送的第二 条消息
“1.1.1 msg3”表明 msg3是“对象2”为 了处理“1.1 msg2” 而发送的第一条消息, 依此类推。
协作图的两种等价表示
7.1.3 提取边界类、实体类和控制类
边界类描述目标软件系统与外部环境的交互,主要任务:
面向对象的软件设计过程
7.1 设计用例实现方案
本节介绍UML交互图的语言机制和用例实现方案的设 计方法。
UML的交互图包括顺序图和协作图,适于用例实 现方案的表示。
用例实现方案的设计方法有三个步骤: (1) 提取边界类、实体类和控制类; (2) 构造交互图; (3) 根据交互图精化类图。
7.1.1 顺序图
例如,“家庭保安系统”中的“异常事件”为实体类。
提取边界类、实体类和控制类
控制类作为完成用例任务的责任承担者,协调、控制 其他类共同完成用例规定的功能或行为。对于比较 复杂的用例,控制类通常并不处理具体的任务细节, 但是它应知道如何分解任务,如何将子任务分派给 适当的辅助类,如何在辅助类之间进行消息传递和 协调。控制类的UML构造型为《control》。
消息序列号可以采用线性编号,但采用适当的多 级编号会使消息之间的结构关系更清晰。
如果一个对象在消息的交互过程中被创建,则可 在对象名称之后标以{new}。类似地,如果一个对象 在交互期间被删除,则可在对象名称之后标以 {destroy}。
典型的协作图

“1.1 msg2”表明 msg2是“对象1”为 了处理“1. msg1”而 发送的第一条消息
相关文档
最新文档