数据库系统设计中面向对象技术的应用
期刊目录网计算机应用论文发表2013-09-16 15:51关注(1)
摘 要:基于面向对象技术的基本思想和开发过程,介绍了面向对象技术的实现方法。结合具体实例对面向对象技术在数据库系统结构设计和详细设计中的应用进行了详细的探讨,利用面向对象的数据库系统分析和设计方法,使用UML工具建立了具体的对象模型,给出了一种比较通用的数据库系统开发模式。使用该模式设计的系统重用性好,且易于维护,从而有效提高了数据库系统的开发质量。
关键词:面向对象技术 数据库系统设计 对象模型
1 面向对象的有关基本概念
1.1 对象(Object)、方法(Method)及消息(Message)
客观世界的问题都是由客观世界中的实体及其相互之间的关系构成的。我们将客观世界中的实体抽象为问题空间中的对象。由于我们需要解决的问题不同,我们面向的对象也就不同,因此对象是不固定的。一本书可以是一个对象,一家图书馆也可以是一个对象。从动态的观点看,对象及其操作就是对象的行为,一个对象的通常定义是:对象是对一组信息及其上面的操作的描述。
私有数据结构和处理,这些处理又称为操作(Operation)或方法(Method),包括控制和过程。其中私有数据表示了对象的状态,该状态只能由私有操作来改变,每当需要改变对象的状态时,只能由其它对象向该对象发送消息。
消息是用来请求对象执行某一操作或回答某些信息的要求,消息统一了数据流和控制流,程序的执行是靠在对象间传递消息来完成的。表示消息的形式是消息模式。对同一消息模式的不同消息,同一对象所作的解释和处理都相同,但是会由于对象状态的不同而导致操作结果不同。一个消息模式定义对象的一种处理能力,所有消息模式及相应于消息模式的处理能力,定义了对象的外部特征。
1.2 类(Class)、实例(Instance)、继承性(Inheritance)
在客观世界中,有许多具有相同特征的事物,如:小轿车、大客车、卡车等,可以归类为机动车。从对象观点看,具有共同的属性、共同的操作性质的对象的集合就是类,而单个对象则是对应类的一个实例。例如:书是一个类,而某一本具体的书如《面向对象的分析》则是该类的一个实例,任何一个对象都是某一个类的实例,并继承该类定义的私有数据和操作。这就是继承性,一个类实质上定义的是一种对象类型。
类构成层次结构,相对上层的是超类,相对下层是子类,子类在继承超类的私有数据结构及操作的同时可以拥有自有的私有数据结构及操作。如果一个子类只有一个超类,则称为单继承性,这时该类共享多个超类的属性及操作。
类和继承性是现代软件工程中的重要概念,软件的可重用性、程序成分的可重用性是通过继承类中的属性和操作而实现的。许多工业观察有相信可重用软件不是通过建立传统的过程序(子程序库),而是通过建立"类库"实现的。
1.3封装性(Encapsulation)
对象的封装性体现在以下几个方面:
对象具有清楚的边界:对象的内部软件(数据结构及操作)的范围,限定在这个边界之内;对象具有统一的外部接口:对象的接口(消息模式)描述该对象与其他对象间的相互作用;对象的内部实现是不公开的:对象的实现给出了对象提供的功能细节,外部对象是不能访问这个功能细节的。
信息隐蔽是软件开发过程中强调的一个重要概念,对象的封装性很好地体现了这一概念。这就便利得用面向对象技术所开发设计的软件的可维护性大为改善,这也是软件技术追求的目标之一。
2 面向对象技术在数据库设计过程中的应用
面向对象技术在数据库系统中的一个重要应用是面向对象数据库系统的研究,随着数据库应用领域的扩大,新的应用领域,例如计算机辅助设计、计算机辅助软件工程、超文本应用等提出了模拟复杂对象、模拟对象的复杂行为等新需求。传统的关系数据库难以满足这些需求,应用的发展推动了数据库新技术的研究,面向对象的数据库系统应运而生。
面向对象技术在数据库系统中的另一个重要应用是面向对象的数据库应用开发工具的研究。随着客户机/服务器体系结构的发展,以及对全企业范围数据库应用系统的需求。传统的关系数据库的应用开发人员对数据库应用开发工具提出了新的要求,要求它们支持图形化用户界面(GUI)开发、软件部件重用、开发组的工作方式、应用系统的可伸缩性、可扩充性等。与这些要求相呼应,数据库厂商和工具开发商将面向对象技术应用到关系数据库应用开发工具中,推出了面向对象的数据库应用开发工具,并投入市场,为在关系数据库系统的应用开发中采用面向对象技术提供了有力的支持。
数据库管理系统的开发过程包括需求分析和系统设计两个阶段,在完成了需求分析后要进行数据库的设计,数据库设计的好坏直接关系到系统后期的开发。传统需求分析使用数据流图,而数据库设计使用E-R模型,需求分析者和数据库设计者在运用和理解上很难达成一致。如果在需求分析阶段采用面向对象的分析方法,数据库设计也采用面向对象的设计方法,则需求分析阶段的对象模型可以很自然地转化为数据库的结构。使用支持对象技术的统一建模语言(unifiedmodelinglanguage,UML)可以很好的解决数据库设计中的问题,UML语言描述真实世界中的对象和它们之间的关系,支持应用的开发。UML目前已经成为面向对象技术中的标准建模语言,包括了3大类共9种不同的、相互联系的图:静态图(用例图、类图、对象图)、动态图(活动图、协作图、顺序图、状态图)以及结构图(组件图、配置图),分别描述一个软件系统的外部功能结构、内部静态与动态结构以及程序代码的物理结构。化方法相比,在面向对象方法中虽然难以掌握深层的抽象分析,但是由于它在需求分析和系统设计阶段采用一致的方法能更有效地进行系统模块设计并使软件变得可以重用,因此成为了软件工程中流行的技术。
总之,随着科学技术不断进步和经济不断发展,面向对象技术在当今软件开发中的运用越来越广泛,面向对象技术中使用UML语言对于数据库系统的设计具有非常重要的作用。运用UML语言能详细描述数据库系统的外部功能结构、内部静态结构、动态结构以及程序代码的物理结构,采用面向对象的成熟技术提高了数据库系统设计的效率和质量,提高了数据库系统软件开发的可重用性和可维护性。
参考文献:
[1]吴际、金茂忠.UML面向对象分析[M].北京:北京航空航天大学出版社,2002.
[2]萨师煊、王珊.数据库系统概论[M].北京:高等教育出版社,2002.
[3]韩强、陈天滋.UML在关系型GIS空间数据库设计中的应用与研究[J].江苏大学学报(自然科学版),2002,23(1):82-86.
数据库系统设计中面向对象技术的应用相关论文:
- 测控技术测绘技术论文发表核心期刊
- 系统仿真技术杂志国家级期刊征收论文格式核心期刊
- 电力电子技术电力工程论文核心期刊
- 电气电子教学学报电子科学论文核心期刊
- 广东电力电力工程师职称论文核心期刊
- 工程设计学报机电一体化论文核心期刊
- 光谱学与光谱分析光学论文发表核心期刊
- 电源学报电子技术论文发表核心期刊
- 热力发电杂志最新工程师论文查询核心期刊
- 《计算机研究与发展》核心电子期刊方式核心期刊
- 《计算机研究与发展》核心电子期刊方式
- 《计算机技术与发展》核心电子期刊
- 《计算机时代》电子核心论文期刊
- 计算机周刊杂志是什么级别刊物
- 自动化与信息工程杂志广东省科学院主管刊物
- 中国机电工业杂志论文字体要求
- 信息通信技术杂志是国家级期刊吗
- 今日电子杂志2017年7期论文目录查询
- 当代通信杂志通信工程师期刊
- 电力工程技术江苏电力期刊
- oa开放访问是什么意思
- 亚太生物学期刊是sci吗
- isbn是核心期刊吗
- 英文期刊的卷号和期号怎么看
- 内分泌领域的sci杂志哪些容易中
- 法学英文期刊有哪些
- 3分左右的医学杂志
- 农业SCI期刊有哪些
- 林业SCI期刊有哪些
- 生命科学领域sci期刊有哪些
- sci共第一作者可以评高级职称吗
- 政工师中级职称晋升要求
- 评职称专利和软著哪个更有用
- 评职称的论文有时间限制吗
- 一级播音员职称破格申报什么标准
- 评职称需要几年的继续教育证书
- 河北认证的中级职称北京认可吗
- 评中级需要几个业绩
- 技师转评工程师需要什么材料
- 助理政工师晋升中级认可的刊物有哪些
- 分享英文降低重复率的几个技巧
- 论文清样后还能添加作者吗
- issn是国际标准书号吗
- 英文综述字数包括参考文献吗
- 论文见刊后才有doi吗
- agronomy-basel杂志是哪个国家的,怎么样
- 论文一审会检查哪些内容
- sci论文插图有哪些要求
- sci论文被拒后修改内容还能重投吗
- 中科院分区每年几月份更新
- 英文论文撰写常用的到哪些词汇
- 国际英文论文的格式要求
- 英文论文需要查重吗
- sci的审稿人有人数限制吗
- 哪些学报被ei收录
- 电力系统自动化是SCI期刊吗
- sci论文的索引时间和出版时间一样吗
- 英语论文摘要多少字合适
- 一篇sci四区能读博吗
- sci论文引言部分查重吗
- 出书对学历有要求吗
- 合作出书与自费出书的区别
- 副主编的第一第二第三位置区别讲解
- 副主编署名一般需要注意哪些问题
- 人教统编版和部编版的区别是什么
- 出版诗集有什么要求
- 教材主编与副主编有人数限制吗
- 详解香港书号申请流程
- 申请丛书书号需要多久
- 教材和著作评职称有什么区别
- 发明专利公示期是多久
- 发明专利的转让方式有哪些
- 发明专利的实质审查一般多久
- 发明专利查重吗
- 什么是发明专利号
- 发明专利的授权条件包括哪些
- 哪些专利符合发明专利
- 什么是pct专利
- 专利主要发明人评职可以加几分
- 专利第一发明人可以有几个