软件工程第九章向面对象的方法.ppt
《软件工程第九章向面对象的方法.ppt》由会员分享,可在线阅读,更多相关《软件工程第九章向面对象的方法.ppt(86页珍藏版)》请在三一文库上搜索。
1、第九讲 面向对象的方法 软件工程软件工程 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 传统方法与面向对象方法 传统面向对象方法 UML与RUP 基于UML的实例分析 第9讲 面向对象
2、的方法 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 9.1传统方法与面向对象方法 (1)传统方法存在的问题 传统方法的发展 以结构化程序设计为基础,并逐步扩展到分析与设 计阶段的一种
3、软件工程方法。 面向功能的方法 面向数据流的方法 面向数据结构的方法 传统方法的本质 进行功能分解,从目标系统的整体功能着手,自顶 向下不断将复杂的处理分解为子处理,直至每个子 处理比较简单,在使用的时候一个一个依次调用就 可以了 。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 As
4、pose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. n传统方法存在的主要问题 由于围绕处理功能来构造系 统的,因此任何需求的变化 都会对原有系统产生致命的 影响; 需求不能精确描述,从分析 到设计的转化存在鸿沟,造 成分歧,系统的稳定性和易 变性差; 将数据与实现方法相分离的 做法,偏离了客观世界中人 们处理问题的方式; 产生的软件重用性差,易变 性差,可维护性差,软件不 能满足用户要求的问题。 DFD 数据结构 功能 SC 程序结构 界面与细节 鸿沟 问题空间解空间 ? Evaluation only.Evaluation only. Creat
5、ed with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. (2)面向对象的概念与思想 (1)认识问题、分析问题、解决问题的方式不同 将数据和方法封装在一个称为“对象”的统一体中; 对象之间通过“消息”相互联系,“对象+消息”机制取代了“数 据结构+算法”的思路,减小了系统
6、变化所带来的波动性; 以对象为中心构建系统。 (2)“问题空间”与“解空间” 有较一致的表示 在“OOA-OOD-OOI”的过程中,采用一致的模型表示,弥合了“ 鸿沟”问题。 (3)利用继承性和封装性支持软件复用 后一阶段可直接复用前一阶段的结果,可重用性好。 (4)适应复杂大型系统的发展和变化要求 以对象为中心,而不是基于功能与功能的分解来建立系统,因此 ,当功能需求发生变化时,不会引起系统的整体变化,稳定性较 好 (5)采用迭代的思想,通过连续的分析、设计,逐步认识系统 Evaluation only.Evaluation only. Created with Aspose.Slides
7、for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. n例如五子棋,传统的设计思路就是确定问题的步骤: 1、开始游戏, 2、黑子先走, 3、绘制画面, 4、判断输赢, 5、轮到白子, 6、绘制画面, 7、判断输赢, 8、返回步骤2, 9、输出最后结果。 把上面每个步骤用分别的函数来实现,问题就解决了。 n面向对
8、象的设计则是从另外的思路来解决问题。整个五子棋可以分 为: 1、黑白双方,这两方的行为是一模一样的, 2、棋盘系统,负责绘制画面, 3、规则系统,负责判定诸如犯规、输赢等。 第一类对象(玩家对象)负责接受用户输入,并告知第二类对 象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就 要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系 统)来对棋局进行判定。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspo
9、se.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 9.2 传统面向对象方法 OOA/OOD方法(Coad和Yourdon提出) OMT方法(Rumbaugh提出) Booch方法(Booch提出) OOSE方法(Jacobson提出) 例 问题简要描述:一个管理机构对于购买车的信息进 行管理。管理机构有多名职员参与该管理工作。如果职 员被授权进行进行管理,那么要对购车的信息进行登记 :谁买了车、买了什么车、登记
10、合法信息。合法信息分 为注册和颁发执照。一个车主可能购买几部不同种类型 的车,也可能一部车有几个车主。车分为卡车、小轿车 、拖车,拖车分为标准拖车和旅行拖车。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspos
11、e Pty Ltd. Coad/Yourdon方法 (1)方法简介 提出: P. Coad 和E. Yourdon于 1991年提出。 该方法分2个阶段: OOA(Object-Oriented Analysis)面向对象分析 OOD(Object-Oriented Design)面向对象设计 。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile
12、 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 1 1、获取用户基本需求、获取用户基本需求 用户与开发者之间进行充分交流,常用User case来收集和描述用户的 需求。即先标识使用该系统的不同的行为者(actor)。 (2) OOA的分析过程 获取用户基本需求获取用户基本需求 标识类和对象标识类和对象 定义类的结构和层次定义类的结构和层次 定义类定义类( (对象对象) )间的关系间的关系 为对象行为建模为对象行为建模 行为者所提出的每个使用场景(或功能)称为一个用例,所有的用 例
13、则构成完整的系统需求。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 2 2、标识类和对象、标识类和对象 在确定系统的用例后,可标识类及类的属性和操作。 确定最终对象确定最终对象 可根
14、据以下原则确定:需要保留的信息,需要的服务,可根据以下原则确定:需要保留的信息,需要的服务, 具有多个属性,具有公共属性及操作。具有多个属性,具有公共属性及操作。 从问题域或用例描述入手从问题域或用例描述入手,发现对象。发现对象。 对象可能的形式有:外部实体 、事物、发生的事件、角 色、组织单位、场所、构造物等。 标识属性标识属性 从本质上讲,属性定义了对象。可从问题的陈述中或通从本质上讲,属性定义了对象。可从问题的陈述中或通 过对类的理解而标识出属性。过对类的理解而标识出属性。 定义操作定义操作 操作定义了对象的行为并以某种方式修改对象的属性。操作定义了对象的行为并以某种方式修改对象的属性。
15、 操作分为:对数据的操作,计算操作,控制操作。操作分为:对数据的操作,计算操作,控制操作。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 组织机构 车主执照注册汽车 职员 表示 对象
16、对象服务 对象属性 对象名 标识类和对象标识类和对象 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 3 3、定义类的结构和层次、定义类的结构和层次 类的结构有类的结构有: 一般特殊 (
17、generalization - specialization)结构 整体部分(whole-part)结构 组织机构 车主 执照注册 汽车 职员 合法事件拖车轿车卡车 标准旅行 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2
18、011 Aspose Pty Ltd. 主题(subject)又称为子系统(subsystem)是将一些联 系密切的类组织在一起的类的集合。按照粒度控制原 则,将系统组成几个主题,便于理解。 组织机构 车主 执照注册 汽车职员 合法事件拖车轿车卡车 标准旅行 4 32 1 1 职员 4 汽车 3 合法事件2 车主 4、标识主题(可选) Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET
19、 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 用“对象-关系模型”描述系统的静态结构 组织机构 名字 管理者 地址 车主 名字 地址 电话 汽车 编号 出厂日期 颜色 型号 柴油机 座位 职员 用户名 授权 开始日期 结束日期 合法事件 时间 拖车 柴油机 座位 轿车卡车 重量 标准 旅行 长度 执照 编号 所属关系证明 费用 注册 开始时间 结束时间 费用 5、定义类(对象)间的关系 Evaluation only.Evaluation o
20、nly. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 通过消息连接说明所标识的各种对象是如何通信、协作,使系 统运作起来 。 组织机构 名字 管理者 地址 车主 名字 地址 电话 汽车 编号 出厂日期 颜色 型号 柴油机 座位 职员 用户名 授权
21、开始日期 结束日期 合法事件 时间 拖车 柴油机 座位 轿车卡车 重量 标准 旅行 长度 执照 编号 所属关系证明 费用 Calculate Fee Accept Fee 注册 开始时间 结束时间 费用 Calculate Fee Accept Fee 隐含 服务 显式 表示 服务 消息 连接 6、定义服务及消息连接 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Clie
22、nt Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 是将是将OOAOOA所创建的分析模型转换为设计模型,解决如何作所创建的分析模型转换为设计模型,解决如何作 的问题。的问题。OODOOD与与OOAOOA没有明显的分界,采用相同的符号。没有明显的分界,采用相同的符号。 (3)OOD(Object-Oriented Design) OOA 人机 交互 部分 HIC 数据 管理 部分 HIC 问题 域 部分 PDC 任务 管理 部分 HIC 属性层 结构层 类/对象层 主
23、题层 服务层 设计人机交互部分 设计问题域部分 设计任务管理部分 设计数据管理部分 OOD 4部分 OOD 4个活动 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 什么是问题域设计 O
24、OD是对OOA的修改、增补 根据实现技术及实现方面的限制,合并或分开一些类及对象、结 构、属性、服务,但保留在OOA模型中所捕获到的基本的系统行 为 什么是人机交互设计 通常在OOA阶段给出了所需的属性和操作,在设计阶段必须 根据需求把交互的细节加入到用户界面的设计中,包括有效 的人机交互所必需的实际显示和输入。 什么是任务管理设计 当系统中有许多并发行为时,需要依照各个行为的协调和通 信关系,划分各种任务。任务管理主要包括识别事件驱动任 务、识别时钟驱动任务、识别优先任务、识别协调任务、审 查每个任务、定义每个任务等 什么是数据管理设计 数据管理提供了在数据管理系统中存储和检索对象的基本结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第九 对象 方法
链接地址:https://www.31doc.com/p-3499510.html