快生活 - 生活常识大全

独立学院英语单词学习系统开发与实现


  【摘 要】目前部分独立学院存在师资力量不足,学生对传统的英语单词学习方法厌倦等问题,开发一套能够适应独立学院学生单词学习的系统有较高的实用意义。我们结合独立学院的特点,采用开源软件Spring、Hibernate、Jquery等技术开发了一套英语单词学习软件,实现了系统基本信息批量导入导出、考试自动组卷、成绩自动批改、学生自主练习等单词学习功能,能够满足高并发考试的需求。通过压力测试,教师、学生实际使用,效果良好。
  【关键词】独立学院;英语单词;学习系统
  单词学习是英语学习中最重要的一环,目前部分独立学院存在师资力量不足,学生对传统的英语单词学习方法厌倦等问题,已有的单词学习软件内容与独立学院英语教学的内容不一致,没有专门的针对独立学院学生的英语单词学习系统。为了解决这一问题,通过总结多年教学活动实践经验,开发一套能够适应独立学院学生的单词学习的"教"与"学"的单词学习系统有较高的实用意义。
  一、独立学院英语单词学习系统开发
  (一)系统开发的需求
  我们结合独立学院的特点,对英语单词学习系统进行了详细的系统功能分析,选择使用开源软件Spring、Hibernate、Jquery等技术进行开发英语单词学习软件。主要从以下几个方面满足系统功能需求:
  1.批量导入数据功能
  批量导入数据功能可以批量导入单词学习系统所需的班级信息、学生信息、教师信息、管理员信息、题库信息、题目信息等基本信息。解决这些信息分布在各个不同的应用系统中,数据格式、数据结构等诸多不一致等问题,这样可以降低独立学院教师的工作强度,提高工作效率。
  2.自动组卷功能
  自动组卷功能,同时支持计算机抽题和人工出题方式,教师可以选择不同的单词试题难度、所属单元等条件,为不同班级的学生,指定英语单词题目,完成自动组卷任务。
  3.自动批改功能
  自动批改是指当学生完成答题后,由计算机根据不同题型自动批改试卷。该功能设置自动批改选择题、判断题的正确率达到100%,完型填空等简单类型主观题正确率达到95%。在计算进自动批改后,为了保证批改的正确性,还可由教师进行人工校对或人工批改。
  4.学生练习功能
  学生练习是指学生可以从不同难度的题库中自行抽取不同类型的题目进行练习,系统自动判断学生练习结果,对提高英语单词学习的重复率和提高学生的学习兴趣有很好的作用。
  5.高并发需求
  单词学习系统按全校统一组织英语单词考试测算,要能满足3000学生同时在线考试的要求,以学生登录系统为例:当3000学生同时登录,按每个学生30K的网络数据传输量计算,将产生大约90M网络数据传输量,将产生大约1分钟的延时,这样就会存在部分学生登陆超时的问题。另外系统要求能每秒并发批改60个学生提交的试卷,这对服务器的CPU资源是一个较大的压力,所以在系统架构设计的时候必须充分考虑并发需求。
  (二)系统架构的选择
  英语单词系统需实现批量导入、自动组卷、自动批改、高并发等需求,为了实现以上需求,我们引入了MVC的架构开发思想,使用了hibernate、spring、jquery等开源软件实现。同时为了减少系统的前期投入,我们使用了虚拟化服务器,并对虚拟化设备所在的网络流量负载和服务器资源占用都进行了优化,提升了系统运行的效率。此外,为了应对高并发的学生登录、试卷提交的情况,我们使用了encache等对象缓存技术,在数据库和应用层均使用缓存方式增强了系统的并发性能。
  二、独立学院英语单词学习系统实现
  (一)Hibernate模型组件开发
  针对数据持久化的问题,我们使用了Hibernate作为持久化框架,该框架可以根据数据定义语言自动生成相应的实体类和操作类。其优势在于对SQL语言的事物处理、数据库的连接超时机制管理的编程比较方便,可以使用annotation进行配置,极大的降低了开发难度。因为我们在系统批改试卷时使用了mysql的一些临时表,而hibernate对Mysql数据库的临时表不能实现热配置,为了解决这一问题,我们对hibernate框架的源代码进行了一些修改,实现了临时表创建、删除、修改和插入数据时hibernate的配置文件的动态映射机制。
  (二)Spring业务逻辑组件开发
  Spring作为当今较流行的web开发框架,目前实现了MVC架构的所有层次,为了简化开发,我们只使用了Spring AOP和Spring Bean实现业务逻辑,具有面向切面编程思想的Spring AOP可以方便解决用户登录、字符编码等问题,Spring Bean实现的业务逻辑在使用了面向对象编程思想,并且使每个业务逻辑对应一个函数,极大的提高了开发效率和降低了测试难度。为了同时兼容PC、手机平台,我们规定所有的业务逻辑函数都使用Json格式通信。为了降低系统并发带来的系统负担,我们在spring层也采用了缓存技术,实现针对大数据量访问的不同业务对象进行缓存。
  (三)Jquery界面组件开发
  在视图层我们使用了Jquery对Json格式数据进行解析,同时Jquery对操作网页元素非常方便,特别是Jquery的过滤器功能,能够批量选择我们需要的多个元素。为了解决Jquery在首次访问英语单词系统的时候需要下载35k的数据,而导致学生开始考试时网络数据流量较大问题,我们在Jquery官网上对Jquery进行了定制化的裁剪。同时采用Nginx服务器负载均衡,部署多个Jquery下载站点。
  三、独立学院英语单词学习系统测试
  因为该系统将同时支撑全校3000学生英语单词期末测试,一旦在考试过程中出现系统宕机等问题将造成较大的影响。而同时组织如此大规模的人工测试并不現实,为了验证系统的正确性,保证系统在考试中能够正常使用,我们在开发之前,就针对所有的业务逻辑功能开发了相应的单元测试模块。后来发现,这种做法减少了集成测试和确认测试过程中的工作量。在开发管理的过程中,因为我们项目组由6个成员组成,开发水平不尽一致,所以我们在整个系统开发过程中使用了持续集成的概念,搭建了jenkins持续集成服务器,规定项目组所有成员每次提交代码必须通过相应的单元测试,体现了敏捷开发中的测试先行的原则。在系统确认测试的过程中,使用loader runner等工具,录制模拟登录脚本和考试过程提交脚本,并对其进行了压力测试。这些测试脚本模拟了在高并发和网络延时大的情况下系统的工作状态,找到薄弱环节进行修正。
  四、结语
  综上所述,该系统的开发解决了独立学院英语单词"教"与"学"中具体存在的问题。通过测试,并实际使用,得到教师、学生的良好反馈。当然,该系统还存在一些问题,例如不支持手写输入等功能,将有待再进一步开发、完善。
  【参考文献】
  [1]詹海宝,张立国. 大学英语词汇锁屏移动学习软件的设计与应用[J]. 中国远程教育,2015,(04):43-48.
  [2]张蓉. 英语单词系统设计与开发[J]. 电子测试,2014,(16):8-10.
  [3]胡一平,高佳佳,陆宏. 英语词汇自适应测试系统中词汇难度的判定[J]. 现代教育技术,2016,(03):100-106.
  [4]邬显豪,徐彬凌,胡大川,钱诚,韩戴鸿. 基于J2EE架构电子政务系统的研究和开发研究[J]. 电子技术与软件工程,2016,(12):81.
网站目录投稿:曼卉