王 蓉,李成大,魏宏旭
(1.成都工业学院 计算机工程系,成都 610031;2.成都国腾软件资源有限公司 成都 610031)
为满足安全培训工作适应新形势、新任务的要求,提高培训质量和教学水平,积极推行“教考分离”制度(即由具备资质的培训单位承担安全培训任务,安全监察机构只负责培训单位的资质认证和考核管理),建立了分级负责管理、分工明确、培训与考核分离的安全生产培训考核体系。笔者通过对安全培训与考试技术标准和业务流程管理规范化进行研究,利用信息技术等现代化手段建立安全生产培训与考试系统,以提高各级培训中心安全生产培训的规范性,有效管控考试过程,验证培训质量,从而提高安全生产人员安全生产技术能力,减少安全事故发生。
1)研究实现安全生产培训与考试系统的业务组件化,实现业务开发的灵活性、易用性、可扩展性、可配置性和高安全性,以便支持全省100多家培训中心的培训考试业务。各培训中心的网络链接方式、数据传输方式各有不同,如何保证各种网络中数据的高效传输,快速地进行培训中心各业务的特性扩展,保证开发、实施的速度和质量,保证组网设备的与数据安全、网络加密无关性,是系统设计的重点;同时,也要保证各培训中心在标准的、开放的通讯协议基础上,实现业务功能的增加、删除和修改。
2)研究基于模型的试卷组卷,提升系统的动态适应性。安全生产培训与考试系统涉及多工种、多知识点的交叉和知识的更新,并且也需要考虑每份试卷的公平性,因此,要研究包括基于数据模型建立科学的试卷组卷方式及基于试题四大参数指标的选题方式。
3)研究从数据直接生成界面,提升软件系统的可扩展性及部署的高效性。培训中心的业务系统可以根据业务需要选择相应的通讯协议,然后生成行业标准化数据,根据定义的数据库自动生成用户交互界面,这种方法为灵活、快速、经济、实效地开发培训考试业务系统提供了可靠保障。
4)研究从数据直接生成测试用例,提高应用工程系统质量,降低成本。培训中心可以根据定义数据库,自动生成测试用例进行测试;系统可以在进行业务扩展、覆盖范围增加或者开发后期,将更多的精力集中在安全考试工种和各工种差异性的业务和数据上,降低维护成本,有效缩短系统更新上线周期。系统将定义的标准数据、数据库,以及自动生成经测试的代码,自动翻译成相关协议数据,并将业务数据配置到设备中,从而保障系统的质量。
安全生产培训与考试系统技术总体结构分为4层,如图1所示。1)数据存储层。本系统中涉及的数据库以SQL Server为主。此外包含非结构化数据(文本文件、Excel、PDF等)。2)商业逻辑层中间件。本系统Web服务器可选择IIS服务器。逻辑层中间件(.Net Framework)负责处理Web客户端请求,负责运行业务模型C#.Net对象数据映射关系框架等ASP.Net应用系统。3)标准业务应用层是培训考试系统的核心业务层,包含基础支撑中间件,实现培训考试系统的所有应用接口。平台系统管理内容均放置在标准业务应用层,它同时通过数据网关,实现了对大规模数据的并行计算的接口。4)标准信息门户展现层可以实现自定义数据输入Web界面、查询统计报表、统计分析图、网站框架设计、网站内容发布、数据导入导出等功能,核心功能为:a)网页框架模板配置;b)信息网站定制;c)数据信息录入(数据维护)定制;d)查询统计、图形定制;e)同一网页支持异构数据查询;f)报表分组汇总;g)报表预览及打印;h)支持多种数据源数据获取接口。
本系统实现的目标是安全生产人员通过培训考试全面了解和掌握安全操作规程、各类相关知识点。而系统知识点的分布已有标准值参考,所以试卷考题的选定,以及考题与知识点分布是否相匹配就成为关键问题。为使考题的组合方式更具科学性,需要从考题中发现考生对知识点的掌握情况,并根据分析结果自动选择新考题的组合,因为其中涉及变量与统计相关关系的问题,所以笔者选择多元回归作为考题选定的数据模型。
根据系统数据特征和分析要求,笔者采用“一对多”线性回归分析建立数据模型。设随机变量y与m个自变量x1,x2,…,xm存在线性关系:
图1 安全生产培训与考试系统结构图
(1)式称为回归方程,式中 β0,β1,β2,…,βm为回归系数,s为随机误差。
现在用β0+β1x1+β2x2+…+βmxm估计y的均值E(y),即E(y)=β0+β1x1+β2x2+… +βmxm,且假定S~N(0,σ2),y~N(β0+β1x1+… +βmxm,σ2),(β0,β1,…,βm,σ2)是与x1,x2,…,xm无关的待定常数。
设有n组样本观测数据:
其中:xij表示xj在第i次的观测值,于是有:
其中:β0,β1,β2,…,βm为(m+1)个待定参数,s1,s2,…,sn为n个相互独立的且服从同一正态分布N(0,σ2)的随机变量,(2)式称为多元(m元)线性回归的数学模型。
(2)式亦可写成矩阵形式,设
则(2)式变为:y=X β+ε,称为多元线性回归模型的矩阵形式。
系统通过近一年的运行,已经验证“一对多”线性回归分析模型能满足全省安全生产考试系统的组卷需求,也能适应下一阶段工种增加和知识点扩展。
系统试卷模型系数的选择笔者采用回归系统的最小二乘估计,用于设定试卷试题的4个参数(安全工种分类、知识点、难度系数、考生通过率)的修定值。本系统分组对关键参数进行两组合,设:b0,b1,b2,…,bm分别为 β0,β1,β2,…,βm的最小二乘估计值,于是y的观测值为:
其中:ek为sk误差的估计值,称为残差或剩余误差。令^yk为yk的估计值,则有:
(5)式表示实际值yk与估计值^yk的偏离程度。欲使估计值^yk与实际值yk拟合地最好,则应使残差平方和达到最小,为此,可以应用微分求极值原理确定b0,b1,bm。
系统在每次计算机自动组卷选题时,会根据4个参数(安全工种分类、知识点、难度系数、考生通过率)设定值,对试题进行科学的选定。
本系统后台业务代码采用自动化生成,其核心组件为 ExamCode Parse Engine(代码生成转换引擎),其主要特点如下:
1)可以根据数据库定制,高效生成标准的C#源代码和相应的测试用例,系统的自动生成代码特性在于可以根据客户定制的培训考试业务的数据定义,系统将自动生成界面和源代码。
2)系统特性与数据分离:每个培训中心的业务内容和特点,在系统中被原子化,可以单独进行封装,所有产品的特性都可以通过接口进行单独的访问。
3)系统具有可拆卸性:系统由多个组件(数据库组件、界面设计组件和代码生成器)构成,针对用户需要,其每个组件都可单独应用,又可无缝集成运用;每个组件均提供对外开放的接口,用于和其他系统集成应用。
4)由于采用多组件技术,系统目前已经实现对所有主流数据库适配支持:对于大数据量并行运算,系统通过自己开发的数据网关来实现,并根据数据适配器的设计方式提供了对Oracle、DB2、SQL Server、Access等数据库的支持和数据转换,实现无缝集成。
本系统中的自动生成代码、编译并集成的自动化过程其依靠的关键模块分别为CPTool,GUITool,CPS frame构成,如图2所示。
图2 代码生成转换引擎
其中CPTool是一个可视化的定义和开发界面,让开发人员能够定义新的codeplug。作为需求管理器,CPTool管理了所有关于codeplug的信息,并输出缺省的codeplug以及缺省的GUI布局,同时,CPTool还生成系统数据对象词法分析信息文件(parse information files),以便框架能够对生成的codeplug进行词法分析。CPTool生成的配置文件以及依赖脚本将协助进行依赖性检测。
GUITool负责完成ExamCode图形界面的开发分析,并生成培训考试的图形界面和调整图形界面需要用到的配置文件(xml)。
CPS frame是本项目系统ExamCode Parse Engine的核心部分,它将实现代码自动化生成目标的主要部分。在系统不断发展的过程中或者业务需求者提出内容修改时,CPS框架结构并不发生任何变化,这正是本引擎的核心要义。
本系统的ExamCode Parse引擎已实现能够处理最大22 Mbit的数据转换,占用内存最大不超过处理数据的15%等多项硬性指标。
本系统已对纳入的机构和人员实现全域认证,保证考试系统的安全性;系统已经覆盖四川省安全生产的九大工种以及相关操作项,完成128个知识点的试题编制,通过基于模型的试卷组卷以及参数优化,考试通过率在可管理的范围内;系统建设的业务范围已经覆盖培训中心全部业务流程,包括培训申请流程、考试申请流程、考试审批流程、考生考试流程、考试办证流程、准考证生成流程和试卷生成流程等。四川省建设培训与考试系统能满足国家“教考分离”的管理要求,便于统一管理,统一建设,减少资金投入,能充分发挥各级安全管理部门的行政作用,便于系统在安全生产管理中的推广应用。
[1]赵庆双,王臻,闻星火,等.实验室安全课网上学习与考试系统的开发与应用[J].实验室研究与探索,2009(1):128-130.
[2]冉崇善,吴莎莎.基于SOA的轻量级企业整合架构设计与应用[J].计算机工程与设计,2011(4):1161-1164.
[3]刘锦萍,郁金祥.基于改进的粒子群算法的多元线性回归模型参数估计[J].计算机工程与科学,2010(4):101-105.
[4]郭文越,陈虹,刘万军.基于SOA的数据共享与交换平台[J].计算机工程,2010(19):280-282.
[5]李述山.多元响应回归模型及其参数的非线性最小二乘估计混合算法[J].山东科技大学学报:自然科学版,2004(3):77-79.