张永恒,艾晓燕,刘红霞
(榆林学院信息工程学院,陕西榆林719000)
摘要:为满足计算机课程实验教学需要,改善上机实验效果,提高学生实验课时间利用率,减轻教师指导学生实验的工作强度,设计了基于Web 的上机实验CAI系统。分析了系统的功能模块,设计了系统的数据模型和功能结构,并基于J2EE技术SSH框架(Struts + Spring + Hibernate)实现系统。应用结果表明,该方案便于教师下发实验任务,实现在线指导和作业统计,便于学生查看实验任务并提交实验报告,能有效提高计算机课程的上机实验教学质量和指导效率。
教育期刊网 http://www.jyqkw.com
关键词 :CAI;J2EE;上机实验;SSH
中图分类号:TN915.02?34;TP391 文献标识码:A 文章编号:1004?373X(2015)15?0129?04
收稿日期:2015?02?02
基金项目:陕西省教育厅高等教育改革研究重点项目(13BZ54);陕西省教育科学“ 十二五”规划2014 立项项目(SGH140821);榆林学院教改项目(JG1320)
0 引言
上机实验是培养学生实际动手操作能力的重要环节,在计算机课程的实验教学中,教师们普遍使用多媒体电子教室软件进行辅助教学。教师在实验课上首先通过多媒体电子教室软件下发实验题目或作业,并进行一定的示范,然后让学生按照实验辅导书操作,在实验过程中教师指导学生,并且往往要重复某些相雷同的解释,学生在下课时通过多媒体电子教室软件要提交实验作业,上机实验课全部环节一般都必须在不到两小时的时间内完成,这一方面加大了教师的工作量,提高了工作难度,另一方面,对于学生来说,诸如熟悉实验、等待指导、交作业、填写完成实验报告等挤占了宝贵的上机时间[1]。随着学校的发展、招生人数的增加,本校各个机房上机人数往往超过80人,最多的近120人,此时还使用这种管理方式已经不能满足教学需要。
目前,国内外关于计算机CAI系统的研究应用主要有三类:即基于实验室的实验辅助系统,基于计算机类课程的实验学习支持系统,基于课程辅助教学的多媒体电子教室软件。其中,基于实验室的实验辅助系统以实验室为研究对象,主要目标是实现实验室的有效使用,关心的是实验时间和地点的安排、实验室的使用效率和如何提高等[2];基于计算机类课程的实验学习支持系统以学生为中心,主要目标是帮助学生进行某一门计算机类课程的实验,关心的是如何对学生实验过程进行支持与帮助,促进学生独立学习并完成实验任务[3];多媒体电子教室软件对实验教学的支持手段较为缺乏,而且基于C/S结构的限制其一般仅能在机房使用。总之,这些实验教学辅助系统对实验教学过程及管理的支持考虑较少。为有效提高学生上机时间的利用率,提高教师实验教学管理效率,减轻教师的工作负担,需要开发一个基于Web的计算机课程上机实验CAI系统,解决多媒体电子教室软件辅助实验教学的不足,实现实验过程的系统化、网络化管理。一方面可以解决课堂效率低下及时间不足的缺点,另一方面可以在服务器上客观记载实验过程,并实现实验结果数据的长期保存,为进一步进行统计分析和计算机自动阅卷提供基础数据,并且使实验拓展至校园网,而不再局限于某一实验室,为教师和学生的使用提供方便。
本文根据对计算机课程上机实验过程和现有教学辅助软件的深入理解,结合本校实际情况,改进了多媒体电子教室软件辅助教学方法的不足,应用先进的设计理念和开发技术,介绍了基于B/S结构的上机实验辅助教学系统框架结构设计,以及采用Java轻量级框架技术进行功能实现的关键技术。构建的计算机课程上机实验CAI系统,既能满足师生实验教学业务的当前需求,又着眼于未来其他课程辅助上机实验业务的需要,同时也能满足实验教学管理的进一步扩展需求。
1 系统的主要功能模块分析
1.1 系统总体功能分析
本CAI系统由基础信息管理、实验任务管理、实验报告管理及实验成绩管理4个子系统构成。基础信息管理用于设置学生、教师、课程、专业班级等相应的基本信息;实验任务管理用于教师填写实验内容和要求、上传实验素材文件以及发布实验题目、网上答疑等业务需求;实验报告管理是实现对学生上传实验结果文件的管理、提交实验报告的管理、教师对实验结果检验的管理、教师评判实验报告等业务的管理;而实验成绩管理则是对实验成绩的查询、统计分析与导出。系统实现的具体功能如图1所示。
1.2 系统的业务流程
在上机实验教学活动中,主要的角色是教师和学生,各项业务活动都围绕着教师和学生这两个主体进行,此外,上机实验辅助系统还有管理员这一角色,这些角色在登录后分别进入不同的界面具有不同的操作功能。教师登录后可修改基本信息、定制和下发实验任务、上传实验素材文件、批改和查看实验报告、评定和查看实验成绩、回答学生问题、实验成绩分析和导出等。管理员成功登录后能够初始化教师、学生、专业班级和课程的信息。学生登录后可修改自身信息、查看实验任务、向老师提问、查看老师回答、完成实验后上传实验成果文件、提交实验报告、查看实验批语和实验成绩等。
根据以上流程分析,进行系统的主要用例图设计,用例图主要的角色(Actor)包括教师、学生和管理员,教师用例图如图2所示,学生用例图如图3所示,系统管理员用例图如图4所示。
2 系统功能结构设计
2.1 系统的架构设计
上机实验CAI系统采用B/S开发模式,系统架构基于J2EE技术体系设计,将系统划分为表现层、业务逻辑层和数据层,并从有效提高系统的开放性、可维护性出发,严格遵循MVC设计模式,将中间层细化设计为业务层、DAO层和持久化对象层。CAI系统架构模型如图5所示。
其中,表现层(Web层)采用Struts2框架,MVC的控制器既不参与业务逻辑的实现,也不允许对持久层访问,从而构造一个层次清晰、可读性较好的表现层。持久化对象层采用Hibernate 框架将关系数据库的数据(实体)映射成对象,从而以面向对象的方式操作数据库[4]。系统通过采用Spring框架技术无缝整合Web层、业务逻辑层、DAO层以及持久化对象层,其作用贯穿于整个中间层[5]。
2.2 系统的数据模型设计
系统的业务实体用于实现不同层之间的数据交互和传递,其在数据库中表现为关系数据。通过分析,上机实验CAI系统应用中涉及到的业务实体共有14 个,具体为教师信息实体、实验任务实体、实验素材实体、学生信息实体、课程信息实体、实验问题实体、问题回答实体、实验报告实体、实验成绩实体、实验批语实体、实验作品实体、实验日志实体、专业班级实体、管理员用户实体等。下面介绍主要的实体模型含义。
(1)学生:主要属性有学号、姓名、专业班级编号、访问密码、电子邮件、QQ号码、联系电话等。
(2)教师:主要属性有教师编号、教师姓名、密码、电子邮件、联系地址、联系电话等。
(3)管理员用户:主要属性有管理员用户名、管理员密码。
(4)课程:主要属性有课程编号、课程名称等。
(5)专业班级:主要属性有专业班级编号(取自学号前6位)、所属院系、上机课程编号等。
(6)实验任务:主要属性有实验编号、实验类型(分验证性、设计性、综合性)、实验难度、所属课程、实验标题、实验知识点、实验目的、实验内容、实验教师、实验专业班级、发布时间、实验素材编号等。
(7)实验素材:主要属性有实验素材编号、文件存储路径、所属实验任务。
(8)问题:主要属性有问题编号、学号、问题主题、标题、内容、提问时间、回答编号等。
(9)问题回答:主要属性有回答编号、问题编号、教师编号、回答内容、回答时间等。
(10)实验报告:主要属性有实验报告编号、实验任务编号、学号、所属专业班级、实验结果文档名称、实验总结、提交时间等。
(11)实验评语:主要属性有教师编号、实验评语、批阅时间、实验报告编号等。
(12)实验成绩:主要属性有实验报告编号、实验作品编号、学号、成绩。
(13)实验日志:记载实验监控信息,主要属性有学号、课程号、计算机IP 地址、访问时间、保存时间、提交时间、实验报告编号等。
(14)实验作品:主要属性有实验作品编号、学号、实验报告编号、文件存储路径等。
3 系统实现关键技术
3.1 业务系统实现
依据上述设计,上机实验CAI系统遵循面向接口编程的原则并应用自底向上的开发方法,即由数据层开始依次向上开发,其实现的核心关键为中间层,中间层的开发应用了Spring + Hibernate框架。
(1)实现数据库服务层:通过MySQL数据库完成数据的存储和组织、数据库的分布式管理、数据库的备份和同步等。
(2)实现持久化对象层:将关系型数据库的数据映射成对象,采用Hibernate框架实现O/R Mapping[6]。
(3)实现DAO 层(数据访问层),包含DAO 的接口类与DAO的实现类,负责与持久化对象交互,封装数据的“增删改查”操作[7]。
(4)实现业务逻辑层:通过对DAO 对象进行正面模式的封装并实现具体的业务逻辑[8]。业务逻辑层进一步划分为业务逻辑接口类、业务逻辑实现类两类。
业务逻辑组件的实现类必须依赖DAO接口类提供DAO方法。DAO组件由Spring容器注入,因此在业务逻辑层中需要定义依赖注入的DAO 组件所必须的setter方法[9]。
(5)实现Web 层:采用Struts2 框架实现MVC 模式里的“控制器”,完成业务逻辑层与表示层之间的信息交互,通过对业务逻辑层的调用,将得到的业务数据信息返回给表现层进行显示。
(6)实现:采用标准的JSP技术,并结合Struts2标签库实现。
3.2 用户合法性访问控制
SSH 框架中对用户合法性访问的控制一般通过Spring 的Action 来实现,即需要继承Spring 的Action 基类并且重新构造其execute方法,在execute方法中再调用业务逻辑组件的具体业务方法[10]。在上机实验CAI系统中,由于每一个Action都需要调用业务逻辑组件,因此可以构造一个工厂类ManagermnetFactory,将业务逻辑组件进行统一封装,并且使得每一个Action都派生自Basi?cAction基类。实现BasicAction基类的关键代码[11]如下:
public class BasicAction extends Action {
//定义工厂类属性,面向接口编程
protected ManagermentFactory managermentfactory;
//依赖注入业务逻辑组件必需的setter方法
public void setmanagermentfactory(ManagermentFactory mag){this.managermentfactory = mag;}
public ActionForward execute(ActionMapping mapping,Ac?tionForm form,HttpServletRequest request,HttpServletResponse re?sponse)throws Exception
{return super.execute(mapping,form,request,response);}}
在上机实验CAI系统中,由于绝大多数模块都需要判断用户是否已经登录系统,为了验证用户访问的合法性,设计了一个公用的安全控制基类SecureAction,该基类为每个需要进行登录验证的Action 服务[11?12]。在SecureAction类中定义了一个检验用户是否已经登录的方法execute,该方法的逻辑是:如果用户没有登录,就将用户重定向至登录页面,如果用户已经登录则调用该SecureAction类中的另一个方法toExecute。toExecute属于抽象方法,和一般的Action 类中的execute 方法有些类似,而且参数也完全相同,SecureAction的实现类则实现toExecute方法,不再需要调用执行execute方法。
4 结论
上机实验CAI 系统基于J2EE 平台设计并开发,实现了用户登录、实验任务发布模块、实验报告生成模块、实验评价模块、在线答疑模块、实验成绩分析输出模块等。目前该系统已经通过了测试,并在部分课程的实验教学中使用,学生在校园网环境中通过使用该系统,可在实验前查询实验任务,进行实验任务预研并与教师互动交流,有效地提高了上机实验效率,并实现了实验成果和实验报告的电子化保存;教师通过使用该系统减轻了工作负担,有效地提高了实验指导工作效率,提升了实验教学管理的信息化水平。
教育期刊网 http://www.jyqkw.com
参考文献
[1] 李慧.高校计算机实验教学辅助系统的研究[J].科技致富向导,2014(18):99?100.
[2] 王华秀.实验教学管理系统的设计与实现[J].电子制作,2014(6):273?274.
[3] 陈瑜.基于B/S 构架的在线实验教学管理系统的设计与实现[D].杭州:浙江工业大学,2013.
[4] 周志平.基于MVC架构实验教学系统的研究与实现[D].南京:南京理工大学,2013.
[5] 卢磊,张峰.基于J2EE 的高校资产管理系统的设计与实现[J].电子设计工程,2011(2):92?95.
[6] SU Lipi,NOLAN M,DEMARE G,et al. Prognostics frame work software design tool [C]// 2000 IEEE Proceedings of Aero?space Conference. Big Sky:IEEE,2000:9?13.
[7] 张永恒,张峰,吴敏宁,等.基于移动互联平台的马铃薯生产管理专家系统设计与实现[J].电子设计工程,2013(21):11?14.
[8] 张永恒.基于SSH 架构的无纸化考试在线考试系统的设计与实现[J].榆林学院学报,2012(4):61?62.
[9] ZHANG X J. System integration in business information sys?tems:framework,implementation and case study [C]// 2008IEEE International Conference on Wireless Communications,Networking and Mobile Computing. [S.l.]:IEEE,2008:468?474.
[10] 庄科君,贺宝勋.基于云计算的高校计算机实验教学系统设计研究[J].电脑知识与技术,2013(2):306?309.
[11] 赵小平,薛惠锋.基于Seam的企业客户服务平台设计与实现[J].电子设计工程,2012(20):10?12.
[12] 张伟.高校计算机实验教学辅助系统的研究与实现[J].信息与电脑:理论版,2012(1):180?181.
作者简介:张永恒(1968—),男,陕西榆林人,硕士,副教授。研究方向为物联网应用技术、搜索引擎与大数据。