软件开发过程与质量保证8面向对象.ppt

上传人:b****2 文档编号:2155494 上传时间:2022-10-27 格式:PPT 页数:51 大小:3.13MB
下载 相关 举报
软件开发过程与质量保证8面向对象.ppt_第1页
第1页 / 共51页
软件开发过程与质量保证8面向对象.ppt_第2页
第2页 / 共51页
软件开发过程与质量保证8面向对象.ppt_第3页
第3页 / 共51页
软件开发过程与质量保证8面向对象.ppt_第4页
第4页 / 共51页
软件开发过程与质量保证8面向对象.ppt_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

软件开发过程与质量保证8面向对象.ppt

《软件开发过程与质量保证8面向对象.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与质量保证8面向对象.ppt(51页珍藏版)》请在冰豆网上搜索。

软件开发过程与质量保证8面向对象.ppt

SoftwareEngineering20092009BeyondTechnology软件开发过程与质量保证软件开发过程与质量保证第八章第八章面向对象基础面向对象基础SoftwareEngineering20092009第八章面向对象8.1软件工程方法论软件工程方法论8.2面向对象的基本概念8.3为何使用UML掌握面向对象的基本概念重点和难点重点和难点SoftwareEngineering20092009软件工程主要方法论结构化分析和设计方法论结构化分析和设计方法论也叫数据流建模方法论把现实世界描绘为数据在信息系统中的流动,在数据流动过程中数据发生转化。

通过自顶向下的程序设计将复杂的程序分解为程序模块的层次图。

存在问题面向过程方法大多基于瀑布模型面向过程方法是将用户需求对应到软件功能上,而采用面向过程的处理方式来应对用户提出的功能上的变更造成了系统结构的不稳定。

过程分析和数据分析之间的边界问题始终没解决SoftwareEngineering20092009面向对象方法论面向对象方法论认为客观世界是由各种对象组成,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成的。

把所有的对象划分成各种对象类(简称类class),每个对象类都定义了一组数据和一组方法。

按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统。

对象彼此之间仅能通过传递消息互相联系。

SoftwareEngineering20092009传统方法传统方法系统是过程的集合系统是过程的集合系统是过程的集合系统是过程的集合过程与数据实体交互过程与数据实体交互过程与数据实体交互过程与数据实体交互过程接受输入并产生输出过程接受输入并产生输出过程接受输入并产生输出过程接受输入并产生输出面向对象方法面向对象方法系统是交互对象的集合系统是交互对象的集合系统是交互对象的集合系统是交互对象的集合对象与其它对象交互对象与其它对象交互对象与其它对象交互对象与其它对象交互对象发送对象发送对象发送对象发送消息消息消息消息与响应消息与响应消息与响应消息与响应消息传统方法论与面向对象方法论的比较SoftwareEngineering20092009例子设计一个程序,对不同类型的图形求其面积,并绘制出对应的图形SoftwareEngineering20092009传统方法论SoftwareEngineering20092009面向对象方法论SoftwareEngineering20092009面向对象方法不再把程序看成工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独立的对象的集合。

每个对象可以看作是一个微型程序,有自己的数据、操作、功能和目的。

面向对象分析和设计解决的两个经典问题传统的分析和设计方法将处理问题的数据模型和处理模型分离,而面向对象的方法将数据模型和处理模型二者合一。

从系统分析能够平滑地过渡到系统设计。

UML将分析和设计模型统一,使用的符号统一,设计模型是分析模型的完善和扩充。

SoftwareEngineering20092009面向对象方法论的主要优点适应不断发生的变化当前软件项目面临的一个突出问题是如何应对变化越来越快的客户需求,从技术角度上用OOA/D的方法解决是比较有效的手段:

功能:

最易变数据:

较易变对象:

较稳定稳定性增加类属性方法SoftwareEngineering20092009支持复用技术与人类的习惯的思维方法一致稳定性好可重用性好较容易开发大型软件产品可维护性比较好面向对象的软件稳定性比较好面向对象的软件比较容易修改面向对象的软件比较容易理解易于测试和调试SoftwareEngineering20092009第八章面向对象8.1软件工程方法论8.2面向对象的基本概念面向对象的基本概念8.3为何使用UMLSoftwareEngineering20092009对象类消息封装继承多态面向对象基本概念回顾SoftwareEngineering20092009什么是对象?

什么是对象?

什么是对象?

什么是对象?

对象对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

一个对象由一组属性和对这组属性进行操作的一组方法组成。

SoftwareEngineering20092009对象的特点对象的特点对象的特点对象的特点对象具有标识对象具有标识你能够对它命名,以区别于其他对象你能够对它命名,以区别于其他对象对象具有状态对象具有状态通常有一些数据与它相联系对象具有行为对象具有行为使你能够对对象做某些事,它也能为其他对象做某使你能够对对象做某些事,它也能为其他对象做某些事些事SoftwareEngineering20092009对象定义可以将问题域中任何事物都视为对象,对象是所对象是所对象是所对象是所有数据及可对这些数据施加的操作结合在一起所有数据及可对这些数据施加的操作结合在一起所有数据及可对这些数据施加的操作结合在一起所有数据及可对这些数据施加的操作结合在一起所构成的独立单位的总称构成的独立单位的总称构成的独立单位的总称构成的独立单位的总称,是具有一定知识和处理能力的独立个体。

它可以是具体的物理实体,如一个文件;也可是是人为抽象概念的,如多任务操作系统中的调度策略。

对象包含两个基本要素:

属性:

用于描述对象的静态特征,是反映类或对象当前状态本质的数据项。

