基于数据库的数据挖掘实验平台设计与实现

2023-08-28 03:07李梦雪
科技创新与应用 2023年24期
关键词:实验报告数据流代码

李梦雪,宋 艳,2*

(1.上海外国语大学 人工智能数据工程中心,上海 201620;2.上海外国语大学 国际工商管理学院,上海 201620)

近年来,随着人工智能、大数据、云存储等相关技术的蓬勃发展,各个领域都产生海量的数据,如社交网络数据、金融统计数据及企业工商数据等。然而,海量数据中往往蕴藏着具有宝贵价值的信息,可以为舆情分析、商业决策及预警监控等给予重要且有效的数据支持和决策参考。在此环境下,数据挖掘作为最常用的数据分析手段在各个领域中得到了广泛的应用[1],同时其也是一门实践性、应用性极强的交叉学科。许多学者认为,数据挖掘课程的教学过程中需要借助网络资源以及信息技术方式,而实践教学是不可或缺的一部分[2-4];同时,还存在课程内容难,学生学习兴趣不高以及实验模式单一的问题[5]。在线实验教学作为一种全新的开放式实验教学模式,可以很好地弥补传统实验室在经费、场地、设备及开放性等方面的限制[6]。对比传统教学模式,线上实验平台的建立可以填充课程实践教学的空白,极大地便利师生间交流,提高效率。同时,教师引导式学习,有助于激发学生学习兴趣,促进学生主动学习、自主学习,还可根据学生对课程知识点的理解程度定制实验,满足个性化发展需要,实现因材施教。本文设计的数据挖掘在线实验平台,在浏览器输入网址登录后即可使用,可以实现学生自主实验、完成课程任务、提交报告及共享交流等功能,满足教师管理学生、课程实验资源以及报告评阅等需求。

1 需求分析

该平台的设计目标是搭建一个操作方便、响应友好以及拥有可视化展示的实验平台。课程实验平台的主要使用用户是教授课程的老师和学习课程的学生。所以,将平台的用户角色划分为教师和学生。平台是基于浏览器/客户端模式,考虑到用户账号信息安全,需要在用户登录时进行登录认证,对角色进行权限控制。

从学生角度来看,基本需求应包含实验学习、实验提问、交流共享、提交报告和历史记录等。学生进入系统后,如果教师已经发布实验任务则可以进入该任务进行学习,在学习过程中遇到问题可以在指定窗口中提问;根据实验要求编写代码并执行,补全实验报告并提交;还可以使用共享功能,上传有意义的代码或数据集到系统。如果教师没有发布实验,学生可以选择自主实验,根据自身需求进行代码的编写及执行。其中,每次代码执行的结果都会保存在历史记录中,可以随时查看。

从教师的角度来看,基本需求应包含实验检索、实验创建、实验授权、实验问答、报告评阅、共享监控及用户管理。教师登录系统后的操作主要包含检索实验资源,若有满足课程建设的资源则授权到指定班级,否则新增实验资源后再授权,只有成功授权给班级,该班学生才能进行实验学习;回答学生的提问;对已经提交的实验报告打分;监控学生上传共享资源的有效性,从而审批是否通过检验。只有通过检验的资源才会开放给所有学生使用。此外,还有管理个人、班级和学生相关信息的操作,包括修改密码,添加班级、学生,密码重置以及账号的启用与禁用等。

基于以上需求分析绘制系统功能结构图,如图1所示。

图1 系统功能结构图

2 数据流图

数据流图是一种常用的图形化建模技术,描绘数据流从输入移动到输出的过程中所受的变换[7]。数据流图涉及数据源/终点、加工、数据存储及数据流4 种元素,表现形式依次为矩形框、圆角矩形、开口矩形及箭头。基于以上需求分析,分别绘制用户登录、实验管理、在线实验、实验报告填写、实验报告评阅、共享数据以及用户管理的数据流图并对其进行相应描述。

2.1 用户登录

用户登录过程中需要请求用户表进行验证,只有与用户表中信息一致的用户才能验证成功。成功之后,请求角色权限表,根据用户角色反馈系统功能界面。系统中的角色为教师和学生。该功能对应数据流图如图2 所示。

