APP下载

大学设计类课程上机考试系统的设计与实现

2024-12-01张玉东

电脑知识与技术 2024年32期

摘要:为实现大学设计类课程上机考试流程自动化,文章设计并实现了一套基于B/S模式的考试系统。系统主要功能包括学生登录检查、随机抽题、自动组卷及在线提交考试成果。文章详细介绍了系统的设计、配置和使用方法。系统的优势在于提高教师工作效率,便于学生使用,并能有效防止考生作弊。

关键词:设计类课程;上机考试;B/S模式

中图分类号:G647;TP399 文献标识码:A

文章编号:1009-3044(2024)32-0041-03 开放科学(资源服务)标识码(OSID) :

0 引言

当前江苏师范大学某些实践类课程的上机考试仍采用传统方式,教师打印纸质试卷并用U盘拷贝电子文件。这种考试方式的弊端显而易见:执行效率低,教师工作量大,难以防止学生作弊。

网上也能找到很多类似的考试系统,如操心慧、温智聪等[1]设计的考试系统,其重点题型为选择题;黄芳、王纪鑫等[2]设计的考试系统,其功能以试卷管理与分析为主;宗垚[3]设计的考试系统,其主要适用场景为文科类考试。而江苏师范大学某些实践类课程的上机考试要求是:题型上仅有设计类大题,无客观题;考试时须方便学生现场抽题和组卷,对题库管理和试卷分析无要求(由教师线下完成);生成的试卷格式有特定规范。显然上述系统均无法满足这些要求。本文的目的是设计一个符合上述要求的上机考试系统。

1 系统需求分析

1.1 功能需求

1.1.1 学生端

1) 学生可在教室随机选取座位登录系统;系统须检查学生的身份和座位号是否合法,允许合法用户登录,对不合法输入给出反馈信息。

2) 系统能按照事先设定的比例在不同难度等级的题库中随机抽取试题,并使邻位学生抽到的试题完全无重复。

3) 一键生成符合学校教务规范的标准化试卷。

4) 一键下载试卷。学生因电脑死机等原因调整座位后,须重新抽题和组卷,避免学生作弊。

5) 学生线下考试结束后可一键提交考试成果至服务器。

1.1.2 教师端

1) 教师线下出题(设计类上机考试只有大题,无客观题),每个题目保存为一个Word文档,并按预先设置的难度级别分类。

2) 考试结束后,教师线下完成试卷批改。

1.2 系统体系结构

基于以上需求,设计以下系统体系结构,如图1 所示。

1.2.1 系统实现模式

系统基于B/S模式实现。B/S模式的优点是实施简单,仅须在教师机上完成软件安装与配置。学生通过浏览器与Web服务器交互,完成身份验证、抽题、组卷以及交卷等考试流程。

1.2.2 数据访问技术

在服务器端使用SQL Server管理学生信息和抽题数据,使用DCOM组件访问Word文档。

2 系统设计

2.1 业务流程设计

系统的主流程和登录处理子流程见图2、图3。

2.1.1 抽题模块设计

本考试系统的题库共包含16个题目,试题难度分3级:1~4题为难度1级,5~12题为难度2级,13~16 题为难度3级。抽题时,从第1级题目中随机抽取1个小题,从第2级题目中随机抽取2个小题,从第3级题目中随机抽取1个小题,共4个小题组成一份试卷。每位同学抽到的题目与左、右邻位同学抽到的每个试题均不重复。

2.1.2 组卷模块设计

第一步,每个题目以Word文档格式保存,将最后一个抽到的题目以数据流的形式写入新生成的试卷文件,并添加文件结束符;第二步,通过Word组件(Mi⁃crosoft.Office.Interop.Word) 打开上述文件,添加试卷头;第三步,将剩余题目先编写成“串”,然后依次插入试卷。生成的试卷自动存放到paper文件夹。

2.2 数据库设计

使用关系数据库进行数据库设计。本系统使用的管理数据只有一张组卷表,其关系模式见表1,其结构如表2所示。

3 系统实现

使用级联式样单(CSS) 控制用户界面控件的精确显示,使用C#.NET编程语言、SQL Server数据库引擎和DCOM组件实现软件逻辑功能。

3.1 数据库交互主要实现

String connStr = @"Data Source= .; AttachDbFile⁃name=" + sitePath + @"\TEST2008ID.MDF;Integrated Security=True"; //SQL Server文件数据源

