远程教育网站设计与实现

摘 要

随着国民生活水平的逐渐提高,互联网的普及给人们带来的便利不需多说。因此如果把远程教育与互联网结合起来,利用java技术建设远程教育网站,实现远程教育的网络化。则对于进一步提高学校发展,丰富学生的学习生活定能起到不少的促进作用。

根据远程教育网站的研究现状和发展趋势,系统从需求分析、结构设计、数据库设计,在到系统实现,分别为前端实现和后端实现。论文内容从系统描述、系统分析、系统设计、系统实现、系统测试来阐述系统的开发过程。本系统力求结合实际找出一种切实可行的开发方案,经过反复研究和学习,借助java编程语言、jsp技术、sqlserver数据库和tomcat服务器来完成系统的所有功能,最后进行系统测试,来检测系统的权限和漏洞,从而将系统完善,达到符合标准。


关键字:远程教育,java编程语言,sqlserver数据库,tomcat服务器


Design and implementation of remote education website

ABSTRACT

  With the improvement of people's living standards, the popularity of the Internet brings people convenience. Therefore, if online education is combined with the Internet, a remote education website will be built using Java technology to realize the networking of online education. Therefore, it can further improve the development of schools and enrich students' study and life.

According to the research status and development trend of remote education website, the system is from requirement analysis, structure design and database design to system implementation, which are front-end implementation and back-end implementation respectively. This paper expounds the development process of the system from system description, system analysis, system design, system implementation and system test. The system tries to combine the actual find out a feasible development plan, after repeated research and study, using the Java programming language, the JSP technology, essentially a database and tomcat server to accomplish all functions of the system, and finally to the system test, to detect system permissions and loopholes, thus the system perfect, to conform to the standard.


Key words:Remote education, Java programming language, sqlserver database, tomcat server


目 录


第1章 绪论

1.1开发背景与意义

1.2论文结构

1.3本章小结

第2章 系统开发技术的介绍

2.1 MyEclipse与tomcat简介

2.2HTML/CSS简介

2.3JSP简介

2.4Sqlserver数据库概念和特点

2.5本章小结

第3章 系统分析

3.1功能需求分析

3.2业务流程分析

3.3数据流程分析

3.4本章小结

第4章 系统设计

4.1系统设计思想

4.2系统总体设计

4.3系统功能模块设计

4.4数据库设计

4.4.1概念模型设计

4.4.2数据库表设计

4.4.3数据库连接计

4.5本章小结

第5章 系统的实现

5.1实现环境说明

5.2前台页面的实现

5.3登录模块的实现

5.4题目管理模块的实现

5.5在线考试模块的实现

5.6视频管理模块的实现

5.7资源管理模块的实现

5.8视频播放与付费模块的实现

5.9本章小结

第6章 系统测试

6.1测试目的

6.2界面测试

6.3功能测试

6.4测试结果

6.5本章小结

第7章 总结

致 谢

参考文献


第1章 绪论

1.1开发背景与意义

远程教育不同于以往的传统学习方式,能满足学生个性化学习的需求,提供学生更加自由的学习空间,学生可以根据自己选择的方式去学习,不断提高学习效率从而将被动的学习变成主动的接受。通过远程教育为学生提供丰富的学习资源,和书籍无法比拟的信息环境。由于知识本身是需要即时更新的,掌握知识的人的知识也是需要即时更新的,从而使学习成为一个贯穿终身的持续性的活动。在当今社会,为适应市场经济的运行要求,人们必须适应资源社会化、配置市场化和使用价值化的要求,"创新人才是资本"成为一种基本的观念,新知识、新技术在当今社会环境中扩散速度很快,快速的扩散必然导致对知识、技术的更新要求也加快,从而又促使新的东西产生。由于知识的更新速度的加快、半衰期的缩短,所以必须不断的为自己补充新的知识,接受新的信息,才能赶上社会的快速发展,西方学者认为,现代化的教育必须训练人们的创造力,能够适应迅速变化的工作环境,教育机构将根据社会的需要、学生的要求和本地的实际情况提供灵活多样的课程。远程教育网站实现了这方面的要求。

1.2论文结构

(1)绪论

从开发系统的背景、意义、以及系统的发展状况,详细描述了系统的在哪些方面能得到应用、然后对本章进行总结。

(2)系统分析

概述、用户需求调研、系统业务流程分析、系统数据组成、本章小结。

(3)系统设计

系统网络结构设计、系统总体设计、系统功能模块的划分、系统功能模块的需求,数据库设计概述、数据库概述结构设计、数据库逻辑结构设计[1] [2]

(4)系统开发环境介绍

myeclipse简介、HTML简介、SQLSERVER简介、JSP简介、数据库概念和特点、本章小结。

(5)系统的实现

登录模块的实现、管理员模块设计、视频模块的实现、资源模块的实现、考试模块的实现。

(6)系统测试

系统编码实现后,需要进行测试,测试包括黑盒测试和白盒测试,本系统采用黑盒测试,通过输入不同组的测试数据进行测试的功能模块测试。

1.3本章小结

