张浩晨,朱参世
(西京学院计算机学院,陕西西安 710123)
在目前这个拥有网络化体系的大社会环境里边,基本上每一个行业都已经实现了信息化体系,尤其是管理型软件,已经出现在社会上的各个行业中,协助处理工作。当然,作为教育行业知识的引领者,必然也会实现出新型的管理体系。在考试的管理方面上,与考试相关的管理数据太多,诸如学生相关的数据、课程相关的数据、考试相关的信息等,当面对大量的需要管理的数据时,学校的管理方式也慢慢地提升到计算机的层面之上,现今从高校的日常管理方面上来看,虽然已经引入了不少的管理型的程序,但这显然并不是很全面,缺乏一套好的、新颖的有关考试管理的体系结构,而且处于互联网科技的时代,各个高校都会开设类似于C语言程序设计等计算机基础课程,作为一门公共必修课开展相应的教学活动,传统考试方式不仅难以满足计算机基础考核要求,还会因卷面考核的形式而消耗大量的资源,高校使用此系统不仅可以减轻老师和学生的负担还可以提高在有关考试方面的效率,只要将与考试有着一定联系的内容信息录入至该系统当中去,系统会进行相应的保存和处理,也具备一定查询的功能[1]。
SSM 框架是Spring、SpringMVC、MyBatis 的简称,它们三个都是免费的开源框架,经常作为数据源较简单的Web 项目的框架。其中Spring 是一种轻量的容器框架,由控制反转(IoC) 和面向切面(AOP) 组合而成,它能够作为一个工厂将项目中的JavaBean用模块化的方式进行组织和装配,通过使用该框架可以在指定的配置文件中定义一些必要的参数去调用项目中已经定义好的实体类或者构造方法达到实例化对象的目的[2]。Spring中存在的MVC框架称为SpringMVC,它就是把传统的模型层被拆分为了业务层(Service)和数据访问层(DAO),它是一种轻量级Web 框架,主要是将Web层进行加工解耦。MyBatis是一款优秀的持久层框架,用于简化JDBC开发,它让数据库底层操作变得透明,属于半自动的ORM(对象关系映射)框架。
MySQL数据库是一款跨平台且高效数据库系统,它与许多主流的编程语言紧密结合,大多数中小型网站都采用数据库MySQL作为后台数据库,它不仅体积小,运行效率高,而且是一款免费的产品,MySQL支持多种数据库存储引擎,不同的引擎可以适用于不同的应用场合,它的权限与密码系统兼有灵活性和安全性,而且允许基于主机的验证[3]。同时MySQL 数据库会对所有传输过程的密码按一定的算法进行加密,以此来保证密码的安全。
在进行操作的可行性研究与分析当中,必须首先要考虑与注意的就是界面的一些操作以及相关要注意的事项。首先要知道的是一个好的软件系统首次展示在它的用户面前的是系统的显示界面,第一印象有的时候就往往决定了它的友好程度,所以在设计的时候要不假思索地去调查和发现那样的显示界面布局安排可以足够给用户留下深刻的印象,其次界面当中直观地展示的是该系统所能做到的操作,只有合理地去安排操作显示界面才能使得开发设计出来的系统显示界面清晰一目了然,而且没有烦琐的功能按钮,最初的目的就是能让用户一看就能够知道点击哪些按钮达到自己想要的预期结果,还能够根据所自带的提示功能去熟练地使用和操作,因此总的来说,在进行不断的调查和研究的结果之后,所开发的C语言考试软件系统在操作方面上是可以实行的。
本文所开发的C语言考试软件系统,首先从花费方面来说,贯穿这个开发过程中所用到系统需要的服务响应器和数据存储库MySQL都是无偿免费的,可以直接通过查询搜索在自己的个人电脑上进行下载安装。当所开发设计出来的程序运行后能够助推学校在考试方面相关信息的管理,与传统在纸张上记录进行考试相关数据管理的这一方式相比,这样做不但省下了许多要打印出来的纸张的费用,而且效率明显也提高很多。
在C 语言在线考试软件系统中主要包括教师和学生以及管理员这三个用户角色,三个角色在系统中作用不同,下面介绍一下他们的具体功能:
教师:教师的功能是可以注册登录,登录后功能有个人中心、学生管理、资料类型管理、考试资料管理、C语言考试管理、试题管理、考试管理。
学生:学生可以查看系统信息,包括首页、考试资料、C语言考试、注册登录、个人中心、考试记录、错题本、我的收藏。
图1 系统的模块功能图
管理员:系统的管理员只要通过登录的显示界面之后,就能进入管理员的主界面当中去,在该主页中就包括了:个人的一些信息、学生与教师相关功能的管理、发布考题、答卷情况的一些记录以及试题内容的导入和导出等功能。
业务流程的调查主要是为了掌握业务信息的内容、功能、输入和输出以及数据储存和处理信息的方法和流程,主要任务是查询系统中每个环节的业务活动,这是了解系统现状和建立系统逻辑模型的必要环节[4]。该系统有三个功能角色分别是学生、老师和管理员,他们都必须通过验证才能登录系统,学生登录之后可以在个人的首页中修改自己的相关信息,查看之前的答题情况的相关历史记录,阅读老师已经上传的一些关于考试的试卷选择列表,学生根据自己的情况或者老师的规定去选择应该参加的考试,点击开始考试的按钮就可以进行C语言考试,考试内容主要包括了单选题、多选题、判断题和读程题等题目类型,并且学生要在规定的考试时间内完成答题,答题成功之后,系统会自动判题最后自动生成考试成绩。老师和学生都可以看到考试成绩,管理员不仅能够对题库进行管理而且还可以管理系统用户的信息,具体系统的业务流程如图2所示。
图2 系统业务流程图
通常数据库设计在一款应用软件系统开发时是必不可少的环节。无论是前端还是后端它们都调用的是同一个数据库,设计数据库的目的就是要设计出能够很好地适应该系统并且能按要求去存储相关数据的数据库[5]。在数据库的设计中首先就是利用数字字典、数据流等对全部系统中的数据项进行相应的描述与总结,下来就是设计确定出数据库相应的外模式以及内模式,最后再部署和实施数据库。通过系统的E-R 图可以清晰地描述系统数据之间的关系和实体之间的关系,考试系统的整体E-R,如图3所示。
图3 系统整体E-R图
最后根据系统的业务需求,设计的数据表包括教师表(jiaoshi)、学生表(xuesheng)、考试列表(exampaper)、试题信息表(examquestion)、考试记录表(examrecord)、考试资料表(kaoshiziliao)、收藏表(token)、管理员表(users)等。
相比于其他考试系统,该系统增添了管理员用户角色,这样更有利于管理和维护好系统。在此功能模块中管理员能够修改或者删除学生以及老师的个人信息,其中个人信息包括:教师工号、学生学号、手机号、职称、个人图片、账户密码、所属班级等,如图4 所示为管理员端的信息管理界面。
图4 管理员端信息管理模块
考试系统的基础与核心就是试题库,试题类型首先确立为单选题、多选题、填空题、判断题和读程题,老师和管理员可以在自己的个人界面中设置一门C 语言考试,并且针对该考试设置相应的题目类型,在设置题目的时候需要设置题目的内容、题目的类型、考试的限制时间、题目的分数以及题目的排序和试题的答案分析,试题发布功能如图5所示。
图5 教师端试题发布功能模块
学生登录至系统时,点击顶部导航栏C语言考试系统按钮就可以进入如图6所示的考试界面,然后选择考试列表中的属于自己的C语言考试科目,最后点击考试按钮,就要在规定的时间内结束答题,结束答题时系统会自动判定成绩并将考试记录存储,方便后期考试复盘和总结,在线考试功能模块如图6所示。
图6 学生端在线考试功能模块
开发该C 语言在线考试系统遵循了软件工程整个开发生命周期的过程思想,主要运用了JavaWeb 技术体系中的SSM 软件设计框架,完成了试题管理、试题发布、线上考试,试卷库中的试卷内容输出为Excel格式的文件,系统中用户个人的信息账户的相应管理,试卷或者日常练习资料上传管理,账户的检验登录和自动评分等功能,相比于传统使用纸张进行考试的方法制度,使用这个拥有在线考试功能的系统就可以减少高校在平时打印大量试卷的费用,相比较之前老师们只能批量地修改试卷和人工计算与统计学生试题成绩的结果来说,现在使得学校整个考试环节变得高效且灵活,很好地节约了学校的人力和物力资源,而且有助于考试的正常推进,学生平时也可以在该系统中完成一些C语言的练习题,这不仅有助于加强巩固学生的编程基础而且拓宽了学生学习的渠道,弥补了传统考试方式中的弊端。最后对该C 语言在线考试系统中的测试情况进行了分析,测试结果表明,该系统运行良好,具有一定的安全可靠性,能够准确地响应用户的操作,满足在线考试系统的基本要求。