conn = new SqlConnection(connStr); //建立连接对象

conn.Open(); //打开连接

string selectStr = "select * from 组卷表 where 学号=\'" + studentID + "\'";

command = new SqlCommand(selectStr, conn); //建立查询对象

dr = command.ExecuteReader(); //执行查询

dr.Read(); //读取数据

3.2 Word 文档交互主要实现

fs1 = new FileStream(fname1, FileMode.Create);//建立试卷文件

bw = new BinaryWriter(fs1); //建立试卷文件写入流

fs2 = new FileStream(fname2, FileMode.Open, File⁃Access.Read); //打开末题(第4题)对应的Word文档

br = new BinaryReader(fs2); //建立试题文件读入流

br.BaseStream.Seek(0, SeekOrigin.Begin); //确定文件读写位置,从开始偏移0处

while (br. BaseStream. Position < br. BaseStream.Length) //以流的方式读取试题并写入试卷

{ data = br.ReadByte(); bw.Write(data); }

抽题、组卷以及系统完整的实现代码请参考作者登记的软著——面向对象程序设计上机考试系统V1.0[4]。

4 系统安装与使用

4.1 运行环境安装与配置

4.1.1 硬件环境

电脑内存2GB及以上,CPU为酷睿3代及以上。

4.1.2 软件环境

1) 安装Windows 7专业版及以上版本操作系统。

2) 安装SQL Server 2008或以上版本,设置为Win⁃dows登录模式。

3) 安装Word 2013及以上版本办公软件。

4) 安装IIS应用服务器,在万维网服务-应用程序开发功能中,勾选ASP.NET 4.8。

5) 在IIS上新建站点TestSiteA(程序中要用到该名称),并映射到网站文件夹D:\webTest,绑定到本机IP地址,端口号为81(注意避免与其他软件端口号冲突);关闭防火墙,或在入站规则中开放81端口。

6) 在数据库文件属性对话框的安全页中配置当前Windows登录账户,并设置完全权限,否则将导致附加数据库失败。

7) 在CMD窗口中运行dcomcnfg.exe,打开组件服务对话框,配置当前用户和登录密码,否则将无法访问Word组件。

4.2 系统使用

4.2.1 教师端

教师线下出题,将题目保存在网站questions文件夹中,每个题目保存为一个Word文档,并按难度分级。考试结束后,教师线下打开应用软件,在submitted文件夹中查看学生提交的考试成果,完成试卷批改。

4.2.2 学生端

学生首先打开浏览器,访问考试站点:http://?:81/ (注:运行时将?替换为实际IP) ,如图4所示。

然后依次执行考试流程,各步骤运行结果如图5 所示,生成的标准化试卷格式如图6所示。

5 结束语

综上所述,该上机考试系统易于安装与配置,便于学生操作,提高了教师的工作效率和考试自动化管理水平,对学校教务信息化建设与改革具有重4f7586a976cf4f25e0b399803ccc1bbee93e49381a4a51c4354727dc82c86098要积极意义。

然而,该系统仍存在一些不足,如抽题算法较为简单。若题库较大,为提高组卷效率与质量,可采用王旭等人[5]提出的优化算法或张方方[6]的智能算法进行抽题。展望未来,为适应学校和教师对上机考试的更多要求,该系统可向多个方面拓展,如增加题库管理功能和学生管理功能。特别是随着AI技术的发展,可考虑在系统中融入自动评分和学生答卷分析功能。

参考文献:

[1] 操心慧,温智聪.基于JavaWeb的线上考试系统的设计与实现[J].现代计算机,2023,29(24):90-96.

[2] 黄芳,王纪鑫. 基于Web 的网络考试系统设计与实现[C]//2022年中国高校计算机教育大会论文集.广州:华南理工大学出版社,2022:72-77.

[3] 宗垚.基于B/S结构的网络考试系统设计与实现[D].哈尔滨: 黑龙江大学,2019.

[4] 江苏师范大学.面向对象程序设计上机考试系统V1.0[CP/OL].2024-08-01[2024-08-29].国家版权局,2024SR1104448.

[5] 王旭,吴志雄,周子勋.基于B/S模式下的优化遗传算法的自动组卷系统设计与实现[J].电子制作,2023,31(4):57-60.

[6] 张方方.基于改进鱼群算法的在线考试系统设计与实现[D]. 北京:北京邮电大学,2024.

【通联编辑:谢媛媛】