摘要:本文分析了计算机自动组卷系统的开发背景及意义,并阐述在B/S结构下计算机组卷系统的总体结构、功能模块的设计、开发工具的选择及其算法实现的关键技术。
关键词:组卷系统;JSP;数据库;B/S结构
1系统设计
该系统采用典型的J2EE三层结构,分表现层、中间层和数据服务层三层体系,将数据访问、业务规则及合法性校验等放在中间层处理。客户端不与数据库直接交互,而是通过组件与连接中间层,而后由中间层与数据库交互。
这一系统从一九九九年问世以来,经过JSP技术十几年的迅速发展,其稳定的表现与广泛之应用,为表现层技术奠定了坚实的基础[1]。系统的中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。
Service层,承担业务逻辑的实现。该层以DAO层作为基础,通过对DAO组件的包装模式,达到完成这一系统所要的业务逻辑。DAO层,该层重点负责与持久化对象交互。封装了数据的查、改、增、删之操作。Web层,负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。PO,持久化对象。该系统采用Hibernate作为ORM框架,将关系型数据库的数据通过实体关系映射工具映射成对象,使实现以面向对象方式操作数据库比较方便。Spring的作用将Service层、Web层、DAO层及PO无缝整合,贯穿了整个中间层,其数据服务层用来存放数据。
1.1总体结构整体结构设计方案采用了B/S模式,有浏览器的用户在任何地方都不用安装专门的软件,便能够顺利通过WEB浏览器访问系统首页index.jsp,前端由JSP页面实现表现逻辑,接受、检验用户输入后调用商务逻辑层向用户返回结果。商务逻辑层使用Servlet和JavaBeans组件实现系统内部复杂的商务逻辑,JavaBeans组件通过ODBC访问数据库。后端数据库用SQLSERVER实现数据持久性存储[2]。
1.2功能模块设计这一系统是对计算机组卷的随机性设计构架的突破。该系统运用人工智能技术,较好解决了包含选择题、填空题、判断题、计算题、组合题和证明题等多种题型在内的智能组卷问题,实现了题目录入、智能组卷、题目管理、手工调整、试卷管理、试卷分析和答案生成等环节的全程微机化和网络化,极大地为教师的工作提供了便利条件;与此同时,它与网络***考试的无缝连接以便于后期扩展,也使之成为网络课程不可缺少的一部分。
充分考虑到系统维护的安全性、用户操作的方便性,分为用户管理模块、课程管理模块、知识点管理模块、题目管理模块、组卷模块、试卷管理模块组成的六个功能模块。
其中组卷模块是智能组卷系统的核心所在。
它包括两部分,智能组卷是为需要快速完成组卷整理过程的用户而准备,用户选定智能组卷所覆盖的章节、知识点、以及用户希望采用的题型,对整份试卷的难度、能力和互斥的知识点等参数进行设定,系统将按照用户的需求,采用最久最近未用算法进行试卷的组织,避免所出试卷的雷同性,组卷结果可以实现手工微调。
对于手工组卷,是为那些想先看到题目的详细信息,再决定是否采用的用户而准备,用户可以根据实际需要选择需要组卷的章节、知识点以及题型,手工完成组卷的全过程。两种组卷方式所生成的试卷均可实现浏览、微调、分析等诸多功能。
1.3数据库设计为了提高数据库的***性,减少数据的冗余,保证数据的一致性,我们对数据库进行了优化和规范化处理,主要有以下数据表组成本系统的数据库,如表1所示。
2系统实现
2.1软件开发工具的确定Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。数据库的选择,DBMS有ACCESS、SQLSERVER、DB2、Oracle、MySQL等,考虑安全性、运行速度、系统的开销成本,及与JSP有机结合,选择SQLSERVER作为后台数据库[2]。
2.2自动组卷算法如何保证生成的试卷能最大限度地满足用户的不同需要,并具有随机性、科学性、合理性,这是自动组卷关键性的问题,计算机组卷有随机抽取算法、回溯试探算法、遗传算法、定性映射法等多种组卷算法,在系统设计中首先设计数据库,在组卷管理中预留接口,本系统按遗传算法确定一种自动组卷算法,另外系统还预留另外一个接口,可以根据用户需要,随时增加不同组卷算法程序,以满足不同的用户的需求。
现在按遗传算法来说明组卷算法:传统的遗传算法采用二进制编码,用1表示某题被选中,0表示某题没有被选中,这种编码非常简单,但在进行交叉和变异操作时,各题型的题量很难控制,而且当试题库题量很大时编码很长。传统的遗传算法以进化代数等于最大进化代数作为终止条件,但是在实际组卷过程中并不知道种群进化到第几代就能得到试卷的最优组合。因此用遗传算法实现自动组卷时,要对传统遗传算法进行一些改进。目前本系统的组卷算法是在传统的遗传算法的基础之上进行了改进,对基因采用整数编码。同时在相同的题型下进行交叉和变异,对用户感兴趣的题型、难度、区分度、分值等属性以及突变概率、交换概率等参数提供经验值提醒和允许用户自定义修改。
3系统安全性
采用这种结构优点在于:①充分发挥了B/S与C/S体系结构的优势,弥补了二者不足。充分考虑用户利益,保证浏览查询者方便操作的同时也使得系统更新简单,维护简单灵活,易于操作。②信息采用B/S结构,保持了瘦客户端的优点。装入客户机的软件可以采用统一的WWW浏览器。③数据库端采用C/S结构,通过ODBC/JDBC连接。这一部分只涉及到系统维护、数据更新等,不存在完全采用C/S结构带来的客户端维护工作量大等缺点。并且在客户端可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多B/S存在的固有缺点。④对于原有的基于C/S体系结构的应用,只需开发用于的WWW界面,就可非常容易地升级到这种体系结构,并保留原来的某些子系统。这样就充分地利用现有系统的资源。另外本系统还能自动生成WORD格式试卷,教师利用本系统出卷后就能在WORD中很方便地进行手工调整修改,弥补了计算机自动组卷排版的不足,完全可以生成一份较高质量的试卷,从而减轻了学校教师的工作量,使他们能有更多的精力投入到教学研究中去。
转载请注明出处学文网 » 诠释通用智能组卷系统的设计与操作