基于面向对象技术的人力资源测评系统设计

欧阳 康徐明

 著选摘

【摘    要】介绍了应用面向对象技术进行系统分析和设计的基本思想、对象——关系数据库模型的原理和建立方法,在此基础上介绍了基于题库的人力资源测评系统的功能设计和实现过程。本文介绍的方法可为其它课程的训练与测试系统设计提供参考。

【关键词】面向对象 对象——关系数据库模型 人力资源测评 题库

一、引言

近年来.信息技术与学科教学的整合已经成为教学改革研究的热点问题,许多课程都围绕自身的教学内容和特色设计了自己的训练与测试系统,出现了许多题库管理软件、考试系统、自我测试网站等,但是,这些系统大多数采书传统的结构化方法进行分析和设计,往往针对某课程的具体教学内容定制,训练或测试的题目固定不能改变,甚至连题目出现的先后次序都已固定。这样当教学内容发生乏化需要增加、调整题目内容时,整个系统变得不能适应。少数系统意识到这个问题,采用了面向对象的先进思想去研究测试题目的分类与组织,依据各种题型定义相应的基类和一些派生类,解决了题目的扩充和维护问题,但在整个系统的设计中面向对象技术应用得不够彻底,仍有需要改进的地方。我们在网络教学的实践中深入分析了这了面存在的一系列问题,在设计“人力资源测评系统”时将面向对象的方法贯彻到系统设计的全部过程,不仅解决了题目的分类组织问题,而且实现了组卷和用户界面生成等问题,系统的功能模块之间独立性好,适应变化能力强。该课题是笔者在人员测评领域的研究,其没计思想来源于斯金纳(Skinner)的工具性学习理论和吉布林(Gison)及维果斯基(Vygosky)的情境化学习理论,不足之处,还希望求教于各位读者。

二、面向对象的设计模型

1.对象—关系数据库模型

面向对象技术是一个全新概念的开发模式.已经深入应用到系统的分析、设计和编程过程中。面向对象的方法是以尽可能模拟人类习惯的思维方式来分析解决问题,它以对象(Obieot)作为核心,用类(Class)来表征客观世界中具有相同属性的对象集合,它将描述事物静态属性的数据结构和表示事物动态行为的操作构成一个整体,形象地表示了客观世界中的实体.容易被理解且模块性好,独立性高、结构清晰、便于更新和维护,并具有很好的可重用性。

对象—关系数据库模型的建立就是在关系数据库上加一层面向对象的逻辑层,为上层应用开发提供面向对象概念的表示方法,同时与底层数据库之间建立对象—数据映射关系。也就是对上层软件提供一个统一的面向对象的数据模型,即提供各类面向对象的概念和数据结构以及在此基础上定义的各种操作和触发事件:对于底层则屏蔽具体数据库的关系模型,利用映射的方式建立透明的对象转换机制,并对底层数据库进行合理有效的管理。

2.对象模型和关系模型的映射

对象模型和关系模型的映射是指上层面向对象的数据模型与底层数据库的关系模型之间的对应转换关系。利用这层转换关系,可以使更上层类的没计和应用层系统功能开发不必关心对象模型在底层数据库的存放以及底层数据库的各类维护工作。对象和关系数据库的基本概念映射对应如下图所示,下面具体加以说明:

(1)类与表的映射类是面向对象模型中的核心概念,是对象实例化的模板。类在关系数据库中对应的概念是表.所以一个类可以用一个表来表示,此外,类中的属性概念直接对应表中的字段:这种直接映射关系的优点是可以与关系数据库的表管理结合,额外登记的类信息的量少。生成的关系模型清晰.对象模型的访问速度快:

(2)对象与记录的映射对象是类的一个实例.在关系数据库中直接对应为表中的一个记录.这样可以很方便地约束对象具有与类相同的结构。

(3)继承关系继承是子类自动地共享基类中定义的数据和方法的机制。类之间的继承关系在面向对象模型中表现为类层次的维护和管理,由于在关系数据库中没有相应的概念,所以在对象模型层中将这种继承关系展开成平坦的表结构。考虑到这种继承关系的扩展性和维护性,这里将每个类对应一个表,类之间的继承关系体现在表之间的逻辑层次关系上,这样就方便了对象模型层的管理,同时使映射规则直观自然。

(4)聚合关系聚合表示对象之间整体和部分的关系,也就是反映子对象之间的构成关系。聚合关系在关系数据库中没有直接的表示,可以将结构和类都用表来表示,它们之间的聚合苯系使用外键(ForeignKey)连接来表示。

(5)关联关系关联是描述对象和对象之间相互依赖、相互作用的关系,通常把两类对象之间的二元关系再细分为一对一、一对多和多对多等三种基本类型。与聚合不同的是,在关联中对象之间是平等的。关系模型也存在着关联的概念,不同的是对应关系只存在于高层的设计模型(如ER模型)中,实现模型并不描述这些对应关系。

