【软件工程】面向对象方法

前言

面向对象已经听说过很多次了,今天就来总结一些简单的面向对象方法的知识。
面向对象的软件开发是一种新的软件工程方法,其基本思想是尽可能按照人类认识世界的方法和思维方式来分析和解决问题。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。20世纪80年代末以来,面向对象技术成为研究的热点,由于该方法能够提供更加清晰的需求和设计,已逐渐成为软件开发的主流方法。

概述

随着软件形式化方法及新型软件的开发,传统的软件工程方法的局限性逐渐暴露出来,才在的主要问题如下。

  1. 传统软件开发方法无法实现从问题空间到解空间的直接映射
    传统的软件开发方法求解过程是先对应用领域进行分析,建立起问题空间的逻辑模型,在通过一系列复杂的转换和算法,构造计算机系统,获得解空间。由于问题空间与解空间的模型、描述方式的不同,他们之间存在着复杂的转换过程,尤其对于复杂系统及普遍存在的需求变化,就更难以适应。
  2. 传统软件开发方法无法实现高效的软件复用
  3. 传统软件开发方法难以实现从分析到设计的直接过程

向对象的方法则是将软件系统看做一系列离散的解空间对象的集合,并使问题空间的对象与解空间对象尽量一致。
那么究竟什么是面向对象的系统呢据Coad和Yourdon的定义,如果是按照以下概念设计和实现的系统,称为是面向对象的。
面向对象=对象+类+继承+通信

基本概念

面向对象技术主要包括对象、类、消息、继承、多态性、等核心概念。这几个面向对象的基本概念对理解面向对象的思想、学习和掌握面向对象的开发方法是十分重要的。

  1. 对象

    对象是对客观事物或概念的抽象表述,对象不仅能表示具体的实体,也能表示抽象的概念、规则、设计或事件。通常有以下一些对象类型:
    ①有形的实行:在现实世界中,每个实体都是对象,如飞机、车辆、计算机、桌子、房子等,都属于有形的实体,这是容易识别的对象。
    ②作用:指人或组织,如教师、学生、医生、政府机关、公司、部门等所起的作用。
    ③事件:只在某个特定时间内所发生的事,如学习、演出、开会、办公、事故等。
    ④性能说明:如对产品的性能指标的说明,如计算机主板的速度、型 、性能说明等。
    对象由属性和方法组成。属性反映了对象的信息特征,即对象本身的本质,如特点、值、状态等,而方法则用来定义改变属性状态的各种操作。
    每个对象都存在一定的状态和内部标识,对象将它自身的属性集操作“包装”起来,成为封装。


  2. 又称对象类,是指一组具有相同属性和运算的对象的抽象,即一组具有相同数据结构和相同操作的对象的集合,类是对象的模板。在一个类中,每个对象都是类的实例,它们都可以使用类中提供的函数。例如,小轿车是一个类,红旗牌小轿车、东风牌小轿车都是它的一个对象。

  3. 继承
    继承是以现存的定义为基础建立新定义的技术,是父类和子类之间共享数据和方法的机制,这是类之间的一种关系。子类的公共属性和操作归属于父类,并为每个子类共享,子类继承了父类的特性。继承性分为单重继承和多重继承。

    2.OOD
    OOD的设计模型在面向对象的分析模型的5个层次上由4类部件构成,如下图所示,面向对象设计的主要内容包括设计这4类部件的活动。

    OOD模型
    ①设计问题域部件
    OOA与具体实现无关,而OOD则在很大程度上受具体实现环境的约束。通过分析得到的精确模型为设计问题域部件奠定了良好的基础。通常只需从实现的角度,对通过分析所建立的问题域模型做一些修改和补充,例如对类、对象、结构、属性及服务进行增加、修改或完善。
    ②设计人机交互部件
    人机交互部件,表示用户与系统的交互命令及系统反馈的信息。在分析的基础上,进一步分析用户,确定交互细节,包括指定窗口、设计窗口集设计 表形式等。人机交互部件在一定程度上依赖于所使用的图形用户接口,接口不同,人机交互部件的类型也不同。
    ③设计任务管理部件
    即要确定各种类型的任务,并把任务分配到硬件或软件上去执行。为了划分任务,首先要分析并发性。通过OOA建立的动态模型,是分析并发性的主要依据。通常把多个任务的并发执行称为多任务。
    ④设计数据管理部件
    数据管理部件是系统存储、管理对象的基本设施,它建立在数据存储管理系统上,并且独立于各种数据管理模式。设计数据管理部件,既需要设计数据格式,有需要设计相应的服务。设计数据格式的方法与所使用的数据存储管理模式密切相关,通常有文件系统和数据管理系统两类数据存储模式。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年2月8日
下一篇 2018年2月8日

相关推荐