本章主要对该系统的选题背景、选题意义,分析本人为什么要做这个系统,和这个系统给人们带来什么好处,有什么作用,以及论文的组成部分,还总述了整个系统的组成及实现的功能。


第2章 系统开发技术的介绍

2.1 MyEclipse与tomcat简介

在java的web程序设计中,常使用MyEclipse做编辑工具,在J2EE和数据库开发领域里,十分通用。通过对应用程序服务器进行整合,可以大大的增强运算速度。

Tomcat是一种小型web程序服务器,由于它是免费开源的,并且支持访问量较少,所以常常被用来私人使用,J2EE程序设计中成为最好的选择。

换句话说,将Tomcat服务器安装到一台电脑上时,可通过它对HTML页面的访问请求进行配合。事实上,Tomcat可以看成Apache 服务器基础上的延伸,但它工作时相对比较独立,因此当tomcat工作时,事实上它是看成一个与Apache 服务器相对独立的进程运行的[3] [4]

2.2HTML/CSS简介

HTML全称为Hyper Text Markup Language,是一种超文本标记语言或超文本链接语言,被用来制作万维网页面的简单标记语言,计算机通过他来完成互联网的信息交流,借助浏览器在万维网中信息传递,是一种十分通用的标准语言。

在目前,它在网络上被广泛应用,是大众普遍接受的一种通用制作网页的语言。HTML主要用于制作静态页面,HTML命令可以说明图形信息、表格信息、文字信息、链接信息等。HTML作为制作系统最基础的语言,它主要由头部(head)和主体(body)组成,头部可以加标题,展示浏览器所需信息,主体则是包含网页显示的内容。作为最基础的语言,在HTML文件中可以插入JSP语言形成JSP文件,也可以插入JavaScript语言形成不同风格的功能特效[5] [6]

2.3JSP简介

JSP是一种开放动态系统的编程语言,它能嵌入在html中使用,也能单独使用,同时具有多种有优点,可以说,JSP已经成为Web脚本技术的先驱。它融合了现代编程语言(如C,Java和Perl)的一些最佳特性。Linux、JSP、Tomcat和Sqlserver的组合已经成为Web服务器的一种配置标准。JSP可以用来:收集表单数据、生成动态网页、字符串处理、动态输出图片、处理服务器端文件系统、编写数据库支持的网页、会话跟踪控制、处理XML文件、支持利用大量的网络协议、服务器端的其他相关操作。目前能够用在所有的主流操作系统上,包括Linux、UNIX的各种变种、Microsoft Windows等。今天,JSP已经支持了大多数的Web服务器,包括Tomcat、IIS、PWS、Netscape等。JSP提供了一个模块;还有一些JSP支持CGI标准,使得JSP能够作为CGI处理器来工作[7] [8]

2.4Sqlserver数据库概念和特点

现代计算机中存储的数据呈现暴涨的趋势,工程师便设计了数据库及其管理工具来帮助程序员解决这一问题,使用数据库后,计算机的存储数据更加有秩序,数据的冗余度大大降低,数据的独立性大大提高,程序员操作数据更加方便。SQLServer采用图形界面,使用方法一目了然。

(1)SQLServer是一款Relational Database Management System

(2)SQLServer与Windows系统完美结合

(3)SQLServer对计算机的硬件条件要求不高

(4)SQLServer具有良好的可伸缩性

(2)SQLServer具有良好的灵活性,它可以适应快速变化的环境[9] [10]

2.5本章小结

本章主要论述了开发本系统用到的技术和工具,分别对web前端设计工具myeclipse,前端开发语言html+css+javascript,jsp后端语言和sqlserver数据库进行详细介绍。



第3章 系统分析

3.1功能需求分析

本系统主要分为前端和后端两大板块,其中包括了课程管理、学生管理、题库管理、试卷管理、课件资源管理、教学视频管理、教师管理等功能模块。

表3-1功能需求列表

编号

功能名称

功能描述

输入内容

输出内容

1. 

前台登录

保证注册用户通过身份验证进入系统前台进行操作

用户名、密码

用户登录是否成功和用户登录状态

2. 

用户注册

对注册用户进行检测,信息通过检测之后成为本系统的用户

用户名,密码、性别、QQ、邮箱等

注册的结果(提醒“用户注册成功”或者“用户注册失败”)

3. 

站内搜索

用户可以通过标题和类别搜索站内信息

输入标题、选择类别,点击搜索按钮

搜索出来的列表信息

4. 

增加留言

未登录系统的游客用户无法使用留言功能,登录后的用户增加留言

留言人、留言内容、呢称、头像等

系统提示留言成功,并显示新增的留言

5. 

留言回复

系统管理员查询已有的留言,并回复未回复的留言

留言的回复内容、回复人等

系统提示回复成功,并显示已回复的留言

6. 

留言管理

系统管理员查看所有的留言信息,并可以对其删除

选择某条留言,点击该条留言的删除按钮

系统提示是否删除,点击是则将该条留言删除

7. 

评论添加

注册用户选择要评论的信息进行添加评论

评论信息包括评语、评分等

评论是否成功及评论列表

8. 