方法:

用于描述对象的动态特征,反映对象的一种行为,是对对象属性的操作、服务。

SoftwareEngineering20092009对象的形象化表示对象对象属性属性方法3方法1操作操作1方法2操作操作2操作操作3界界面面SoftwareEngineering20092009什么是类?

什么是类?

什么是类?

什么是类?

类类是具有相同属性和方法的一组对象的集是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方法两个的抽象描述,其内部包括属性和方法两个主要部分。

主要部分。

在图形上,把一个类画成一个矩形在图形上,把一个类画成一个矩形。

SoftwareEngineering20092009类定义具有相同属性和行为的一组对象的集合类与对象的关系类是对象的抽象对象是类的实例SoftwareEngineering20092009类的描述方法SoftwareEngineering20092009类的属性和操作类的属性和操作类的属性和操作类的属性和操作属性属性(attribute)是已被命名的类的特性,是已被命名的类的特性,它描述了该特性的实例可以取值的范围。

它描述了该特性的实例可以取值的范围。

操作操作(operation)是一个服务的实现,该服是一个服务的实现,该服务可以由类的任何对象请求以影响其行为务可以由类的任何对象请求以影响其行为SoftwareEngineering20092009类的特点类的特点类的特点类的特点同类对象具有相同的属性和方法,是指它同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对象的们的定义形式相同,而不是说每个对象的属性值都相同。

属性值都相同。

类是类是静态静态的;类的存在、语义和关系在程的;类的存在、语义和关系在程序执行前就已经定义好了。

序执行前就已经定义好了。

对象是对象是动态动态的的;对象在程序执行时可以被对象在程序执行时可以被创建和删除。

创建和删除。

SoftwareEngineering20092009对象和类对象和类对象和类对象和类对象可以是一个人、地址、物品、事件、对象可以是一个人、地址、物品、事件、概念、屏幕显示或者报表。

类泛化或表示概念、屏幕显示或者报表。

类泛化或表示一组相似的对象,是创建对象的有效模板。

一组相似的对象,是创建对象的有效模板。

一个类表示一组相似的对象。

一个类表示一组相似的对象。

对象是类的实例。

对象是类的实例。

属性是类知道的事情。

方法是类完成的事情属性是类知道的事情。

方法是类完成的事情。

SoftwareEngineering20092009对象和类对象和类对象和类对象和类对象可以是一个人、地址、物品、事件、对象可以是一个人、地址、物品、事件、概念、屏幕显示或者报表。

类泛化或表示概念、屏幕显示或者报表。

类泛化或表示一组相似的对象,是创建对象的有效模板。

一组相似的对象,是创建对象的有效模板。

一个类表示一组相似的对象。

一个类表示一组相似的对象。

对象是类的实例。

对象是类的实例。

属性是类知道的事情。

方法是类完成的事情属性是类知道的事情。

方法是类完成的事情。

SoftwareEngineering20092009消息定义消息是用来请求对象执行某一处理或回答某一要求的信息,是对象之间建立的一种通信机制,它统一了数据流和控制流。

通常一个消息由三部分组成:

对象名:

接收消息的对象消息名:

要求接收对象完成的操作参数:

执行操作时的参数或操作返回的结果SoftwareEngineering20092009例如MyCircle.Show(Green):

MyCircle是接收消息的对象的名字,Show是消息名,Green是消息的参数。

MyCircle.ChangeColor(Green);SoftwareEngineering20092009消息的表示形式student.read(inbooks,outreport)消息接收者参数类型输入参数操作消息SoftwareEngineering20092009面向对象的基本原理面向对象的基本原理面向对象的基本原理面向对象的基本原理SoftwareEngineering20092009什么是抽象什么是抽象什么是抽象什么是抽象?

类或操作等项目的基本属性一个项目的抽象依赖于你定义抽象的上下文抽象是在项目周围绘制一个清晰框架的手段SoftwareEngineering20092009抽象的例子抽象的例子抽象的例子抽象的例子抽象的例子抽象的例子SoftwareEngineering20092009什么是封装?

什么是封装?

什么是封装?

什么是封装?

把相关概念组合进一个项目中,把相关概念组合进一个项目中,如类或组件。

如类或组件。

封装描述了如何在系统中划分功封装描述了如何在系统中划分功能的问题。

能的问题。

封装是把框体涂黑的做法。

封装是把框体涂黑的做法。

SoftwareEngineering20092009EncapsulationIllustratedEncapsulationIllustratedEncapsulationIllustratedlProfessorClarkneedstobeabletoteachfourclassesinthenextsemester.SoftwareEngineering20092009什么是模块化什么是模块化什么是模块化什么是模块化?

把复杂的事务分解成可以处理的部分帮助人们更好地理解复杂系统SoftwareEngineering20092009模块化的例子模块化的例子模块化的例子模块化的例子lForexample,breakcomplexsystemsForexample,breakcomplexsystemsintosmallermodules.intosmallermodules.SoftwareEngineering20092009什么是继承什么是继承什么是继承什么是继承?

表示两个类之间是表示两个类之间是“isa”、“islike”或或“iskindof”的关系的关系。

特殊类的对象拥有其一般类的全部特殊类的对象拥有其一般类的全部属属性与方法,称作特殊类对一般类的性与方法,称作特殊类对一般类的继承继承。

SoftwareEngineering20092009继承的分类继承的分类继承的分类继承的分类?

继承可分为继承可分为单继承单继承和和多继承多继承单继承:

子类只从一个父类继承单继承:

子类只从一个父

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1