-面向对象开发方法

上传人:ji****72 文档编号:56766441 上传时间:2018-10-15 格式:PPT 页数:146 大小:3.35MB
返回 下载 相关 举报
-面向对象开发方法_第1页
第1页 / 共146页
-面向对象开发方法_第2页
第2页 / 共146页
-面向对象开发方法_第3页
第3页 / 共146页
-面向对象开发方法_第4页
第4页 / 共146页
-面向对象开发方法_第5页
第5页 / 共146页
点击查看更多>>
资源描述

《-面向对象开发方法》由会员分享,可在线阅读,更多相关《-面向对象开发方法(146页珍藏版)》请在金锄头文库上搜索。

1、信息系统分析、设计与开发方法,第3章 面向对象开发方法,3.1 面向对象方法的基本含义 3.2 面向对象的基本概念 3.3 面向对象方法的特点 3.4 面向对象方法的优点 3.5 典型的面向对象开发方法,目录,面向对象方法(Object Oriented Method)是一种把面向对象的思想应用于软件开发法过程,指导开发活动的系统方法,是建立在“对象”概念基础上的方法学。定义一:面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。定义二: 面向对象方法是以认识论为基础,用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统(系统责任)的方法。 面向

2、对象的分析过程就是认识客观世界的过程。,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,3.1.1 面向对象方法的基本含义,面向对象本质内涵 面向对象的思想以对象为基础,辩证唯物主义以物质为基础。让我们通过对两者基本思想的类比来加深对面向对象本质内涵的理解。 辩证唯物主义认为世界是物质的,物质是运动的,物质是普遍联系的,物质具有特殊性和普遍性。物质既有静态的一面又有动态的一面,外因通过内因作用于物质。,3.1 面向对象方法的基本含义,面向对象的思想问题域是由对象构成的,每个对象拥有各自的属性和方法,属性用于描述对象的物理特征,而方法用于描述对象的行为,对象是属性和行为的统一

3、体。从对象出发构造软件系统。强调直接以问题域中的对象为中心来认识问题和解决问题,软件系统对象是问题域对象的抽象。,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,软件系统处理的基本单元是类,类是具有相同属性和方法的对象集合。从软件系统对象到类是一个抽象的过程,符合人们通常的思维方式。 软件系统中类的实例化对象可以直接映射到问题域中的对象,1. 面向对象的本质内涵及基本概念,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,1.1 面向对象的本质内涵(4),1. 面向对象的本质内涵及基本概念,问题域对象,系统责任对象,对象类,抽象,抽象,软件系统,类的实例化

4、,抽象与实例化,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,消息、接口、对象,1.1 面向对象的本质内涵(5),1. 面向对象的本质内涵及基本概念,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,1. 面向对象的本质内涵及基本概念,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,面向对象方法的基本思想尽可能地运用人类的自然思维方式来建立问题空间的模型,构造尽可能直观、自然地表达求解方法的软件系统。现实世界的问题是由客观实体和实体之间的联系构成的,对象(Object)就是客观实体的抽象。面向对象方法将属性和方法放在一起,作为一个相互

5、依存、不可分割的整体来处理。,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,面向对象方法的基本观点如下: 客观世界是由各种各样的对象组成的。任何客观的事物或实体都是对象,每种对象有自己的内部状态和运动规律,复杂的对象可以由简单的对象组成。可以用对象和消息来表示事物及事物之间的相互联系。 具有相同的内部状态和运动规律的对象可以抽象为一个类(Class),对象是类的一个实例。从一个类可以产生许多对象。 类可以派生出子类,子类继承父类的全部特征,又可以有自己的新特征。类和继承作为描述人类一般思维方式的范式,继承可以表达类与类之间的层次关系。 对象之间通过消息传递互相联系。类具有