评论管理

管理员对用户的评论信息进行管理,包括删除、修改

评论列表

删除是否成功或者修改是否成功

9. 

修改个人信息

用户可以根据自己当前的情况修改个人的信息

要修改的信息

提示修改的结果

10. 

后台登录

仅管理员能够登录后台

后台用户名,密码,前台的用户名

后台登录是否成功

11. 

在线考试

学生通过远程教育网站在线考试

提交考试试卷

考试成绩

12. 

题库管理

教师和管理员对题库管理,包括单选题、判断题、填空题等

题目内容

题目是否录入成功

13. 

试卷生成

管理员和教师生成试卷

各种题型的数量

试卷生成是否成功

14. 

添加资源信息

管理员添加资源信息

资源的相关信息

资源信息列表

15. 

编辑资源信息

管理员修改资源信息

资源相关信息

是否编辑成功

16. 

删除资源信息

管理员删除资源信息

资源信息

资源信息删除成功或失败

17. 

添加视频信息

用户添加视频信息

视频的相关信息

视频信息列表

18. 

编辑视频信息

用户修改视频信息

视频相关信息

是否编辑成功

19. 

删除视频信息

用户删除视频信息

视频信息

视频信息删除成功或失败

3.2业务流程分析

业务流程图基本符号如下图所示:

基于springboot远程教育网站设计与实现的计算机毕设_远程教育

                                 图3-1业务流程图基本符号

具体如下图所示:

基于springboot远程教育网站设计与实现的计算机毕设_数据库_02

图3-2总体业务流程图

总体业务流程[11]:首先在系统前台,游客用户可以经过账号注册,管理员审核通过后,用账号密码登录系统前台,查看教学资讯、留言信息、课件资源、教学视频等栏目信息,进行在线留言、评论资源、下载资源、视频播放,在前台用户可以通过标题和类别进行前台信息的搜索,用户可以登录个人中心进行学生资料修改、在线考试、成绩查询、视频付费等功能。后台主要由管理员使用,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用课程管理、学生管理、题库管理、试卷管理、课件资源管理、教学视频管理、教师管理等功能操作。

3.3数据流程分析

本系统根据上节所设计的各个业务流程图,采用逐层细化的方法,画的每一部分各层的数据流图如下:

1.0层数据流图

注册用户和管理员都可以通过登录系统的界面来进入系统,如下图所示:

基于springboot远程教育网站设计与实现的计算机毕设_数据_03

图3-4层数据流图

系统根据登录的数据,判断是该用户是哪种角色,仍然后跳转至相应的功能页面,系统用户在系统内进行数据操作,此时数据流的有效数据流流向数据库中心执行相应的数据sql语句,反馈结果到显示页面上[12] [13]

2.1层数据流图

1层为系统的详细数据流图。如下图所示:

基于springboot远程教育网站设计与实现的计算机毕设_数据_04

图3-5层数据流图

1层数据流图[14]中,数据实体包括普通用户和管理员,普通用户数据流程包括在线留言、评论资源、下载资源、视频播放;管理员用户数据流程包括课程管理、学生管理、题库管理、试卷管理、课件资源管理、教学视频管理、教师管理;普通用户数据流包括操作信息、添加信息、浏览信息;管理员数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息等,数据表包括试卷表、题目表、成绩表、视频表等。

3.2层数据流图

2层为学生在线考试数据流图,学生可以分别通过在线考试、提交考卷、成绩查询来对系统进行操作,如下图所示:

基于springboot远程教育网站设计与实现的计算机毕设_远程教育_05

图3-6 2层数据流图

2层数据流图中,数据流实体主要是学生,数据流程包括选择试卷、在线考试、试卷提交、成绩查询;数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息;数据表包括学生表、试卷表、考题表、成绩表。

3.4本章小结

本章主要论述了对用户的需求调研,系统业务功能,用例分析,系统业务流程分析、数据流程分析,其中数据的组成包括前台和后台的详细数据。


第4章 系统设计

4.1系统设计思想

本课题的目的是设计一款基于jsp的远程教育网站以实现远程教育。本系统采用B/S模式不仅可以避免用户必须安装专业软件才能开发系统或者访问系统的局限性,而且更加便利。该系统在不改变和影响用户操作习惯的前提下主要完成对有用信息的记录[16]

整个软件采用MVC(Model,View,Controller)框架,分别对以下三块进行详细介绍:

(1)Model(模型):

Model模块主要负责应用的核心加密解密功能,以及对数据库和文件的读写功能。该模块为Controller模块服务,在底层做好数据模型,供Controller调用,当完成某个业务逻辑时,Controller向Model发出控制信息,Model接收到控制信息后,做出相应的反应,记录数据和文件,完成业务逻辑操作[17]

(2)View(视图):

View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。

(3)Controller(控制器):

controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据[18]

4.2系统总体设计

根据前面的各项设计分析,按照系统开发的基本理念对系统进行分解,从模块上主要可分为前台模块和后台模块。

