徐小玲*
(浙江教育学院计算机系杭州 310012)
【摘要】探讨了面向对象数据模型信息管理系统的结构设计和信息管理系统实现技术。系统设计采用面向对象数据模型,数据库结构采用对象-关系数据库。结合一个典型的教务信息管理系统实例说明,这一技术易于实现基于C/S和B/S结构的系统功能,并且易于维护、修改和功能扩充。
关键词教务管理; 面向对象系统分析; 对象-关系数据库; 客观服务器
中图分类号TP311 文献标识码 A
Information Administration System Based
on Object Orient Data Model
Xu Xiaoling
(Department of Computers, Zhejiang Education College Hangzhou 310012)
Abstract The development of Intranet structure and OOP technology has brought new concept of information administration system such as campus academic administration system, as well as the correspondent new developing technology. Based on a case study of a campus academic administration system, this paper explored the design of new system struture, and the technology approch of its developing, also summarized some key technic issues. The Object Orient Data Model and the Object-Relative Data Base System(ORDBS) was adapted in our system struture design and developing.
The design process and result shows that this approch has explicit advantages to realize the system functions based on C/S and B/S struture, as well as to maitain or extend system functions.
Key words academic administration system; object-oriented systems analysis; object- relation database; client/server
Intranet技术与应用的迅速发展,使高校教务管理类信息管理系统有了新的技术与功能概念。管理系统能覆盖教学教务管理的各环节,面向学校各部门,在整个校园网甚至Internet上的授权用户都可访问到该系统。传统的编程方法已经难以满足基于Intranet构架的信息管理系统的设计与开发。面向对象的数据模型和相应的软件开发方法,逐渐显示出技术上的优越性。具有支持面向对象数据模型和关系数据库系统所有特征的对象-关系数据库系统(ORDBS)已成为信息管理系统开发所选择的新工具[1~4],采用ORDBS开发的信息管理系统易于修改、扩充和维护。本文以一个教务管理系统设计为实例,运用面向对象的概念与技术,建立教务数据模型,并将此模型转换为关系数据库,结合基于多层的Client/Server和Browser/Web Server相结合系统结构的具体实现,并研究了ORDBS软件开发的关键技术。
1 面向对象的系统分析与数据库模型建立
常用的系统分析方法有结构化法、快速原型法和面向对象法。结构化法的基本特点是面向过程,系统
2002年4月23日收稿
* 女 39岁大学讲师主要从事磁记录存储技术及数据库应用方面的研究电子科技大学学报第32卷
86
被分解成若干个过程;原型法是通过一个原型化的设计环境,迅速建立起原型系统;面向对象的分析方法则是尽可能模拟人类的习惯思维,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,用面向对象的信息建立模型概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统。
面向对象的系统分析是建立面向对象的数据模型(OO模型),有下列几个步骤[2]:
1) 确定问题域和系统边界;
2) 识别对象类和关联;
3) 添加对象类和关联的属性;
4) 利用适当的继承关系进一步合并和组织对象类(数据的泛化/细化);
5) 识别作用于每个对象的方法;
6) 确定每个对象的事件。
确定问题域和系统边界是系统分析和系统建模的出发点,分析阶段先确定问题域和系统的边界。如教务信息管理的问题域集中在教学计划管理、学生学籍管理、成绩管理、考勤管理、排课管理等几个方面。在确定的问题域中建立对象类,一般的管理通常包含了若干个岗位、部门和各种报表,研究这些元素后列出所有可能的对象,通过筛选去除无用对象。按上述方法对教务管理建立对象类,可选出专业、班级、学生、教师、教学计划、排课、成绩表、异动情况、考勤、奖惩等若干个对象类。确定两个或多个对象之间的相互依赖、相互作用的关系,即关联。通过分析关联,能发现问题域边缘的情况,有助于发现未被发现的对象类。为每个对象类和关联确定属性,在确定属性时不应超出问题域范围,也不能用属性表示对象类之间的关系,因为关联已经清楚地表示了对象类之间的关系。例如确定学生对象类有学号、姓名、性别、年龄等属性;选课对象类有学生、课程、考试成绩、选课学期等属性。
利用适当的继承关系合并和组织对象类是很重要的步骤,面向对象软件技术的许多强有力的功能和突出优点都来自于把类组成一个层次结构的系统,一个类的上层可以有父层,下层可以有子类,这种层次结构系统的一个重要性质是类的继承性。例如教师与学生两个对象有很多相同的属性与方法,可以合并成超类,通过继承的方式派生这两个子类;学生对象类再可以派生出普通生、函授生两个子类,普通生对象类再派生出普通本科生、高职生两类。函授生对象类再可以派生出专科、专生本两个子类。类的继承性使相似的对象共享程序代码和数据结构,从而大大减少了程序中的冗余信息。在划分了各对象类后,可以为每个对象类建立方法,再确定对象类的事件。事件是某个特定时刻所发生的事情。例如学生对象类有入学事件、退学事件和毕业事件,还有被处分事件等。在某个事件里,可以写处理程序,在程序中调用各对象的方法,设置各对象的属性。
在对象模型建立完成后,需要向数据库概念模型映射,这是对象模型向关系数据库表的变换过程。其规则如下:
1) 对面向对象数据模型中的一个对象类可以映射为一个以上的表,属性将映射成表中的列;
2) 对面向对象数据模型中的联系(一对一、一对多、多对多以及三项关系)的映射一般为一个表,也可以在对象类表间定义相应的外键;
3) 对面向对象数据模型中继承机制的映射,可以实现为关系数据库中的父类表和子类表、子类表视图及相应的触发器;
4) 对面向对象数据模型中的方法,可实现为关系数据库中的相关的函数、过程或包。
面向对象的设计方法可以把一个数据库看成互相关联的复杂对象的集合。面向对象的数据模型自然且直接地模拟现实世界的实体关系,大大减轻了程序实现应用的难度,即使需求变更时,程序与数据库重用率高,修改少,因为对象是模块化的,任何对象都可以内部发生变化,而不影响外部的其他编码。
2 系统总体设计及开发环境选择
教务管理系统既要满足教务管理用户集中、大量处理数据的要求,又要满足学生最大范围地使用该系统
,故采用C/S结构与B/S结构相结合的体系结构最为合适[5,6],其硬件运行环境如图1所示。
第1期徐小玲: 基于面向对象数据模型的信息管理系统87教学处各分院学生处教务处
各分院、教务局域网
校园网Web服务器
应用服务器数据库服务器图1 硬件运行环境
一个客户/服务器体系结构的DBMS,如ORACLE8i能够将分布在不同区域的服务器组成一个分布式数据库管理系统,服务器为客户机提供透明的分布式数据处理的功能。用户可以选定任何一个服务器作为代理服务器,通过客户机向代理服务器发出服务请求,代理服务器负责所有的数据处理:查询、更新、死锁检测及排除,分布式事务处理,分布数据一致性维护,分布式故障恢复等一系列问题。
Oracle8i是对象-关系数据库的一个实现,其基础是关系数据库,但引入了面向对象的技术,能够象处理关系型数据那样存储和检索对象数据,同时提供了一致性事务控制、安全备份和恢复、优化的查询性能、锁定和同步和可缩放性等功能,将对象和关系型模型合二为一可以实现关系型数据库的强大功能和对象的灵活性及可模型化功能。
客户端的开发选用PB(Power Builder),PB是基于客户/服务器体系结构的一种快速原型法数据库开发工具,是对象-关系数据库管理系统(ORDBMS)最优秀开发平台的代表,而且其独特的数据窗口专利技术,成功地实现了数据库视图操作的非过程性。
基于Web数据库访问的开发工具选用微软的ASP(Active Server Pages)。ASP是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页、脚本命令和ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。对数据库的操作主要是通过ADO(Activex Database Object)来实现,ADO对象模型为开发者提供了一种访问数据源的快速且功能强大的方法。
3 系统主模块构成
3.1 客户端模块
教务系统的客户端主要完成日常教务工作,即数据收集与简单处理。从学生入学开始到毕业离校,其在学校内的所有和教务相关的数据都通过教务系统进行管理。系统由公共信息维护模块完成对整个教务系统所需的公共数据的维护,如各种代码、教室、教师资源信息等。教学管理客户端模块主要教学计划管理、排课系统、学生学籍管理、考勤管理、奖惩管理、成绩管理、统计查询和报表打印等。
3.2 服务器端功能模块
服务器端的功能主要有监视系统运行状态、用户管理、用户权限设置和数据库维护。为保证系统的安全,可对使用系统的用户动态地设置使用的权限,分超级用户、高级用户和普通用户,每个用户都有一个经过加密存储的口令。对数据库的备份与恢复,一般设置一个时间自动备份到指定的位置。
3.3 Web查询功能模块
通过Internet在任何时间和地点可以查询或下载用户所需的信息,如学生通过Internet可以查询教学计划,根据选择的学号或班级查询单个学生或整个班级的所有的课程信息,可以下载或打印。
电子科技大学学报第32卷
88
4 系统实现的关键技术
4.1 数据库设计
数据库设计时,首先要使数据库中各表结构清晰,便于实现数据库逻辑模型自然且直接地模拟现实世界的实体关系。要充分利用数据库强大的管理功能,如ORACLE8i提供的规则、缺省值、类型可以保证值的合法性。在数据库技术中,数据的完整性保护在任何时候都是一种基本的要求,在面向对象系统中,类型分类机制对高度的完整性和一致性是一个充分的保证。但在很多情况下完整性控制要求很复杂,需要把明确的约束与类的定义联系起来。另外,开发C/S和B/S结构的大型数据库软件时,为提高软件的运行效率,常将大批量的数据处理或客户端复杂的任务交给后台存储过程来完成,对常检索的表建立相关的索引,在建立簇索引时,对索引较多的表进行频繁的插入、更新、删除操作,建表和索引时应设置恰当的填充因子,以便在各数据页中留下较多的自由空间,减少页分割及重新组织的工作。
4.2 信息安全性设计
Internet的使用使系统对数据库数据的安全性提高了,而教务系统中的一些关键信息(如学生成绩、学藉变动等)的安全至关重要,为此可以从网络通信、操作系统、数据库管理系统、应用系统、计算机病毒的防治等五个方面提供安全保障。为了防止黑客攻击,确保教务数据库安全,应将Web数据库与教务数据库分开,Web服务器上的数据库采用的如ORACLE8i所提供的的订阅服务器系统。
订阅服务器系统的特征是源数据与拷贝数据之间有一个延时,源数据库的变化,不是立刻反应到订阅数据库中,而是把产生变化的事务写入一个专门的分发数据库中。当这些事务累计到设定值时,由事务分发器把事务送到订阅服务器中,订阅服务器再执行这些事务来保持源数据与拷贝数据的一致。分发数据库起了一种缓冲的作用,一旦因网络或其他问题使复制不能完成时,源数据的变化会一直保存在分发数据库中直到问题解决再自动把所有保存的事务送出,并且复制两端的数据仍保持一致。
4.3 三层体系结构的开发
由于PowerBuilder与Jaguar CTS(组件事务服务器)紧密集成,通过PowerBuilder自身提供的向导,只需要编写少量代码就可以建立基于Jaguar CTS的组件,同时Jaguar CTS本身内置PB虚拟机,使用PB编写的组件可以直接与Jaguar CTS进行高效通信。这样,PowerBuilder组件可以通过Jaguar CTS与后台数据库建立连接,对数据库的各种操纵程序就写在组件里,方便地实现基于三层体系结构的开发。
5 结束语
本文研究的基于面向对象数据模型的信息管理系统,使用面向对象的分析方法把客观世界看成是许多对象,其对象比函数更为稳定,设计的软件可靠性、维护性更高。用功能强大的ORACLE8i与PowerBuilder 作为系统的开发环境,能够开发对象-关系数据库软件系统。采用C/S结构与B/S结构相结合的体系结构既满足教务管理用户集中、大量处理数据的要求,又满足学生最大范围地使用该系统。
参考文献
1 萨师煊, 王珊. 数据库系统概论[M]. 北京:高等教育出版社, 2000
2 李也白, 范春晓. 面向对象数据库[M]. 北京:高等教育出版社, 1998
3 张海藩. 软件工程导论[M]. 北京:清华大学出版社, 1999
4 Jeffrey D, Ullman, Jennifer W. 数据库系统基础教程[M]. 史嘉权译. 北京:清华大学出版社, 2000
5 崔巍. POWERBUILDER7.0应用技术[M]. 北京:清华大学出版社, 2000
6 廖信彦. Active Server Pages应用大全[M]. 北京:清华大学出版社, 2000
编辑徐培红