软件开发过程与质量保证-8-面向对象2009培训讲学.ppt

上传人:豆**** 文档编号:77725627 上传时间:2023-03-16 格式:PPT 页数:51 大小:1,001.50KB
返回 下载 相关 举报
软件开发过程与质量保证-8-面向对象2009培训讲学.ppt_第1页
第1页 / 共51页
软件开发过程与质量保证-8-面向对象2009培训讲学.ppt_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《软件开发过程与质量保证-8-面向对象2009培训讲学.ppt》由会员分享,可在线阅读,更多相关《软件开发过程与质量保证-8-面向对象2009培训讲学.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Software Engineering20092009软件开发过程与质量保证-8-面向对象2009Software Engineering20092009软件工程主要方法论结构化分析和设计方法论结构化分析和设计方法论也叫数据流建模方法论把现实世界描绘为数据在信息系统中的流动,在数据流动过程中数据发生转化。通过自顶向下的程序设计将复杂的程序分解为程序模块的层次图。存在问题面向过程方法大多基于瀑布模型面向过程方法是将用户需求对应到软件功能上,而采用面向过程的处理方式来应对用户提出的功能上的变更造成了系统结构的不稳定。过程分析和数据分析之间的边界问题始终没解决Software Engineerin

2、g20092009面向对象方法论面向对象方法论认为客观世界是由各种对象组成,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成的。把所有的对象划分成各种对象类(简称类 class),每个对象类都定义了一组数据和一组方法。按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统。对象彼此之间仅能通过传递消息互相联系。Software Engineering20092009 传统方法传统方法系统是过程的集合系统是过程的集合系统是过程的集合系统是过程的集合过程与数据实体交互过程与数据实体交互过程与数据实体交互过程与数据实体交互过程接受输入并产生输出过程

3、接受输入并产生输出过程接受输入并产生输出过程接受输入并产生输出面向对象方法面向对象方法系统是交互对象的集合系统是交互对象的集合系统是交互对象的集合系统是交互对象的集合对象与其它对象交互对象与其它对象交互对象与其它对象交互对象与其它对象交互对象发送对象发送对象发送对象发送消息消息消息消息与响应消息与响应消息与响应消息与响应消息传统方法论与面向对象方法论的比较Software Engineering20092009例子设计一个程序,对不同类型的图形求其面积,并绘制出对应的图形Software Engineering20092009传统方法论Software Engineering20092009面

4、向对象方法论Software Engineering20092009 面向对象方法不再把程序看成工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独立的对象的集合。每个对象可以看作是一个微型程序,有自己的数据、操作、功能和目的。面向对象分析和设计解决的两个经典问题传统的分析和设计方法将处理问题的数据模型和处理模型分离,而面向对象的方法将数据模型和处理模型二者合一。从系统分析能够平滑地过渡到系统设计。UML将分析和设计模型统一,使用的符号统一,设计模型是分析模型的完善和扩充。Software Engineering20092009面向对象方法论的主要优点适应不断发生的变化当前

5、软件项目面临的一个突出问题是如何应对变化越来越快的客户需求,从技术角度上用OOA/D的方法解决是比较有效的手段:功能:最易变数据:较易变对象:较稳定稳定性增加类属性方法Software Engineering20092009支持复用技术与人类的习惯的思维方法一致稳定性好可重用性好较容易开发大型软件产品可维护性比较好面向对象的软件稳定性比较好面向对象的软件比较容易修改面向对象的软件比较容易理解易于测试和调试Software Engineering20092009第八章 面向对象8.1 软件工程方法论8.2 面向对象的基本概念面向对象的基本概念8.3 为何使用UML Software Engine

6、ering20092009对象类消息封装继承多态面向对象基本概念回顾Software Engineering20092009什么是对象?什么是对象?什么是对象?什么是对象?对象对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组方法组成。Software Engineering20092009对象的特点对象的特点对象的特点对象的特点对象具有标识对象具有标识你能够对它命名,以区别于其他对象你能够对它命名,以区别于其他对象对象具有状态对象具有状态通常有一些数据与它相联系对象具有行为对象具有行为使你能够对对象做某些事,它也能为其他对象做某使

7、你能够对对象做某些事,它也能为其他对象做某些事些事Software Engineering20092009对象定义可以将问题域中任何事物都视为对象,对象是所对象是所对象是所对象是所有数据及可对这些数据施加的操作结合在一起所有数据及可对这些数据施加的操作结合在一起所有数据及可对这些数据施加的操作结合在一起所有数据及可对这些数据施加的操作结合在一起所构成的独立单位的总称构成的独立单位的总称构成的独立单位的总称构成的独立单位的总称,是具有一定知识和处理能力的独立个体。它可以是具体的物理实体,如一个文件;也可是是人为抽象概念的,如多任务操作系统中的调度策略。对象包含两个基本要素:属性:用于描述对象的静