前台模块只要是让普通用户和游客用户使用,包括在线留言、评论资源、下载资源、视频播放、学生资料修改、在线考试、成绩查询、视频付费,后台模块只要是让管理员使用,包括课程管理(课程信息发布、修改、删除)、学生管理(学生信息录入、删除、修改)、题库管理(单选题录入、删除、修改、判断题录入、删除、修改、填空题录入、删除、修改)、试卷管理(试卷生成、查询)、课件资源管理(课件资源发布、修改、删除)、教学视频管理(教学视频发布、修改、删除)、教师管理(教师信息录入、删除、修改)、系统管理(系统用户管理、登录密码修改、留言管理),后台可以对数据进行添加、删除、修改及查询等操作。

系统总体功能结构图如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_06

图4-1系统功能结构图

4.3系统功能模块设计

1.系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是普通用户。

2.页面打印:设计系统时,在代码中连接打印机,进行系统的一些页面的打印。

3.导出报表:用户可能需要将某些数据列表提取出来,在代码中调用导出至excel中的函数,并开启连接excel的驱动,实现导出报表的功能。

4.系统用户管理:不管是超级管理员还是普通管理员都需要管理系统用户,包括普通管理员的添加、删除、修改、查询,修改管理员的登录密码,新添加的管理员用户可以登录系统。

5.注册用户管理:游客在前台首页注册后,经过管理员后台,不管是超级管理员还是普通管理员都需要管理注册用户,包括注册用户审核、删除、修改、查询,审核通过后,注册用户既可以通过账号和密码登录系统。

6.修改密码:系统所有用户(管理员和注册用户)应该都要能修改自己的登录密码,修改后需要重新登录。

7.增加留言:设计留言信息表,包含留言标题、留言内容、回复内容、留言人等字段,留言标题、留言内容用来存储用户增加的留言,回复内容用来存储管理员回复的留言内容。

8.留言管理:系统管理员对留言信息表的删除、查询等操作,回复留言则将回复内容存储在留言表的回复内容字段里,删除不需要的留言,使用户有足够的空间进行留言。

9.个人资料管理:由注册用户使用,注册用户登录个人后台,可以修改个人当初的注册信息,如修改电话号码、邮箱等,用户的用户名是无法修改的。

10.友情链接管理:由超级管理员和普通管理员使用,对系统所有的友情链接信息进行添加、删除、修改、查询,同时系统前台的友情链接随着后台的友情链接变化而更新。

1.在线评论:注册用户在系统前台登录个人账号后,可以选择某个视频,进行评论,查看别人的评论信息。

2.评论管理:在系统后台,管理员进行视频的评论管理,每条视频对应自己的评论,管理员可以删除、修改、查询。

3.视频管理:管理员发布视频信息,跳转至视频发布页,填写视频表单,点击提交,视频成功,新的视频信息会在系统前台展示给用户浏览。

4.视频播放:管理员上传视频文件,跳转至视频上传页,填写表单,选择本地视频文件,提交后,视频发布成功,用户可以选择播放或者下载。

5.文件下载:管理员上传文件,跳转至文件上传页,填写表单,选择本地文件,提交后,文件发布成功,用户可以选择下载。

6.资源信息管理:资源信息管理包括资源信息录入、资源信息修改、资源信息删除,在数据库中设计并建立资源信息表,管理员添加资源信息,即往数据表中插入一条数据,删除资源信息,则在数据库删除一条数据,修改资源信息,则修改数据库的数据。

4.4数据库设计

4.4.1概念模型设计

建立数据库之前,要对系统的数据进行概念模型设计,设计实体包含哪些属性,实体和实体直接的关系是怎么样的,根据概念设计,得到下图的系统总体ER图。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_07

图4-2系统总体ER图

4.4.2数据库表设计

在服务器上建立名为bysjxt的数据库,其中包括以下表:

allusers表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

username

VarChar

50

255


3

pwd

VarChar

50

255


4

cx

VarChar

50

255


5

addtime

DateTime

8

23



cj表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

username

VarChar

50

255


3

cj

Float

8

15


4

sjbh

VarChar

50

255


5

addtime

DateTime

8

23



danxuanti表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

bianhao

VarChar

50

255


3

kechengmingcheng

VarChar

50

255


4

shiti

VarChar

500

255


5

xuanxiangA

VarChar

50

255


6

xuanxiangB

VarChar

50

255


7

xuanxiangC

VarChar

50

255


8

xuanxiangD

VarChar

50

255


9

daan

VarChar

50

255


10

addtime

DateTime

8

23



jiaoshixinxi表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

jiaoshigonghao

VarChar

50

255


3

mima

VarChar

50

255


4

xingming

VarChar

50

255


5

xingbie

VarChar

50

255


6

nianling

VarChar

50

255


7

shoujihaoma

VarChar

50

255


8

zhaopian

VarChar

50

255


9

beizhu

VarChar

500

255


10

addtime

DateTime

8

23



jiaoxueshipin表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

shipinbianhao

VarChar

50

255


3

shipinbiaoti

VarChar

50

255


4

kechengmingcheng

VarChar

50

255


5

shipinwenjian

VarChar

50

255


6

shipinjietu

VarChar

50

255


7

