“面向对象”技术在数据库系统设计中的应用
摘 要:“面向对象”是一种认识方法学,也是一种新的程序设计
方法学。把“面向对象”的方法和数据库技术结合起来可以使数据
库系统的分析、设计最大程度地与人们对客观世界的认识相一致。
“面向对象”数据库系统是为了满足新的数据库应用需要而产生的
新一代数据库系统。
关键词:“面向对象”技术 数据库系统 设计 应用
当前,计算和模拟已成为研究工作的主要途径。计算机与有关的
实验观测仪器相结合,可对实验数据进行现场记录、整理、加工、
分析和绘制图表,显著地提高实验工作的质量和效率。计算机辅助
设计已成为工程设计优质化、自动化的重要手段。“面向对象”
(object oriented)是当前计算机应用领域的研究重点之一,它
是90年代以后软件开发方法的主流,随着计算机科学技术的不断
发展,“面向对象”的应用领域也在不断扩展。如数据库系统、交
互式界面、应用结构、应用平台、分布式系统、网络管理结构、cad
技术、人工智能等领域。“面向对象”起初是专指在程序设计中采
用封装、继承、多态等设计方法。可是,这个定义显然不能再适合
现在情况。“面向对象”的思想已经涉及到软件开发的各个方面。
如,“面向对象”的分析(ooa,object oriented analysis),“面
向对象”的设计(ood,object oriented design)、以及我们经常
说的“面向对象”的编程实现(oop,object oriented programming)。
“对象”是对一组信息及其上面的操作的描述。
一、“面向对象” 特征
1.唯一性
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对
象。在对象的整个生命期中,它的标识都不改变,不同的对象不能
有相同的标识。
2.抽象性
抽象性是指将具有一致的数据结构(属性)和行为(操作)的对
象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重
要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但
必须与具体的应用有关。
3.继承性
继承性是子类自动共享父类数据结构和方法的机制,这是类之间
的一种关系。在定义和实现一个类的时候,可以在一个已经存在的
类的基础之上来进行,把这个已经存在的类所定义的内容作为自己
的内容,并加入若干新的内容。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充
性,这是信息组织与分类的行之有效的方法,它简化了对象、类的
创建工作量,增加了代码的可重用性。采用继承性,提供了类的规
范的等级结构。通过类的继承关系,使公共的特性能够共享,提高
了软件的重用性。
4.多态性
多态性是指相同的操作或函数、过程可作用于多种类型的对象上
并获得不同的结果。不同的对象,收到同一消息可以产生不同的结
果,这种现象称为多态性。多态性增强了软件的灵活性和重用性。
二、“面向对象”开发方法
目前,“面向对象”开发方法的研究已日趋成熟,国际上已有不
少“面向对象”产品出现。“面向对象”开发方法有coad方法、booch
方法和omt方法等。
⒈booch方法
booch最先描述了面向对象的软件开发方法的基础问题,指出面
向对象开发是一种根本不同于传统的功能分解的设计方法。面向对
象的软件分解更接近人对客观事务的理解,而功能分解只通过问题
空间的转换来获得。
⒉coad方法
coad方法是1989年coad和yourdon提出的面向对象开发方法。
该方法的主要优点是通过多年来大系统开发的经验与面向对象概
念的有机结合,在对象、结构、属性和操作的认定方面,提出了一
套系统的原则。该方法完成了从需求角度进一步进行类和类层次结
构的认定。尽管coad方法没有引入类和类层次结构的术语,但事
实上已经在分类结构、属性、操作、消息关联等概念中体现了类和
类层次结构的特征。
⒊omt方法
omt方法是1991年由james rumbaugh等5人提出来的,其经典
著作为“面向对象的建模与设计”。
⒋uml(unified modeling language)语言
软件工程领域在1995年~1997年取得了前所未有的进展,其成
果超过软件工程领域过去15年的成就总和,其中最重要的成果之
一就是统一建模语言(uml)的出现。uml将是面向对象技术领域内
占主导地位的标准建模语言。
三、数据库设计过程中“面向对象”技术的应用
“面向对象”技术在数据库系统中的一个重要应用是“面向对象”
数据库系统的研究。随着数据库应用领域的扩大,新的应用领域,
例如:计算机辅助设计、计算机辅助软件工程、超文本应用等提出
了模拟复杂对象、模拟对象的复杂行为等新需求。传统的关系数据
库难以满足这些需求,应用的发展推动了数据库新技术的研究,“面
向对象”的数据库系统应运而生。
数据库管理系统的开发过程包括需求分析和系统设计两个阶段,
在完成了需求分析后要进行数据库的设计,数据库设计的好坏直接
关系到系统后期的开发。传统需求分析使用数据流图,而数据库设
计使用e-r模型,需求分析者和数据库设计者在运用和理解上很难
达成一致。如果在需求分析阶段采用面向对象的分析方法,数据库
设计也采用“面向对象”的设计方法,则需求分析阶段的对象模型
可以很自然地转化为数据库的结构。使用支持对象技术的统一建模
语言(unifiedmodelinglanguage,uml)可以很好的解决数据库设
计中的问题,uml语言描述真实世界中的对象和它们之间的关系,
支持应用的开发。在面向对象方法中虽然难以掌握深层的抽象分
析,但是由于它在需求分析和系统设计阶段采用一致的方法能更有
效地进行系统模块设计并使软件变得可以重用,因此成为了软件工
程中流行的技术。
“面向对象”技术在数据库系统中的另一个重要应用是“面向对
象”的数据库应用开发工具的研究。随着客户机/服务器体系结构
的发展,以及对全企业范围数据库应用系统的需求。传统的关系数
据库的应用开发人员对数据库应用开发工具提出了新的要求,要求
它们支持图形化用户界面(gui)开发、软件部件重用、开发组的
工作方式、应用系统的可伸缩性、可扩充性等。与这些要求相呼应,
数据库厂商和工具开发商将面向对象技术应用到关系数据库应用
开发工具中,推出了“面向对象”的数据库应用开发工具,并投入
市场,为在关系数据库系统的应用开发中采用“面向对象”技术提
供了有力的支持。
四、结语
随着科学技术不断进步和经济不断发展,“面向对象”技术在当
今软件开发中的运用越来越广泛,“面向对象”技术中使用uml语
言对于数据库系统的设计具有非常重要的作用。运用uml语言能详
细描述数据库系统的外部功能结构、内部静态结构、动态结构以及
程序代码的物理结构,采用“面向对象”的成熟技术提高了数据库
系统设计的效率和质量,提高数据库系统软件开发的可重用性和可
维护性。
作者简介:董斌,(1980年-)男,河南郑州人, 本科,郑州大
学信息工程学院 在职研究生,工作单位:郑州市房屋交易和登记
中心。