软件开发过程与质量保证--面向对象PPT课件_第1页
软件开发过程与质量保证--面向对象PPT课件_第2页
软件开发过程与质量保证--面向对象PPT课件_第3页
软件开发过程与质量保证--面向对象PPT课件_第4页
软件开发过程与质量保证--面向对象PPT课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 BeyondTechnology 软件开发过程与质量保证 第八章面向对象基础 2 第八章面向对象 8 1软件工程方法论8 2面向对象的基本概念8 3为何使用UML 掌握面向对象的基本概念 重点和难点 3 软件工程主要方法论 结构化分析和设计方法论也叫数据流建模方法论把现实世界描绘为数据在信息系统中的流动 在数据流动过程中数据发生转化 通过自顶向下的程序设计将复杂的程序分解为程序模块的层次图 存在问题面向过程方法大多基于瀑布模型面向过程方法是将用户需求对应到软件功能上 而采用面向过程的处理方式来应对用户提出的功能上的变更造成了系统结构的不稳定 过程分析和数据分析之间的边界问题始终没解决 4 面向对象方法论认为客观世界是由各种对象组成 任何事物都是对象 复杂的对象可以由比较简单的对象以某种方式组合而成的 把所有的对象划分成各种对象类 简称类class 每个对象类都定义了一组数据和一组方法 按照子类 或称为派生类 与父类 或称为基类 的关系 把若干个对象类组成一个层次结构的系统 对象彼此之间仅能通过传递消息互相联系 5 传统方法系统是过程的集合过程与数据实体交互过程接受输入并产生输出 面向对象方法系统是交互对象的集合对象与其它对象交互对象发送消息与响应消息 传统方法论与面向对象方法论的比较 6 例子设计一个程序 对不同类型的图形求其面积 并绘制出对应的图形 7 传统方法论 8 面向对象方法论 9 面向对象方法不再把程序看成工作在数据上的一系列过程或函数的集合 而是把程序看作是相互协作而又彼此独立的对象的集合 每个对象可以看作是一个微型程序 有自己的数据 操作 功能和目的 面向对象分析和设计解决的两个经典问题传统的分析和设计方法将处理问题的数据模型和处理模型分离 而面向对象的方法将数据模型和处理模型二者合一 从系统分析能够平滑地过渡到系统设计 UML将分析和设计模型统一 使用的符号统一 设计模型是分析模型的完善和扩充 10 面向对象方法论的主要优点适应不断发生的变化当前软件项目面临的一个突出问题是如何应对变化越来越快的客户需求 从技术角度上用OOA D的方法解决是比较有效的手段 功能 最易变 数据 较易变 对象 较稳定 稳定性增加 11 支持复用技术与人类的习惯的思维方法一致稳定性好可重用性好较容易开发大型软件产品可维护性比较好面向对象的软件稳定性比较好面向对象的软件比较容易修改面向对象的软件比较容易理解易于测试和调试 12 第八章面向对象 8 1软件工程方法论8 2面向对象的基本概念8 3为何使用UML 13 对象类消息封装继承多态 面向对象基本概念回顾 14 什么是对象 对象是系统中用来描述客观事物的一个实体 它是构成系统的一个基本单位 一个对象由一组属性和对这组属性进行操作的一组方法组成 15 对象的特点 对象具有标识你能够对它命名 以区别于其他对象对象具有状态通常有一些数据与它相联系对象具有行为使你能够对对象做某些事 它也能为其他对象做某些事 16 对象定义可以将问题域中任何事物都视为对象 对象是所有数据及可对这些数据施加的操作结合在一起所构成的独立单位的总称 是具有一定知识和处理能力的独立个体 它可以是具体的物理实体 如一个文件 也可是是人为抽象概念的 如多任务操作系统中的调度策略 对象包含两个基本要素 属性 用于描述对象的静态特征 是反映类或对象当前状态本质的数据项 方法 用于描述对象的动态特征 反映对象的一种行为 是对对象属性的操作 服务 17 对象的形象化表示 18 什么是类 类是具有相同属性和方法的一组对象的集合 它为属于该类的全部对象提供了统一的抽象描述 其内部包括属性和方法两个主要部分 在图形上 把一个类画成一个矩形 19 类定义具有相同属性和行为的一组对象的集合类与对象的关系类是对象的抽象对象是类的实例 20 类的描述方法 21 类的属性和操作 属性 attribute 是已被命名的类的特性 它描述了该特性的实例可以取值的范围 操作 operation 是一个服务的实现 该服务可以由类的任何对象请求以影响其行为 22 类的特点 同类对象具有相同的属性和方法 是指它们的定义形式相同 而不是说每个对象的属性值都相同 类是静态的 类的存在 语义和关系在程序执行前就已经定义好了 对象是动态的 对象在程序执行时可以被创建和删除 23 对象和类 对象可以是一个人 地址 物品 事件 概念 屏幕显示或者报表 类泛化或表示一组相似的对象 是创建对象的有效模板 一个类表示一组相似的对象 对象是类的实例 属性是类知道的事情 方法是类完成的事情 24 对象和类 对象可以是一个人 地址 物品 事件 概念 屏幕显示或者报表 类泛化或表示一组相似的对象 是创建对象的有效模板 一个类表示一组相似的对象 对象是类的实例 属性是类知道的事情 方法是类完成的事情 25 消息定义消息是用来请求对象执行某一处理或回答某一要求的信息 是对象之间建立的一种通信机制 它统一了数据流和控制流 通常一个消息由三部分组成 对象名 接收消息的对象消息名 要求接收对象完成的操作参数 执行操作时的参数或操作返回的结果 26 例如MyCircle Show Green MyCircle是接收消息的对象的名字 Show是消息名 Green是消息的参数 MyCircle ChangeColor Green 27 消息的表示形式student read inbooks outreport 消息接收者 参数类型 输入参数 操作 消息 28 面向对象的基本原理 29 什么是抽象 类或操作等项目的基本属性一个项目的抽象依赖于你定义抽象的上下文抽象是在项目周围绘制一个清晰框架的手段 30 抽象的例子 31 什么是封装 把相关概念组合进一个项目中 如类或组件 封装描述了如何在系统中划分功能的问题 封装是把框体涂黑的做法 32 EncapsulationIllustrated ProfessorClarkneedstobeabletoteachfourclassesinthenextsemester 33 什么是模块化 把复杂的事务分解成可以处理的部分帮助人们更好地理解复杂系统 34 模块化的例子 Forexample breakcomplexsystemsintosmallermodules 35 什么是继承 表示两个类之间是 isa islike 或 iskindof 的关系 特殊类的对象拥有其一般类的全部属性与方法 称作特殊类对一般类的继承 36 继承的分类 继承可分为单继承和多继承单继承 子类只从一个父类继承多继承 子类从多于一个的父类继承 37 什么是多态 从字面上理解 多态就是有多种形态的意思 在面向对象技术中 多态指的是使一个实体在不同的上下文条件下具有不同意义或用法的能力 多态是保证系统有较好的适应性的一个重要手段 也是用OO技术所表现出来的一个重要特征 38 多态的例子 39 什么是类 类是具有相同属性和方法的一组对象的集合 它为属于该类的全部对象提供了统一的抽象描述 其内部包括属性和方法两个主要部分 在图形上 把一个类画成一个矩形 40 类的属性和操作 属性 attribute 是已被命名的类的特性 它描述了该特性的实例可以取值的范围 操作 operation 是一个服务的实现 该服务可以由类的任何对象请求以影响其行为 41 类的特点 同类对象具有相同的属性和方法 是指它们的定义形式相同 而不是说每个对象的属性值都相同 类是静态的 类的存在 语义和关系在程序执行前就已经定义好了 对象是动态的 对象在程序执行时可以被创建和删除 42 对象和类 对象可以是一个人 地址 物品 事件 概念 屏幕显示或者报表 类泛化或表示一组相似的对象 是创建对象的有效模板 一个类表示一组相似的对象 对象是类的实例 属性是类知道的事情 方法是类完成的事情 43 建模元素 包 包是用来组织UML模型的基本分组事物 它也有变体 如框架 模型和子系统等 它们是包的不同种类 用包把建模元素安排成可作为一个组来处理的较大的组块 一些元素在包外是可见的 另一些元素要隐藏到包内 44 建模元素 消息 消息就是向对象发出的服务请求 它包含下述信息 提供服务的对象标识 服务 方法 标识 输入信息和回答信息 在图性上 把一个消息画成一条有向直线 通常在表示消息的线段上总有操作名 45 第八章面向对象 8 1软件工程方法论8 2面向对象的基本概念8 3为何使用UML 46 何为UML 统一建模语言 UML 是描述 构造和文档化系统制品的可视化语言 47 应用方式 UML作为草图非正式的 不完整的图 借助可视化语言的功能 用于探讨问题或解决方案空间的复杂部分 UML作为蓝图相对详细的设计图逆向工程前向工程 代码生成 48 UML只是一种工具UML并不是面向对象分析和设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论