shipinjianjie

VarChar

500

255


8

caozuoren

VarChar

50

255


9

addtime

DateTime

8

23



kechengxinxi表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

kechengmingcheng

VarChar

50

255


3

addtime

DateTime

8

23



kejianziyuan表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

ziyuanbianhao

VarChar

50

255


3

ziyuanbiaoti

VarChar

50

255


4

ziyuanwenjian

VarChar

50

255


5

ziyuanfengmian

VarChar

50

255


6

ziyuanjianjie

VarChar

500

255


7

caozuoren

VarChar

50

255


8

addtime

DateTime

8

23



liuyanban表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

cheng

VarChar

50

255


3

xingbie

VarChar

2

255


4

QQ

VarChar

50

255


5

youxiang

VarChar

50

255


6

dianhua

VarChar

50

255


7

neirong

VarChar

500

255


8

addtime

DateTime

8

23


9

huifuneirong

VarChar

500

255



panduanti表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

bianhao

VarChar

50

255


3

shiti

VarChar

500

255


4

kechengmingcheng

VarChar

50

255


5

daan

VarChar

50

255


6

addtime

DateTime

8

23



pinglun表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

xinwenID

VarChar

50

255


3

pinglunneirong

VarChar

300

255


4

pinglunren

VarChar

50

255


5

pingfen

VarChar

50

255


6

biao

VarChar

50

255


7

addtime

DateTime

8

23



shijuanshengcheng表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

shijuanbianhao

VarChar

50

255


3

kechengmingcheng

VarChar

50

255


4

danxuanti

VarChar

50

255


5

panduanti

VarChar

50

255


6

tiankongti

VarChar

50

255


7

tianjiaren

VarChar

50

255


8

addtime

DateTime

8

23



tiankongti表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

bianhao

VarChar

50

255


3

shiti

VarChar

500

255


4

kechengmingcheng

VarChar

50

255


5

daan

VarChar

300

255


6

addtime

DateTime

8

23



xueshengxinxi表:

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1

ID

Int

4

自增编号

10


2

xueshengbianhao

VarChar

50

255


3

mima

VarChar

50

255


4

xingming

VarChar

50

255


5

xingbie

VarChar

50

255


6

nianling

VarChar

50

255


7

shoujihaoma

VarChar

50

255


8

zhaopian

VarChar

50

255


9

beizhu

VarChar

500

255


10

addtime

DateTime

8

23


11

yibocishu

Int

4

10


12

issh

VarChar

50

255


13

iszf

VarChar

50

255


4.4.3数据库连接计

由于系统采用java语言和sqlserver数据库,那么java如何连接sqlserver数据库,完成本系统的数据操作[19]

1. 需要SQLServer的连接驱动jar包——sqljdbc4.jar,将jar包加入到工程中,并设置好Build Path 。

2. 编写专门的数据库操作类,实现数据库的连接和操作: 

public Connection getConn()

{

        try

        {

         if(conn==null||conn.isClosed()){


         // Class.forName("com.mysql.jdbc.Driver");

         // conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/javatemp","root","");


 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

          conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=jspmcdhkzyjsxywlxxxt","sa","sa123456");

            }}

        catch(Exception e)

        {

            e.printStackTrace();

        }

        return conn;

}

4.5本章小结

本章主要论述了开发本系统时对系统进行的总体设计,包括网络设计采用B/S结构,然后对系统的前台和后台分别进行功能模块的设计,最后对系统的各个模块进行划分,详细介绍如何设计。


第5章 系统的实现

5.1实现环境说明

运行环境包括硬件要求及软件要求如下表所示。

表5-1硬件要求

设备名称

说明

处理器

英特尔酷睿I3以上

内  存

2GB,内存越大,速度越快

硬  盘

500GB以上

鼠  标

罗技300S 

表5-2软件要求

名  称

说明

操作系统

Windows XP或 Windows7以上

应用软件

myeclipse

5.2前台页面的实现

本系统设计的是一个远程教育网站。该系统总共分为教学资讯、留言信息、课件资源、教学视频等多个模块。通过对此系统的开发,达到了远程教育的目的。实现系统的实用性和易管理性。

系统主界面如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_08

图5-1系统主界面

前台首页集成了普通用户的注册页面,注册的独立页面为userreg.jsp,通过框架嵌入系统前台首页,用户填写好注册信息后,通过<form  action="userreg.jsp?f=f"  method="post" name="f1"  onsubmit="return checkform();">方式提交表单,会通过javasrciprt验证格式,如果格式有错误,则用户小窗口提示错误的地方,如果格式都正确,则跳转至dao的注册方法,实现注册用户,提示注册成功,并将注册的信息加入用户表中。

用户注册流程图如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_09

图5-1用户注册流程图

用户注册界面如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_10

图5-1用户注册界面

5.3登录模块的实现

系统的登录是使用该系统的第一关卡,用户在登录界面输入账号和密码后,系统判断该账号密码是否能在数据库中存在并且匹配,返回登录成功或登录失败的信息,登录成功后才能使用系统的功能。

登录流程图如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_11

图5-1登录流程图

