网络虚拟实验教学系统的设计与实现

2018-01-17 09:09殷磊谢文阁许志来黄阿坤
软件工程 2018年12期
关键词:虚拟实验教学系统数据库

殷磊 谢文阁 许志来 黄阿坤

摘 要:在实验教学中有许多具有危险性和设备成本较高的实验,针对这种情况,建立了网络虚拟实验教学系统。首先对该系统进行需求分析,选用Java语言开发,数据库采MySql。然后对需要实现的各个功能进行详细设计,涉及主要算法、数据结构、类结构及其调用关系,最后进行编写代码和测试工作。网络虚拟实验教学系统所提供的功能不但使所用实验的方式和器材更丰富,而且减少学校的资金投入和设备的维护和管理。同时也可以为学生提供了较好的自我学习的环境,提高学生学习的灵活性和自主性,教师也方便对其进行监督、教学、统计成绩和其他管理。

关键词:虚拟实验;数据库;教学系统

中图分类号:TP311.1 文献标识码:A

Abstract:There are many experiments with high risk and high equipment cost in experimental teaching.In view of this situation,a network virtual experimental teaching system is established.First,the requirement analysis of the system is carried out.The Java language is selected,and the database is MySql.Then,the functions that need to be implemented are designed in detail,involving the main algorithms,data structures,class structures and their calling relationships.Finally,coding and testing are executed.The network virtual experimental teaching system not only makes the existing experimental methods and equipment more abundant,but also reduces the school's financial investment as well as equipment maintenance and management.At the same time,it can also provide students with a better self-learning environment,improve students' learning flexibility and autonomy,and make it convenient for teachers with respect to supervision,teaching,performance statistics and other management.

Keywords:virtual experiment;database;teaching system

1 引言(Introduction)

在现在生活和学习中,计算机技术、网络技术的普及和计算机网页编程技术的丰富,以及推出许多强大和高效的编程框架,使现在的网页不但更加美观,而且方便增加更强大的功能,这不但在日常生活中带给了我们很大的便利,也同时带给了办公和学习上更高的效率[1]。因此我们决定把计算机和网络技术和课堂虚拟教学结合起来,由此设计出了网络虚拟教学实验系统。

为了使得本系统能够在Windows/Linux/Mac OS各种操作系统,以及市面上主流的浏览器下运行,我们采用了Java和Javascript这些可移植性语言开发了计算机网络虚拟实验教学系统。

2 设计思想(Design concept)

采用基于角色的设计,分为三个角色(教师、学生、管理员),不同的角色拥有不同的权限。采用MVC架构把前端和后端分离开来,并将业务逻辑聚集到同一个部件里面,在修改和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑[2,3]。前端采用Vue.js框架进行编写,后端采用Spring+MyBatis框架进行编写,数据库采用MySql数据库。具体的网络虚拟实验教学系统的用例见图1。

3 开发工具(Development tool)

网络虚拟教学系統采用B/S架构,前端页面采用Vue框架,Vue是一套用于构建用户界面的渐进式框架。与其他大型框架不一样的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手操作,还便于与第三方库或现存项目的整合[4]。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。

后端采用Java Spring框架,Spring是一个轻量级的、开源的框架和AOP(面向切面的编程)容器框架,通过对传统OPP设计方法的改进,进一步完善了重用性、灵活性和可扩展性[5]。Spring是非侵入式的,Spring不再用new的方式来创建对象,而是通过依赖注入的和面向接口实现轻松耦合,基于Spring开发的应用一般不依赖于Spring的类[6]。Spring是为解决企业应用程序开发复杂性而进行创建的,不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合等方面得到方便使用[7]。

数据库采用的是MySql,MySql数据库是一个高性能且相对轻量的数据库系统,与一些更大系统的设置和管理相比,其复杂程度较低,操作方便、简单灵活。而且MySql是完全免费的软件,既节省了大量资金,也为以后维护降低了成本,便于软件的维护,MySql运行速度很快[4]。MySql可能是目前能得到的最快的数据库。MySql可运行在多种版本系统上(如Linux和Windows)。MySql可运行在从个人电脑端到高级的服务器上。而且MySql可以搭建成数据库集群,增加软件的稳定性[8,9]。

