第6章面向对象方法学引论课件

上传人:txadgkn****dgknqu... 文档编号:252173930 上传时间:2024-11-13 格式:PPTX 页数:36 大小:752.60KB
返回 下载 相关 举报
第6章面向对象方法学引论课件_第1页
第1页 / 共36页
第6章面向对象方法学引论课件_第2页
第2页 / 共36页
第6章面向对象方法学引论课件_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,济南职业学院 申报省级精品课程:,软件工程,负责人:赛煜,第,6,章 面向对象方法学引论,本章主要内容:,面向对象方法学的优缺点;面向对象的基本概念:对象、类、实例、消息、方法、封装、继承、多态性、重载等;面向对象的软件工程:,OOA,、,OOD,、,OOP,、,OOT;,面向对象的建模及对象模型、动态模型、功能模型;面向对象的开发方法。,本章重点:,面向对象的基本概念:对象、类、实例、消息、方法、封装、继承、多态性、重载等;面向对象的软件工程:,OOA,、,OOD,、,OOP,、,OOT;,面向对象的建模及对象模型、动态模型、功能模型;面向对象的开发方法。,本章难点:,面向对象的概念及特征和面向对象的模型。,第6章 面向对象方法学引论 本章主要内容:面向对象方法学的,第,6,章 面向对象方法学引论,本章结构:,6.1,面向对象方法学概述,6.2,面向对象的基本概念,6.3,面向对象的基本特征,6.4,面向对象的软件工程,6.5,面向对象的建模,6.6,面向对象的开发方法,第6章 面向对象方法学引论 本章结构:,6.1,面向对象方法学概述,6.1.1,面向对象方法的发展历程,6.1.2,面向对象方法学优点,优点:,(1),与人类习惯的思维方法一致,(2),稳定性好,(3),可重用性好,(4),可扩展性,(5),可维护性,6.1 面向对象方法学概述 6.1.1面向对象方法的发展历程,6.1,面向对象方法学概述,不足之处:,(,1,)面向对象需要更关注于需求、分析和设计,(,2,)面向对象需要完全改变每个人的思想,(,3,)面向对象需要改变软件开发文化,(,4,)面向对象不仅仅是编程,(,5,)面向对象许多优点是长期的,(,6,)面向对象要求先在培训、教育和工具上投资,(,7,)面向对象技术不能保证能构造出正确的系统,(,8,)面向对象要求更多的测试工作,(,9,)面向对象仅是解决方案的一部分,6.1 面向对象方法学概述不足之处:,6.2,面向对象的基本概念,6.2.1,对象(,object,),对象是指一个实体,它能够保存一个状态(或称信息或数据),并且它能提供一系列操作(或称行为),这些操作或能检查或能影响对象的状态。,对象具有封装性(,encapsulation,),对象具有自治性,(autonomy),对象具有通信性。,对象具有被动性。,对象具有暂存性。,对象可具有持久性(,persistence,),6.2 面向对象的基本概念 6.2.1 对象(object),6.2,面向对象的基本概念,6.2.2,类,(class),和实例,(,instance,),1.,类(,class,),类的定义是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。一个类的上层可以有超类,下层可以有子类,形成一种层次结构。,类分为一般类和特殊类,类的作用有两个:一是作为对象的描述机制,刻画一组对象的公共属性和行为;二是作为程序的基本单位,它是支持模块化设计的设施,并且类上的分类关系是模块划分的规范标准。,2.,类和型的区别,型(,type,)的说明是指概念上、逻辑上的问题。数据的值都有型。,3.,类的实例(,instance,),6.2 面向对象的基本概念 6.2.2 类(class)和实,6.2,面向对象的基本概念,6.2.2,类,(class),和实例,(,instance,),在面向对象的系统中,每个对象都属于一个类,属于某个类的对象称为该类的一个实例(,instance,)。,在面向对象的程序设计语言中,类的实例既可静态地产生也可动态地产生。,6.2.3,消息(,message,)和方法(,method,),1.,消息(,message,),消息的定义:消息就是向对象发出的服务请求,它应含有提供服务的对象标识、服务标识、输入信息和回答信息。,2.,方法(,method,),方法也称作行为(,behavior,),指定义于某一特定类上的操作与法则。,对象,消息到达,数据,方法,图,6.1,对象的分解图,人类原始语言,-,面向对象语言,6.2 面向对象的基本概念 6.2.2 类(class)和实,6.3,面向对象的基本特征,面向对象的各种特征:,6.3.1,继承性(,inheritance,),继承是一种使用户得以在一个类的基础上建立新的类的技术。,新的类自动继承旧类的属性和行为特征,并可具备某些附加的特征或某些限制。,继承性是面向对象程序设计语言不同于其它语言的最主要特点,是其它语言所没有的。,已存在的类通常称作超类,新的类通常称作子类。,类间的继承关系是可以传递的。,继承可分为单继承和多继承,如果一个类只有一个直接超类,则这种继承叫做单继承,如果一个类有多于一个的直接超类,这种继承叫做多继承。,6.3 面向对象的基本特征 面向对象的各种特征:,6.3,面向对象的基本特征,面向对象的各种特征:,6.3.2,封装性(,encapsulation,),封装是面向对象方法的一个重要原则,它有两个含义,:,第一个含义是,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。,第二个含义也称作信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系。,封装的定义为:,(,1,)一个清楚的边界,所有的对象的内部软件的范围被限定在这个边界内。,(,2,)一个接口,这个接口描述这个对象和其他的对象之间相互的作用。,(,3,)受保护的内部实现,这个实现给出了由软件对象提供的功能的细节,这些只能通过定义这个对象的类所提供的方法进行访问。,6.3 面向对象的基本特征 面向对象的各种特征:,6.3,面向对象的基本特征,面向对象的各种特征:,6.3.3,多态性(,polymorphism,)和重载(,overloading,),在收到消息时对象要予以响应,不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做,多态,。,多态主要有如下内容:,(,1,)运算符重载:同一运算符可用于不同的变量类型,称作运算符重载。,(2,)即席多态(,ad hoc polymorphism,):即席多态也称操作名重载。同一操作名可作用于不同对象上并产生不同的结果。,(3,)类属软件(,generic software,)的重用:类的继承与多态密切相关,作用于超类实例的方法同样也可以作用于其子类的实例。,6.3 面向对象的基本特征 面向对象的各种特征:,6.4,面向对象的软件工程,传统的软件工程方法学曾经给软件产业带来过巨大的进步,缓解了软件危机,使用这种方法学开发的许多中、小规模的软件项目都获得了一定的成功。但人们也发现当把这种方法学应用于大型软件产品的开发时,似乎很少能取得成功。,在传统的软件工程方法中,由于软件工程各阶段表示方法不连续等原因,并没有完全填平语言之间的鸿沟,如图,6.3,所示。而在面向对象的软件工程方法中,从面向对象的分析到面向对象的设计,再到面向对象的编程、面向对象的测试都是紧密衔接的,从而填平了语言之间的鸿沟,如图,6.4,所示。,面向对象软件开发的十大原则,6.4 面向对象的软件工程 面向对象软件开发的十大原则,问题域,需求分析,总体设计,详细设计,编程,测试,计算机,分析与设计鸿沟,图,6.3,传统的软件工程方法,问题域,面向对象,分析,面向对象,设计,面向对象,编程,面向对象,测试,计算机,图,6.4,面向对象的软件工程方法,问题域需求分析总体设计详细设计编程测试计算机分析与设计鸿沟图,6.4,面向对象的软件工程,1,面向对象的分析,(OOA),OOA,强调直接针对问题域中客观存在的各种事物建立,OOA,模型中的对象。用对象的属性和服务分别描述事物的静态特征和行为。,2,面向对象的设计,(OOD),OOD,则是针对系统的一个具体的实现运用面向对象的方法。其中包括两方面的工作,一是把,OOA,模型直接搬到,OOD,(不经过转换,仅作某些必要的修改和调整),作为,OOD,的一个部分;二是针对具体实现中的人机界面、数据存储、任务管理等因素补充一些与实现有关的部分。,3,面向对象的编程,(OOP),面向对象的编程(,OOP,)又称作面向对象的实现(,OOI,)。,OOP,工作就是用一种面向对象的编程语言把,OOD,模型的每个成分书写出来。,6.4 面向对象的软件工程 1面向对象的分析(OOA),6.4,面向对象的软件工程,4,面向对象的测试(,OOT,),面向对象的测试(,OOT,)是指:对于用面向对象的技术开发的软件,在测试过程中继续运用面向对象的技术,进行以对象概念为中心的软件测试。,5,面向对象的软件维护,面向对象的软件工程方法为改进软件维护提供了有效的途径。,程序与问题域一致,各个阶段的表示一致,从而大大降低了理解的难度。,系统中最容易变化的因素(功能)作为对象的服务封装在对象内部,对象的封装性使一个对象的修改对其他影响小,从而避免了波动效应。,6.4 面向对象的软件工程,6.5,面向对象的建模,6.5.1,面向对象的建模概述,所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。,面向对象方法基本的原则,是按照人们习惯的思维方式,用面向对象观点建立问题域的模型,开发出尽可能自然地表现求解方法的软件。,用面向对象方法开发软件,通常需要建立三种形式的模型:对象模型、动态模型、功能模型,6.5.2,对象模型,对象模型表示静态的、结构化的系统的,“,数据,”,性质。它是对模拟客观世界实体的对象以及对象征此间的关系的映射,描述了系统的静态结构。,为了建立对象模型,需要定义一组图形符号,并且规定一组组织这些符号以表示特定语义的规则。,6.5 面向对象的建模 6.5.1 面向对象的建模概述,6.5,面向对象的建模,6.5.3,动态模型,。,动态模型表示瞬时的、行为化的系统的,“,控制,”,性质,它规定了对象模型中的对象的合法变化序列。,通常,用状态图来描绘对象的状态、触发状态转换的事件、以及对象的行为,(,对事件的响应,),。,6.5.4,功能模型,功能模型表示变化的系统的,“,功能,”,性质,它指明了系统应该,“,做什么,”,,因此更直接地反映了用户对目标系统的需求。,UML,提供的用例图也是进行需求分析和建立功能模型的强有力工具。在,UML,中把用用例图建立起来的系统模型称为用例模型。,6.5 面向对象的建模 6.5.3 动态模型。,6.5,面向对象的建模,三种模型之间的关系:,(,1,)针对每个类建立的动态模型,描述了类实例的生命周期或运行周期。,(,2,)状态转换驱使行为发生,这些行为在数据流图中被映射成处理,它们同时与对象模型中的服务相对应。,(,3,)功能模型中的处理(或用例)对应于对象模型中的类所提供的服务。通常,复杂的处理(或用例)对应于复杂对象提供的服务,简单的处理(或用例)对应于更基本的对象提供的服务。有时一个处理对应多个服务,也有,个服务对应多个处理的时候。,(,4,)数据流图中的数据存储,以及数据的源点终点,通常是对象模型中的对象。,(,5,)数据流图中的数据流,住往是对象模型中的对象的属性值,也可能是整个对象。,(,6,)用例图中的行为者,可能是对象模型中的对象。,(,7,)功能模型中的处理(或用例)可能产生动态模型中的事件。,(,8,)对象模型描述了数据流图中的数据流、数据存储以及数据源点,/,终点的结构。,6.5 面向对象的建模 三种模型之间的关系:,6.6,面向对象的开发方法,6.6.1 Booch,方法,Booch,方法的过程包括以下步骤:,在给定的抽象层次上识别类和对象;,识别这些对象和类的语义;,识别这些类和对象之间的关系;,实现类和对象。,6.6.2 Coad,方法,Coad,方法是,1989,年,Coad,和,Yourdon,提出的面向对象的开发方法,该方法严格区分了面向对象
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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