6、封装性,它的状态和操作等对于外界是不可见的,外界只能通过消息请求进行某些操作,或请求提供所需的服务。,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,特点特点1:认为客观世界是由各种“对象”所组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,每一个对象都属于某个对象“类”。复杂的对象可以是由相对比较简单的对象以某种方式而构成的。,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,特点2:通过类比,发现对象间的相似性,即对象间的共同属性和行为,这就是构成对象类的依据。 特点3:对象间的相互联系是通过传递“消息”来完成的,消息就是通知对象去完成

7、一个允许作用于该对象的操作。,面向对象 = 对象 + 类 + 继承 + 消息,3.1.1 面向对象方法的基本含义,3.1 面向对象方法的基本含义,3.1.2 面向对象方法和结构化方法的比较,3.1 面向对象方法的基本含义,3.1.2 面向对象方法和结构化方法的比较,3.1 面向对象方法的基本含义,3.1.2 面向对象方法和结构化方法的比较,3.1 面向对象方法的基本含义,对象的基本概念 对象是建立面向对象系统所依赖的基本单元。在现实世界中,可以将任何客观存在的事物看作一个对象,如一个人、一辆汽车、一张光盘,一台电脑,甚至一个星球。,现实世界中的对象,3.2.1对象的基本概念,3.2 面向对象的

8、基本概念,对象的属性部分又称为数据部分,用来描述它的某些特征,对象的方法部分又称为程序部分,通常是一段程序代码,定义了一个操作,每个操作决定对象的一种功能或行为。,3.2.1 对象的基本概念,3.2 面向对象的基本概念,汽车对象的属性和方法,类的基本概念 类是一组具有相同属性和相同操作的对象的集合。 类看作是对象的模板(Template),抽象地描述了属于该类的全部对象共有的属性和方法。类与对象的关系是抽象与具体的关系,类是多个对象的综合抽象,对象是类的个体实例。,学生类,3.2.2 类的基本概念,3.2 面向对象的基本概念,消息传递 对象与对象之间并不是彼此孤立的,它们之间存在联系,在面向对

9、象的系统中,对象之间的联系是通过消息传递进行的。 消息是对象之间相互请求和相互协作的途径,是要求某个对象执行其中某个功能操作的规格说明。对象内有属性和方法,外部的对象向该对象提出服务请求,可以称为向该对象发送信息。通过发送消息实现对对象的操纵。,3.2.3 消息传递,3.2 面向对象的基本概念,面向对象的方法特点,3.3 面向对象方法的特点,面向对象基本特征,继承,封装,多态,继承(泛化),组合(聚合),覆盖,重载,抽象 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。 抽象包括两个方面,一是过程抽象,二是数据抽象 过程抽象是指任何一个明确定义功能的操作都

10、可被使用者看作单个的实体。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过这些操作来访问和修改。,3.3.1 抽象,3.3 面向对象方法的特点,封装 封装是面向对象的特征之一。 封装是指把对象的属性和方法包围起来,避免外界的干扰和不确定性,对数据的访问只能通过接口进行。 封装保证模块具有良好的独立性,便于系统维护,对系统的修改仅限于类的内部。 封装是继承的前提,没有封装就没有继承。,3.3.2 封装,3.3 面向对象方法的特点,继承是面向对象的特征之一。 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享基

11、类中已定义的属性和方法。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、“父类”或“超类”。继承是多态的前提,没有继承就没有多态。,3.3.3 继承,3.3 面向对象方法的特点,3.3 面向对象方法的特点,类的继承关系,3.3.3 继承,多态性是面向对象的特征之一。 多态是指允许不同类的对象对同一消息作出不同的响应。 实现多态,有二种方式:覆盖,重载。覆盖:是指子类重新定义父类的函数;重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。,3.3.4 多态,3.3 面向对象方法的特点,从认知学的角度来看,面向对象方

12、法符合人们对客观世界的认识规律。 面向对象方法开发的系统易于维护,其体系结构易于理解、扩充和修改。面向对象方法开发的软件系统有对象类组成,对象的封装性很好地体现了抽象和信息隐蔽的特征。当对象的接口确定以后,实现细节的修改不会影响其他对象,易于维护。 面向对象方法中的继承机制有力支持软件的复用。在同一应用领域的不同应用系统中,往往会涉及到许多相同或相似的实体,这些实体在不同的应用系统中存在许多相同的属性和操作,也存在着一些不同的应用系统所特有的属性和操作。可以通过继承来复用公共的属性和操作。,3.4 面相对象方法的优点,OMT是Object Modeling Technology的缩写, 意为对