4 系统功能结构设计(Functional structure of system)

虚拟教学系统相对比以前传统的课堂,可以减轻学生在课堂中的任务和压力,学生可以更加灵活运用课余时间做好预习、复习,并按照教师分配的任务和作业及时完成实验内容,通过这种方式就可以在线上完成教师不值得任务。通过网络虚拟实验教学系统可以按学生自己的进度来学习,遇到不会的地方可以多次观看,直到理解教师讲的知识点,再继续下面的学习,使学生的学习更加的灵活,教学的效果也越来越好。学生还可以下载所需要的教学材料,学生在学习中遇到的问题有也可以及时通过本系统向教师提出问题,避免了因为下课十几分钟的时间紧迫,造成教师讲的太快,学生没有听懂的情况。同时学生还可以选择自己专业之外的课程来,消除了学生对其他课程感兴趣,却不方便去“蹭课”的烦恼。提供多方面的学习机会,在大学期间不但可以更好的学习专业课程,同时丰富了自己的课外知识,使学生更加全面的发展,更好的成长自己。

教师可以更方便的上传和查看自己的课件,同时学生可以下载上课中的讲义和演示文稿以便学生预习和复习,学生的作业也可以及时给出需要修改的错误和建议,可以在课后明确分配任务,不会造成学生听错和混淆的情况。

学校可以把更加优秀的教师资源同步全体的学生,使学生能得到更加优秀的教育资源,避免了因为教师资源不同而使学生所学知识和成绩造成比较大的差异的情况,同时减轻教师的工作量。

登录模块提供用户的登录和注册的功能,教学模块实现教师端的疑难解答、作业批改、查询进度、课程上传的功能,选课模块实现教师选所要教授的课和学生学习的课程。学习模块实现学生的作业提交、疑难解答、课程学习的功能。个人信息实现教师和学生的详情信息,方便互相了解。资源管理模块实现课程资源的上传和下载功能。首页提供用户登录之后跳转的页面,实现通知、其他临时信息的显示和学习进度的显示的功能,具体功能结构划分见图2。

5 数据库设计(Design of database)

根据系统需求分析的需求,建立如图3所示的数据库,数据库达到BC范式的要求,即所有非主属性对码都是完全函数依赖,所有的主属性每一个不包含它的码也都是完全函数依赖的,没有任何属性完全函数依赖于非码的任何一组属性[9]。同时考密码的安全性,在MySql支持AES_ENCRYPT() 和 AES_DECRYPT()这两个函数的情况下,可以对密码进行加密和解密,有效的保护用户的密码,防止密码丢失和被不法人员的窃取,以免造成用户隐私的丢失。具体数据库设计见图3。

6 实施与实现(Execution and implementation)

(1)登录模块:登录和注册在同一个页面,当点击登录按钮就跳转登录界面,点击注册变按钮成注册页面,账号的格式为数字格式的学号,密码为大于四位小于十六位的数字和字母的集合。

(2)首页:首页显示当前的发布的最新发布的消息和选课的信息,是学生、教师、管理员的公共模块。

(3)教学模块:教学模块是教师的专有模块,主要功能有上传课程、进度查询、作业批改、疑难解答、课程上传分为上传教师所教授的视频文件,上传教师在课程上所需要的演示文稿(.ppt文件和.pptx文件)和课程讲义(.doc文件、.docx文件和.pdf文件),进度查询可以查到所选课程的所有的学生的进度情况,作业批改可以查看学生上传的作业(.doc文件和.docx文件)格式,并进行批阅打分。疑难解答可以对学生提出的问题进回复,并和学生进行讨论。

