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

下载本文档

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

文档简介

1、第八章 面向对象8.1 软件工程方法论8.2 面向对象的基本概念8.3 为何使用UML 掌握面向对象的基本概念重点和难点第1页/共51页软件工程主要方法论 结构化分析和设计方法论 也叫数据流建模方法论 把现实世界描绘为数据在信息系统中的流动,在数据流动过程中数据发生转化。 通过自顶向下的程序设计将复杂的程序分解为程序模块的层次图。 存在问题 面向过程方法大多基于瀑布模型 面向过程方法是将用户需求对应到软件功能上,而采用面向过程的处理方式来应对用户提出的功能上的变更造成了系统结构的不稳定。 过程分析和数据分析之间的边界问题始终没解决第2页/共51页 面向对象方法论 认为客观世界是由各种对象组成,

2、任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成的。 把所有的对象划分成各种对象类(简称类 class),每个对象类都定义了一组数据和一组方法。 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统。 对象彼此之间仅能通过传递消息互相联系。第3页/共51页 传统方法论与面向对象方法论的比较第4页/共51页 例子设计一个程序,对不同类型的图形求其面积,并绘制出对应的图形第5页/共51页 传统方法论第6页/共51页 面向对象方法论第7页/共51页 面向对象方法不再把程序看成工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独

3、立的对象的集合。 每个对象可以看作是一个微型程序,有自己的数据、操作、功能和目的。 面向对象分析和设计解决的两个经典问题 传统的分析和设计方法将处理问题的数据模型和处理模型分离,而面向对象的方法将数据模型和处理模型二者合一。 从系统分析能够平滑地过渡到系统设计。 UML将分析和设计模型统一,使用的符号统一,设计模型是分析模型的完善和扩充。第8页/共51页 面向对象方法论的主要优点 适应不断发生的变化 当前软件项目面临的一个突出问题是如何应对变化越来越快的客户需求,从技术角度上用OOA/D的方法解决是比较有效的手段:功能:最易变数据:较易变对象:较稳定稳定性增加类属性方法第9页/共51页 支持复

4、用技术 与人类的习惯的思维方法一致 稳定性好 可重用性好 较容易开发大型软件产品 可维护性比较好 面向对象的软件稳定性比较好 面向对象的软件比较容易修改 面向对象的软件比较容易理解 易于测试和调试第10页/共51页第八章 面向对象8.1 软件工程方法论8.2 面向对象的基本概念8.3 为何使用UML 第11页/共51页 对象 类 消息 封装 继承 多态面向对象基本概念回顾第12页/共51页什么是对象? 对象对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组方法组成。第13页/共51页对象的特点对象具有标识对象具有标识你能够对它命名,

5、以区别于其他对象对象具有状态对象具有状态通常有一些数据与它相联系对象具有行为对象具有行为使你能够对对象做某些事,它也能为其他对象做某些事第14页/共51页 对象 定义 可以将问题域中任何事物都视为对象,是具有一定知识和处理能力的独立个体。它可以是具体的物理实体,如一个文件;也可是是人为抽象概念的,如多任务操作系统中的调度策略。 对象包含两个基本要素: 属性:用于描述对象的静态特征,是反映类或对象当前状态本质的数据项。 方法:用于描述对象的动态特征,反映对象的一种行为,是对对象属性的操作、服务。第15页/共51页 对象的形象化表示对象属性方法3方法1操作1方法2操作2操作3界面第16页/共51页

6、什么是类?类类是具有相同属性和方法的一组对象的是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方统一的抽象描述,其内部包括属性和方法两个主要部分。法两个主要部分。在图形上,把一个类画成一个矩形在图形上,把一个类画成一个矩形。第17页/共51页 类 定义 具有相同属性和行为的一组对象的集合 类与对象的关系 类是对象的抽象 对象是类的实例第18页/共51页 类的描述方法第19页/共51页类的属性和操作属性(attribute)是已被命名的类的特性,是已被命名的类的特性,它描述了该特性的实例可以取值的范围。它描述了该

