软件工程ppt课件-第09章-面向对象方法学引论

上传人:龙*** 文档编号:120767541 上传时间:2020-02-10 格式:PPT 页数:91 大小:379.02KB
返回 下载 相关 举报
软件工程ppt课件-第09章-面向对象方法学引论_第1页
第1页 / 共91页
软件工程ppt课件-第09章-面向对象方法学引论_第2页
第2页 / 共91页
软件工程ppt课件-第09章-面向对象方法学引论_第3页
第3页 / 共91页
软件工程ppt课件-第09章-面向对象方法学引论_第4页
第4页 / 共91页
软件工程ppt课件-第09章-面向对象方法学引论_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《软件工程ppt课件-第09章-面向对象方法学引论》由会员分享,可在线阅读,更多相关《软件工程ppt课件-第09章-面向对象方法学引论(91页珍藏版)》请在金锄头文库上搜索。

1、第九章 面向对对象方法学引论论 Object Oriented Methodology 1 面向对对象方法学概述 1 瀑布模型的缺点 僵化 瀑布模型要求 生命周期各阶阶段间间遵守严严格的顺顺序 实际实际 情况是 软软件开发发往往在反复实实践中完成 瀑布模型要求 预预先定义义并 冻结冻结 软软件需求 实际实际 情况是 某些系统统的需求是一个逐渐渐明确的过过 程 且预预先定义义的需求到软软件完成时时可能已经过时经过时 1面向对对象方法学概述 本质质上是功能分解 以实现实现 功能的过过程为为中心 而用户户的需求变变化主要是针对针对 功能的 这这就使基 于过过程的设计设计 不易被理解 且功能变变化往往

2、引起 结结构变变化较较大 稳稳定性不好 系统统有明确的边边界定义义 且系统结统结 构依赖赖于系统统 边边界的定义义 这样这样 的系统统不易扩扩充和修改 数据与操作分开处处理 可能造成软软构件对对具体应应 用环环境的依赖赖 可重用性 reusability 较较差 2 SA SD SP 技术术的缺点 结结构化分析 结结构化设计设计 结结构化程序设计设计 面向对对象方法把数据和行为为看成同等重要 它是一种以数据为为主线线 把数据和对对数 据的操作紧紧密地结结合起来的方法 3 面向对对象方法学 OOM 面向对对象方法学具有下述4个要点 1 把对对象 object 作为为融合了数据及在数据上的操 作行

3、为为的统统一的软软件构件 面向对对象程序是由对对 象组组成的 程序中任何元素都是对对象 复杂对杂对 象 由比较简单较简单 的对对象组组合而成 2 把所有对对象都划分成类类 class 每个类类都定 义义了一组组数据和一组组操作 类类是对对具有相同数据 和相同操作的一组组相似对对象的定义义 3 按照父类类 或称为为基类类 与子类类 或称为为派生类类 的关系 把若干个相关类组类组 成一个层层次结结构的系统统 也称为类为类 等级级 在类类等级级中 下层层派生类类自动拥动拥 有上层层基类类中定义义的数据和操作 这这种现现象称为继为继 承 4 对对象彼此间仅间仅 能通过发过发 送消息互相联联系 也就是说

4、说 对对象的所有私有信息都被封装在该对该对 象 内 不能从外界直接访问访问 这这就是通常所说说的封装 性 杭 州北 京 Post office Message Send by method 对对象Object Object 数据Attribute Attributes location employee 操作Method Methods send sell 注意 Object内部的attributes不允许许外部用户户直接改动动 只有当 它提供了相应应的服务务method时时 用户户才能通过发过发 送 message来提请请它执执行 我想把邮邮局搬到 我家门门口 多加几个 邮递员邮递员 24小

5、时时都开门门 对对不起 本邮邮局不提供 此类类服务务 唉 那就先送束花吧 Post office Send request payment 例 特点 尽可能模拟拟人类习惯类习惯 的思维维方式 即问问 题题域与求解域在结结构上尽可能一致 与传统传统 方法相 反 OOM以数据或信息为为主线线 把数据和处处理结结合 构成统统一体 对对象 这时这时 程序不再是一系列工 作在数据上的函数集合 而是相互协协作又彼此独立 的对对象的集合 OOM的四要素 对对象 object 世界由对对象组组成 类类 class 对对象可划分为为类类 单单个对对象可视为视为 某 一类类的实实例 instance 1面向对对象