(4)学习模块:学习模块分为课程学习、疑难解答、作业提交三个模块,课程学习分为进度查询、课程学习、课程介绍,进度查询可以及时查看所选课程学习的进度信息,课程学习是播放教师上传的课程的视频文件,并实时记录所学的进度。课程介绍可以了解到所学的课程的大体信息,疑难解答和教师的疑难解答模块对接,学生可以提问题,分享学习的心得、好的经验和技巧内容的不足之处。

(5)选课模块:学生选课模块显示学生当前选到的课程,和管理员已经发布的课程,学生可以根据需要去选择要学的并且已发布的课程。

(6)个人信息:个人信息可以查询到学生的姓名、性别、院系、班级、学号等其他的基本信息,教师的姓名、性别、院系、工号等其他基本信息。

(7)资源管理:资源管理可以下载到教师所上传的所有课程文件和管理员发布的文件或应用程序。

7 运行效果及特点(Operation results and features)

本系统充分整合学校信息化实验教学资源,以培养学生综合实践能力和创新能力为己任,开发与应用软件用来共享虚拟实验、仪器共享和远程管理虚拟实验等教学资源,扩大实践领域,提高教学能力和效率,降低成本和风险,实践更方便和灵活,师生交流更加方便和快捷,增加教学的安全性,开展绿色实验教学。

运行效果:通过这些设计,采用相关的框架进行编码、调试、测试、完成了网络虚拟实验教学系统,其中学生学习的主界面见图4。

8 结论(Conclusion)

虚拟教学实验系统的开发,为学生提供了一种新的实验学习模式,使的以前实验环境不具备的情况下可以较好的虚拟实验环境,并通过模拟给予实现,有效的解决了教学中许多较难实现的实验内容无法完成的问题。不仅增加了实验教学的效率,而且也提高了实验效果,并为学生提供了较好的自我学习的环境,提高了学生学习的灵活性和自主性。

参考文献(References)

[1] Lee C H,Zheng Y L.Automatic SQL-to-NoSQL schema transformation over the MySQL and HBase databases[C].Consumer Electronics-Taiwan(ICCE-TW),2015 IEEE International Conference on.IEEE,2015:426-427.

[2] Król K,Szomorova L.The possibilities of using chosen jQuery JavaScript components in creating interactive maps[J].Geomatics,Landmanagement and Landscape,2015(2):45-54.

[3] Kolasa P,Janowski M.Study of possibilities to store energy virtually in a grid(VESS)with the use of smart metering[J].Renewable and Sustainable Energy Reviews,2017,79:1513-1517.

[4] 瘋狂软件.Spring+MyBatis企业应用实战[M].北京:电子工业出版社,2017:51-55.

[5] NicholasC.Zakas.JavaScript高级程序设计[M].北京:清华大学出版社,2017:105-107.

[6] 麦冬,陈涛,梁宗湾.轻量级响应式框架Vue.js应用分析[J].信息与电脑(理论版),2017(07):58-59.

[7] 缪勇,施俊,李新锋.JavaWeb轻量级框架项目化教程[M].北京:清华大学出版社,2017:78-81.

[8] 乔岚.基于MyBatis和Spring的JavaEE数据持久层的研究与应用[J].信息与电脑(理论版),2017(08):73-76.

[9] 石玉强,闫大顺.数据库原理及应用[M].北京:中国水利水电出版社,2009:109-110.

作者简介:

殷 磊(1996-),男,本科生.研究领域:软件开发.

谢文阁(1966-),男,硕士,教授.研究领域:数据库,数据仓库,软件开发.

许志来(1996-),男,本科生.研究领域:软件开发.

黄阿坤(1995-),男,本科生.研究领域:软件开发.

猜你喜欢
虚拟实验教学系统数据库
基于Unity的计算机硬件组装仿真教学系统设计
多地远程互动同步教学系统的设计与实现
虚拟现实技术在初中物理实验教学中的应用
“互联网+”时代背景下的“大学计算机”教学改革探索与实践
基于交互式双板教学系统的高中地理教学研究
基于Xenserver的虚拟网络实验平台建设
基于虚拟实验技术的单片机课程实践教学改革研究
汽车配件营销实践教学系统开发