用户登录界面如下图所示。


基于springboot远程教育网站设计与实现的计算机毕设_数据_12

图5-2用户登录界面

随着系统规模的壮大,系统发布更新的信息及对普通用户量会越来越多,只有超级管理员负责系统后台恐怕任务艰巨,本系统考虑到这一问题后开发了超级管理员有权限可以增加管理员的模块。管理员角色不同对应权限亦不相同。

系统用户管理界面如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_13

图5-5系统用户管理界面

5.4题目管理模块的实现

题目管理包括单选题管理、判断题管理、填空题管理、主观题管理。教师可以点击“添加题目”超级链接,既可跳转到timuxinxi_add.jsp页添加题目。题目添加成功后,教师可以登录到个人中心查询个人的题目的信息。教师在timuxinxi_list.jsp进行题目管理,timuxinxi_ list.jsp通过查询数据库的题目表列出所有题目管理信息,每条题目对应一个删除按钮和修改按钮,当教师点击删除按钮,直接在数据库删除题目信息,并重定向当前页面,当教师选择点击修改,则进入timuxinxi_update.jsp页面,进行题目信息的修改。

试题录入界面采用ajax实现,客户端的下拉框的响应事件的响应函数为select_ttype(),通过这个函数显示指定题型的录入界面。“提交”按钮的响应函数为SubmitTimu()。服务器函数InsertTiMu()返回数据,由函数dis_result()处理。试题插入数据库流程如下图所示:

基于springboot远程教育网站设计与实现的计算机毕设_数据_14

图5-2 试题插入数据库流程示意图

单选题信息添加页面设计效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据_15

图5-12 单选题信息添加界面

单选题信息管理页面效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_远程教育_16

图5-12 单选题信息管理界面

判断题信息添加页面设计效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_17

图5-12 判断题信息添加界面

判断题信息管理页面效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据_18

图5-12 判断题信息管理界面

填空题信息添加页面设计效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_19

图5-12 填空题信息添加界面

填空题信息管理页面效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据_20

图5-12 填空题信息管理界面

5.5在线考试模块的实现

学生开始考试后,系统要显示学生信息、试卷、交卷。这个界面的功能使用的是Ajax框架,通过客户端的Javascript和服务器端脚本实现。选择项和填空项都设置了单击事件。学生答过该题后,系统就把该题答案传送到服务器并保存起来。当学生重新登录时,试题仍然存在。另外,也防止学生集中交卷的时候因系统反应不及而导致答案丢失。

提交答案由客户端函数SelectAnswer()来实现,服务器端函数send_user_answer()把答案保存到数据库中。函数SelectAnswer()实时地把答案提交给服务器,也使得二次登录成为可能。

结束考试有两个部分的功能,当考试答完试卷但是交卷时间未到时,可以提前交卷,但是当考试结束时间已到,学生仍未交卷,系统则会强制收卷。函数SetTitle()在考试结束时,自动转向处理考试结束的文件endexam.jsp,完成自动收卷。

在线考试界面如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据_21

图5-12 在线考试界面

5.6视频管理模块的实现

管理员添加视频信息是在点击添加按钮的前提下操作的,当页面跳转至jiaoxueshipin_add.jsp,添加成功后,管理员在jiaoxueshipin_list.jsp进行视频管理,jiaoxueshipin_ list.jsp通过查询数据库的视频表列出所有视频信息,每条视频对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除视频信息,并重定向当前页面,当管理员选择点击修改,则进入jiaoxueshipin_update.jsp页面,进行视频信息的修改。

视频管理流程图如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_22

图5-11视频管理流程图

视频添加页面设计效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据_23

图5-12视频添加界面

视频管理页面效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据_24

图5-12视频管理界面

5.7资源管理模块的实现

管理员添加资源信息是在点击添加按钮的前提下操作的,当页面跳转至kejianziyuan_add.jsp,添加成功后,管理员在kejianziyuan_list.jsp进行资源管理,kejianziyuan_ list.jsp通过查询数据库的资源表列出所有资源信息,每条资源对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除资源信息,并重定向当前页面,当管理员选择点击修改,则进入kejianziyuan_update.jsp页面,进行资源信息的修改。

资源管理流程图如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据_25

图5-11资源管理流程图

资源添加页面设计效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_数据库_26

图5-12资源添加界面

资源管理页面效果如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_远程教育_27

图5-12资源管理界面

5.8视频播放与付费模块的实现

管理员管理视频,用户点击想要观看的视频进入播放界面,浏览器自动播放该视频,视频播放通过调用html的<video>标签,将播放文件路径参数传入,完成播放,在play.jsp实现视频的播放。

本系统最大的亮点在于未付费的用户,每个视频只能播放一次,需要看第二次时是没法播放的。

视频播放流程图如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_远程教育_28

图5-11视频播放流程图

视频播放界面如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_远程教育_29

图5-12视频播放界面

视频付费界面如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_远程教育_30

图5-12视频付费界面

视频播放代码如下所示。

<div align="center">

<video src="<%=request.getParameter("spwj")%>" width="690"  controls preload ></video>

</div>

