计算机组成原理虚拟学习平台的设计与实现
2021-04-13郑磊沈家东
郑磊 沈家东
摘要:介绍虚拟学习平台的实现过程,系统采用Unity3D为主引擎,以UGUI为核心建立整个界面,Tomcat为服务器,MySQL为系统后台数据库,C#为主要开发语言,使用PHP链接Unity3D及服务器。该系统的应用可以帮助学生掌握计算机系统的硬件组成,理解计算机各功能部件的工作过程及原理,在高校硬件类课程的教学过程中发挥着重要的作用。
关键词:计算机组成原理;虚拟学习平台;Unity3D;MySQL;仿真实验
Abstract: This paper introduces the realization process of virtual learning platform. The system uses Unity3D as the main engine and UGUI as the core to build the whole interface. Tomcat as the server, MySQL as the background database of the system, C# as the main development language, and PHP to link Unity3D and the server. The application of this system can help students master the hardware composition of the computer system, understand the working process and principle of each functional part of the computer, and play an important role in the teaching process of hardware courses in colleges and universities.
Key words:principle of computer composition; virtual learning platform; Unity3D; MySQL; simulation experiments
1 引言
計算机组成原理是计算机专业的核心课程,其主要讲解计算机硬件系统的基本结构,各个功能部件的组成及其工作过程。由于很多知识点抽象且难以理解,并且大多数都具有较高的技术性,因此课程难度较大,其教学内容难以通过课堂讲授和硬件实验被学生理解并掌握[1-3]。然而,学习并掌握计算机的整个工作过程,可以帮助学生形成完整的计算机硬件工作原理模型,建立计算机系统的整机概念。
本文所开发的虚拟学习平台采用Unity3D为主引擎,以UGUI为核心建立整个界面,C#为主要开发语言,服务器为Tomcat,数据库为MySQL,用PHP链接Unity3D及服务器。该系统将理论与实验相结合,不仅能够帮助学生学习计算机组成原理中涉及的电子电路等硬件相关的理论知识,而且还能让学生动手实践,通过虚拟平台实现运算器、主存容量扩充、中断服务等仿真实验。
2 需求分析
2.1 用户对象分析
整个平台的主体用户分为三类:学生、教师及管理员。学生可以通过该平台下载教案;可以进行在线练习、模拟测验来检验自己的学习成果;进行基于该平台的仿真实验来了解线下实验的大致流程;能与教师产生互动以解决自己无法解决的问题。教师可以通过该平台管理教案,以保证学生学习内容的时效性;可以对题库进行更新。管理员可以对其他权限的用户,即学生、教师进行管理。
2.2 系统性能分析
1)可用性:虚拟学习平台应该使用简单,界面清晰,响应迅捷,让初次使用的用户不需要经过培训就能很快理解使用方法。
2)可维护性:虚拟学习平台不需要用户太多信息,但要确保安全,例如在数据库中的部分信息不能用明码表示。此外,平台在部署到服务器后,除了维护者可以给予管理员权限外,要尽量减少维护者对服务器、数据库进行错误修复的次数。
3 系统设计
3.1 功能模块设计
本虚拟学习平台分为三大模块:学生模块、教师模块及管理员模块。学生模块具有课程学习、课后练习、模拟测试、在线实验、留言等功能;教师模块具有教案管理,题库管理,实验管理、留言处理等功能;管理员具有用户管理、公告管理等功能。系统功能流程图如图1所示。
3.2 数据库设计
该系统使用7张数据库表:用户表、章节表、小节表、题库表、留言表、公告表、实验表。其中部分数据库表结构描述如下:
tbl_users表记录用户信息及权限,uid作为主键,rights作为索引,如表1所示。
4 系统实现
在该虚拟平台中,要实现多个模块的不同功能,其中登录注册、公告是公有功能,放在最开始的菜单及各模块的主界面中。紧接着是学生模块、教师模块、管理员模块的依次实现。
4.1 公有模块
4.1.1 登录注册
登录注册界面是进入虚拟学习平台时最先看到的界面。登录时需要递交用户名,用户密码及用户登录权限,注册时递交用户名,用户密码及用户昵称,通过序列化类TempUser和数据库交换信息后根据成功与否进入到相应的模块界面。此序列化类主要用于序列化为Json后发送给服务器或者从服务器获得的Json字符串反序列化为类对象。
4.1.2 主菜单及公告
在对应模块的主菜单界面右边都会显示公告栏,这里根据时间顺序记录最新的公告,用户可以根据公告获得最近的信息。 该界面对应7种功能:左边5个功能模块,右边的公告,以及右上角的返回开始菜单。公告栏使用序列化类TempAnnouncement与数据库通信,在每次进入该界面时通过AnnoucementViewer类初始化信息。
4.2 学生模块
4.2.1 课程学习
在本模块中,学生可以获取每个小节的概览,并下载对应小节的课件。具体界面如图2。
通过点击下载教案,可以从服务器获得相应地址,并根据地址将教案下载到指定位置。其中用到TempChapter、TempSection等序列化类与数据库通信以获得章节、小节信息。若无课件可以下载,则会在“返回”按钮的左边给出提示。由于Unity3D并没有直接打开“选择文件/保存文件”的相关API,“下载教案”功能都是由重载系统的动态链接库来实现的。
4.2.2 课后练习
通过该模块,学生可以选定章节与题目数量,从题库中抽取题目来进行练习。练习完成后可以查看点评来查漏补缺。具体界面如图3。点击“随机生成习题”后,根据章节和题目数量,从题库中抽取题目并展示在左边的板块里,题目对应的序列化类TempQuestion自身提供了题干、答案、点评等所有信息。
4.2.3 模拟测验
通过该模块学生可以检验自己对课程知识点的掌握程度。整个测验默认持续60分钟,总分100分,学生可以自己指定题目数量。可以提前交卷,也可以等时间截止后自动交卷。交卷后可以获得题目点评及最终分数,并可以继续开启新的模拟试题。具体界面如图4。在这里点击“返回”不能直接回到学生主菜单,会出现确认按钮和取消按钮,以避免测验到一半时误操作。
4.2.4 在线实验
通过该模块,学生可以下载实验指导书,并进行在线仿真实验,通过实验,学生可以了解实验过程,为后续进行线下实验积累理论基础和经验。选择指定实验后,进入仿真实验室。点击左边的控件库可以将里面的部件放入右边的实验画布。每个控件都必须有id,画布右上角显示了实验要求,右中是开始运行,右下角是实验结果,若开始运行后实验过程中连线错误,或者在一定时间后指定id的控件输出错误,那会显示错误原因,若成功输出实验成功的数据,则会显示成功。控件可随意拖拽,编辑、删除,仿真实验室如图5所示。
由于是学生本地运行实验,进行一系列逻辑操作,与数据库的通讯仅限于交换多个实验条目,具体实现逻辑都在本地进行解析。在保证控件id一致且链接方向一致时,本模块即可以判断实验成功。譬如如果需要用到寄存器,如果学生不按部就班使用寄存器控件,而是试图串联其他控件组成寄存器来完成实验,也许结果会对,但本模块并不会认为实验最终正确[4-7]。
4.3 教师模块
4.3.1 教案管理
该模块教师可以对课程的每个章节的每个小节内容进行编辑。可编辑的内容是小节的名称、概述。除此以外,还可以通过该界面上传课件。当一个小节被删除时,对应课件也会被相应的删除[8]。具体界面如图6。
点击章节后会显示对应小节,点击小节后有个过渡操作来保证安全性,即需要进行“创建新小节”和“编辑该小节”的选择。除此以外,新小节不能直接上传课件。创建好后由数据库分配id,之后可以再次编辑,上传课件,这样可以避免误操作。
4.3.2 试题管理
教师可以在该模块进行题库管理。由于虚拟学习平台结构较为简便,使用该平台后所需要的維护越少越好,并且力求学生能实时获得知识,所以只有3种客观题型,即选择题、填空题和判断题。教师可以自由给指定的章节增加题目或删除题目。具体界面如图7。
点击章节后即可获得隶属该章节下所有题目,并且能对单个题目进行任意修改操作。点击新建题目、CSV批量导入即可在本章节下加入新题目。例如填空题内会有相应的提示来处理多答案、多填空的情况。
4.3.3 实验管理
教师可以通过该模块进行实验管理,为学生提供新的实验实践内容并提升学生的动手能力。该模块的学习成本较高,因为实验逻辑大概都是通过字符串数据再解析的,缺乏可读性和通用性。
5 结束语
本文详细介绍了计算机组成原理虚拟学习平台的开发和实现过程,系统实现了课程学习、课后练习、在线实验、用户管理、公告管理等功能。通过使用该系统,能够充分激发学生对计算机硬件的学习兴趣,提高学生的实践动手能力,是硬件类课程教学的有效补充。
参考文献:
[1] 肖铁军.计算机组成原理[M].北京:清华大学出版社,2015.
[2] 胡远梅.计算机组成原理虚拟仿真实验平台研究[D].大连:大连交通大学,2016.
[3] 李世清.基于《计算机组成原理》课程本体学习研究及实现[D].重庆:重庆大学,2011.
[4] 胡立芳,胡自凯.基于VRML的计算机组成原理虚拟实验系统设计[J].电脑知识与技术,2014(6):1220-1222.
[5] 叶海燕,夏明珠.计算机专业硬件课程教学方法研究——虚拟实验平台可行性分析[J].巢湖学院学报,2016(6):154-158.
[6] 闵娟娟, 张攀东, 姚必富.《计算机组成原理》仿真实验平台的开发[J].现代计算机(专业版), 2012(14):72-74.
[7] 祁志武,李功权,刘欢.地质标本虚拟仿真学习平台[J].计算机系统应用,2017(7):110-115.
[8] 吴有林.多媒体课件设计与开发[M].北京:清华大学出版社,2011.
【通联编辑:王力】