论文部分内容阅读
1 引言
随着计算机技术的飞速发展,社会对人才的计算机应用与开发水平的要求也日益提高。因此,加强学生面向对象的程序设计思想,指导学生学习面向对象方法基本原理,初步掌握一定的面向对象技术,掌握面向对象的软件工具来开发程序,对培养新型的实用计算机应用开发人才是有极其重要意义的。
2 面向对象程序设计的特点
面向对象程序设计就是基于现实世界以上的特点,对系统的复杂性进行概括、抽象和分类,使软件设计与实现形成一个由抽象到具体、由简单到复杂的循序渐进的过程。对象是面向对象程序设计的核心,是具有某些特性的具体事物的抽象,将代码和数据封装起来。
3 面向对象思想方法的核心概念
面向对象的方法学认为:客观世界是由许多各种各样的对象所组成,每组对象都有各自的内部状况和运动规律,不同对象问的相互作用和联系构成了各种不同的系统,构成了我们所面对的客观世界。因此,我们在设计和实现一个客观系统时,应按照人们在现实世界中对客观事物的思维方式进行描述,设计尽可能直接、自然地表现问题的求解。面向对象的基本概念包括数据与操作的封装性;四个抽象概念:分类、概括、聚集和联合;继承和传播两个语义模型工具。
4 面向对象方法的分析、设计与实现
将面向对象方法运用到软件工程中,可以将整个软件系统的开发过程划分为以下几个主要阶段:
(1)分析阶段
分析过程就是提取软件系统的需求状况并加以总结归纳的过程。在此过程中,分析人员必须同用户一道工作,从用户所提供的对问题的陈述中充分了解现实世界的基本特征,然后根据这些特征把实际问题加以抽象,逐步建立起从三个互不相同然而又密切相关的角度来描述现实世界的模型。
分析模型中所构造出的“对象”是指应用领域的事物对象,并非以后计算机程序中的对象。作为用户和软件开发人员的“接口”,分析阶段必须满足两点要求:①应该能被用户方面领域内的专家所充分了解或能指出不对之处。分析模型绝不可以包含任何实现细节或任何程序代码。②分析模型作为后续设计和实现阶段的工作框架,必须准确明了地对对象、动态和功能模型进行描述和构造,要为设计人员所充分理解。
(2)系统设计阶段
分析階段结束之后,就要对整个软件系统得以实现的方法进行研究和设计。在这里主要完成两个较大的任务:①把整个系统划分为若干子系统,设计出合理的系统结构,使得后续的工作可以由几组开发人员分别在各自的子系统中独立工作。②作出一些明确的决策用以解决各自系统的软硬件资源分配的问题,从而为下一步的设计作出必要的准备工作。
在这里,每个子系统应拥有某些公共特征,它定义了寻找问题的一个方面解的本质方式。一个子系统不是一个对象,也不是一种功能,而是类、关联、操作、事件和约束所组成的一个包。一个子系统通常由提供的服务所确定,如I/O处理、文件系统的组织、界面规划等。
系统设计人员还必须对各子系统的软硬件资源要求进行分配实验并作进一步优化。例如系统设计者决定:在工作站上,当窗口移动或擦除时,屏幕上的变化应该是快速而且平滑的。根据系统设计者的决定,就要选择合适的通信协议和内存缓冲区的构造策略。
(3)对象设计阶段
对象设计阶段是面向对象方法的软件工程中最具特色且又最为繁重的设计阶段。它是在前述的分析和系统设计基础上的进一步加工,加进了具体实现方法的细节。
在此阶段中,程序员需要利用已有类和定义自己的新类,来进行对象的封装,并通过消息的传递将这些对象组合在一起,实现软件系统所提出的要求。在这一阶段,在类之间创建一致接口的能力,即如何实现对象之间消息的传递,是程序设计的关键。
现在,许多面向对象的语言,为解决这一问题,提供了很出色的技术。以Visual C++为例:VC++提供了一个基础类库MFC,在MFC库中所有类形成了建立应用程序的框架,它的内部封装了Windows应用程序的接口(API)函数、数据结构和宏,并以对象形式提供给程序员,它充分利用了面向对象技术的数据抽象特性,使c程序员从繁重而枯燥的SDK编程方法中解脱出来,大大提高了编程效率。
(4)实现阶段
在对象设计期间开发的对象类和它们之间的联系,最后要进入到具体程序设计语言、数据库和硬件的实现阶段。所有关键性决策已在设计阶段作出,这时,程序设计只是开发周期的一部分。语言对设计决策有一定程度的影响,但设计的最后决策并不依赖于程序设计语言。
一个好的软件工程的实施,设计阶段是非常重要的,它不仅能够非常简洁地实现系统设计时所确定的目标,而且能够保留系统的灵活性和可扩充性。
现在,比较流行的C++、Java、Delphi、JavaScript等程序设计语言都是面向对象或基于对象的,并以它们强大的功能得到了广泛的应用,使得面向对象方法得以最终完美实现。
5 结束语
正如由上向下和模块化程序设计方法给软件工程带来巨大的发展一样,面向对象方法作为软件工程的一种新途径,同样使软件工程产生了深刻的变革。现在,以面向对象为基础的可视化编程软件已成为使用最广泛的编程工具。
面向对象是一种认知方法学,它既提供从一般到特殊的演绎方法,又提供了从特殊到一般的归纳方法。面向对象也是一种设计方法学,作为“研究高新技术的好方法”之一,面向对象方法已经被广泛地引入到许多领域。
随着计算机技术的飞速发展,社会对人才的计算机应用与开发水平的要求也日益提高。因此,加强学生面向对象的程序设计思想,指导学生学习面向对象方法基本原理,初步掌握一定的面向对象技术,掌握面向对象的软件工具来开发程序,对培养新型的实用计算机应用开发人才是有极其重要意义的。
2 面向对象程序设计的特点
面向对象程序设计就是基于现实世界以上的特点,对系统的复杂性进行概括、抽象和分类,使软件设计与实现形成一个由抽象到具体、由简单到复杂的循序渐进的过程。对象是面向对象程序设计的核心,是具有某些特性的具体事物的抽象,将代码和数据封装起来。
3 面向对象思想方法的核心概念
面向对象的方法学认为:客观世界是由许多各种各样的对象所组成,每组对象都有各自的内部状况和运动规律,不同对象问的相互作用和联系构成了各种不同的系统,构成了我们所面对的客观世界。因此,我们在设计和实现一个客观系统时,应按照人们在现实世界中对客观事物的思维方式进行描述,设计尽可能直接、自然地表现问题的求解。面向对象的基本概念包括数据与操作的封装性;四个抽象概念:分类、概括、聚集和联合;继承和传播两个语义模型工具。
4 面向对象方法的分析、设计与实现
将面向对象方法运用到软件工程中,可以将整个软件系统的开发过程划分为以下几个主要阶段:
(1)分析阶段
分析过程就是提取软件系统的需求状况并加以总结归纳的过程。在此过程中,分析人员必须同用户一道工作,从用户所提供的对问题的陈述中充分了解现实世界的基本特征,然后根据这些特征把实际问题加以抽象,逐步建立起从三个互不相同然而又密切相关的角度来描述现实世界的模型。
分析模型中所构造出的“对象”是指应用领域的事物对象,并非以后计算机程序中的对象。作为用户和软件开发人员的“接口”,分析阶段必须满足两点要求:①应该能被用户方面领域内的专家所充分了解或能指出不对之处。分析模型绝不可以包含任何实现细节或任何程序代码。②分析模型作为后续设计和实现阶段的工作框架,必须准确明了地对对象、动态和功能模型进行描述和构造,要为设计人员所充分理解。
(2)系统设计阶段
分析階段结束之后,就要对整个软件系统得以实现的方法进行研究和设计。在这里主要完成两个较大的任务:①把整个系统划分为若干子系统,设计出合理的系统结构,使得后续的工作可以由几组开发人员分别在各自的子系统中独立工作。②作出一些明确的决策用以解决各自系统的软硬件资源分配的问题,从而为下一步的设计作出必要的准备工作。
在这里,每个子系统应拥有某些公共特征,它定义了寻找问题的一个方面解的本质方式。一个子系统不是一个对象,也不是一种功能,而是类、关联、操作、事件和约束所组成的一个包。一个子系统通常由提供的服务所确定,如I/O处理、文件系统的组织、界面规划等。
系统设计人员还必须对各子系统的软硬件资源要求进行分配实验并作进一步优化。例如系统设计者决定:在工作站上,当窗口移动或擦除时,屏幕上的变化应该是快速而且平滑的。根据系统设计者的决定,就要选择合适的通信协议和内存缓冲区的构造策略。
(3)对象设计阶段
对象设计阶段是面向对象方法的软件工程中最具特色且又最为繁重的设计阶段。它是在前述的分析和系统设计基础上的进一步加工,加进了具体实现方法的细节。
在此阶段中,程序员需要利用已有类和定义自己的新类,来进行对象的封装,并通过消息的传递将这些对象组合在一起,实现软件系统所提出的要求。在这一阶段,在类之间创建一致接口的能力,即如何实现对象之间消息的传递,是程序设计的关键。
现在,许多面向对象的语言,为解决这一问题,提供了很出色的技术。以Visual C++为例:VC++提供了一个基础类库MFC,在MFC库中所有类形成了建立应用程序的框架,它的内部封装了Windows应用程序的接口(API)函数、数据结构和宏,并以对象形式提供给程序员,它充分利用了面向对象技术的数据抽象特性,使c程序员从繁重而枯燥的SDK编程方法中解脱出来,大大提高了编程效率。
(4)实现阶段
在对象设计期间开发的对象类和它们之间的联系,最后要进入到具体程序设计语言、数据库和硬件的实现阶段。所有关键性决策已在设计阶段作出,这时,程序设计只是开发周期的一部分。语言对设计决策有一定程度的影响,但设计的最后决策并不依赖于程序设计语言。
一个好的软件工程的实施,设计阶段是非常重要的,它不仅能够非常简洁地实现系统设计时所确定的目标,而且能够保留系统的灵活性和可扩充性。
现在,比较流行的C++、Java、Delphi、JavaScript等程序设计语言都是面向对象或基于对象的,并以它们强大的功能得到了广泛的应用,使得面向对象方法得以最终完美实现。
5 结束语
正如由上向下和模块化程序设计方法给软件工程带来巨大的发展一样,面向对象方法作为软件工程的一种新途径,同样使软件工程产生了深刻的变革。现在,以面向对象为基础的可视化编程软件已成为使用最广泛的编程工具。
面向对象是一种认知方法学,它既提供从一般到特殊的演绎方法,又提供了从特殊到一般的归纳方法。面向对象也是一种设计方法学,作为“研究高新技术的好方法”之一,面向对象方法已经被广泛地引入到许多领域。