当前位置:半城文秘网 >范文大全 > 公文范文 > 面向对象技术与软件工程

面向对象技术与软件工程

时间:2022-10-26 19:24:02 来源:网友投稿

摘要:传统的软件工程方法曾经给软件产业带来巨大进步,部分的缓解了软件危机,使用这种方法开发的许多中、小规模软件项目都获得了成功。但是随着大型软件产品的不断开发,传统软件工程方法已经不能够满足大型软件产品的开发需求。而目前面向对象方法已经成为人们在开发软件时首选的范型。面向对象技术已经成为当前最好的软件开发工具。

关键词:软件工程;面向对象技术

1、软件工程概念

为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好的开发和维护计算机软件的一门新兴学科。概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

2、面向对象技术

2.1面向对象的概念

所谓面向对象(OO,Object–Oriented )就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。

(1)对象

对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。对象是要研究的任何事物。对象不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。在对内的操作通常称为方法。

使用对象时只需知道它向外界提供的接口形式而无须知道它的内部实现算法,不仅使得对象的使用变得非常简单、方便,而且具有很高的安全性和可靠性。对象内部的数据只能通过对象的公有方法(如C++的公有成员函数)来访问或处理,这就保证了对这些数据的访问或处理,在任何时候都是使用统一的方法进行的,不会像使用传统的面向过程的程序设计语言那样,由于每个使用者各自编写自己的处理某个全局数据的过程而发生错误。

对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体有可以唯一地标识它的名字,而且向外界提供一组服务。

(2)类

在面向对象的软件技术中,类就是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例。类是创建对象的模板,从同一个类实例化的每个对象都具有相同的结构和行为。类和对象的关系非常密切,可以这么说,类是支持继承的抽象数据类型,而对象则是类的实例。

(3)消息

消息是传递时对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数。消息只告诉接收对象需要完成什么操作,但并不指示接受者怎样完成操作。消息完全由接收者解释执行。

(4)封装

封装是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的,不能从外面直接访问或修改这些数据和代码。封装的目的是使对象的使用者和生产分离,使对象的定义和实现分开。

对象具有封装性的条件如下:第一,有一个清晰的边界;第二,有确定的接口;第三,受保护的内部实现。

(5)继承

继承是类间的基本关系,它是基于层次关系的不同类共享数据和操作的一种机制。父类中定义了其所有子类的公共属性和操作,在子类中除了定义自己特有的属性和操作外,可以继承其父类的属性和操作,还可以对父类中的操作重新定义其实现方法。

2.2面向对象的分析与设计

面向对象的分析是一种研究问题域的过程,该过程产生对外部可见行为的描述。面向对象的设计是指在分析的描述基础上,加入实际计算机系统实现所需细节的过程。从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程,或者说,面向对象设计就是面向对象观点建立求解域模型的过程。图1为面向对象分析模型到面向设计模型的转换。

图1 面向对象分析模型到面向设计模型的转换

3、面向对象分析

面向对象分析的关键是识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。面向对象分析的目的是对客观世界的系统进行建模。面向对象分析时抽取和整理用户需求并建立问题域精确模型的过程。

在面向对象建模的过程中,系统分析员必须认真向领域专家学习。尤其是建模过程中的分类工作往往有很大难度。继承关系的建立实质上是知识抽取过程,它必须反映出一定深度的领域知识,这不是系统分析员单方面努力所能做到的,必须有领域专家的密切配合才能完成。

4、面向对象设计

面向对象分析是对用户需求进行提取和整理,并建立问题域精确模型的过程。而面向对象设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。

面向对象设计通常可以分为以下两个阶段:

高层设计。高层设计也可称为系统级设计,它是开发软件的体系结构以及构造软件的总体模型。高层设计包括:将系统划分为子系统的决策;子系统的软、硬件分配;设计框架的主要概念和策略性决策。在高层设计中,根据应用领域系统的特有结构划分子系统(模板、主题、抽象类的集合)。然后设计细化每个子系统的对象模型、动态模型和功能模型。如图2专家系统的典型结构:

图2专家系统

低层设计。低级设计是集中于类的详细设计。

通常在面向对象设计之前,对系统的各项质量指标的相对重要性做认真分析和仔细权衡,制定出恰当的系统目标;在设计过程中根据既定的系统目标,做必要的优化工作。

5、总结

软件工程是驾驭在面向对象技术之上的一项项目工程,面向对象技术能够很好的对大型项目进行计算机软件业务建模,而软件工程能够很好的控制面向对象技术的实施。

参考文献:

[1] 张小鸋. 面向对象分析方法的综述[J]. 甘肃科技, 2010, (02).

[2] 段小君,高金环.软件复用与面向对象技术[J].西安邮电学院学报,2004,(02).

[3]张海蕃.软件工程导论(第四版)[M].清华大学出版社,2003,(12).

作者简介:

王娜(1985-),女,汉,陕西三原人,武警工程学院基础部信息技术教研室助教,文职8级。

推荐访问: 软件工程 面向对象 技术