6、方法学概述 例 class Post office private loc type location emp type employee public void send req type request money type payment void sell int goods money type payment main Post office My PO req type My request money type My payment My PO Send My request My payment 1面向对对象方法学概述 继继承 inheritance 类类可分层层 下层层子类

7、类与 上层层父类类有相同特征 称为为继继承 消息 message 对对象间间只能通过发过发 送消息进进 行联联系 外界不能处处理对对象的 内部数据 只能通过过消息请请求 它进进行处处理 如果它提供相应应 消息的话话 1面向对对象方法学概述 OOM 以object 为为核心 强调对现实调对现实 概念的模拟拟而 不强调调算法 面向对对象方法学的基本原则则 是按照人们习惯们习惯 的思维维方式建立问题问题 域的 模型 开发发出尽可能直观观 自然地表现现求解 方法的软软件系统统 Class 由特殊到一般的归纳归纳 induction Inheritance 由一般到特殊的演绎绎 deduction OO

8、M Object Class Inheritance Communication with messages OOM的优优点 传统传统 方法 面向过过程设计设计 以计计算为为核心 数据 与操作分离 不易理解 1面向对对象方法学概述 OOM 以object模拟实拟实 体 需求变变化不会引起结结构 的整体变变化 因为实为实 体相对稳对稳 定 故系 统统也相应稳应稳 定 传统传统 方法 结结构依赖赖于功能 不稳稳定 传统传统 方法 通过过建立标标准函数库库来重用软软构件 但标标准函数缺少必要的 柔性 难难以 适应应不同场场合的不同需要 OOM 一个class所有的 instances 都可重用它的代

9、 码码 由 inheritance 派生出的新的 class 可 重用其父类类的代码码 并且可以修改 扩扩充 而不影响其父类类的使用 1面向对对象方法学概述 稳稳定性好 软软件功能需求的变变化不牵动牵动 全局 只需局部修改 Class 独立性强 只要修改不涉及class的对对外 接口 则则内部修改完全不影响外部调调用 Inheritance和多态态性 polymorphism 使其很容 易被修改和扩扩充 容易理解 传统传统 方法 可维护维护 性是最令人头头痛的问题问题 OOM 从以下几方面改善了可维护维护 性 容易测试测试 调试调试 注 OOM并不是减少了开发时间发时间 而是通过过提 高可重用

10、性 可维护维护 性 进进行扩扩充和修改的 容易程度等 从长远长远 角度改进进了软软件的质质量 OOM与Prototyping结结合使用效果好 迭代是软件开发过 程中普遍存在的一种内在 属性 经验 表明 软件过程各个阶段之间 的迭代或一个阶段内各个工作步骤之间的迭 代 在面向对象范型中比在结构化范型中更 常见 4 喷喷泉模型 使用面向对对象方法学开发软发软 件时时 工作重点 应该应该 放在生命周期中的分析阶阶段 早期阶阶段定义义了一系列面向问题问题 的对对象 并且在整个开发过发过 程中不断充实实和扩扩充这这 些对对象 整个开发过发过 程中都使用统统一的软软件概念 对对象 所有其他概念 例如功能

11、关系 事件等 都是围绕对围绕对 象组组成的 分析阶阶段得 到的对对象模型也适用于设计阶设计阶 段和实现阶实现阶 段 各个开发发步骤骤的多次反复迭代 达到认识认识 的 逐步深化 每次反复都会增加或明确一些目标标系统统的性 质质 但却不是对对先前工作结结果的本质质性改 动动 这样这样 就减少了不一致性 降低了出错错的 可能性 喷喷泉模型 是典型的面向对对象的软软件过过程模 型 喷泉模型 喷喷泉 这这个词词体现现了面向对对象软软件开发过发过 程迭代和无缝缝的特性 代表不同阶阶段的圆圆圈相互重叠 这这明确表示 两个活动动之间间存在交迭 用面向对对象方法开发软发软 件时时 在分析 设设 计计和编码编码

