基于JSP技术的在线技能评测系统的设计与实现
2017-04-15王浩
王浩
摘要:在Java技术中B/S(Browser/Server,浏览器/服务器结构)软件体系结构以其先进和便利的优势,已广泛应用于各个领域。本文简要介绍了B/S软件体系结构、JSP技术、MVC架构和相关背景知识,按照面向对象的软件开发的顺序,对学校在线技能评测系统进行需求分析、系统设计、系统实现等方面进行了简要分析和说明。
关键词:在线技能测评 多媒体 B/S结构 JSP MVC模式
中图分类号:TP317.1 文献标识码:A 文章编号:1007-9416(2016)12-0171-02
隨着计算机网络技术的迅速发展和高校计算机网络建设的日益完善,网络在线技能评测已成为发展趋势,在线评测系统的实现不但能减轻学校及教师工作量,也使得考试更加公平公正。本文阐述采用基于Java技术的B/S软件体系结构在线技能评测设计与实现。
1 Java相关技术介绍及背景知识
1.1 Browser/Server三层体系结构
B/S(Browser/Server)结构即浏览器和服务器结构,在这种结构下,用户工作界面是通过WWW浏览器来实现,它将极少部分事务逻辑放在前端来实现,把主要事务逻辑还是在服务器端来实现,形成所谓三层(3-tier)结构:即用户界面层、业务逻辑层、数据服务层。这种结构具有很多优越性:减轻了客户端机器的负担,使得系统维护升级更加方便,系统的扩展性能增强;如需增加服务,只要在中间层添加代码,用户界面完全可以通过WWW浏览器来实现。由此,这种结构成为当今应用软件的首选体系结构。
1.2 JSP技术概览
JavaServer Pages(JSP)技术是一种动态网页开发技术,使用它来创建和显示动态生成内容的Web页面,简单而快速。JSP技术的工作原理主要是JSP页面使用XML标签和scriptlets(一种使用Java语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML或者XML)直接传递回响应页面。通过这种方式,JSP页面实现了页面逻辑与其设计和显示的分离。
JSP技术是Java系列技术的一部分。JSP页面被编译成 servlets,并可能调用JavaBeans组件(beans)或Enterprise JavaBeans组件(企业beans),以便在服务器端处理。因此,JSP技术在构建可升级的基于Web的应用程序时发挥了重要作用。
2 系统需求分析
2.1 系统的功能需求
在线技能测评系统着眼于学校信息管理工作的需求,针对教学过程中存在的考试评卷工作繁重易出错,学生查询试卷难等问题,要求能够实现教师编制试题、组卷、组织考试、系统自动评卷,以及学生注册、参加考试等考试工作的基本功能。
用户尝试进入系统时应进行身份验证。只有注册用户(包括学生、教师)才能够登录系统,得到系统服务。不同角色的用户成功登录系统后,可以根据自身需要选择相应的服务内容。系统的服务对象有三种:学生用户、教师用户、系统管理员。其中:
学生,其服务的主要内容包括:注册登录,修改个人资料,在线技能自测(题目来源于系统自带的试题库),参加教师招考(题目来源于教师自建的试题库),查询考试结果和历史成绩。
教师,其服务的主要内容有:注册登录、修改个人资料、自建题库管理、试卷管理(手工组卷,自动组卷)、考试管理(考试计划管理,在线考场管理,查看考试结果,查阅考生信息)。
系统管理员,其服务的主要内容有:系统监控,当前系统注册用户统计、系统题库统计、考试情况统计等。
2.2 多媒体试题部分的需求
系统的试题类型包括是非题、选择题(单选和多选)、填空题、问答题。每种题型的题干或选项中都是文字内容,没有图片信息和流媒体信息。作为新增需求,多媒体试题要求展现给考生的试题内容能够“图文并茂”,在文字内容的基础上,能够在题干或选项中呈现图片或者播放流媒体。这样一来,试题的考察方式会更灵活,角度更多维化,同时也激发考生的参与热情。
如此便要求教师用户在自建题库的过程中,能够编辑多媒体试题的内容,在各种类型的题目中,能够轻松自如的添加图片和流媒体信息。
3 系统总体设计
3.1 系统运行环境架构设计
通过功能需求分析,我们知道,利用JSP技术开发的在线技能测评系统,应具有用户注册、多用户同时在线考试,动态随机生成试卷、考试时间控制、自动判卷、题库维护、试卷查询管理等功能。对于多媒体试题的相关需求,系统需要具备多媒体文件上传,流媒体试题保存与播放等功能。综合考虑,按照“三层结构”(用户层、应用层和数据层)来实施架构。
3.2 系统软件结构设计
按照MVC架构的软件设计思想,由Servlet和部分JSP作为Controller,负责接收页面的请求,并根据请求分派给适合的JSP网页;由JavaBean作为Model,负责业务逻辑部分;部分JSP作为View,仍负责将所要显示的内容送到客户端。
3.3 系统功能模块设计
3.3.1 学生用户功能模块设计
按照需求分析,学生用户的功能模块设计如图1所示。
3.3.2 教师用户功能模块设计
按照需求分析,教师用户的功能模块设计如图2所示。
3.4 数据库设计
3.4.1 数据库(Database)设计
根据在线技能测评系统的需求分析结果和系统功能概要设计,考虑到系统需要利用外部存储进行持久化存取的部分信息内容,我们可以将系统中所涉及到的数据模型按照功能分为如下几类,每一类数据模型在物理设计时都认为是一个关系数据库。
①基本信息库:存放与考试相关的公共信息。如考试科目分类信息,测试的方向信息等。
②教师信息库:存放教师的注册资料,自动组卷规则,考试计划、在线考试情况等。
③学生信息库:存放学生的注册资料,参加考试的历史成绩,个性化定制科目等
④试题库:存放系统题库中的题目[和教师自建的试题,按照题型的不同对表进行分类,是非题表、选择题表、填空题表、问答题表等。
⑤系统管理信息库:存放系统管理员的帐号信息以及系统配置运行的参数。
3.4.2 表(Table)结构设计
在线技能测评系统的需要用到的数据库和表相当多,本文限于篇幅,只对该系统中的核心数据——试题内容信息库的表结构设计做一详细说明。其中,各种题型具有以下数据需求:
是非题、填空题、问答题:题干中可以包含0~1张图片,0~1个流媒体。
选择题(分为单选和多选):题干中可以包含0~1张图片,0~1个流媒体。
选项最大数量为8个,且内容类型必须统一,全为文本、图片或流媒体。
4 结语
总之,基于JSP技术的在线技能评测系统开发,实现了学校对考试评测功能需求,不过在详细设计中还要进行类的设计和Web层的设计,限于篇幅原因不再赘述。
参考文献
[1]刘志成.《Java程序设计方法与实例》[J].人民邮电出版社,2010-08.
[2]雷林海.基于Java在线考试系统的功能设计[J].太原师范学院学报(自然科学版),2009(01).
[3]徐广龙,殷文雄.在线考试系统的设计与实现[J].电脑编程技巧与维护,2014(10).
[4]邓勤.高职院校学生技能评测系统的设计与实现[D].电子科技大学,2015.