图2 用户登录数据流图

2.2 实验管理

教师请求系统实验资源或者根据课程要求新增实验,将实验授权给指定班级,只有获得授权的班级学生才可以进行相应实验的学习。其中,授权记录会存储在班级授权表中,若新增实验,其明细会存储在实验明细表中,实验涉及的非结构化数据保存在系统指定位置。该功能对应数据流图如图3 所示。

图3 实验管理数据流图

2.3 在线实验

学生在实验模块中可以看到教师发布的所有实验列表,选择相应实验进行代码学习,可以查看实验目的、任务,学习示例代码,学习结束后开始在线实验,在线根据实验任务编写代码并运行调试。如果学生实验列表中没有找到教师授权的实验,可以选择自主实验进行代码编写运行。并且,在实验过程中,学生可以随时提问,输入问题提交后,则反馈到教师界面由教师解答,问答情况存储在问答表中。其中,所有执行过的代码以及产生的结果,会以文件的形式保存在系统指定的位置并将其路径信息存储在历史记录表中,学生也可以随时查看历史代码以及运行结果。该功能对应数据流图如图4 所示。

图4 在线实验数据流图

2.4 实验报告填写

学生确认并下载符合实验要求的代码及其产生的结果,在我的考核模块中,选择实验任务并补充实验过程、实验心得、实验输出以及代码和结果附件,预览实验报告,确认无误后提交。注意,报告一经提交就不能修改,只有在未提交之前可以进行修改,每次修改的记录都会保存在实验报告表中。该功能对应数据流图如图5 所示。

图5 实验报告填写数据流图

2.5 实验报告评阅

教师请求查看学生实验报告提交情况,系统查询实验报告表,将结果反馈到教师界面,教师只能看到已经提交的报告。教师根据学生提交报告情况进行评阅打分,分数会被更新在实验报告表中。教师完成打分后,学生在我的考核对应实验模块请求查看该实验报告表则会看到分数。该功能对应数据流图如图6 所示。

图6 实验报告评阅数据流图

2.6 共享数据

学生将本地磁盘中有学习或使用价值的数据集、代码上传到系统中,该文件会被保存在系统非结构化数据的指定位置,相关信息会被存储在共享记录表中。教师请求查看共享表,监控学生共享数据的质量,根据监控情况,更新共享数据表,只有表中标识为通过的共享记录对应文件才能被所有学生使用。学生通过请求共享表查看系统中现有的共享资源,以及自身共享数据的审核情况。该功能对应数据流图如图7 所示。

图7 共享数据数据流图

2.7 用户管理

用户向系统请求用户信息,系统反馈其账号信息,可以更改密码,更新用户表。用户角色为教师时,可以管理其名下班级中所有学生的账号信息,实现密码重置、添加学生、账号禁启用等功能。该功能对应数据流图如图8 所示。

图8 用户管理数据流图

3 概念模型设计

系统在经历过需求分析阶段后,将进入概念模型设计阶段。该阶段通过总结、归纳以及抽象用户需求,产生一个实体-联系图,也就是E-R 图。E-R 图是一种描述现实世界的概念模型,提供了表示联系、实体类型和属性(元素)的方法[8]。平台的全局E-R 图,如图9 所示。矩形框表示实体,菱形框表示实体的联系,联系两端上的数字则表示实体间的联系,实体间有一对一、一对多、多对多3 种联系,分别用1∶1、1∶n、n∶m 表示。

图9 课程实验平台全局E-R 图

4 逻辑结构设计

逻辑结构设计阶段,是将E-R 图转换为关系模式的过程,关系模式根据实体间的联系类型,进行相应的合并转换。依据概念结构设计得到全局E-R 模型,首先进行初始关系模式的设计,然后对关系模式进行规范化处理,最后进行模式的评价和改进[9]。整理后得到关系模式如下所示。

1)用户(用户编号,用户名,真实姓名,密码,角色编号,班级编号)

2)角色(角色编号,角色名称)

3)权限(权限编号,角色编号)