12、等项项开发发活动动之间间并不存在明显显 的边边界 在一个阶阶段内的向下箭头头代表该阶该阶 段内的迭 代 或求精 图图中较较小的圆圆圈代表维护维护 圆圆圈较较小象征着采用了面向对对象范型之后 维护时间缩维护时间缩 短了 为为避免使用喷喷泉模型开发软发软 件时时开发过发过 程 过过分无序 应该应该 把一个线线性过过程 例如 快速原型模型或图图9 1中的中心垂线线 作为为 总总目标标 面向对对象范型本身要求经经常对对开发发活动进动进 行迭代或求精 2 基本概念 1 对对象 Object 与要解决问题问题 有关的任何事物都可以作为对为对 象 对对象是由描述该对该对 象属性的数据以及可以对对数据 施加的

13、所有操作封装在一起构成的统统一体 通常把对对象的操作称为为服务务或方法 一个对对象很像一台录录音机 f1 f2f3 fi fn fi X S gi X S S 输输 出 输输 出 2 基本概念 Object ID Method Attribute Message 对对象的几个定义义 1 定义义1 对对象是具有相同状态态的一组组操作的集合 主要是从面向对对象程序设计设计 的角度看 对对象 2 定义义2 对对象是对问题对问题 域中某个东东西的抽象 这这种抽象反映了系统统保存有关这这个东东西的信息或与它 交互的能力 也就是说说 对对象是对对属性值值和操作的封 装 这这个定义义着重从信息模拟拟的角度看

14、待 对对象 3 定义义3 对对象 ID MS DS MI 其中 ID是 对对象的标识标识 或名字 MS是对对象中的操作集合 DS是对对 象的数据结结构 MI是对对象受理的消息名集合 即对对外 接口 这这个定义义是一个形式化的定义义 对对象是封装了数据结结构及可以施加在这这些数据 结结构上的操作的封装体 这这个封装体有可以惟 一地标识标识 它的名字 而且向外界提供一组组服务务 即公有的操作 对对象中的数据表示对对象的状态态 一个对对象的状 态态只能由该对该对 象的操作来改变变 每当需要改变变 对对象的状态时态时 只能由其他对对象向该对该对 象发发送 消息 对对象响应应消息时时 按照消息模式找出与

15、 之匹配的方法 并执执行该该方法 从动态动态 角度或对对象的实现实现 机制来看 对对象是一台自 动动机 具有内部状态态S 操作fi i 1 2 n 状态转换态转换 函数为为gi i 1 2 n 的一个对对象 2 基本概念 特点 以数据为为中心 不设设与数据无关的操作 Object主动处动处 理而不 被动动地等待被处处理 外部只 能通过过message请请求操作 具有黑盒性 外部操作时时 无须须知道该该object内部 的数据结结构及算法 具有并行性 不同object各自独立地处处理自身数据 彼此间仅间仅 通过传递过传递 message完成通信 模块块独立性好 内聚强 耦合松 3 实实例 Ins

16、tance 某个class描述的具体对对象 4 消息 Message object ID method ID parameter s 5 方法 Method object能做的操作 亦称为为服务务 响应应 在 class 中须须定义义相应应的代码码 6 属性 Attribute object 的固有数据 2基本概念 7 继继承 Inheritance 子类类自动动共享父类类的 attributes 和methods 而不必重 复定义义 2 类类 Class 具有相同数据和相同操作的一组对组对 象 Class 中国人 中国人 Attributes 中国人 Methods 张张山 instance Class 中国人 张张山的 Attributes Class 杭州人 子类类 杭州人 Attributes 杭州人 Methods Class 中国人 李士 instance 中国人李士的 Attributes 杭州人李士的 Attributes Class 杭州人 2 基本概念 例 特点 若杭州人的 methods中有与中国人的同名 则则李 士执执行该该 method 时时以杭州人为为准 不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号