习海旭 黄纯国 王晓跃
摘 要:内部本科专业评估系统的建立,可以提高内部专业评估工作的效率,实现专业评估工作的公正性、常态化,并最终实现与原有信息网络平台模块之间的数据联动,推进学校信息化的步伐。遵循规范的软件开发过程,设计灵活的权限控制、丰富的客户体验以及输入数据安全的控制,是保证系统可用性的关键。
关键词:本科专业评估系统 权限控制 AJAX 正则表达式
中图分类号:G420 文献标识码:B 文章编号:1673-8454(2009)11-0031-04
高等教育规模的扩大引起社会对高等教育质量的日益关注。高等教育评估作为世界各国保证高等教育质量的重要手段而被各国政府和社会公众所认可。目前我国的高等教育评估主要有三种类型:政府评估、专业评估与认证以及社会机构的教育排行。[1] 其中专业建设不仅是政府主导的本科教学水平评估中的重要指标,而且其评估的结果在一定程度上也反映了所在学校的办学水平,因此,各学校都纷纷开始建立自己的内部专业评估体系,以作为参加外部评估的基础和校内教学管理的手段,并逐步建立起以评估为中心的教学质量保证和监控体系,形成大学自我完善和自我约束的良好运行机制。
一、专业评估系统的开发现状
在教育信息化的背景下,各学校纷纷建立起自己的信息网络平台,以实现对本校教学资源、信息发布和教学管理的网络化、信息化。本科教学水平评估的推行促进了各个学校纷纷开展内部本科教学水平预评估工作,并开发相应的预评估系统。系统开发大部分依据本校的教学实际设定系统功能模块,并固定系统的评分标准。[2] 有些高校建立了内部专业评估指标体系并开发了内部专业评估系统,系统的业务流程局限于各学校自身的专业评估工作流程,没有提供方便的权限管理和访问控制,没有设计完善的数据库系统,以方便与原有的信息发布系统集成。
二、专业评估系统的设计与开发
1.系统设计
(1)系统开发原则
在本科专业评估系统的开发过程中,为了满足实际运用的需要和便于将来的升级,系统应该本着下列原则进行设计:
集成性。系统应与各院系原有的信息发布系统进行集成,不额外增加原有系统管理员的信息输入负担。
安全性。系统需要提供完全、可靠、灵活的权限管理模块,使得系统的用户只能查看权限范围内的信息,保证信息的安全性。
灵活性。系统需要根据不同学校的机构设置、专业评估业务流程、专业评估指标项目进行方便地配置。
软件系统的一般特性。作为一个软件系统,它需要具备可靠性、容错性、可扩充性和易操作性。
(2)系统业务流程
本系统的默认专业评估业务流程是:在学校对各个专业进行评估的过程中,教务处起着核心作用。各学院、各专业发布师资、教学、科研等信息,教务处组织专家,并按照一定的评估标准对各专业进行考核评分,教务处统计和整理专业评估结果,并且把最终结果上交到学校领导者和决策层,由管理层给出建议,对不符合评估要求的专业提出整改意见,同时对评估结果优秀的专业进行宣传和表彰。系统业务流程如图1所示。
系统业务流程的动态配置可以通过机构配置模块、评估指标项目(所在功能网页)配置模块、用户权限配置模块进行综合设定。比如,可以给不同的院系分配一个总负责人,每个负责人再根据评估指标项目指定不同的编辑员,实现院系编辑员—院系负责人—教务处—学校管理决策层的业务数据流向,也可以给教务处分配不同的编辑员分管不同的院系,实现教务处编辑员—教务处总负责人—学校管理决策层的业务数据流向。
(3)系统数据库设计
系统开发过程中数据库的设计经常容易出现数据冗余,避免此问题的方法是在数据库设计中采用规范化原则和过程。在本系统中包含大量的各种原始信息,其内在联系也错综复杂,设计出效率高、冗余度低的数据库结构是保证系统可靠运行的重要前提。另一方面,系统的集成性和安全性要求完善的权限数据库设计。因此,系统数据库从三个方面设计了若干表。
1)原始信息类表:包括存放学生相关信息、教师相关信息、各专业非量化信息、教学条件信息、专业教学情况、教学环节的监控信息、专业课程设置信息、学生对课程教学的反馈信息、专业教学和科研成果信息、专业毕业设计信息、就业指导及毕业生质量反馈信息、职业关键能力设置信息、产学研实施信息的数据库表格。
2)评估信息类表:表pgbz存储每个评估子项的评估标准参数和重要性系数。表的字段设置包括评价项目编号、A级标准参数、B级标准参数、C级标准参数、重要性系数。评估项目编号的设置是为了正确读出该项目的评估标准参数,以方便对数据进行统计和计算。编号按照评价项目的级别关系编号。比如“11011”表示为:第一个“1”表示教学条件,第二个“1”表示教学条件中的师资队伍及建设,“01”代表其中的一个子项,如专业任课教师的职称,最后的“1”则代表子项目中的一组标准。[3] 表output存储每个评估项目的等级和整个专业的最终评估结果。
3)权限信息表:包括存储系统用户信息、用户组信息、系统权限信息和院系信息的数据库表格。
2.系统实现
(1)系统软件环境
服务器操作系统:Windows server2003;数据库系统:SQL Server 2005;动态网页技术:ASP.NET
在软件的开发中,比较常见的有瀑布模型、快速原型模型、螺旋模型、喷泉模型等。本系统的开发过程中,本科专业评估的工作流程和规范只有初步的雏形,在评估实践中需要完善。因此,本系统采用了快速原型模型开发方法,系统数据库使用微软的SQL Server 2005,其中最直接的原因是它具有广大用户所熟悉的Windows用户界面。而动态网页技术之所以选择ASP.NET,其中最主要的原因是ASP.NET和Windows系统紧密结合,安全性和可扩展性较好,技术支持丰富。并且程序的执行效率高。ASP.NET技术提供了丰富的开发控件支持,因此开发效率高,后期维护容易。
(2)系统功能模块
本科专业评估系统根据本校专业评估指标及要求进行设计,系统主要功能模块由五部分构成,分别是原始信息输入模块、显示和查询评估结果模块、修改评估指标标准模块、权限配置模块、新闻公告模块。如图2所示。
1)原始信息输入模块
原始信息输人模块负责专业考核所需信息的录入工作,结合本科专业评估系统的具体要求与特点,为了方便对数据进行统计和计算,把原始信息分为8个部分,分别存储在数据库中的8个表中。在信息输入的前台页面中通过验证严格保证输入数据的合法性,减少后台判断逻辑的复杂性。该模块的动态变化由评估指标项目修改功能页面实现。
2)评估标准修改模块
随着学校的发展,专业评估的标准可能会不断地发生变化,为了保证系统具有更强的实用性,这就要求系统的评估标准必须具备一定的灵活性,可以根据变化的情况随时对评估标准进行调整。因此,系统设计了评估标准修改模块,共分为教学资源、教学内容与管理、教学效果、职业技能培养、产学研合作五个部分对各评估子项的标准进行修改,并写入到后台数据库中。该模块中,评估指标项目的动态变化由评估指标项目修改功能页面实现。
3)显示、查询评估结果模块
如果在系统中输入了某个专业的信息,系统生成相关信息显示页面,并提供专家评分界面,评估体系计分算法依据各专家的评分自动生成评估结果显示出来,系统同时将会自动把评估结果写入到结果表。在查询评估结果时,系统则直接从结果表中提取评估结果返回给用户,包括每个评估项目的等级(A,B,C,D四个等级)和整个专业的最终评估结果。
4)权限配置模块
教务处的超级管理员具有原始信息输入、评估标准修改、公告信息发布、权限分配的一切权限。超级管理员按照院系分别指定一个院系管理员,该院系管理员具有输入原始信息、权限分配的权限。院系管理员可以按照本院系部门分工不同,分别指定若干个评估子项管理的组管理员。组管理员具有原始信息输入的权限。权限分配中对访问控制到每个具体的页面,提供灵活的访问和权限控制。本模块中的评估指标项目修改功能页面需要设置具体的评估指标项目层级和具体的功能实现页面,并实现两者之间的对应关系。
5)新闻公告模块
教务处发布相关评估要求的信息,评估指导性文件和指标体系解释文件,专家评分后生成结果被决策层查看后,给出整改建议,该建议以公告的形式显示在信息显示模块。
(3)系统结构模型
本科专业评估系统采用多层模式。由于B/S结构中的Web层所承担的功能不断增加,软件复杂度也不断地提高。因此,有必要对它再进行分层处理。通常把传统的中间层分成Web服务层和应用服务层,前者负责整个系统的表示逻辑,后者负责整个系统的业务逻辑。如图3所示。
在多层结构模式中,采用基于组件的开发方法,将系统的业务逻辑封装在应用服务层的一个个业务组件中,可以方便实现代码重用(比如数据库的访问组件、访问控制组件)。该方法可以把各种应用组件装配在一起,甚至可以使用第三方提供的商品化的业务组件,这样就大大简化了系统的开发,提高了系统建设的工作效率。
系统实现了高度的可扩展性,为将来的升级留下了广阔的空间。Web服务层、应用服务层和数据库层的每个层次都可以由多台计算机组成,通过计算机集群技术,实现自动的负载均衡,以提高系统的处理能力和对客户端的响应速度。当业务量增加时,可以分析系统处理的瓶颈位于哪一个层次,然后在该层次上增加新的设备,而整个系统基本上不需要大的改动。多层模式增强了系统的模块化程度,提高了系统的灵活性。在应用服务层和数据库层之间还可以插人中间件层,以优化整个系统的性能,提高系统的并发处理能力。
(4)系统逻辑结构
为了保证系统专业评估结果的客观性和公平性,并且考虑到系统的安全性,把所有的用户分成两类,即系统管理员和普通用户。系统管理员又根据部门所属关系进行划分,并对评估系统的子项目管理页面和权限访问联系起来,以解决后期人员变动带来的管理页面的变化,使访问和管理权限做到更加灵活。管理员按照职能不同,分别负责原始信息的录入工作和根据实际情况修改专业评估标准,能够查询和维护所有的数据,进行权限分配和访问控制。专家负责查询查看信息并进行评级评分,而普通用户则只能通过输人专业编号对专业评估结果进行查询。如图4所示。
三、系统技术特色
1.存储过程的使用
在本科专业评估系统中,关键和核心部分是数据库的存储过程。为了方便处理数据,并且便于今后的维护和修改,系统对所有原始信息的统计和整理,包括对各评估项目及最终评估等级的计算,全部都交给数据库中的存储过程来完成。使用存储过程的主要优点就是可以提高系统的处理速度。如果对数据的处理由其他代码来实现,那么系统将频繁地从数据库读出或者向数据库写入数据,这必将耗用大量的时间。而设计为存储过程后,它一直保持在服务器内存当中,系统在处理时只需要调用存储过程,这将会大大地缩短处理的时间。另外存储过程能够比较好地防止SQL注入式攻击,增强系统的可靠性和稳定性。系统针对数据库业务表格一共设计了对应的十七个存储过程。这十七个存储过程将对原始信息表的数据进行统计和计算,然后从参数系数表中提取出评估标准参数,按照评沽标准得出每个评估项目的评估结果,并写入到结果表中。其中,存储过程proOutput负责把每个评估子项的结果按照重要性系数进行加权平均,得到一个分数,最后按照标准计算出该专业的最终评估等级(优+、优、优-、良+、良、良-、中、合格、不合格等)。
2.权限分配的灵活性
本系统完全根据现实当中学校的工作习惯和流程,对专业评估工作整个流程中涉及的不同职责的人员,从权限分配和功能页面控制两个方面来灵活地实现访问控制。
3.Ajax技术的使用
在Web服务机制中,客户的信息输入和获取都需要与服务器端进行数据交互。在Web1.0服务时代,信息传递到客户端后需要全部刷新客户端页面。但在实际应用中,用户有的时候只需要获取局部的更新数据,页面的大部分是不需要更新的,在这种情况下,全部刷新页面要求服务器端重新传递页面的全部数据,这一方面会加大传输线路上的数据流量,一方面也会因网络传输的问题,导致用户等待大量的时间。这种工作过程中的用户体验是比较糟糕的。
Ajax(Asynchronous JavaScript and XML,异步的JavaScript 和XML处理)技术的出现,使得用户进入了Web2.0服务时代。Ajax实现浏览器与服务器的异步通讯,在页面上的少部分内容更新时不再需要传输整个页面的HTML,降低网络数据传输量。[4] 在本系统中,信息输入过程中不同的信息输入模块会涉及关联的数据,比如教师信息输入中,教师的基本信息包括姓名等已经被输入教师数据库中,当科研管理人员输入教师科研信息时,也要输入教师的姓名信息到教学科研成果数据库中。教师数据库和教学科研成果数据库之间也用教师Id关联起来,以生成“师资队伍”子系统中“学术水平”页面。那么,在教学科研信息输入时,可以通过Ajax技术实时地获取教师数据库的教师信息。
4.输入信息验证的正则表达式
网络安全,重在源头,近年来,数据库注入、拒绝服务攻击、黑客字典远程攻击等客户端攻击技术在网络犯罪中占了很大比例,如果可以从源头(客户端)遏制网络攻击,那么就可以大幅度提高系统安全性。采用客户端校验技术,把不合要求的数据阻止在外,既减少服务器工作量,同时也减少客户端攻击的几率。正则表达式最初应用于神经网络,是一种模式匹配方法,可对任何类型数据及形式(如身份证号码、汉字、电话号码等)进行校验,而且语法简单,使用也比较方便。
正则表达式是种特殊字符串,由普通字符(原义字符)和特殊字符(元字符)组成,能按照特定语法规则被解释成多种字符串,并以此对目标字符串进行匹配。在Web应用中,正则表达式可以让用户通过使用一系列特殊字符构建匹配模式,然后把匹配模式与Web页面表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,以执行相应处理操作。[5] 比如在教师信息输入时,为了确认教师的身份证号码和Email是否合法,可以分别采用正则表达式:身份证(15-18位,不以0开头)“^[1-9]([0-9]{17}|[0-9]{14})$”,有X的身份证号的“^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$”和电子邮件“w+([-+.′]w+)*@w+([-.]w+)*.w+([-.]w+)*”。
四、结束语
建立内部专业评估体系是学校内部教学质量保证与监控体系的重要组成部分。内部专业评估系统可以实现专业评估工作流程的动态性、学校发展指标的动态性、评估工作的公正性和常态性,促进学校信息平台数据的互动性,以最大限度发挥校园信息化平台的效益。
参考文献:
[1]张彦通.关于我国高等教育专业评估工作的若干思考[J].高等工程教育研究,2005(3):37-41.
[2]陈和,林端宜.本科教学工作水平评估系统的设计与开发[J].计算机与现代化,2004(2):108-110.
[3]陈杰.本科专业评估系统的没计与实现[J].教育信息化,2005(1):36-37.
[4]田原.基于AJAX的教学Web应用[J].辽宁工程技术大学学报,第26卷第5期,2007(10):P737-739.
[5]王功明.正则表达式在电子政务客户端校验中的应用[J].计算机工程,2007(9):269-271.