7、特性的实例可以取值的范围。操作操作( (operation)是一个服务的实现,该是一个服务的实现,该服务可以由类的任何对象请求以影响其行服务可以由类的任何对象请求以影响其行为为第20页/共51页类的特点 同类对象具有相同的属性和方法,是指同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对它们的定义形式相同,而不是说每个对象的属性值都相同。象的属性值都相同。 类是类是静态静态的;类的存在、语义和关系在的;类的存在、语义和关系在程序执行前就已经定义好了。程序执行前就已经定义好了。 对象是对象是动态动态的的; 对象在程序执行时可以被对象在程序执行时可以被创建和删除。创建和删除。第2

8、1页/共51页对象和类对象可以是一个人、地址、物品、事件、对象可以是一个人、地址、物品、事件、概念、屏幕显示或者报表。类泛化或表概念、屏幕显示或者报表。类泛化或表示一组相似的对象,是创建对象的有效示一组相似的对象,是创建对象的有效模板。模板。一个类表示一组相似的对象。对象是类的实例。属性是类知道的事情。方法是类完成的事情。 第22页/共51页对象和类对象可以是一个人、地址、物品、事件、对象可以是一个人、地址、物品、事件、概念、屏幕显示或者报表。类泛化或表概念、屏幕显示或者报表。类泛化或表示一组相似的对象,是创建对象的有效示一组相似的对象,是创建对象的有效模板。模板。一个类表示一组相似的对象。对

9、象是类的实例。属性是类知道的事情。方法是类完成的事情。 第23页/共51页消息 定义 消息是用来请求对象执行某一处理或回答某一要求的信息,是对象之间建立的一种通信机制,它统一了数据流和控制流。 通常一个消息由三部分组成: 对象名:接收消息的对象 消息名:要求接收对象完成的操作 参数:执行操作时的参数或操作返回的结果第24页/共51页 例如 MyCircle.Show(Green): MyCircle是接收消息的对象的名字,Show是消息名,Green是消息的参数。 MyCircle.ChangeColor(Green);第25页/共51页消息的表示形式 student.read(in book

10、s, out report)消息接收者参数类型输入参数操作消息第26页/共51页面向对象的基本原理第27页/共51页什么是抽象?类或操作等项目的基本属性 一个项目的抽象依赖于你定义抽象的上下文 抽象是在项目周围绘制一个清晰框架的手段 第28页/共51页抽象的例子第29页/共51页什么是封装?把相关概念组合进一个项目中,如类或组件。封装描述了如何在系统中划分功能的问题。 封装是把框体涂黑的做法。封装是把框体涂黑的做法。第30页/共51页Encapsulation IllustratedlProfessor Clark needs to be able to teach four classes

11、in the next semester.第31页/共51页什么是模块化?把复杂的事务分解成可以处理的部分帮助人们更好地理解复杂系统第32页/共51页模块化的例子l For example, break complex systemsFor example, break complex systems into smaller modules. into smaller modules. 第33页/共51页什么是继承? 表示两个类之间是表示两个类之间是“is a”、“is like”或或“is kind of”的关系的关系。特特殊类的对象拥有其一般类的全部属殊类的对象拥有其一般类的全部属 性与

12、方法,称作特殊类对一般类的性与方法,称作特殊类对一般类的继承继承。第34页/共51页继承的分类?继承可分为继承可分为单继承单继承和和多继承多继承单继承:子类只从一个父类继承多继承:子类从多于一个的父类继承第35页/共51页什么是多态?从字面上理解,从字面上理解,多态多态就是有多种形态的意思。就是有多种形态的意思。在面向对象技术中,在面向对象技术中,多态多态指的是使一个实体在不同的上下文指的是使一个实体在不同的上下文条件下具有不同意义或用法的能力。条件下具有不同意义或用法的能力。多态多态是保证系统有较好的适应性的一个重要手段,也是用是保证系统有较好的适应性的一个重要手段,也是用OO技术所表现出来

13、的一个重要特征。技术所表现出来的一个重要特征。 第36页/共51页多态的例子第37页/共51页什么是类?类类是具有相同属性和方法的一组对象的是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方统一的抽象描述,其内部包括属性和方法两个主要部分。法两个主要部分。在图形上,把一个类画成一个矩形在图形上,把一个类画成一个矩形。第38页/共51页类的属性和操作属性(attribute)是已被命名的类的特性,是已被命名的类的特性,它描述了该特性的实例可以取值的范围。它描述了该特性的实例可以取值的范围。操作操作( (opera

14、tion)是一个服务的实现,该是一个服务的实现,该服务可以由类的任何对象请求以影响其行服务可以由类的任何对象请求以影响其行为为第39页/共51页类的特点 同类对象具有相同的属性和方法,是指同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对它们的定义形式相同,而不是说每个对象的属性值都相同。象的属性值都相同。 类是类是静态静态的;类的存在、语义和关系在的;类的存在、语义和关系在程序执行前就已经定义好了。程序执行前就已经定义好了。 对象是对象是动态动态的的; 对象在程序执行时可以被对象在程序执行时可以被创建和删除。创建和删除。第40页/共51页对象和类对象可以是一个人、地址、物品

15、、事件、对象可以是一个人、地址、物品、事件、概念、屏幕显示或者报表。类泛化或表概念、屏幕显示或者报表。类泛化或表示一组相似的对象,是创建对象的有效示一组相似的对象,是创建对象的有效模板。模板。一个类表示一组相似的对象。对象是类的实例。属性是类知道的事情。方法是类完成的事情。 第41页/共51页建模元素:包n包是用来组织包是用来组织U M L模型的基本分组事物。模型的基本分组事物。它也有变体,如框架、模型和子系统等它也有变体,如框架、模型和子系统等(它们是包的不同种类)。(它们是包的不同种类)。n用包把建模元素安排成可作为一个组来处用包把建模元素安排成可作为一个组来处理的较大的组块理的较大的组块

16、: : 一些元素在包外是可见的. . 另一些元素要隐藏到包内. .第42页/共51页建模元素:消息消息消息就是向对象发出的服务请求,它就是向对象发出的服务请求,它包含下述信息:提供服务的对象标识包含下述信息:提供服务的对象标识、服务、服务 (方法)标识、输入信息和(方法)标识、输入信息和回答信息。回答信息。在图性上,把一个消息画成一条有向在图性上,把一个消息画成一条有向直线,通常在表示消息的线段上总有直线,通常在表示消息的线段上总有操作名。操作名。第43页/共51页第八章 面向对象8.1 软件工程方法论8.2 面向对象的基本概念8.3 为何使用UML 第44页/共51页何为UML 统一建模语言(UML)是描述、构造和文档化系统制品的可视化语言第45页/共51页应用方式 UML作为草图 非正式的、不完整的图,借助可视化语言的功能,用于探讨问题或解决方案空间的复杂部分。 UML作为蓝图 相对详细的设计图 逆向工程 前向工程(代码生成)第46页/共51页

温馨提示

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

评论

0/150

提交评论