8、态特征,是反映类或对象当前状态本质的数据项。方法:用于描述对象的动态特征,反映对象的一种行为,是对对象属性的操作、服务。Software Engineering20092009对象的形象化表示对象对象属性属性方法3方法1操作操作1方法2操作操作2操作操作3界界面面Software Engineering20092009什么是类?什么是类?什么是类?什么是类?类类是具有相同属性和方法的一组对象的集是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方法两个的抽象描述,其内部包括属性和方法两个主要部分。主要部分。在图

9、形上,把一个类画成一个矩形在图形上,把一个类画成一个矩形。Software Engineering20092009类定义具有相同属性和行为的一组对象的集合类与对象的关系类是对象的抽象对象是类的实例Software Engineering20092009类的描述方法Software Engineering20092009类的属性和操作类的属性和操作类的属性和操作类的属性和操作属性属性(attribute)是已被命名的类的特性,是已被命名的类的特性,它描述了该特性的实例可以取值的范围。它描述了该特性的实例可以取值的范围。操作操作(operation)是一个服务的实现,该服是一个服务的实现,该服务可

10、以由类的任何对象请求以影响其行为务可以由类的任何对象请求以影响其行为Software Engineering20092009类的特点类的特点类的特点类的特点同类对象具有相同的属性和方法,是指它同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对象的们的定义形式相同,而不是说每个对象的属性值都相同。属性值都相同。类是类是静态静态的;类的存在、语义和关系在程的;类的存在、语义和关系在程序执行前就已经定义好了。序执行前就已经定义好了。对象是对象是动态动态的的;对象在程序执行时可以被对象在程序执行时可以被创建和删除。创建和删除。Software Engineering20092009对

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

12、化或表示概念、屏幕显示或者报表。类泛化或表示一组相似的对象,是创建对象的有效模板。一组相似的对象,是创建对象的有效模板。一个类表示一组相似的对象。一个类表示一组相似的对象。对象是类的实例。对象是类的实例。属性是类知道的事情。方法是类完成的事情属性是类知道的事情。方法是类完成的事情。Software Engineering20092009消息定义消息是用来请求对象执行某一处理或回答某一要求的信息,是对象之间建立的一种通信机制,它统一了数据流和控制流。通常一个消息由三部分组成:对象名:接收消息的对象 消息名:要求接收对象完成的操作 参数:执行操作时的参数或操作返回的结果Software Engin

13、eering20092009例如MyCircle.Show(Green):MyCircle是接收消息的对象的名字,Show是消息名,Green是消息的参数。MyCircle.ChangeColor(Green);Software Engineering20092009消息的表示形式 student.read(in books,out report)消息接收者参数类型 输入参数操作消息Software Engineering20092009面向对象的基本原理面向对象的基本原理面向对象的基本原理面向对象的基本原理Software Engineering20092009什么是抽象什么是抽象什么是抽象

14、什么是抽象?类或操作等项目的基本属性 一个项目的抽象依赖于你定义抽象的上下文 抽象是在项目周围绘制一个清晰框架的手段 Software Engineering20092009抽象的例子抽象的例子抽象的例子抽象的例子Software Engineering20092009什么是封装?什么是封装?什么是封装?什么是封装?把相关概念组合进一个项目中,把相关概念组合进一个项目中,如类或组件。如类或组件。封装描述了如何在系统中划分功封装描述了如何在系统中划分功能的问题。能的问题。封装是把框体涂黑的做法。封装是把框体涂黑的做法。Software Engineering20092009Encapsulati

15、on IllustratedEncapsulation IllustratedlProfessor Clark needs to be able to teach four classes in the next semester.Software Engineering20092009什么是模块化什么是模块化什么是模块化什么是模块化?把复杂的事务分解成可以处理的部分帮助人们更好地理解复杂系统Software Engineering20092009模块化的例子模块化的例子模块化的例子模块化的例子lFor example,break complex systemsFor example,brea

16、k complex systems into smaller modules.into smaller modules.Software Engineering20092009什么是继承什么是继承什么是继承什么是继承?表示两个类之间是表示两个类之间是“is a”、“is like”或或“is kind of”的关系的关系。特殊类的对象拥有其一般类的全部特殊类的对象拥有其一般类的全部属属 性与方法,称作特殊类对一般类的性与方法,称作特殊类对一般类的继承继承。Software Engineering20092009继承的分类继承的分类继承的分类继承的分类?继承可分为继承可分为单继承单继承和和多继承