三、基子题库的对象—关系数据库模型设计

传统的训练与测试系统其设计方法是:首先基于关系数据库组织题库,设计几个对应不同题型的关系表,然后利用结构化程序设计的方法直接从数据库中读取题目内容或者保存操作结果,设计组卷、答题、交卷、显示答题结果、计算测评指标等功能并形成测试操作界面。这样的系统在当今网络教学实践中应用起来会经常遇到困难,比如题目内容经常变化.题目的构成变得复杂,经常出现图片多媒体素材,导致程序界面需要调整和重新布置。另外,网络教学的实践对测试系统提出了新的功能要求和操作智能性要求,如限制每个题目或者每个测试单元的作答时间,不满足目前单一题目逐条操作的流程,希望既能选择测试单元,又能任意进入先前作答过的题目等。

面对这些问题.传统的系统需要修改程序代码,增加或变更数据结构,甚至需要扩充功能模块,这一切需要花费大量的时间和人力。而运用面向对象的方法来设计就可以很好地解决这些问题。基于这样的认识,我们在设计“人力资源测评系统”时,全面运用了面向对象的方法进行分析和设计,主要设计内容如下:

1.表结构的定义在系统分析的基础上,首先设计题库的表结构;根据题型(单选、多选等)的不同,定义几种基本的表结构.使用的字段有标题、类型、学科、测试单元、选项、媒体(图片)文件位置等,用于存储几种经典类型的题目。根据组卷的需要,我们在一套试卷上需要根据题目类型划分成若干个测试单元,每单元下放置若干个题目,设计组卷表主要包括单元编号、题目编号、时间限制等;根据测试操作界面设计的需要定义了试卷总成表,包括单元编号、题目数、时间数、每页显示题目数、单元测试说明等。

2.类的定义依据题库中定义的几种基本表结构,我们可以建立相应的基类,完成对各种典型测试题目的表示。在此基础上,相应地派生出组卷类、页面管理类等,通过题目编号和单元编号,建立类之间的关联关系。定义完类的各种属性后,还要定义类可以进行的操作以及可以触发的事件。针对系统中的每一个题目对象可以定义作答、修改、上一题、下一题等操作,测试单元的页面对象可以定义上一页、下一页、计时等操作和时间控制、换页控制、终止控制等事件。测评系统中为每个测试单元规定了时间限制属性,开始答题时触发计时事件,而时间用尽时触发时间截止事件。

3.对象—关系数据库模型的实现对象—关系数据库模型建立以后,在程序运行期间,即将定义的各种类实例化过程中,需要将题库中的数据给对象的各种属性赋值。我们通过设计专门的数据接口程序来解决运行期对象和关系数据库之间的数据交换问题。接口程序中包括SelectUpdateInsertDeleteSQl语句,执行对题库的具体操作,本测评系统中主要为每一个业务对象类准备两个数据接口:一个用于在运行期创建对象时从数据库读出有关数据,给对象的相应属性赋值,另一个用于对象属性变化后根据需要将变化内容写入数据库。

四、测评系统的功能实现实际设计的系统采用客户/服务器(ClientSender)结陶在操作系统Windows982000上实现,选用MSSQl_Serv-cr7.0作为服务器端数据库管理系统,使用PowerBuilder7.0作为客户端开发工具。PowerBuilder提供了一个面向对象的编程环境,除了可以使用系统预先定义的对象外,开发人员可以自行构造新的用户对象,进而将各种对象有机地组合起来构成用户的应用程序。同时,PowerBuilder是一个开放的协作式环境,支持多用户访问数据库,提供进行客户服务开发的可视化开发环境,把面向对象的技术应用到用户界面中。

测评系统中每个测试单元都定义了时间限制,超时后将禁止答题。被测试者使用鼠标,点击问题的图标、单选框或者多选框进行作答,点击相应按钮进入开始答题,上一页、下一页等功能。

系统的主菜单上集成有开始新测试、测试单元选择、交卷、显示测试结果、显示测评指标、后台录入及组卷管理等功能.其中测试单元与测试操作界面是设计的核心内容(图略)

五、结语

    本测评系统已经完成了全部设计工作并投入实际使用,当题目内容发生变化或者需要重新组卷生成试卷时,只要在后台维护题库内容即可。即使当题目内容增加很多造成显示版面拥挤时,电只需调整每页显示题目的数目参数,均不需要对程序代码作任何修改。本项目的设计实践表明,应用面向对象方法设计的系统具有结构清晰,易于维护,易于扩充的特点,是技术发展的趋势。文中介绍的方法,可以运用到其它课程的训练与测试系统设计中去,也值得运用到网络教学的其它系统功能设计中去。

文章选自 《中国电化教育》2003(7)

版权信息:

本主页版权所有:北京师范大学现代教育技术研究所;管理员信箱:ysqetc@21cn.com;电话:010-62206922。要获取最佳浏览效果,请使用800*600分辨率模式。