视频播放限制代码如下所示。

<%

if(ddd.equals("否"))

{

if(Float.valueOf(ttt).floatValue()>=1)

{

out.print("<script>alert('对不起,请付费后观看!');window.close();</script>");

return;

}


}

%>

5.9本章小结

本章节主要论述了登录模块用户的登录、课程管理、学生管理、题库管理、试卷管理、课件资源管理、教学视频管理、教师管理等功能模块的设计与代码的编写,以及最终实现的步骤。


第6章 系统测试

6.1测试目的

软件测试能够识别项目风险,为开发人员和程序经理提供软件测试的反馈结果,为风险评估提供必要的信息。再者,软件测试确保在上线日前达到上线标准。包括持续追踪项目进度和严格把控各个开发阶段的资源质量[20]

本系统主要测试客户端的使用和后台服务器的使用。客户端主要是测试用户注册、用户登录、用户完善信息、页面是否进行跳转、在线留言、评论资源、下载资源、视频播放等功能是否实现。后台主要是测试课程管理、学生管理、题库管理、试卷管理、课件资源管理、教学视频管理、教师管理的功能是否实现。

6.2界面测试

使用黑盒测试方法测试本系统的界面,测试界面是否正常、可用。

用户界面测试检查表如下表。

表6-1用户界面测试表

测试

测试人

测试结果

窗口切换、移动、改变大小时正常吗?

本人

正常

各种界面元素的文字正确吗?(如标题、提示等)

本人

正常

各种界面元素的状态正确吗?(如有效、无效、选中等状态)

本人

正常

各种界面元素支持键盘操作吗?

本人

正常

数据项能正确回显吗?

本人

正常

执行有风险的操作时,有“确认”、“放弃”等提示吗?

本人

正常

各种界面元素的布局合理吗?

本人

正常

6.3功能测试

1.用户登录测试

当用户以“gly”身份登录,密码为空或不是“gly”时,提示框会提示“密码不能为空,请输入密码!或密码错误,请输入正确地密码!”

基于springboot远程教育网站设计与实现的计算机毕设_远程教育_31

图6-1用户登录测试界面

当用户以“gly”身份登录,密码为 “gly”时,提示框会提示“已成功登录!欢迎你使用本系统!”

基于springboot远程教育网站设计与实现的计算机毕设_数据库_32

图6-2用户登录测试界面

2.用户信息管理测试

对系统进行功能测试,利用黑盒法的等效性法和边界值法相结合的测试方法,测试系统功能,例如对某些关键数据输入有错误的数据;处理业务使某个数据超过常规,如用户电话输入负值或域值上溢等,测试表如下。

表6-2用户信息管理测试

功能描述

以管理员身份登录,添加、修改、查询用户信息

用例目的

是否能够正确修改信息

前提条件

用户安全登录系统界面

输入/动作

输入

输出

示例:典型值…

电话   18812311235

电话18812311235

示例:异常值…

电话   188123

输入数据有误

如果输入的测试数据无误,则添加用户成功,如下图所示。

基于springboot远程教育网站设计与实现的计算机毕设_远程教育_33

图6-3录入用户信息成功界面图

在sqlserver数据库中用户信息表中编号设定的为5位,当输入12524时,用户姓名为“李四”时,点击添加按钮后提示框会提示“添加成功!”

3.主要功能测试

依据黑盒测试的方法和步骤,对系统做了相关测试,主要功能测试用例如下表所示。

表6-3主要功能测试用例

模块

用例描述

预期结果

备注

用户注册

用户名文本框中不输入任何数据

提示“请填写完整的信息”

测试用户名是否为空

在密码文本框中输入“123”三个字符

提示“密码长度最少为6位”

测试密码位数是否正确

在密码文本框和确认密码文本框中分别输“123456”和“258769”

提示“两次输入的密码不匹配”

测试用户两次输入的密码是否匹配

密码修改

在用户管理中修改密码,原始密码若输入不正确

提示“原始密码错误”

测试原始密码是否正确

视频管理

必填文本框中不输入任何数据,如标题和类别

提示“请填写完整的信息”

测试标题和类别是否为空

在视频栏输入非视频格式数据

提示“视频必须为视频格式

测试视频是否能为非视频格式

输入完整的视频信息”

提示“视频添加成功”

测试视频录入是否可用


6.4测试结果

远程教育网站经测试和调试后能够按照需求正常运行,基本没有错误,能够满足开发者和用户的需求。在系统整体测试过程中,系统功能相对来说比较简单,数据源的配置,需进一步改善。

6.5本章小结

本章主要论述了系统开发结束后,要对系统进行各方面的测试,开头介绍了系统的运行环境,需要哪些工具,由于本系统属于毕业设计,是小型的系统,所以本人只对系统进行黑盒测试,采用一些单独的测试数据对系统进行输入输出的结果判断,最后对测试结果进行总结。



第7章 总结

