在线学习交流系统设计与实现
摘要 随着互联网技术的不断发展,各行各业的工作学习的模式都发生了不小的变化,结合互联网使用在线学习交流系统,学生能够提高学习的效率,改善学习体验。优秀的在线学习交流系统能够更有效帮助师生交流,帮助管理者更加有效管理在线交流,可以帮助提高克服人工管理带来的错误等不利因素。所以一个优秀的在线学习交流系统能够带来很大的作用。
本在线学习交流系统使用了计算机语言Python和存放数据的仓库MySQL。本系统使用了框架Django和Vue实现了在线学习交流系统应有的功能,系统主要角色包括管理员、教师和学生。
关键词 Python; 学习交流系统; MySQL
Design and implementation of online learning communication system
Abstract : With the continuous development of Internet technology, the mode of work and learning in all walks of life has changed a lot. Using online learning communication system combined with the Internet, students can improve learning efficiency and learning experience. Excellent online learning and communication system can help teachers and students communicate more effectively, help managers manage online communication more effectively, and help improve and overcome the disadvantages such as errors caused by manual management. Therefore, an excellent online learning communication system can play a great role.
The online learning and communication system uses the computer language Python and the data warehouse mysql. The system uses the framework Django and Vue to realize the functions of the online learning communication system. The main roles of the system include administrator, teacher and student.
Key words: Python;Learning communication system;MySQL
1.1 课题背景与研究意义
随着计算机的普及,国际上在线学习交流系统前景良好,而随着国内对教学质量的要求越来越高,在线学习交流系统具有了良好的前景。在当今世界之中,随着科学技术的不断发展和计算机越来越普及,运用计算机对系统进行管理是一种趋势。如今随着社会和生活的信息量在不断地增长中,如何提高管理员的管理效率成为了人们关注的话题[1]
2.1 MySQL数据库
MySQL数据库能够存储大量的数据,在操作上不仅方便快捷,如果想加快查询的速度,可以在数据库表上加上索引,MySQL通过SQL语句可以管理系统的信息。如果系统需要添加数据的时候,可以调用insert语句更新数据库记录,通过少量的SQL语句可以管理系统的信息。MySQL是开源免费使用的数据库,通过标准的SQL语句可以操作系统的信息,安装和部署MySQL数据库也较为方便,通过数据库管理工具Navicat for MySQL可以以可视化的方式管理数据库的信息。
本次开发的在线学习交流系统存储数据采用的是数据库MySQL,可以使用开源框架对数据库MySQL进行操作。开源框架可以对JDBC进行封装,提供了许多中对数据库进行操作的方法,从而实现对数据进行增删改查,从而提高了开发在线学习交流系统的效率。开源框架封装的数据库操作语言能够根据开源框架的配置文件转化为数据库的SQL语言。MySQL数据库配合开源框架能够方便对数据库记录进行修改[4]。
2.2 Vue框架
Vue框架属于渐进式框架中的一种,能够用于构建用户界面,不用编写后端逻辑业务的代码,只需要关注前端界面代码的编写,通过和第三方View库进行整合,通过脚手架进行开发出对应的前端界面,这有助于提供强大的伸缩能力,通过采用向上增量的开发设计能够有助于减少系统代码的冗余度。Vue属于动态页面的一种技术,与静态页面具有不少的差别。程序开发者使用Vue和后端框架进行结合的话能够实现数据在前后端进行交互,这样可以使得数据交互的时候相对简单。前端开发者需要负责编写前端页面,而不用编写逻辑业务处理代码,这部分需要由后端开发者进行完成。Vue框架不仅能够编写动态页面还能够与前端页面进行结合,这样有助于后续对程序的扩展。Vue框架能够将视图层与业务层的代码分离,如果使用了Vue框架,前端开发者可以减少编写过多的重复html代码。
2.3 django框架
Django框架的不同之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV框架。
Django的MTV模式
Model(模型):负责业务对象与数据库的对象(ORM)
Template(模版):负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
2.4 MVC框架
MVC框架能够处理在线学习交流系统的超链接,用户填写表单所发送的请求,不能够直接发送到前端页面中的请求中进行处理,而是需要先发送到后端控制器中进行处理在返回到前端页面当中,由后端框架处理前端页面传递过来的请求。通过后端框架可以避免用户直接访问前端页面,能够较大提高系统的安全性。
3.1 功能用例
(1)管理员
图3-1 管理员用例图
(2)教师
图3-2 教师用例图
(3)学生
图3-3 学生用例图
3.2 可行性分析
3.2.1 经济可行性研究
如果管理员有了在线学习交流系统,便可以对在线交流进行管理,在资金花费上可以节省不少。在线学习交流系统的设计开发与实现目的是解决传统模式带来的多余经济支出,尤其是人力资源带来的成本支出[5]。传统的在线学习交流系统不仅需要消耗大量人力资源,而且往往需要管理员手工记载数据。本在线学习交流系统设计实现的目的为降低开发成本,并且可以节省管理员的时间和提高用户的体验感。考虑到目前的互联网开源框架和硬件设备,所以经济上是可行的[6]。
3.2.2 技术可行性研究
根据前期对在线学习交流系统功能的分析和确定,最后选择合适的软件架构和技术实现系统的开发,系统在设计实现的时候无论是开发工具还是系统架构使用的都是较为方便的开发模型,还包括了较为成熟的解决方法。综合市场上现有的在线学习交流系统,本次所使用的技术基本可行,并且能够满足用较少的开发和学习的成本。此次使用的开发模式能够快速构建系统,有不少现成的系统可供参考,所以后期的系统维护和升级较为容易,因此在技术上是可行的。
3.2.3 操作可行性研究
在线学习交流系统开发出来的目的是为了用户访问的操作的,因此在线学习交流系统在设计的时候需要注意到用户操作和访问的问题,用户群体普遍能够接受信息化的使用操作,所以用户的学习成本不是很高。本在线学习交流系统在设计的时候没有采用过于繁杂的操作,使用的操作界面和按钮在设计上较为简单,参考了不少的主流在线学习交流系统,因此系统在操作性上是可行的。
3.3 非功能需求
在线学习交流系统在设计的时候需要注意非功能性需求,还要满足系统业务流程的需要。
(1)兼容性
一般软件系统可以分为服务器和客户端,服务器需要运行程序,客户端显示程序的界面,系统的机器需要放置在机房中,软件开发者在平常的时候需要对其维护,用户所能接触到的界面其实是由客户端运行的,属于人机交互的接口。为了提高在线学习交流系统的兼容率,需要考虑代码实现的时候和前端界面的样式是否能够相互适配。
(2)易操作性
程序开发人员实现系统的时候,除了保证业务功能的实现之外,还需要注意使得业务功能简化,用户在操作的时候能够简易完成事件流程。很多用户不具备真正的计算机知识,如果设置得过于复杂,那么会影响用户使用的体验感。如果系统具有易操作性的特点,那么用户可以很快熟练使用系统。
(3)可扩展性
软件系统随着事件的推移需要更新系统,本在线学习交流系统也不例外,如果需求发生了改变,那么就需要调整系统的功能。如果采用的是面向对象程序设计方法,那么可以使用接口编程技术,严格遵循软件开发规范,最后对系统进行修改的时候会具有较高的适应性。
所设计的在线学习交流系统需要适应在未来管理的时候能够适应需求的变化。从侧面要求系统需要具有扩展性。因此系统开发的时候需要遵循一定的软件规范从而能够便于后期对系统的修改。
(4)可靠性
软件系统需要由可靠性,否则很多实际对系统的管理会失效,使得业务功能不能够正常地流转。系统的可靠性包括了硬件能力、应用和数据。一个系统可靠性越高那么代表系统从异常到能成功运行的能力和使用价值也会越高,用户的体验感会变得更好。
4.1 系统架构设计
本在线学习交流系统采用的是B/S模式,B/S模式又称浏览器/服务器模式,B/S模式有个很大的好处为如果系统有网络那么就可以运行,它依赖于Web浏览器的技术,因此在使用的时候不需要管理人员安装任何较为专业的软件,管理员在维护软件的时候也无需花费过多的精力。
浏览器端在向用户提供操作界面的时候还需要保存前端用户输入的各项信息和处理用户提交的请求,业务逻辑执行相关操作处理前端界面传递过来的数据,最后把处理结果显示给用户。服务器端主要处理用户点击页面传递过来的请求,最后去数据库端请求数据库服务器执行相关的操作,从而能够得到相应的数据记录,之后根据情况对取得的数据记录进行处理返回到浏览器端显示相应的结果。
图4-1 架构设计图
4.2 功能需求
4.2.1 功能需求分析
在线学习交流系统的目的就是管理在线交流的日常事务,通过分析,在在线学习交流系统当中首先需要实现角色之间具有不同的权限,要为用户和管理员分配相应的权限,区分用户和管理员的角色区别需要使用用户表,用户表中需要设置特殊列区分不同的用户,用户表中存储着用户的个人信息。
(1)注册
在在线学习交流系统中点击注册按钮实现注册功能,用户点击注册按钮之后会跳转到注册界面中,用户在注册的时候需要输入必要的信息。
图4-2 注册流程图
(2)登录
用户在使用在线学习交流系统之前需要进行登录。用户需要在登录界面中输入用户名和密码才能够进行登录,选择好自己的角色,最后点击登录按钮才可以登录,之后开源框架会将用户输入的信息进行验证,如果用户输入的信息和数据库的记录存在相同的时候,表示验证成功,此时会跳转到在线学习交流系统的主界面当中,则这时表示登录成功。用户如果想要退出登录的话则需要点击退出按钮。
图4-3 登录流程图
(3)签到
学生登录系统之后可以点击签到按钮选择签到。
图4-4 签到流程图
(4)学习资料管理
管理员在后台登录系统之后可以对管理学习资料。
图4-5 学习资料管理流程图
4.2.2 功能结构
图4-6 功能结构图
4.3 数据库设计
4.3.1 概念模型设计
数据库概念模型可以利用E-R图进行表示,E-R图又称为实体-联系模型。E-R图通常包括实体、联系和属性。通过实体、联系和属性能够反映出系统各实体的关系,从概念上来说反映了数据库信息的组织的情况。
图4-7 全局E-R图