13、象建模技术。 面向对象建模方法有很多种,OMT法是目前最为成熟和实用的方法之一。OMT方法由James Rambough建立,它从三个方面对系统进行建模,每个模型从一个侧面反映系统的特性,三个模型分别是:对象模型、动态模型和功能模型。 对象模型的描述手段是对象图。对象模型表示静态的,结构化的“数据”性质,它是对模拟客观世界实体的对象及对象间的关系映射,描述了系统的静态及结构。 动态模型主要采用状态转换图(Statecharts)来描述。动态模型表示瞬间的,行为化的系统控制性质,他规定了对象模型中的对象合法化变化序列。 功能模型主要表达系统内部数据流的传递和处理的过程。功能模型表示变化的系统的功

14、能性质,它指明了系统应该做什么,直接地反映了用户对目标系统的需求,通常用数据流图表示。,3.5 典型的面相对象开发方法,3.5.1 OMT 方法面向对象建模,OMT是一种软件工程方法学,支持整个软件生存周期。它覆盖了问题构成、分析、设计和实现等阶段。 以对象模型为指导,系统可由多个子系统组成。对象设计阶段要精心考虑和细化分析模型,然后优化地生成一个实际设计。 OMT方法的基础是开发系统的3个模型,再细化这3种模型,并优化以构成设计。对象模型由系统中的对象及其关系组成,动态模型描述系统中对象对事件的响应及对象间的相互作用,功能模型则确定对象值上的各种变换及变换上的约束。,3.5.1 OMT 方法

15、面向对象建模,一、系统分析分析的目的是确定一个系统“干什么”的模型,该模型通过使用对象、关联、动态控制流和功能变换等来描述。分析过程是一个不断获取需求及不断与用户磋商的过程。 1.问题陈述:问题陈述为记下或获取对问题的初步描述。 2.构造对象模型 (1) 确定对象类。 (2) 编制描述类、属性及关联的数据词典。 (3) 在类之间加入关联。 (4) 给对象和链加入属性。 (5) 使用继承来构造和简化对象类。 (6) 将类组合成模块,这种组合在紧耦合和相关功能上进行。 最后得到:对象模型=对象模型图+数据词典。,3.5.1 OMT 方法面向对象建模,3. 构造动态模型 (1) 准备典型交互序列的脚

16、本。 (2) 确定对象间的事件并为各脚本安排事件跟踪。 (3) 准备系统的事件流图。 (4) 开发具有重要动态行为的各个类的状态图。 (5) 检查状态图中共享事件的一致性和完整性。 最后得到: 动态模型=状态图+全局事件流图。,3.5.1 OMT 方法面向对象建模,4. 构造功能模型 (1) 确定输入、 输出值。 (2) 需要时使用数据流图来表示功能依赖关系。 (3) 描述各功能“干什么”。 (4) 确定约束。 (5) 详细说明优化标准。 最后得到: 功能模型=数据流图+约束。,3.5.1 OMT 方法面向对象建模,二、系统设计在系统设计阶段建立系统的高层结构,有各种标准结构可以用作设计的起点。面向对象的开发方法对系统设计没有什么特殊的限制,但覆盖了完整的软件开发阶段,开发步骤如下: (1) 将系统分解为各子系统。 (2) 确定问题中固有的并发性。 (3) 将各子系统分配给处理器及任务。 (4) 根据数据结构、文件及数据库来选择实现存储的基本策略。 (5) 确定全局资源和制定控制资源访问的机制。 (6) 选择实现软件控制的方法。 (7) 考虑边界条件。 最后得到: 系统设计文档=系统的基本结构+高层次决策策略。,

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号