4)功能(功能编号,功能界面)

5)权限对应功能(权限编号,功能编号)

6)实验明细(实验编号,教师编号,实验名称,实验目标,实验任务,示例代码,创建时间)

7)班级(班级编号,教师编号,班级名称)

8)班级实验权限(班级实验编号,班级编号,实验编号)

9)实验报告(实验报告编号,实验编号,学生编号,实验过程,实验结果,心得体会,结果附件,实验代码,报告评分,首次创建时间,提交时间,修改次数)

10)问答记录(问答编号,学生编号,问题描述,回答情况,提问时间,回答时间)

11)共享记录(共享编号,学生编号,共享描述,审批情况,共享文件,文件类型,下载次数,共享时间)

12)历史记录(历史编号,学生编号,实验编号,历史代码,历史结果,创建时间)

13)问答情况(问答编号,教师编号,班级编号)

14)共享监控(共享编号,教师编号,班级编号)

15)审阅实验报告(实验报告编号,教师编号,班级编号)

5 数据表设计

基于以上关系模式和系统需求,设计数据库管理系统中数据表,分别为用户表、角色表、功能表、角色权限对照表、实验明细表、实验报告表、班级表、班级实验对照表、问答记录表、共享记录表以及历史记录表,共11 张表。数据表遵循数据库命名规范,数据库表基本情况见表1,包含表字段数、对应主键以及外键。

表1 数据库表基本情况

6 系统实现

B/S 架构(Browser/Server,即浏览器/服务器架构),以TCP/IP 协议为基础,是一种符合网络化、信息化发展的设计架构[10]。系统使用Idea 作为开发工具,基于B/S 架构实现,利用http 请求服务器,使得用户只需要通过浏览器访问网址,即可反馈登录入口,通过登录验证后,服务器根据用户提交的请求执行相应的功能并将结果反馈到用户的前端界面中。

平台主要划分为实验模块、共享模块、实验问答和考核模块4 部分,根据登录系统的用户角色显示其相应功能。平台登录界面如图10(a)所示。学生登录后功能栏目如图10(b)所示,可查看实验室规则,在实验模块栏目中完成实验任务以及进行自主实验;在共享模块中,可上传或查看共享资源以及共享记录的审核情况,实验问答中再次提问以及查看问答情况;在我的考核栏目中提交实验报告以及查看打分情况,在历史代码中查看或下载执行过的代码和结果。教师登录后功能栏目如图10(c)所示,在实验模块栏目中检索实验、创建实验、上传实验资源以及授权实验;在上传监控栏目中检验学生共享资源的有效性;在实验答疑模块中回答学生提问;在作业评阅模块中给学生实验报告打分,统计学生报告提交以及审批情况;在学生管理栏目中新增班级,管理学生账号。

图10 数据挖掘课程实验平台界面

7 结束语

随着社会迭代,新形势下的高校教育工作更应紧跟时代发展,通过将现代科技与教育教学相结合,可以为学生提供更加优质的学习资源与渠道,激发学生学习主动性,提高教学质量。本文借助Idea 开发工具,遵循B/S 架构,使用了LayUI、jQuery、Spring boot 等多种技术开发了数据挖掘在线实验平台。系统实现基于教师和学生两大需求用户,使学生在利用该平台时不用额外配置开发环境即可完成在线编码实验,同时可在线与同学或教师实时交流以及提交实验报告,并让教师可以专心于实验课程的设计和引导学生学习,在线即可完成实验的创建发布、实验报告审阅及实验资源和学生管理。数据挖掘在线实验平台的开发为师生提供一个在线实验与交流的学习平台,不受时间与空间的限制,为学生主动学习营造了良好环境,同时也为教师教学工作提供助力。

猜你喜欢
实验报告数据流代码
汽车维修数据流基础(下)
实验报告
创世代码
创世代码
创世代码
创世代码
一种提高TCP与UDP数据流公平性的拥塞控制机制
数据挖掘算法对于提高实验报告质量的作用探讨
基于数据流聚类的多目标跟踪算法
生物化学检验实验报告书写综述