在老师的悉心指导下,在自己不断拼搏下经过一百多天的努力我的毕业设计终于接近了尾声,这段日子里有过心酸有过坎坷,感觉自己收获了许多的知识。此次毕业设计的要求是要创建一个远程教育网站,使用的开发软件是myeclipse编辑器以及SQLSERVER数据库。为了更好的开发和设计远程教育网站,本人尽可能多的去了解并掌握有关java语言和数据库的专业知识,通过查找资料和教学视频来自主学习。对书中的一些经典案例,不断的揣摩他的编程技巧,尽可能的弄明白每行代码的意思,老师也不厌其烦为我解答困惑。积累了大量基本知识之后,开始构思毕业设计。根据老师及任务书的要求,将整个系统分为若干个模块进行设计以满足程序所需要的功能。由于实战经验的不足,在设计过程的当中走了许多弯路,及时停止毕业设计的开发,通过不断的充电和学习来调整自己的心态,老师也为我传授了许多心得与经验,让我学会了一些巧妙的方法来改进程序。

完成之后,立马对程序进行了调试,由于前期充分的准备和积累大量的经验,调试过程当中相对比较顺利。虽然开发的过程当中无比艰辛但我也从里面学到了十分昂贵的经验,这是一生用之不竭的财富。

这些日子以来,让我明白了一个道理:不要害怕困难,不要恐惧,坚持才是胜利。这次的毕业设计不仅是让我对这些年所学知识有了更好的综合性整理,同样也让我学会了遇事不慌、沉着冷静的解决问题的方式,明白了团队协作的不可或缺,打开了视野,增长了知识,为我以后进一步走向社会打下了最坚实的基础。



致 谢

大学的学习生活总是感觉短暂的,总感到知识还没有学够,但大学毕业就在我们面前,即毕业设计即将的结束,意味着我们的大学生涯即将结束。毕业设计是我们在大学所学知识的一次总结,更是对我们过去所学知识的提炼和升华,通过毕业设计,我们认识到大学学习过程中还有那些知识没有掌握,那些知识需要我们进入深入研究。这次毕业设计让我学到了很多新的知识,研究了一些新的以前自己不熟悉的领域,使我处理问题的能力得到了一定的提升,同时也为今后的继续深造或踏入社会大门提供了很好的锻炼机会。

我也曾经沮丧过,失落过,想放弃过,可是因为你们这不厌其烦的鼓励和支持才使得我坚持了下来,这里我要对我的老师和同学们说句“谢谢你们”。因为我们的知识是有限的,所以本文将不可避免的会出现一些错误和不足之处,还请老师指正。


参考文献

[1]明日科技.java从入门到精通[M].清华大学出版社,2012,0-10.

[2]刘新锋.远程教育网站的问题及应对措施[J].法制社会,2013,4(3):223-230.  

[3]丁惠成,刘国灿.关于远程教育网站的思考[M].山东教育出版社,2013,20-100.

[4]韩志超.国外的系统建设与管理.中国电脑期刊[J],2014 ,5(1):200-300.

[5]张玉起.国内外远程教育网站现状及其发展[J] .今日科苑, 2015,7(1):1-200.

[6]陈向辉.由浅入深学java.电子工业出版社[M],2011-7,0-11.

[7]杨东援,徐士伟,贾俊刚.网络信息平台[J].同济大学学报(自然科学版),2010,6(6):24-30.

[8]周伟.远程教育网站的决策方法研究[J].清华大学学报,2011,3(3):11-33.

[9]朱越,远程教育网站的设计与实现[D].东北师范大学,2011年.

[10]周翊鹏.远程教育网站的设计与实现[D].电子科技大学,2012年.

[11]张本成.远程教育网站的设计与实现[J] .渝西学院学报(自然科学版),2014,2(2):30-40.

[12]黎明,郑江波.基于b/s的管理信息系统[J].长安大学学报(自然科学版) ,2015,2(1):30-44.

[13] 樊红,吴闽泉.陈洪波管理信息系统开发研究[J].武汉大学学报(自然科学版),2011,5(1):15-20.

[14]傅家骥,仝允恒.计算机网络经济学[M].清华大学出版社,2013,10-20.

[15]宋健,陈士俊.远程教育网站的变革因素与趋势分析[J].未来与发展,2012,3(08):40-50.

[16]OrlovA,Burk J,Kucharov,et al.Microstructural development duringhigh temperature creep of 9% Cr steel[J].Materials Science and Engineering,2013,254:39-48.

[17]Sasaki,Terufumi,Kobayashi,et al.Production and properties of seamless

modified 9Cr-1Mo steel boiler tubes[J].Kaw asaki Steel Technical Report,2014,25(4):78-87.

[18]Bendick W,Vaillant JC,Vandenberghe B,et al.Properties and workability of new creep strength enhanced steels as known grades 23, 24, 911 and 92[J].International Journal of Pressure Vessels and Piping,2014,476:25-29

[19] de Leeuw J R. jsPsych: a JavaScript library for creating behavioral experiments in a Web browser.[J]. Behavior Research Methods, 2015, 47(1):1.

[20] Gupta P, Govil M C. MVC Design Pattern for the multi framework distributed applications using XML, spring and struts framework[J]. International Journal on Computer Science & Engineering, 2010, 2(4):1047-1051.