17、多继承单继承:子类只从一个父类继承单继承:子类只从一个父类继承多继承:子类从多于一个的父类继承多继承:子类从多于一个的父类继承Software Engineering20092009什么是多态什么是多态什么是多态什么是多态?从字面上理解,从字面上理解,多态多态就是有多种形态的意思。就是有多种形态的意思。在面向对象技术中,在面向对象技术中,多态多态指的是使一个实体指的是使一个实体在不同的上下文条件下具有不同意义或用法在不同的上下文条件下具有不同意义或用法的能力。的能力。多态多态是保证系统有较好的适应性的一个重要是保证系统有较好的适应性的一个重要手段,也是用手段,也是用OO技术所表现出来的一个重要

18、技术所表现出来的一个重要特征。特征。Software Engineering20092009多态的例子多态的例子多态的例子多态的例子Software Engineering20092009什么是类?什么是类?什么是类?什么是类?类类是具有相同属性和方法的一组对象的集是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方法两个的抽象描述,其内部包括属性和方法两个主要部分。主要部分。在图形上,把一个类画成一个矩形在图形上,把一个类画成一个矩形。Software Engineering20092009类的属性和操作类的

19、属性和操作类的属性和操作类的属性和操作属性属性(attribute)是已被命名的类的特性,是已被命名的类的特性,它描述了该特性的实例可以取值的范围。它描述了该特性的实例可以取值的范围。操作操作(operation)是一个服务的实现,该服是一个服务的实现,该服务可以由类的任何对象请求以影响其行为务可以由类的任何对象请求以影响其行为Software Engineering20092009类的特点类的特点类的特点类的特点同类对象具有相同的属性和方法,是指它同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对象的们的定义形式相同,而不是说每个对象的属性值都相同。属性值都相同。类是类是静

20、态静态的;类的存在、语义和关系在程的;类的存在、语义和关系在程序执行前就已经定义好了。序执行前就已经定义好了。对象是对象是动态动态的的;对象在程序执行时可以被对象在程序执行时可以被创建和删除。创建和删除。Software Engineering20092009对象和类对象和类对象和类对象和类对象可以是一个人、地址、物品、事件、对象可以是一个人、地址、物品、事件、概念、屏幕显示或者报表。类泛化或表示概念、屏幕显示或者报表。类泛化或表示一组相似的对象,是创建对象的有效模板。一组相似的对象,是创建对象的有效模板。一个类表示一组相似的对象。一个类表示一组相似的对象。对象是类的实例。对象是类的实例。属性

21、是类知道的事情。方法是类完成的事情属性是类知道的事情。方法是类完成的事情。Software Engineering20092009建模元素:建模元素:建模元素:建模元素:包包包包n包是用来组织包是用来组织U M L模型的基本分组事物。它模型的基本分组事物。它也有变体,如框架、模型和子系统等(它们也有变体,如框架、模型和子系统等(它们是包的不同种类)。是包的不同种类)。n用包把建模元素安排成可作为一个组来处理用包把建模元素安排成可作为一个组来处理的较大的组块的较大的组块:一些元素在包外是可见的一些元素在包外是可见的.另一些元素要隐藏到包内另一些元素要隐藏到包内.Software Engineer

22、ing20092009建模元素:建模元素:建模元素:建模元素:消息消息消息消息消息消息就是向对象发出的服务请求,它包就是向对象发出的服务请求,它包含下述信息:提供服务的对象标识、服含下述信息:提供服务的对象标识、服务务 (方法)标识、输入信息和回答信(方法)标识、输入信息和回答信息。息。在图性上,把一个消息画成一条有向直在图性上,把一个消息画成一条有向直线,通常在表示消息的线段上总有操作线,通常在表示消息的线段上总有操作名。名。Software Engineering20092009第八章 面向对象8.1 软件工程方法论8.2 面向对象的基本概念8.3 为何使用为何使用UML Software

23、 Engineering20092009何为UML统一建模语言(UML)是描述、构造和文档化系统制品的可视化语言Software Engineering20092009应用方式UML作为草图非正式的、不完整的图,借助可视化语言的功能,用于探讨问题或解决方案空间的复杂部分。UML作为蓝图相对详细的设计图逆向工程前向工程(代码生成)Software Engineering20092009UML只是一种工具UML并不是面向对象分析和设计的全部,它只是一种手段,一种工具。我们需要通过自己对对象的理解和面向对象分析设计技术的掌握来进行系统的分析和设计,然后通过UML的形式来进行表述。Software Engineering20092009UML的三种透视图概念透视图用图来描述现实世界或关注领域中的事物设计透视图用图来描述软件的抽象物或具有规格说明和接口的构件,但是并不约束特定实现实现透视图用图来描述特定技术中的软件实现Software Engineering20092009UML的不同视图Software Engineering20092009总结Software Engineering20092009此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