Uploaded by 张一

1.基于JavaWeb的信号处理课程群管理系统研究与开发 李欢

advertisement
士f 伎
頌
(
中 文 题名
)
基于
J
a va
We b 的


於丈
信 号 处理课程 群


管理系 统研 宄与 开发


L

(
英文题 名
P ro c
e
ss
i
)
R e s e a r ch
n g C o u r s e G r o u
p
研 究 生姓名

a n d D e v e l o
M an ag e m e n
t
m e n t o f S



A


指 导 教 师 李 云 红
:


学科专 业  信 号 与 信 息 处 理
:
学 位类 型
学 术型
:

学 位 授 予 年度
:
2 0
_
i
g na
S y s t e m B a s e d  o n  J a v a
李
:
p



1
9





l


We b
学校代码
10709
中图分类号
TP315
UDC
密级:
公开 保密
硕士学位论文
(学术学位)
论文题名:
基于 JavaWeb 的信号处理课程群
管理系统研究与开发
研 究 生:
李
欢
学
号:
2016041007
导
师:
李云红(教授)
学
院:
电子信息学院
学科专业: 信号与信息处理 申请学位: 工学硕士
答辩委员会主任委员:
答辩日期:
朱
2019 年
虹(教授)
6月
18 日


西 安 工 程 大 学学 位 论 文 原 创 性 声 明
本 人 郑 重声 明
取 得 的 成果
:
所 呈 交 的 学 位 论 文 是 本人 在 导 师 的 指 导 下 独 立 进 行 研 究 工 作 所


,
除文 中 己经 注 明 引 用 的 内 容 外
。
发表 或 撰 写 过 的 作 品 成 果
明 确 方式 标 明
。
。


本 论 文 不 包 含 任何 其 他个 人 或集 体 己 经
,
对本 文 的 研 宄 做 出 重 要贡 献 的 个 人 和 集 体
本 人完 全 意识 到 本 声 明 的 法 律结 果 由 本 人 承 担
学 位论 文 作 者 签 名
日
,
均 已在文 中 以




。
:


¥ 欢
期 年
:
月
6
彳


日


西 安 工 程大 学 学 位论 文 版权 使 用 授权 书
本 学 位 论 文 作 者 完 全 了 解 学 校 有关 保 留
、
使 用 学 位 论文 的 规 定
向 国 家 有关 部 门 或 机 构 送 交 论 文 的 复 印 件 和 电 子 版
,
同 意 学校保 留 并


,
允 许论 文 被 查 阅 和 借 阅
。
本 人授


权 西 安 工 程 大学 教 学 目 的 使 用 本 学 位 论 文 将 全 部 或 部 分 内 容 编 入 有 关 数 据 库 进 行 检


,
索
,
可以采用影 印
、
缩 印 或 扫 描等 复 制 手 段 保存 和 汇 编 本 学 位 论 文
□保
密
,
在
_


。
年解 密后 适 用 本授 权 书


。


本 学 位 论 文属 于
保密
学 位论 文 作 者签 名
日
期
:
年
&
:
月
f
,
□ 立 即或 在口
1
年 口2 年 后 开 放 使用
咬 指 导 教 师 签 名
日 日
期
:


。


:
月 々


日
基于 JavaWeb 的信号处理课程群管理系统研究与开发
摘要:在知识和信息日益更新的时代,传统的课程管理方式已不能够满足现代教
育的需求。通过对高校教师和学生的上课情况调查研究后发现,课程种类和学生人数
的增多,为教师的教学管理增加了难度,而且简单的课堂教学已无法彻底解决学生学
习上遇到的问题。因此,论文提出基于 JavaWeb 的信号处理课程群管理系统研究与开
发,借助信息技术为教师和学生搭建一个能提供多种功能的课程群管理系统,方便教
师进行课程管理,实现与学生互动,提升学生的学习效果。
信号处理课程群管理系统的研究与开发主要研究工作如下:
(1)在研究信号处理课程群理论和 JavaWeb 技术的基础上,进行系统需求分析,
并采用 UML 建模技术建立课程群管理系统的 UML 模型。基于 B/S 架构和 MVC 分
层设计思想,完成系统体系架构设计,采用 SpringMVC 等框架技术实现后台业务管
理,使系统各层间具有高内聚、低耦合的特性,保持系统结构简单、清晰。通过自顶
向下的方法,分析系统的逻辑结构,抽象出系统的实体关系,对系统 MySQL 数据库
进行设计并优化。对系统功能进行设计,针对课程评价功能建立 Vague 集评价模型,
对课程评价进行等级划分,使课程评价规范合理,有助于系统质量的提升。
(2)基于系统设计实现了系统的用户登录、用户管理、角色管理、资源管理、
作业管理、课程评价、在线答疑、消息通知、邮件发送等功能并进行测试,结果表明,
利用 JavaWeb 技术实现的管理系统性能稳定,具有良好的可移植性。
(3)采用 LoadRunner 完成系统的负载压力测试,同时进行系统响应速度的性能
测试、不同操作系统及浏览器的兼容性测试,确保系统在不同平台能够正常使用。
创建的信号处理课程群管理系统提供的课程管理、作业管理、资源管理、课程评
价、在线答疑、消息通知等功能,实现了信息传递和资源共享。信号处理课程群管理
系统的搭建使信号与系统、数字图像处理等课程的管理更加规范,同时系统也可以推
广到其它学科。研究内容为教育现代化和网络教学提供了很好的平台,具有一定的应
用价值和实际意义。文中共有图 46 幅,表 33 个,参考文献 65 篇。
关键词:课程群管理;网络教学;JavaWeb;管理系统
中图分类号:TP315
I
Research and Development of Signal Processing Course
Group Management System Based on JavaWeb
Abstract: In an era of increasing knowledge and information, traditional methods of
curriculum management are no longer able to meet the needs of modern education. After
investigating the situation of college teachers and students, it is found that the increase in
the types of courses and the number of students has made it difficult for teachers' teaching
management, and simple classroom teaching has not completely solved the problems
encountered in students' learning. Therefore, the thesis proposes the research and
development of the signal processing course group management system based on JavaWeb,
and builds a course group management system that can provide multiple functions for
teachers and students by means of information technology, which is convenient for
teachers to manage courses, realize interaction with students and improve students’
Learning effects.
The main research work of the research and development of signal processing course
group management system is as follows:
(1) Based on the research of signal processing course group theory and JavaWeb
technology, the system requirements analysis is carried out, and the UML model of course
group management system is established by UML modeling technology. Based on the B/S
architecture and MVC layered design idea, the system architecture design is completed,
and the background business management is implemented by using the framework
technology such as SpringBoot, so that the system has high cohesion and low coupling
characteristics, keeping the system structure simple and clear. Through the top-down
method, the logical structure of the system is analyzed, the entity relationship of the system
is abstracted, and the system MySQL database is designed and optimized. This paper
designs the system function, sets up the Vague evaluation model for the course evaluation
function, divides the course evaluation level, makes the course evaluation standard and
reasonable, which helps the system quality to be improved.
(2) Based on the system design, user login, user management, role management,
resource management, job management, course evaluation, online question answering,
message notification, mail sending and other functions are implemented, and perform
functional testing. The test results show that the management system realized by JavaWeb
III
technology has stable performance and good portability.
(3) LoadRunner is used to complete the load stress test of the system, and perform
performance test of system response speed, compatibility test of different operating
systems and browsers,ensure that the system works properly on different platforms.
The created signal processing course group management system provides functions
such as course management, job management, resource management, course evaluation,
online question answering, and message notification to realize information transfer and
resource sharing. The construction of the signal processing course group management
system makes the management of signals and systems, digital image processing and other
courses more standardized, and the system can also be extended to other disciplines. The
research content provides a good platform for education modernization and network
teaching, and has certain application value and practical significance. There are 46 pictures,
33 tables and 65 references.
Huan Li(Signal and Information Processing)
Directed by Yunhong Li
Keywords: Course group management, Online teaching, JavaWeb, Management
system
Classification: TP315
IV
目
次
1 绪论.................................................................................................................................... 1
1.1 引言................................................................................................................................. 1
1.2 研究背景及研究意义..................................................................................................... 1
1.2.1 研究背景...................................................................................................................... 1
1.2.2 研究意义...................................................................................................................... 2
1.3 国内外发展现状与研究现状......................................................................................... 3
1.3.1 国内外发展现状.......................................................................................................... 3
1.3.2 国内外研究现状.......................................................................................................... 4
1.4 论文主要研究内容......................................................................................................... 5
2 开发技术与系统分析........................................................................................................ 7
2.1 信号处理课程群............................................................................................................. 7
2.2 系统开发相关技术......................................................................................................... 8
2.2.1 Java 技术分析...............................................................................................................8
2.2.2 JavaWeb 开发技术........................................................................................................8
2.3 系统可行性分析............................................................................................................. 9
2.3.1 技术可行性................................................................................................................ 10
2.3.2 社会可行性................................................................................................................ 10
2.3.3 经济可行性................................................................................................................ 10
2.4 系统需求分析与 UML 建模........................................................................................ 11
2.4.1 系统功能需求分析.................................................................................................... 11
2.4.2 系统非功能性需求分析............................................................................................ 12
2.4.3 系统性能需求分析.................................................................................................... 12
2.4.4 系统 UML 建模......................................................................................................... 13
2.5 本章小结....................................................................................................................... 15
3 信号处理课程群管理系统设计...................................................................................... 17
3.1 系统整体设计............................................................................................................... 17
3.1.1 系统整体功能模块设计............................................................................................ 17
3.1.2 系统体系架构设计.................................................................................................... 17
3.2 系统接口设计............................................................................................................... 20
3.3 数据库设计................................................................................................................... 21
V
3.3.1 数据库设计原则........................................................................................................ 21
3.3.2 数据库概念结构设计................................................................................................ 21
3.3.3 数据库表结构设计.................................................................................................... 22
3.4 系统基本功能设计....................................................................................................... 27
3.4.1 登录功能设计............................................................................................................ 27
3.4.2 组织机构管理功能设计............................................................................................ 27
3.4.3 用户管理功能设计.................................................................................................... 29
3.4.4 菜单管理功能设计.................................................................................................... 30
3.4.5 角色管理功能设计.................................................................................................... 31
3.5 系统主要功能设计....................................................................................................... 32
3.5.1 课程更新提醒功能设计............................................................................................ 32
3.5.2 作业管理功能设计.................................................................................................... 32
3.5.3 资源管理功能设计.................................................................................................... 33
3.5.4 课程评价功能设计.................................................................................................... 34
3.5.5 在线答疑功能设计.................................................................................................... 37
3.5.6 消息通知功能设计.................................................................................................... 38
3.5.7 邮件发送功能设计.................................................................................................... 38
3.6 本章小结....................................................................................................................... 39
4 信号处理课程群管理系统实现...................................................................................... 41
4.1 开发工具与运行环境................................................................................................... 41
4.1.1 开发工具.................................................................................................................... 41
4.1.2 运行环境.................................................................................................................... 41
4.2 系统基本功能实现....................................................................................................... 41
4.2.1 登录功能实现............................................................................................................ 41
4.2.2 用户管理功能实现.................................................................................................... 44
4.2.3 角色管理功能实现.................................................................................................... 46
4.3 系统主要功能实现....................................................................................................... 48
4.3.1 作业管理功能实现.................................................................................................... 48
4.3.2 资源管理功能实现.................................................................................................... 50
4.3.3 课程评价功能实现.................................................................................................... 53
4.3.4 在线答疑功能实现.................................................................................................... 55
4.3.5 消息通知功能实现.................................................................................................... 57
VI
4.3.6 邮件发送功能实现.................................................................................................... 58
4.3.7 首页时间轴实现........................................................................................................ 59
4.3.8 视频压缩上传功能实现............................................................................................ 60
4.4 本章小结....................................................................................................................... 61
5 信号处理课程群管理系统测试...................................................................................... 63
5.1 测试环境....................................................................................................................... 63
5.2 系统功能测试............................................................................................................... 63
5.2.1 登录功能测试............................................................................................................ 63
5.2.2 组织机构管理功能测试............................................................................................ 64
5.2.3 用户管理功能测试.................................................................................................... 65
5.2.4 角色管理功能测试.................................................................................................... 66
5.2.5 课程添加功能测试.................................................................................................... 67
5.2.6 资源添加功能测试.................................................................................................... 68
5.2.7 消息通知功能测试.................................................................................................... 69
5.3 系统性能测试............................................................................................................... 70
5.4 系统兼容性测试........................................................................................................... 72
5.5 本章小结....................................................................................................................... 72
6 总结与展望...................................................................................................................... 73
6.1 总结............................................................................................................................... 73
6.2 展望............................................................................................................................... 74
参考文献.............................................................................................................................. 75
附录 A.................................................................................................................................. 81
附录 B.................................................................................................................................. 83
作者攻读学位期间发表学术论文清单.............................................................................. 91
致谢...................................................................................................................................... 93
VII
1 绪论
1 绪论
1.1 引言
本课题研究得到“纺织之光”中国纺织工业联合会高等教育教学改革项目(项目
号:2017BKJGLX139)和西安工程大学基础课程质量提升项目-信号与系统(项目号:
2017JCK14)的资助。随着国家教育体制改革的不断深化,高等院校在教学质量和招
生规模上得到飞跃发展。高校开设的专业和课程也越来越多,使教师管理难度加大,
教学任务繁重,无法高效的完成教学任务,教学管理成为目前面临的最大问题[1]。单
一的课堂授课已无法满足学生学习知识的需求,教师和学生之间也缺乏必要性的沟
通。在追求高效率、信息化的时代背景下,传统的课程管理模式已不能够满足高校教
学管理的需求[2-3]。专业性领域教学管理系统研究细化系统功能管理,可大幅度提升
管理系统应用效率。课程群极具专业性,且协调各课程间关系。信号处理相关课程对
信息化发展具有举足轻重的影响,该类课程也是复杂课程的代表。因此,信号处理课
程群管理系统逐渐成为研究的热点。
1.2 研究背景及研究意义
1.2.1 研究背景
在多媒体技术、网络通讯技术、物联网、云计算及大数据等技术迅猛发展的情况
下,现代教育技术作为信息技术与教育相结合的领域,已经成为当前教育教学改革的
“焦点”[4-6]。它对教育思想和教育理念的更新、对教学管理和教师管理制度的完善、
对教学内容和教学资源的重组、对教学方法和教学方式的转变、对教学空间和教学设
备的再造都产生着深刻的影响[7]。
课程群建设也应该适应当今社会信息科技的发展和变革,传统的信号处理类课程
教学主要依赖于教师课堂授课,由于课时限制、上课人数等多方面因素,这种授课模
式导致学生参与性和互动性降低,缺乏对知识点的深入理解。各门课程独立教授,忽
略了课程内容间的衔接与连贯性,讲授的课程内容也会出现部分重叠,学生难以将这
些课程联系起来,形成一个体系并综合应用。而且随着技术的不断发展,需要学习的
专业知识增多,专业课程门类也有所增加,因此分配到每门课程的学时也在压缩。
建立课程群管理系统有利于协调各课程之间的关系,打破课程与课程之间传统的
单维关系,互为补充,相互关联,以“点”形成“面”,形成逐层递进、整体优化的
体系化结构,使课程体系更加符合信息社会对学生知识结构和能力结构的需求,并融
入 CDIO(Conceive Design Implement Operate,简称 CDIO)工程教育模式的理念,
1
西安工程大学硕士学位论文
加强学生基础能力、动手实践能力和探究创新能力的培养,促进学生基础能力、动手
实践能力和探究创新能力的培养,促进学生知识、能力、素质的综合协调发展[8]。因
此,建立一个信号处理课程群管理系统能够合理整合课程资源,使课程体系结构化、
完整化,方便学生在有限时间内整合学习专业知识,并加强实践操作,了解课程之间
的联系,更好地掌握这一类课程。
JavaWeb 系统开发是目前主流且较为成熟的系统应用开发方案,基于 JavaWeb 的
信号处理课程群管理系统建设,打破了传统教育模式。它融入基于学习产出教育模式
(Outcomes-based Education,简称 OBE)工程教学理念和 CDIO 教育模式,以驱动教学
方法,在系统应用中引入精心设计的课题项目,在项目中进行实践创新[9]。有助于拓
展学生创新实践,完善网络教学驱动,更好地激发学生学习兴趣,提高教学质量,同
时很好地辅助学生开阔眼界和思路。因此,论文提出基于 JavaWeb 的信号处理课程群
管理系统研究,旨在推动我国信息化时代教育建设水平。
1.2.2 研究意义
党中央提出“以信息化带动经济工业化”和“以信息化带动教育现代化”。强调
“各类各级学校要积极推广计算机及网络教育”,“大力发展现代远程教育,提高教
育现代化、信息化水平”[10]。在传统的教育模式基础上,增加现代信息化的教育模式,
一方面有助于减轻教务人员工作压力,进而提高工作效率;另一方面,有助于促进高
等院校教育质量及办学水平。信息化的课程管理模式相对于传统模式来说,具有存储
数据量大,稳定可靠,方便精确查找,节约资源等优点,最大程度实现自动化办公[11-13]。
因此,采用信息化技术进行课程群管理系统研究具有非常重要的意义。
对于课程群管理系统的研究和开发,可以将内容上密切相关、相承、渗透、互补
性的系列课程上传到系统,提高教学效率,激发学生的学习积极性。这种信息化的网
络教育方式能够为学习者提供良好的学习环境,充分发挥自己的优势。第一,通过网
络,可以把资源分享到世界每个角落。人们可以通过网络传递资源、获取资源,保证
学习资源的实时有效性。第二,网络学习为各行各业的人们都提供了学习机会。无论
身兼何职,所处何地,都可以通过网络了解到自己感兴趣的事情,学习到最新的知识,
提高了人们获取知识的热情,有利于推动全民素质教育[14]。第三,网络为人们提供了
更加便捷的交流平台。对于老师和学生而言,除了课堂上的教学,在其余时间,学生
们遇到问题可以及时与老师沟通,也可以和同学进行探讨,提高了学习效率。
基于 JavaWeb 的信号处理课程群管理系统研究,可以将信号处理相关课程录入系
统,包括信号与系统、数字信号处理、语音信号处理、数字图像处理和人工神经网络
等相关课程。同时也可以使用到其他学科的课程管理,如计算机、通信工程、电子信
2
1 绪论
息工程等专业。课程群管理系统的开发可以解决目前高校教师教学任务繁重,课程众
多,管理难度加大,学生获取知识滞后,与老师沟通难等问题,使得课程管理体系更
加健全,课程管理模式更加先进。为打造良好的教学环境,提高高校现代化教育建设
水平提供了更具推动力的资源条件。信号处理课程群的建设对提高创新型人才培养质
量具有非常重要的意义。
1.3 国内外发展现状与研究现状
1.3.1 国内外发展现状
欧美等发达国家由于计算机技术的兴起和普及,在教育上很早就引入计算机网络
技术,取得的教育成果也十分显著,在教学管理和课程实践方面为我国教育系统建设
提供了良好的借鉴作用[15]。自上世纪九十年代初期开始,美国就制定了国家信息基础
设施计划,重点在于发展以互联网为中心的信息化建设,该计划的主要目标是实现信
息技术的大力普及与推广[16]。步入 21 世纪以来,美国教育改革正是建立在这一计划
基础之上,旨在将信息技术快速推广到每一所高校中。
我国早期的计算机技术和网络技术发展严重滞后于美国,信息化普及程度相对较
低。近年来,随着信息化建设的不断普及,以及我国对于教育的高度重视,当“终身
教育”的观念越来越被社会大众所接受时,为了满足人们日益高涨的教育需求,利用
现代通信手段和媒体为人们提供高质量的受教育条件是我们关注的焦点[17-22]。为了提
高高校教学质量,实现信息化教育,要求各大高等院校实现教师、学生、教学以及管
理等多种信息的储存与管理自动化[23]。要求在实行教育的过程中,以计算机、多媒体
和网络等技术作为主要教学手段,将现代化信息技术最大程度的体现在教育中,推动
现代化教育的发展,实现教育的进一步变革。
在互联网与大数据、人工智能等交织的数据信息时代,互联网在教育行业兴起,
使得学校的教学管理更加现代化、网络化。因此,开发人员也开始逐渐熟悉教务管理、
教学模式等教育方面的系统应用开发[24]。这种应用管理系统要求操作简单,功能明确,
为老师和学生提供了方便。近年来各大高校为了进一步实现现代化教育,已经投入了
大量的精力和资源,学校教务、教学管理系统的实现,就是教育改革中的最好证明[25]。
经调查发现,课程群管理系统还未普遍走进各大高校,教师对于课程和学生的管理部
分仍然停留在传统的模式上,不利于教学效率的提高,还需进一步开拓发展。为了提
高教学质量,推动学校教学管理,许多高校都着手制定并且实现符合自身需求的教学
管理系统[26]。
现今,我国高校对于网络信息化教育已经相当重视,一方面已经投入大量资金用
3
西安工程大学硕士学位论文
于完善基础设备,另一方面,部分教学以及教务管理已经实现网络化办公,如学生自
主选课系统和财务报账系统的实现,方便教师和学生的日常工作和学习,提高了高校
的办公效率,有利于信息化教育的发展[27-32]。大部分高校已经建立了教务管理系统,
选课系统等教育系统软件,基本实现了信息化管理在高校的应用。但对于课程管理的
信息化建设,只有少数高校进行研究,且现有的教学管理系统也存在一定的局限性。
(1)系统功能不够健全
大多数教学管理系统在功能上只是满足一般教学管理需求,对于外延性的功能与
开发工作效率问题,由于技术的局限和资金投入的压力,未取得优越性的突破。虽然
高校在不断改进教学设备,引进先进的教学理念,在原有的教学管理系统上进行一定
程度的改进,但是系统功能不够健全,与国外相比仍存在一定差距。
(2)系统针对性不强
高校使用的系统大多是教务管理系统,课程群系列的管理系统使用较少。教务系
统具有可以让教师和学生查看自己的相关信息等功能,但缺少教师和学生之间的互动
等相关功能,例如资源共享、作业管理、消息通知等,系统针对性不强,不利于教学
管理工作的进行以及教学效率的提高。另外,系统学科性的建设匮乏,导致系统功能
针对性较弱,亟需针对不同领域专业,完善学科专业性的教学管理系统。
(3)系统性能不高
高校管理系统建设对稳定性考虑较高,系统发展策略较为保守,硬件设施与软件
技术存在一定滞后性。另外,精品网站建设在院校的重视度不够,部分精品课程网站
页面单一,缺乏技术支持,应用系统页面管理不统一,从而影响教育管理系统对精品
网站内容的引用,故高校教育管理系统性能不高。
1.3.2 国内外研究现状
将信息化技术融入教学管理系统,提升教学管理效率和质量,还可以加强多学科
间的联系,理论与项目实践相结合,对培养极具创新性的复合型人才有重大意义,因
此,信息化教学管理系统极具研究价值。
我国学者刘欣[33]通过对某高校的教学管理进行调查研究,开发了基于 ASP.NET
技术的高校教学管理系统,提高教学管理效率,提升对师生的服务水平,但在系统的
研究与开发中,对各用户权限管理不够细化,管理功能有待进一步完善。蒋立国[34]
通过以高校教学管理系统建设为对象,在融合了数据库技术的基础上,构建了基于
J2EE 体系的三层体系架构模式,对网络教育管理系统的信息化和自动化研究产生了
较为显著的科学研究意义。古晓艳[35]等以智能手机和教学区域的网络环境普及为契
机,建立高校教学设备的二维码信息平台以及后台管理系统。完成对教学设备的出入
4
1 绪论
库管理、使用管理和维护管理,使资产清查工作顺利进行,提高了目前教学设备的日
常管理效率。王靖娜[36]等提出一种包含 Android 移动客户端、PC Web 客户端和 Web
服务端混合而成的学生考勤管理系统。使用基于 Android 平台的移动设备实现电子点
名功能,通过 3G 网络将学生考勤数据实时上传至服务器,并用 J2EE 实现考勤数据
的动态管理和查看。系统可以实时、宏观的掌握学生出勤信息,为高校学生安全管理
提供了有力的支持。刘涛[37]等通过针对目前智能课堂的研究,开发了一种基于 Tornado
和 React 技术的课程管理系统,该系统安全且轻量,对教学管理系统功能有一定完善,
但是该系统数据库选用 MongDB,在数据表的连接方面有待完善。
国外学者 Niculescu[38]等人借助现代信息技术,对学生与教育活动的感兴趣程度
进行分析,依靠信息化提升教学水平。Elena Makarova[39]等人对信息技术下的教育体
系进行相关分析研究,设计结构模型,探索验证信息技术教育对学习积极性的推动作
用。Maia Chankseliani[40]等人对信息化教育进行了分析,研究了将信息化融入教育体
系中,对专业性教育人才能力的提升,研究结果表明信息化融入教育体系对专业性人
才培养大有裨益,但是专业性教育未涉及具体的行业领域,对信号处理类复杂学科专
业没有深入研究。国外信息技术发展较为迅速且达到较高水平,但是将信息化技术融
入专业学科群管理系统,加强完善信息化教育还需不断做深入研究工作。由于互联网
发展等因素影响,国内对互联网新型教学研究相对滞后于国外,课程群管理系统建设、
复杂学科信号处理类课程教育管理培养等还需投入更多工作。
1.4 论文主要研究内容
目前,JavaWeb 已经被广泛应用在小区物业、汽车后市场信息搜索以及娱乐设施
管理系统等多种行业之中。课题针对目前高校普遍存在的课程管理难度大、资源共享
局限、交流不畅等问题,基于 JavaWeb 技术展开信号处理课程群管理系统研究,解决
高校在教学管理方面的实际需求。课题的主要研究内容和工作如下:
(1)通过对高校的教学情况进行调查研究并结合信号处理课程的特点,确定系
统的整体设计方案,根据高校的实际教学情况,明确系统需求,进行系统研究开发的
分析工作。
(2)根据课程群管理系统的特点和系统分析的结果,对系统进行模块划分和整
体设计。依据数据库设计原则,对系统数据库 MySQL 进行概念结构和表结构设计。
最后对系统基本功能和主要功能进行设计。
(3)基于系统体系架构设计,以及系统需求分析和功能设计,完成系统基本功
能和作业管理、课程评价、在线答疑等主要功能的研究与开发。
5
西安工程大学硕士学位论文
(4)对系统进行功能测试、性能测试以及兼容性测试。功能测试包括对系统的
用户登录、用户管理、角色管理、资源管理、课程管理、作业管理、课程评价、在线
答疑、消息通知、邮件发送等功能的测试;性能测试包括对系统负载压力、响应速度
的测试,系统运行在不同操作系统和浏览器上进行兼容性测试。
论文主要包含六章内容,具体如下:
第 1 章 绪论。通过对课题的研究意义、研究背景和国内外现状进行分析研究,
明确课题研究的现状不足以及课题研究的具体内容和必要性。
第 2 章 开发技术和系统分析。本章确定了系统开发的整体设计流程,研究了系
统的相关开发技术,包括开发语言、开发环境和技术框架等。从系统可行性和需求两
方面进行分析,在满足开发可行性和需求的基础上,通过 UML 对系统进行建模。
第 3 章 信号处理课程群管理系统设计。首先通过对系统进行模块划分,完成整
体功能模块设计。基于信号处理课程群系统需求分析、B/S 架构和 MVC 开发模式,
完成系统体系架构设计。然后对系统接口、数据库进行设计,最后分别使用流程图和
时序图完成系统基本功能和主要功能的设计。其中基本功能设计包括登录、组织机构
管理、用户管理、菜单管理、角色管理功能的设计,主要功能设计包括课程更新提醒、
作业管理、资源管理、课程评价、在线答疑、消息通知、邮件发送功能的设计。
第 4 章 信号处理课程群管理系统实现。安装系统开发实现所需要的开发工具,
部署好系统开发运行环境。通过类图表示各功能类之间的关系,依据类图进行程序设
计,完成基于 JavaWeb 的信号处理课程群管理系统基本功能与主要功能的开发实现。
第 5 章 信号处理课程群管理系统测试。通过搭建测试环境,明确测试目的,编
写测试用例,分别对系统功能、性能以及兼容性进行了测试。确保系统满足功能需求
和性能需求,并且能够在各个平台上平稳运行。
第 6 章 总结与展望。主要总结了课题的工作内容和研究成果,对课题后续进一
步研究作用做出展望。
6
2 开发技术与系统分析
2 开发技术与系统分析
本章重点对系统相关理论、开发技术等进行分析,首先对信号处理课程群进行分
析总结,然后对系统开发使用的 Java 技术,JavaWeb 开发服务器环境、开发工具、开
发框架以及数据库等相关技术进行研究,为课程群管理系统的设计和开发提供理论与
技术支撑。系统分析环节是系统开发过程中的一个重要步骤,明确系统开发的可行性
和需求,再对系统进行 UML 建模,为系统设计提供依据。
2.1 信号处理课程群
课程群是以现代教育理念和专业培养体系进行课程建设且极具整合性的课程系
统。信号处理课程群基于现今社会学科交叉思想,有机整合信号处理类相关课程,能
够在有效时间内使学生获得最大化理论知识和实践知识。信号处理类课程包括信号与
系统、数字信号处理、语音信号处理、数字图像处理和人工神经网络等相关课程,课
程理论性较强,概念较为抽象,各课程间独立性强、衔接难度大。研究开发信号处理
课程群管理系统旨在将课程群内相关课程在教学内容设置和教学手段实施等方面有
机统一,整合教学资源,构建教学模块化实践体系及多元评价方式,培养学生综合实
践能力和创新思维,提高学生素质和专业技能,以应对社会的需求。如表 2-1 所示,
以课程群中 5 门课程为例,结合课程特点,在系统网站中体现出本身特色。
表 2-1
课程群 5 门课程的系统特色
课程名称
系统特色
课程具有较强的理论优势。突出连续信号与系统的时域分析,信号与系统的变
信号与系统
换域分析,离散信号与系统时域分析等重点和难点进行辅导。提供资源共享以
及讨论交流的良好学习平台环境。上传习题和资料,可进行自测自练。
课程以信号处理算法研究作为主线,注重探究性方法学习,侧重于仿真和实际
数字信号处理
应用。系统提供仿真模块,包括 Webserver 远程仿真和 GUI 交互练习等各个辅
导环节,提供探究性学习指导,学生可以对教师的讲解情况进行匿名评价。
课程是语音和数字信号处理两学科结合的产物,通过对数字化语音信号进行时
语音信号处理
频域分析,展现语音信号时域及频域曲线,根据语音特性合理关联其它课程。
课程突出采用软件演示仿真,多媒体等展示信息处理综合技术为研究驱动。针
数字图像处理
对图像处理、分析的主要方法,提供重点难点的讲解和答疑环节。
对如何提高信息系统的可靠性、有效性、保密性和认证性做了深入研究,突出
信息论与编码
信源、信道编码的核心要点。提供丰富的学习资源,通过系统发布作业题目和
要求,在线作答并提交,老师在线批改评分,及时巩固基础理论研究。
7
西安工程大学硕士学位论文
2.2 系统开发相关技术
2.2.1 Java 技术分析
基于面向对象思想设计的解释性 Java 语言,它是分布式的,支持网络编程与多
线程编程,具有可跨平台、高效稳健、安全等特性,是目前最主流的开发语言。Java
语言摒弃了 C++的指针、内存管理等复杂特性,简化开发,提升开发效率[41-42]。Java
程序是基于类的,Java 类具有继承、封装、多态三大特性。继承提高代码复用率;封
装可隔离代码,便于使用,提高重用性与安全性;多态可以使代码灵活操作,简化代
码,提高使用效率[43]。Java 程序具有动态性,使它在分布式环境下的系统应用可自由
升级,不影响原程序应用运行[44-46]。
目前,Java 多应用于大数据与 Web 网页应用开发,Web 开发更适合于大型网站
开发以及基于中台服务的平台式应用开发。基于 Java 语言的特性,它在 Web 开发中
有举足轻重的影响,故论文基于 JavaWeb 展开信号处理课程群管理系统研究与开发。
2.2.2 JavaWeb 开发技术
基于 JavaWeb 进行应用系统开发过程中,涉及到服务器环境、开发工具、开发框
架、数据库、网页开发等相关技术。
(1)服务器环境
基于安全性以及社区活跃度等,服务器环境常用操作系统为 Linux 操作系统,其
中使用较多的 Linux 系统是 CentOS 和 Redhat。Windows 操作系统的服务器有便捷式
的窗口化操作,图形化界面友好,一般在小型企业系统应用中使用[47-48]。
(2)开发工具
目 前 主 流 JavaWeb 开 发 工 具 有 Intellij IDEA 和 Eclipse , 也 有 部 分 企 业 使 用
MyEclipse 和 Netbeans。其中,IDEA 稳定性高、界面简洁友好、调试方便,对主流
框架 Spring Boot 以及 Maven 环境等更容易部署应用,相对于较为传统的开发工具
Eclipse 更容易被人们接受。MyEclipse 是基于 Eclipse 以及一些常用插件完善后的开
发工具,相对于 Eclipse 更易于开发,但它非开源免费[49]。
(3)开发框架
开发框架大大提高开发效率与维护成本,主要的 Web 开发框架有 Spring、
SpringMVC、SpringBoot、Mybatis 等。其中,Spring 是方便解耦、简化开发、便于集
成其它框架的框架,SpringMVC 是一个强大灵活的分离控制器、模型对象、分派器
的 Web 框架,SpringBoot 是整合了 Spring 体系框架的框架,Mybatis 是封装 JDBC 的
轻量级持久层框架[50-56]。
8
2 开发技术与系统分析
(4)数据库
数据库有关系型和非关系型数据库,企业一般使用关系型数据库满足系统开发需
求 ,常 用的关 系型数据库管 理系统 (Relational Database Management System, 简称
RDBMS)有 MySQL、Oracle、DB2 等数据库,关系型数据库满足实时性写入或更新
频率高的需求。随着平台式开发以及集群式系统应用开发的发展,体积小、易安装部
署的 MySQL 数据库受到更多的青睐[57]。
非关系型数据库(Not Only SQL,简称 NoSQL)常用的有 Redis、MongoDB、HBase,
非关系型数据库一般用来作为读操作频繁或大数据量的系统数据存储。持久化存储
NoSQL 数据库 Redis 一般作为缓存应用,MongoDB 是作为弱一致性、支持大容量和
非结构化数据存储最为常用的 NoSQL 数据库,HBase 是海量大数据存储的分布式可
扩展的列存 NoSQL 数据库。
(5)网页开发技术
Web 网页开发技术主要通过 HTML、CSS 与 JavaScript 等前端开发技术来实现,
其中 JavaScript 是前端页面开发广为接受的一种解释型脚本语言,各浏览器都内置了
JavaScript 解释器[58-59]。开发过程中会使用 Vue、React 等前端开发框架,提升开发效
率,使用 HTML5、CSS3,增强页面交互与视觉美观效果。HTML5 相对 HTML 提供
更丰富的标签,表单处理等功能设计也更为合理,它的适配性更好,同时有许多新特
性功能,如支持本地离线存储,减少对 Flash 等外部插件的依赖等。CSS3 是 CSS 的
升级版本,CSS3 新增了语言、列表、背景边框、文字特效等模块特效,使标签冗余
度降低,减少 HTTP 请求次数,提升页面响应速率,增强用户体验效果[60-61]。采用
Ajax 技术实现页面交互,完成客户端与服务器端请求异步响应。
2.3 系统可行性分析
在计算机网络技术高速发展的情况下,高等教育要求的毛入学率提高到了 50%
以上,由于高校招生的要求在一定程度上有所降低,导致教师需要教授的学生人数剧
增。对于现在的教学需求,已经不是简单的几节课就能够满足,教师和学生之间的联
系已经不仅仅局限于课堂。开发基于计算机网络的课程群管理系统,促使学生和教师
紧密联系,充分利用教师的零碎时间,实现课程管理的网络化办公,扩大教学资源的
传播范围,提高教师教学效率,同时也为教师和学生提供了网络化的交流平台。
在计算机技术引领时代发展的情况下,可见计算机技术对于社会发展的重要性,
教育行业的进步也离不开计算机技术。为了推动教育的现代化建设,提升高校教学质
量,开发课程群管理系统是非常必要的。
9
西安工程大学硕士学位论文
2.3.1 技术可行性
随着 IT 技术的快速发展和日渐成熟,各类管理系统也已经应用于各个行业。因
此,管理系统在对行业的管理上扮演着重要的角色。信号处理课程群管理系统在借鉴
了这些管理系统成熟的开发经验的同时,提出了自己特有的技术和功能方面的创新。
系统页面效果实现采用 HTML5、CSS3、JavaScript、Vue 以及 React 等前端技术;
服务器端程序使用 Java 语言编写,Java 语言有跨平台、安全、健壮的特点,且有垃
圾回收机制,不需要编程人员管理内存,只需要专注于系统功能的开发,简化开发,
提升开发效率,同时在很大程度上防止了内存泄漏。课程群管理系统数据库选用
MySQL 数据库,MySQL 体积小,是一个中小型开源的关系型数据库,MySQL 是现
今使用较多的数据库之一,性能、安全等多方面得到认可。系统开发持久层框架
MyBatis 是一款体积较小的优秀框架,实际应用中得到广泛的认可。JavaWeb 开发
Spring 体系框架是优秀框架的代表,源码体积小,不侵入业务代码,可缩短开发周期,
提升系统开发效率。开发工具选用现今使用较多且极受欢迎的 IDEA。
硬件方面,内存、CPU 等随着集成电路技术的发展逐渐普及,无论台式机还是
笔记本的计算性能都在不断提升,完全可以满足信号处理课程群管理系统的开发需
要。故基于 JavaWeb 的信号处理课程群管理系统的研究与开发在技术上是可行的。
2.3.2 社会可行性
为了响应国家“现代化教育以及教育现代化”的号召,各大高校已经加入到教育
改革的队伍中[62]。所谓现代化教育就是把现代化先进的思想和科学技术融入到日常教
育中,改变人们以往陈旧落后的观念,推动社会现代化的发展。所谓教育现代化则是
对传统的教育方式进行一定的改进,主要是通过互联网为学习者提供现代化先进的教
育平台[63]。经调查得知,已经有绝大多数高校开始改进教学设备,并且引进先进的教
学理念,通过让部分教师出国学习优秀的教学方法、先进的文化思想以及高效的管理
模式,为促进现代化教育奠定良好基础。开发信号处理课程群管理系统具有良好的社
会环境,能够得到国家相关政策的支持。系统会为教师提供诸多便利,加强和学生的
沟通交流。同时学生可以获取到更多的学习资源,系统也会被广泛支持并推广。系统
独立进行开发,不存在侵权问题,更不会影响个人、集体、国家的利益。因此,信号
处理课程群管理系统的开发具有社会可行性。
2.3.3 经济可行性
经济可行性分析包括前期开发投入成本和后期支出收益情况。信号处理课程群管
理系统的经济可行性,考虑系统投入使用后所带来的经济价值是否远高于系统开发时
所投入的人力、物力和资金。系统采用 B/S 架构开发,硬件设施要求不高。应用客户
10
2 开发技术与系统分析
端,教师和学生通过浏览器就可访问应用系统。信号处理课程群管理系统将部分传统
纸质资源转换为网络在线资源,基于系统可以完成部分教学任务,解决各高校教学过
程中师生不能及时互动的问题。同时响应国家提倡绿色教育和低碳经济理念,所产生
的经济效益明显大于开发投入。故信号处理课程群管理系统的开发具有经济可行性。
综上所述,通过从开发技术、社会支持、投入产出三个方面对系统开发可行性进
行分析,证明系统开发切实可行。该系统的研究开发可以提高高校办学水平,推进现
代化教育的建设。因此,系统的研究开发具有一定的实用价值。
2.4 系统需求分析与 UML 建模
需求分析是课程群管理系统设计中的一个重要阶段。论文在对教师和学生进行了
充分的调研之后,把对系统提出的需求和建议进行分析整理,编写规范的需求文档。
2.4.1 系统功能需求分析
系统根据使用场合和对象,将使用者分为管理人员、教师和学生三类。对每个群
体设置相应权限,并实现相应的功能,系统中各用户的功能具体如表 2-2 所示。
表 2-2
系统用户功能表
操作用户
系统功能
管理员
教师
学生
用户管理
新增、修改、删除、查询
不可见
不可见
组织机构管理
新增、修改、删除、查询
不可见
不可见
角色管理
新增、修改、删除、查询
不可见
不可见
菜单管理
新增、修改、删除、查询
不可见
不可见
个人信息
查看、修改
查看、修改
查看、修改
课程管理
不可见
新增、修改、删除、查询
查看
资源管理
不可见
新增、修改、删除
查看、下载
查询、发布
新增、修改、删除
作业管理
不可见
完成
查询、批改
在线答疑
不可见
回答问题
新增、删除、查看
消息通知
新增、删除、查看
新增、删除、查看
查看、删除
课程评价
不可见
查看
新增、查看
以下为不同用户群体的功能需求。
(1)管理人员:管理人员所拥有的功能主要从四个方面实现,一是对用户信息
11
西安工程大学硕士学位论文
的维护,包括用户信息的添加、修改和删除;二是对组织机构的维护,包括系统菜单
的配置和维护;三是对用户角色权限的分配,通过系统可以为用户分配不同的使用权
限;四是消息通知,管理员可以发送系统通知,在系统维护或者升级时,提前通知学
生和教师,不影响正常的教学活动。
(2)教师:教师拥有课程管理功能,包括课程信息新增、修改和删除;课程作
业的新增、修改和删除以及学习资源新增、修改和删除。教师可发布教授课程的作业,
并对作业批阅。同时对于不清楚的问题,也可以和学生进行在线答疑和交流,促进了
教师和学生之间的沟通。教师除了在课堂上讲授课程内容,也可通过系统上传并发布
教学资源,包括文档类教学资源和视频类教学资源,为学生提供学习资料,拓宽学生
知识面。当教师对有关课程信息做了相应调整时,通过消息通知功能及时告知学生。
(3)学生:学生可通过系统查看自己的课表,获取课程信息和教师信息;可对
所学的课程进行匿名评价;在个人信息中,可查看和修改自己的信息;在收到老师发
送的消息通知时,可以在规定时间内在线完成作业并提交,并且能够及时查看教师的
批改结果;可以对教师发布的教学资源下载学习,其中视频类资源能够直接在线观看。
2.4.2 系统非功能性需求分析
非功能性需求是需求分析的一部分,会对系统架构设计产生影响。对课程群管理
系统进行分析,总结出以下几点非功能性需求。
(1)兼容性。系统应该支持不同的操作系统,例如主流的 Windows、Linux 操
作系统等。也应该支持主流的浏览器,例如 Chrome、IE、Firefox 等。
(2)可维护性。系统应该支持快速维护,对于普通的修改应该在 2 天或更短时
间内完成,对于重大修改应该在一周内完成。
(3)可扩展性。系统应该具有良好的扩展性,可以方便的添加新功能和模块。
并且不对其他模块产生影响,保持系统的稳定性。
2.4.3 系统性能需求分析
结合系统需求分析,以及学生与教师对系统性能提出的要求,系统性能需求如下:
(1)简单易用性。信号处理课程群管理系统的使用者为教师和学生,使用目的
是为了提高教学水平和效率。因此,系统需要满足操作流程少、页面逻辑清晰、方便
师生的理解和操作,尽量降低教师和学生对系统的学习成本等需求,注重系统的易用
性,尽量使所有使用者都能快速熟练的使用系统。
(2)安全性。系统需要对操作用户身份的合法性进行验证,控制不同用户之间
的操作权限,不允许出现跨越权限的操作。系统对于敏感信息需要使用加密算法处理,
密文存储,保证用户的信息安全。系统需要建立规范的安全机制,通过采取针对措施,
12
2 开发技术与系统分析
可以应对大多数病毒和网络攻击。
(3)时间性能。时间性能主要体现在响应时间上,即系统功能完成的时间,响
应时间和客观环境、数据体量、用户主观感受等都有关系。系统需要进行优化设计,
明确时间响应指标,满足用户的主观感受,降低数据体量对响应时间的影响。
(4)健壮性。系统在设计时要考虑到健壮性和稳定性,能够验证用户错误的输
入并进行友好的提示,避免录入冗余数据而引发未知的异常错误,确保系统的稳定性。
2.4.4 系统 UML 建模
UML 是一种面向对象软件的标准化统一建模语言。它支持软件开发的可视化和
模型化,可以将软件设计中的信息简单准确地表达出来,可以作为分析人员和使用者
之间传递信息的纽带[64]。系统的维护和升级是系统后续开发中必不可少的环节,后续
开发者可以通过 UML 模型,快速掌握系统的开发逻辑以及实现原理,使系统具备很
强的可复用性,为系统维护提供了便捷的途径,降低系统维护的成本。
用例图是 UML 模型图的一种,是指由参与者、用例以及它们之间的关系构成的
用来描述系统功能的视图。经分析,系统主要有管理员、教师和学生三个参与者。
管理员可操作的功能:一是对所存储的用户、角色、菜单以及组织机构信息进行
合理的功能操作,达到维护和管理的目的;二是根据用户身份进行菜单分配,确保用
户的使用权限;三是可利用消息通知功能,发布系统消息通知,接收对象为系统所有
用户,主要用来通知系统维护时间等系统相关事项。管理员用例图如图 2-1 所示。
图 2-1
管理员用例图
13
西安工程大学硕士学位论文
教师可操作的功能:课程管理,对课程信息进行增删改查功能操作。作业管理,
对作业进行功能管理操作,以及作业批改和打分。资源管理,对资源信息进行增删改
查等功能操作,以及上传和发布资源。在线答疑,教师在线回答学生提出的问题。消
息通知,发布关于教授课程的消息通知,通知对象为学习这门课程的全体学生。课程
评价,可以查看学生对自己教授课程的评价信息。教师用例图如图 2-2 所示。
图 2-2
教师用例图
学生可操作的功能如用例图 2-3 所示。
图 2-3
学生用例图
14
2 开发技术与系统分析
学生可操作的功能:个人信息,查看自己的信息并修改。课程信息,查看课程信
息。作业提交,查看教师发布的作业信息,在线完成作业并提交。资源下载,下载并
学习由教师发布的课程资源。在线答疑,提交课程学习的疑问,查看教师解答。课程
评价,对所学课程进行匿名评价。消息通知,查看教师或管理员发布的消息通知。
2.5 本章小结
本章首先对信号处理课程群进行分析,然后对系统开发技术 Java 语言特性及优
势进行分析总结,对 JavaWeb 开发相关技术做了分析,包括服务器操作系统、开发工
具、开发框架、数据库等相关技术,为基于 JavaWeb 的信号处理课程群管理系统研究
中的设计与开发提供理论与技术支撑。再对系统进行相关分析,包括系统可行性分析
与系统需求分析,最后对系统进行 UML 建模。通过系统分析与 UML 建模,为后续
系统设计奠定基础。
15
西安工程大学硕士学位论文
16
3 信号处理课程群管理系统设计
3 信号处理课程群管理系统设计
系统设计包括系统概要设计和系统详细设计。系统概要设计主要确定系统的软件
结构和各组成模块之间的关系。需要遵循高内聚、低耦合的原则,使结构尽可能保持
简单、清晰的设计理念。系统详细设计是为系统功能实现做铺垫,通过对系统详细分
析,包括业务功能实现的逻辑分析与步骤分析,对后续功能开发实现有决定性作用。
3.1 系统整体设计
3.1.1 系统整体功能模块设计
根据需求分析和用例图,以系统使用者为划分依据,将系统划分为三个功能模块,
分别为管理员功能模块、教师功能模块和学生功能模块,系统功能模块如图 3-1 所示。
图 3-1
系统功能模块图
3.1.2 系统体系架构设计
依据系统需求分析和整体模块设计,基于 JavaWeb 及相关开发技术对系统体系架
构进行设计。系统设计遵循网页服务(Browser/Server, 简称 B/S)开发模式,B/S 开发
模式相对客户端服务(Client/Server, 简称 C/S)开发模式有很多优点,无需安装升级,
跨平台性、兼容性、稳定性较好,B/S 架构原理如图 3-2 所示。
17
西安工程大学硕士学位论文
图 3-2
B/S 架构原理图
系统开发技术架构遵循 MVC(Model View Controller,简称 MVC)开发模型,MVC
模式工作原理是用户以网页客户端访问,通过输入、点击或其它操作进行人机交互。
之后将交互请求发送给服务端控制器,控制器根据请求类型和 URL 将请求转发到对
应的模型去处理。模型根据用户输入与数据库进行交互,完成相应的任务操作,最后,
将结果通过视图展示给用户,完成完整的 MVC 模式原理的前后端交互。MVC 模式
工作原理具体如图 3-3 所示。
图 3-3
MVC 模式原理图
依据功能需求、B/S 开发模式和 MVC 模式,对系统体系技术架构进行设计。技
术架构体系图如图 3-4 所示。
18
3 信号处理课程群管理系统设计
图 3-4
系统体系技术架构图
系统体系技术架构中,开发语言主要使用 Java8,页面开发主要使用 JavaScript,
集成 ES6 新特性,开发工具使用 Intellij IDEA,服务容器使用 Tomcat8.0。系统前端
开发主要使用 HTML、CSS、JQuery、Bootstrap 以及 Vue、React 框架等主流技术,
使用 Ajax 完成前端与后端的数据交互,数据传输为异步请求。使用 Ajax 所创建的页
面可做局部刷新功能,提高页面加载速率,减少用户等待时间,增强用户体验。后端
开发框架使用主流的 Spring、SpringBoot、SpringMVC、持久层框架 MyBatis 和作业
调度框架 Quartz。Spring 轻量 Java 开发框架,可整合其它框架配置信息,很好地处
理了业务层与其它层的松耦合问题。SpringBoot 框架整合其它框架,简化配置,规范
开发流程,提升开发效率。SpringMVC 框架构建了 Web 开发的 MVC 模块,分离控
制器、过滤器和模型对象,使得系统更容易定制化开发。用户使用浏览器访问系统发
出请求时,先进入过滤器对请求进行过滤,再进入 SpringMVC 核心 DispatchServlet,
它会把请求转发给具体处理方法。在处理方法中调用 Business Façade 接口处理业务
逻辑。最后基于持久层框架 MyBatis,调用 DAO 接口具体实现的方法将 Java 对象 POJO
19
西安工程大学硕士学位论文
持久化到 MySQL 数据库中,或者从数据库中获取记录,通过 XML 配置文件映射为
实体对象并解析为 Json 格式返回给前端。Quartz 为作业调度框架,用来执行一些定
时任务。数据库使用搭建 MySQL 集群,容器排版引擎 Kubernetes 做负载均衡,使用
NoSQL 数据库 Redis 做系统应用缓存。
3.2 系统接口设计
接口是数据传输的通道,是连接客户端与数据库的桥梁,接口设计应保证接口隔
离、低耦合等基本原则,还需遵循易使用、易阅读、易开发等特性。系统接口主要从
以下两方面进行设计。
(1)接口安全性设计
为了保证后端接口调用安全,在前端请求后端接口时,
需要对请求的会话信息进行判断,从会话中获取用户信息,获取不到则禁止调用后端
接口,并且返回失败信息给前端。安全性由过滤器实现,首先客户端对服务端发起请
求时,请求先进入过滤器,当判断请求为接口调用时,获取该请求中用户会话信息进
行验证,验证通过后可以请求后端接口,验证不通过则返回失败状态码和相关信息,
保证接口调用的安全性。接口设计采用 RESTful 设计风格,客户端与服务端之间的请
求是无状态的,每次请求需要客户端的身份信息。
(2)接口数据设计 接口数据传输使用 Json 格式,便于解析且传输效率高。客
户端请求参数的数据格式如下:
{
Url: ” ”,
Type: ” ”,
Data: ” ”
}
其中,Url 为请求的后端接口,Type 为请求方式,Data 为请求参数。服务端返回
的数据格式如下:
{
Rescode: ” ”,
ResDada: {
Message: ” ”,
Data: ” ”
}
}
20
3 信号处理课程群管理系统设计
其中,Rescode 为状态码,“100”代表请求出错,“102”代表缺少参数,“200”
代表请求成功,“201”代表请求参数出错,“304”表示没有调用权限,“500”代
表服务器出错。ResData 包括返回信息 Message 和返回数据 Data,Message 根据状态
码的不同会以弹窗的形式给予用户不同的提示信息,在系统开发阶段便于程序调试,
在系统使用阶段,可以给用户友好的提示信息。
基于接口数据设计,如果数据不符合格式则会被提交到后端,并在前端页面给用
户提示对应的错误或异常信息。后端对数据进行事务控制,发生错误或异常时进行错
误回滚,保证数据的准确性和合理性。
3.3 数据库设计
3.3.1 数据库设计原则
在系统总体设计方案的指导下,数据库设计为系统各功能实体目标服务。数据库
设计应遵循以下原则:
(1)逻辑清晰,分工合理;
(2)数据库必须高度结构化,保证数据的结构化、规范化和标准化,方便数据
库的建立和信息的交换;
(3)尽可能使数据库简洁,通过降低冗余度来减少对存储空间的占用,降低冗
余度的同时需要考虑对系统运行速度的影响;
(4)设定相应的安全机制。由于数据库的信息对用户有特定的保密要求,因此
安全机制必不可少。
3.3.2 数据库概念结构设计
数据库概念结构设计的主要任务是在需求分析的基础上,按照特定的方法把需求
抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型能使设计者的
注意力从复杂的实现细节中解脱出来,只需集中在最重要的信息的组织机构和处理方
式上。概念数据模型建立的依据是通过不同身份用户的观点对数据和信息进行建模,
模型中主要表达了各个实体和相关实体之间的关系,实体间的详细关系利用实体关系
图来展现。
对系统经过详细地分析,抽象出以下实体:组织机构、菜单、角色、用户、课程、
作业、作业明细、资源、评价、消息和答疑。这些实体之间的关系具体如实体关系图
3-5 所示。
21
西安工程大学硕士学位论文
图 3-5
实体关系图
3.3.3 数据库表结构设计
依据系统需求分析、功能模块和实体分析,对系统数据库表结构设计如下。
(1)组织机构表
组织机构表用于存储组织机构的信息。详细信息如表 3-1 所示。
表 3-1
组织机构信息表(DEPART)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
DWBM
VARCHAR(256)
否
否
否
机构编码
DWMC
VARCHAR(256)
否
否
否
机构名称
DWSX
VARCHAR(32)
否
否
否
机构属性
PID
VARCHAR(32)
否
否
否
上级机构 ID
FIRSTTIME
DATETIME
否
否
否
创建时间
LASTTIME
DATETIME
否
否
否
修改时间
(2)菜单表
菜单表用于存储菜单信息。详细信息如表 3-2 所示。
表 3-2
菜单信息表(MENU)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
NAME
VARCHAR(32)
否
否
否
菜单名称
URL
VARCHAR(256)
否
否
否
菜单地址
XSSX
DECIMAL
否
否
否
菜单显示顺序
FIRSTTIME
DATETIME
否
否
否
创建时间
LASTTIME
DATETIME
否
否
否
修改时间
22
3 信号处理课程群管理系统设计
(3)角色表
角色表用于存储角色信息。详细信息如表 3-3 所示。
表 3-3
角色信息表(ROLE)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
NAME
VARCAHR(32)
否
否
否
角色名称
REMARK
VARCHAR(256)
否
否
是
角色描述
FIRSTTIME
DATETIME
否
否
否
创建时间
LASTTIME
DATETIME
否
否
否
修改时间
(4)用户表
用户表用于储学生、教师、管理人员的信息。详细信息如表 3-4 所示。
表 3-4
学生/教师/管理人员信息表(USER)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
ACCOUNT
VARCHAR(32)
否
否
否
账号
NAME
VARCHAR(32)
否
否
否
用户名
PASSWORD
VARCHAR(64)
否
否
否
密码
STAFF_FLAG
VARCHAR(2)
否
否
否
标识 0 学生 1 教师
SEX
VARCHAR(2)
否
否
是
性别 0 男 1 女
TEL
VARCHAR(11)
否
否
是
电话号码
PHONE
VARCHAR(11)
否
否
是
手机号码
ADDRESS
VARCHAR(64)
否
否
是
地址
PRO_TITLE
VARCHAR(32)
否
否
是
职称
DIRECT
VARCHAR(32)
否
否
是
研究方向
EMAIL
VARCHAR(64)
否
否
是
邮箱
EDUCATE_HISTORY
VARCHAR(256)
否
否
是
教育经历
WORK_HISTORY
VARCHAR(256)
否
否
是
工作经历
HEAD_ICON
LONGTEXT
否
否
是
系统头像
USER_ICON
LONGTEXT
否
否
是
用户照片
STATUS
VARCHAR(2)
否
否
否
状态 0 无效 1 有效
DWID
VARCHAR(32)
否
否
否
所属院系/班级 ID
DWBM
VARCHAR(256)
否
否
否
所属院系/班级编码
FIRSTTIME
DATETIME
否
否
否
创建时间
LASTTIME
DATETIME
否
否
否
修改时间
23
西安工程大学硕士学位论文
(5)课程表
存储课程的相关信息。详细信息如表 3-5 所示。
表 3-5
课程信息表(COURSE)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
NAME
VARCHAR(32)
否
否
否
课程名称
STARTTIME
DATETIME
否
否
否
开课时间
ENDTIME
DATETIME
否
否
否
结课时间
COURSE_ADDRESS
VARCHAR(32)
否
否
否
上课地点
TEST_ADDRESS
VARCHAR(32)
否
否
否
实验地点
USER_ID
VARCHAR(32)
否
是
否
代课老师 ID
TIME_JSON
VARCHAR(1024)
否
否
否
上课时间
INTRODUCE
VARCHAR(256)
否
否
是
课程介绍
FIRSTTIME
DATETIME
否
否
否
创建时间
LASTTIME
DATETIME
否
否
否
修改时间
(6)作业主表
作业主表用于存储作业信息。详细信息如表 3-6 所示。
表 3-6
作业主表(TASK_MAIN)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
COURSE
VARCAHR(32)
否
是
否
课程 ID
TITLE
VARCHAR(128)
否
否
否
标题
ENDTIME
DATETIME
否
否
否
截止时间
INTRODUCE
VARCHAR
否
否
是
说明
MUST_NUM
INT
否
否
是
应交人数
ACTUAL_NUM
INT
否
否
是
实交人数
DOCUMENT
VARCHAR(128)
否
否
是
附件路径
USER_ID
VARCHAR(32)
否
否
否
创建人 ID
FIRSTTIME
DATETIME
否
否
否
创建时间
LASTTIME
DATETIME
否
否
否
修改时间
24
3 信号处理课程群管理系统设计
(7)作业明细表
作业明细表用于存储作业明细信息。详细信息如表 3-7 所示。
表 3-7
作业明细信息表(TASK_DETAIL)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
MAIN_ID
VARCHAR(32)
否
是
否
主表 ID
CONTENT
VARCHAR(32)
否
否
否
内容
STATUS
VARCHAR(2)
否
否
否
状态
SUBMIT_TIME
DATETIME
否
否
是
提交时间
SCORE
DOUBLE
否
否
是
分数
DOCUMENT
VARCHAR(128)
否
否
是
附件
USER_ID
VARCHAR(32)
否
否
否
提交人 ID
RESULT
VARCHAR(128)
否
否
是
评语
FIRSTTIME
DATETIME
否
否
否
创建时间
LASTTIME
DATETIME
否
否
否
修改时间
(8)资源信息表
资源信息表用于存储教师上传的教学资源信息。详细信息如表 3-8 所示。
表 3-8
资源信息表(RESOURCE)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
USER_ID
VARCHAR(32)
否
是
否
上传人 ID
TITLE
VARCHAR(128)
否
否
否
标题
FILE_TYPE
VARCHAR(32)
否
否
否
资源类型
UPLOAD_TIME
DATETIME
否
否
否
上传时间
PATH
VARCHAR(256)
否
否
否
存储路径
INTRODUCE
VARCHAR(256)
否
否
是
资源说明
STATUS
VARCHAR(2)
否
否
否
资源状态
DOWNLOAD_NUM
INT
否
否
是
下载次数
TYPE
VARCHAR(2)
否
否
否
资源分类
COURSE_ID
VARCHAR(32)
否
否
否
课程 ID
FIRSTTIME
DATETIME
否
否
否
创建时间
LASTTIME
DATETIME
否
否
否
修改时间
(9)消息通知表
消息通知表用于存储消息通知信息。详细信息如表 3-9 所示。
25
西安工程大学硕士学位论文
表 3-9
消息通知表(notice)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
MSG_TITLE
VARCHAR(32)
否
否
否
消息标题
MSG_CONTENT
VARCHAR(512)
否
否
否
消息内容
TYPE
VARCHAR(2)
否
否
否
通知类型 0 系统 1 教学
USER_ID
VARCHAR(32)
否
否
否
接收人 ID
CROUSE_ID
VARCHAR(32)
否
否
是
关联课程 ID
STATUS
VARCHAR(2)
否
否
否
消息状态 0 未读 1 已读
FIRSTTIME
DATETIME
否
否
否
创建时间
(10)课程评价表
课程评价表用于存储学生对课程的评价信息。详细信息如表 3-10 所示。
表 3-10
课程评价表(evalute)
字段名
数据类型
主键
外键
是否为空
说明
ID
VARCHAR(32)
是
否
否
主键
COURSE_ID
VARCHAR(32)
否
否
否
评价课程 ID
CON_SCORE
INT
否
否
否
课程内容评价分数
CONTENT
VARCHAR(256)
否
否
是
课程评价内容
TEC_SCORE
INT
否
否
否
教学性评价分数
TEC_CONTENT
VARCHAR(256)
否
否
是
教学性评价内容
REC_SCORE
INT
否
否
否
交互性评价分数
REC_CONTENT
VARCHAR(256)
否
否
是
交互性评价内容
FIRSTTIME
DATETIME
否
否
否
创建时间
(11)答疑表
答疑表用于存储教师和学生之间的答疑信息。详细信息如表 3-11 所示。
表 3-11 问答回复表(answers)
字段名
数据类型
主键
外键
可否为空
说明
ID
VARCHAR(32)
是
否
否
主键
QUESTION
VARCHAR(32)
否
否
否
问题
COURSE_ID
VARCHAR(32)
否
否
否
关联课程 ID
IP_ADDRESS
VARCHAR(32)
否
否
否
IP 地址
RELATED_ID
VARCHAR(32)
否
否
否
关联问题 ID
CREATOR_ID
VARCHAR(32)
否
否
否
创建人 ID
FIRSTTIME
DATETIME
否
否
否
创建时间
26
3 信号处理课程群管理系统设计
3.4 系统基本功能设计
3.4.1 登录功能设计
登录功能用于用户进入系统,对用户身份进行验证,方便规范用户功能权限,且
保护系统安全和数据安全。在用户管理模块中新增用户信息时,用户登录密码使用
MD5 加密算法加密后存储于系统数据库。MD5 算法属于 Hash 算法一类,是常用的
密码散列函数。登录时先获取用户在网页中输入的密码,对密码进行 MD5 加密运算
后和数据库中存储的该用户的密码散列值进行比对,比对通过后允许用户进入系统进
行操作,保证系统的安全性。成功登录之后会根据用户的系统角色,查找菜单信息,
展示用户可见的功能菜单。系统登录功能流程如图 3-6 所示。
图 3-6
登录功能流程图
3.4.2 组织机构管理功能设计
组织机构管理功能提供对组织机构的新增、删除、修改和查询操作,只有拥有管
理员权限的用户显示组织机构管理菜单。登录时验证用户是否为管理员角色,若用户
是管理员角色,为用户分配组织机构管理菜单,否则该菜单不可见。管理员可以新增、
修改、删除和查询组织机构。教师用户在新增课程时需要选择班级,可以使用组织机
构查询功能。新增组织机构时需要选择机构属性,包括学校、院系、专业、班级等。
27
西安工程大学硕士学位论文
新增用户时可以选择角色,为用户分配不同的菜单,系统中的一个用户只拥有一个角
色。组织机构用于对系统用户的管理,用户归属于组织结构。
组织机构由树状图和表格展示数据。树状图展示组织机构的层次结构和所属关
系,表格展示了某个组织机构下的所有子机构。树状图的根节点(系统最大的组织机
构)在系统初始化时写入数据库中,不允许修改和删除,并且只有一个根节点。树状
图由 zTree 实现,zTree 是由 jQuery 实现的性能优异、配置灵活的多功能“树插件”。
组织机构管理功能流程如图 3-7 所示。
图 3-7
组织机构管理功能流程图
28
3 信号处理课程群管理系统设计
3.4.3 用户管理功能设计
用户管理功能提供用户的新增、删除、修改和查询操作,用户管理菜单可见用户
为管理员,菜单由登录功能进行分配。管理员可以新增、修改、删除和查询用户信息。
新增时系统需要验证用户账号的唯一性,给账号输入文本框添加事件,检测输入完成
后,使用 Ajax 发送 HTTP 异步请求给后端服务,参数为输入的账号信息,后端服务
查找数据库数据后返回 True 或 False 标识,False 则验证不通过,阻止此次新增。用
户管理功能流程如图 3-8 所示。
图 3-8
用户管理功能流程图
29
西安工程大学硕士学位论文
系统使用学号作为用户账号,且账号不能修改。教师和学生用户可查看和修改自
己的个人信息,教师可以查看学习自己课程的所有学生信息。新增用户时,需选择用
户类型,不同用户类型需填写不同的信息。选择教师时,需填写教师的职级、研究方
向和工作经历等信息,通过给下拉框添加 onChange 事件实现。用户管理页面布局左
侧为组织机构树,右侧为用户列表信息。点击左侧组织机构树的节点,右侧列表刷新,
显示该组织机构下的用户列表信息。管理员和教师用户可以通过用户姓名查询用户。
3.4.4 菜单管理功能设计
菜单管理功能提供菜单新增、删除、修改和查询操作,其功能流程如图 3-9 所示。
图 3-9
菜单管理功能流程图
30
3 信号处理课程群管理系统设计
系统为了灵活的配置角色权限,设计了动态菜单,使系统具有很强的扩展性,同
时也提升了系统的可维护性。菜单管理功能可见用户为管理员,管理员可以根据不同
角色的需求,对菜单进行新增、修改、删除和查询操作。
3.4.5 角色管理功能设计
角色管理功能提供角色的新增、删除、修改和查询操作,角色管理菜单可见用户
为拥有管理员权限的用户。管理员可以对角色进行新增、删除、修改和查询操作。角
色管理左侧为角色表格信息,右侧为该角色可见的菜单信息,可进行新增和删除。点
击左侧角色信息,右侧显示该角色当前可见菜单信息。点击新增,查询该角色未拥有
的菜单信息,选中保存将菜单分配给该角色,拥有该角色的用户重新登录系统可显示
分配的菜单。用户角色分配在用户管理模块实现,角色管理功能流程如图 3-10 所示。
图 3-10
角色管理功能流程图
31
西安工程大学硕士学位论文
3.5 系统主要功能设计
3.5.1 课程更新提醒功能设计
课程更新提醒功能主要用于当课程信息发生变化时,能及时发送消息通知给学习
该课程的学生。当教师使用课程群管理系统新增课程信息后,系统将获取到该课程的
信息,包括开课时间、结课时间、上课时间、上课地点、实验地点等,并将信息拼接
为一条消息,然后通过选择的班级查找需要接收消息的学生,调用消息发送接口然后
发送给学生。当教师修改课程信息时,会给学习该课程的学生发送消息通知。课程更
新提醒同时提供邮件发送功能,创建课程和修改课程信息时,在课程信息页面会有是
否发送邮件通知选项,当选中该选项时,创建和修改课程信息的同时给学习该课程的
学生发送邮件通知,邮件标题为某课程更新提醒,邮件内容为课程详细信息。
课程更新提醒功能时序图如图 3-11 所示,教师更新课程信息后,系统将信息拼
接为一条消息写入数据库,然后发送给学生,发送成功后返回操作页面。
图 3-11
课程更新提醒功能时序图
3.5.2 作业管理功能设计
作业管理功能的使用者为教师和学生。教师填写作业信息,在数据库作业主表新
增一条作业信息,应交人数为学习该课程的学生数,初始实交人数为零,系统将在数
据库作业明细表中为学生新增一条作业信息,状态为待提交。学生会接收到系统发送
的作业通知,可以在线作答并提交。提交完成之后作业状态被系统改为待批阅,实交
人数加一。教师对待批阅的作业进行批改打分后,系统将通知学生查看结果。
作业管理功能时序图如图 3-12 所示,教师用户新增作业信息,系统将信息写入
32
3 信号处理课程群管理系统设计
数据库,教师确认发布按钮后,学生接收到作业通知,完成作业并提交到系统数据服
务,最后教师进行批改打分,并将结果写入数据库。
图 3-12
作业管理功能时序图
3.5.3 资源管理功能设计
资源管理功能的使用者为教师和学生。只有拥有教师角色的用户可以在资源管理
模块新增教学资源信息,教师新增教学资源时需要选择关联课程,只能选择自己教授
的课程和相关资源种类。资源管理功能只允许上传指定格式的资源并限制上传资源的
大小。教师新增的教学资源状态为待发布,此时可以进行修改和删除操作,并且学生
无法查看到待发布状态的资源。教师发布教学资源后,会给学生发送消息通知,通知
学生有新资源发布。学生在资源下载中心可以查看到所学课程的教师发布的教学资
源,学生可以根据课程,资源种类筛选所需要的资源进行下载,下载调用后端接口将
资源下载到本地保存,然后查看。系统会统计下载次数,每当下载一次,下载次累计
计加一。
资源管理功能时序图如图 3-13 所示,教师首先上传教学资源,系统将资源存入
数据库,教师选择发布资源后,学生可以查看并下载资源,最后下载次数随着学生的
下载量不断更新。
33
西安工程大学硕士学位论文
图 3-13
资源管理功能时序图
3.5.4 课程评价功能设计
课程评价功能是学生对所学课程进行评价操作,教师可以查看评价信息。拥有学
生角色的用户可以新增课程评价信息,评价信息不能删除和修改,新增后立即生效,
评价设计为匿名评价,可以多次评价。学生新增课程评价时,需要选择课程信息,课
程评价信息分为三个指标,分别为课程内容、教学性、交互性,每个评价指标设置四
个评价标准,分别为优秀、良好、一般、差,学生根据评价页面的指标提示对各个指
标进行评价,系统采用 Vague 集相似度模型对评价信息进行等级划分。填写完评价信
息后调用后端新增接口进行新增操作,此时,数据库的课程评价表中会增加一条评价
信息。同时,系统会调用消息接口给教师发送一条消息通知,通知教师课程被评价,
请及时查看。教师通过课程评价模块可以查看学生对自己课程的评价,而且教师无法
修改课程评价信息。
课程评价功能时序图如图 3-14 所示,学生新增课程评价信息后,信息被系统写
入数据库并送通知给该课程的负责教师,教师可以查看评价信息。
34
3 信号处理课程群管理系统设计
图 3-14
课程评价功能时序图
为了体现评价的公平公正性,在对课程评价功能进行设计时,借鉴姚凯[65]对评论
数据的分析过程,首先选取 ROST CM 进行文本挖掘,通过对评价内容中高频词提取
并分类,根据关键词出现的频率高低,结合目前国内外主流的课程评价标准,如在线
学习的认证标准、CELTS-22.1 网络课程评价规范、国家精品课程评审指标等,总结
出评价指标;然后通过 AHP(层次分析法)确定指标权重,最后建立基于 Vague 集的评
价模型。模型根据 Vague 集相似度来对课程进行等级划分,建立课程评价模型如下。
(1)构造 Vague 集隶属函数
假设 U 是一个论域,x 是 U 中的任一元素,U 中的一个 Vague 集 A 用一个真隶
属函数 t A 和一个假隶属函数 f A 表示,t A ( x ) 是 x 的肯定隶属度下界, f A ( x ) 是 x 否定隶
属度的下界, t A ( x ) 和 f A ( x ) 将区间 [0,1] 中的一个实数与 U 中的一个点联系起来,即:
t A : U  [0,1] , f A : U  [0,1] 。其中, t A ( x )  f A ( x )  1 。
用一个真隶属度 t A ( x ) 和一个假隶属度 f A ( x ) 来描述其隶属度的界,构成[0,1]区间
的子区间 [t A ( x),1  f A ( x)] ,表示“一定范围内属于”,存在肯定、否定和中立的客观
事物的数学模型。
(2)基于 Vague 集相似度的课程评价过程
35
西安工程大学硕士学位论文
设 U 是一个非空集合,V 是 U 上所有的 Vague 集组成的集合, A  U , B  U ,
M : V V  [0,1] 。如果 M ( A, B ) 满足性质:
1) 0  M ( A, B)  1 ;
2)如果 A=B,则 M ( A, B )  1 ;
3) M ( A, B )  M ( B, A) ;
则称 M ( A, B ) 为 A 与 B 的相似度。
设 x  [t x ,1  f x ] , y  [t y ,1  f y ] 是论域 U 上的两个 Vague 值,其中 t x , t y  [0,1] ,
f x , f y  [0,1] , t x  f x  1 , t y  f y  1 。定义优势函数 S ( x ) 估计方案对评价要求的适合
程度,如式(3-1)所示。
S ( x)  t x  f x , S ( y )  t y  f y
(3-1)
式(3-1)中, S ( x)  [ 1,1] , S (y)  [ 1,1] 。在此基础上,定义 Vague 集的相似度
量 M ( x, y ) ,如式(3-2)所示,其值越大,表示 Vague 值 x 和 y 越相似。
M ( x, y )  1 | s ( x )  s ( y ) | /8  (| t x  t y |  | f x  f y |) / 8 | t x  t y  f x  f y | /4
(3-2)
n
设 A 和 B 为论域 U 上的两个 Vague 集。其中, A=  [t A ( xi ),1  f A ( xi )] / xi , xi U ,
i 1
n
B =  [t B ( xi ),1  f B ( xi )] / xi , xi U 。
i 1
元素 xi 的权重为 wi , wi  0 。则加权 Vague 集 A 和 B 的相似度可由函数 T 计算,
T  [0,1] ,其值越大,则 Vague 集 A 和 B 越相似。Vague 集的加权相似度量法如式(3-3)
所示:
n
Tw ( A, B )   wi M (VA ( xi ),VB ( xi ))
(3-3)
i 1
设计课程评价功能时,依据课程综合评价指标体系,指标体系表见附录 A 1,建
立被评价课程的 Vague 集和理想指标的 Vague 集,根据各指标的权重利用公式(3-3)
计算两者之间的相似度。建立课程评价为“优秀”的 Vague 集,计算与理想 Vague
36
3 信号处理课程群管理系统设计
集的相似度,相似度越高,则对这门课程的评价越优。系统根据计算的相似度将评价
分为四个等级,具体如下:
(1) 当 Tw  (0.8,1] 时,显示评价结果为“优秀”;
(2) 当 Tw  (0.7, 0.8] 时,显示评价结果为差“良好”;
(3) Tw  (0.5, 0.7] 时,显示评价结果为“一般”;
(4) 当 Tw  [0, 0.5] 时,显示评价结果为“差”。
3.5.5 在线答疑功能设计
在线答疑功能是学生对所学课程中的疑问在线提出,由教师进行回答。在线答疑
设计一个主问题可进行四次回复。学生通过在线答疑模块选择课程,填写问题,调用
新增接口,新增问题。同时,调用消息发送接口,给学生所选课程的代课教师发送一
条消息通知,提醒教师有待处理的问题。教师登录系统后可通过在线答疑模块查看所
有学生对自己课程提出的疑问,并进行解答回复。对于复杂的问题,文字描述不仅需
要大量篇幅并且不够直观。因此,在线答疑集成了视音频、图片、文档等丰富的在线
答疑方式。学生若有疑问可继续追问,消息对话按时间升序排列。所有学生可以查看
自己所学课程的问题和解答。提出问题的学生可删除问题,解答也会被一并删除。
在线答疑功能时序图如图 3-15 所示,学生用户选择课程进行提问,系统将问题
写入数据库并发送消息给负责该课程的教师,教师对问题进行解答,问题与解答同时
写入系统数据库,学生可以进行查看。
图 3-15
在线答疑功能时序图
37
西安工程大学硕士学位论文
3.5.6 消息通知功能设计
消息通知功能分为两类通知,一类是教师和管理员负责的消息通知,教师新增消
息通知时需要选择课程,接收者默认是学习该课程的学生,管理员新增消息通知时,
接收者为系统的全体用户。另一类消息通知是与用户有关的信息发生变化,系统发送
消息通知用户。如针对学生用户,教师发布了新的作业或资源、作业被教师批改等;
针对教师用户,学生提交了作业、评价了课程等,系统都会发送消息通知相关用户。
消息通知功能时序图如图 3-16 所示,发送者编辑消息,系统将编辑好的内容写
入系统数据库,并发送给接收者,接收者可以查看消息通知。
图 3-16
消息通知功能时序图
3.5.7 邮件发送功能设计
邮件发送功能没有功能页面,发送消息通知时,勾选了发送邮件,系统调用邮件
发送接口给用户发送邮件。邮件发送接口需要的参数包括邮件主题、邮件内容和接收
用户邮箱(可以是一个或多个)。参数由调用邮件发送接口的模块组织,调用时传递
给邮件发送接口。系统内置了作业过期邮件提醒功能,该功能设计为在作业提交截止
日期前一天,发送邮件给未提交作业的学生。该功能使用 Quartz 作业调度框架完成,
在定义好的时间点,会触发方法执行。课程群管理系统定义每天 12 点发送作业过期
提醒,该作业调度框架会在每天 12 点执行一个方法,查询符合条件的记录,然后调
用邮件发送接口,发送邮件给学生。
邮件发送功能时序图如图 3-17 所示,发送者在新建消息时,点击发送邮件按钮,
38
3 信号处理课程群管理系统设计
发送通知时会将消息发送到接收者的邮箱,若在限定时间前一天未提交作业,则会触
发作业调度机制实现作业过期提醒。
图 3-17
邮件发送功能时序图
3.6 本章小结
本章对系统进行了整体设计、接口设计、数据库设计、基本功能和主要功能设计。
通过整体模块设计对系统各模块的功能明确划分,基于系统需求分析、功能模块以及
B/S 与 MVC 架构对系统体系架构进行设计,选用主流、社区活跃度高、可靠性好的
技术架构,使系统更具前瞻性。在数据库设计中主要制定了数据库的设计原则,确保
数据库设计的准确性和严谨性,对数据库的概念结构和表结构进行了设计。系统的基
本功能与主要功能通过功能逻辑流程图和时序图完成功能设计。
39
西安工程大学硕士学位论文
40
4 信号处理课程群管理系统实现
4 信号处理课程群管理系统实现
在第三章系统设计的基础上,对系统功能实现进行研究,通过 Java 程序设计语
言完成系统功能开发。
4.1 开发工具与运行环境
4.1.1 开发工具
(1) 配备 CentOS7.4 64bit Linux Server 服务器环境;
(2) 安装部署 Jdk1.8、Tomcat8 和 Maven3.5,提供 Java8 开发环境;
(3) 安装数据库 MySQL 5.7 和 Redis 3.2;
(4) 安装开发工具 Intellij IDEA 17.3.3 和数据库应用工具 Navicat;
(5) 安装前端开发工具 Visual Studio Code 和 Chrome 浏览器;
(6) 安装 Docker 1.12 版本容器。
4.1.2 运行环境
系统开发选用互联网界开源成熟且社区活跃度高的技术方案,方便系统开发、技
术对接和系统维护。系统开发运行环境具体如表 4-1 所示。
表 4-1
系统研发运行环境
名称
开发环境
运行环境
操作系统
CentOS 7.4 64bit
CentOS7.4 64bit 及以上
容器服务
Tomcat 8.0
Tomcat8.0 及以上
数据库服务
MySQL5.7
MySQL5.7 及以上
建模工具
Visio 2013、PowerDesigner 16.6
无
开发工具
Intellij IDEA 17.3.3
无
Java 环境
Java8
Java8 及以上
开发框架
SpringBoot、SpringMVC、Mybatis
无
为了保证开发环境和生产环境的稳健运行,根据开发工具和运行环境部署搭建测
试环境、开发环境与生产环境。环境硬件配置能够对运行环境很好支撑,同时配备良
好的网络环境,设置防火墙,配置代理服务器,保证系统的安全性。
4.2 系统基本功能实现
4.2.1 登录功能实现
登录功能主要验证使用系统的用户身份合法性以及初始化菜单数据。用户输入账
号和密码信息后,向服务器发送登录请求,调用登录接口进行信息验证,初始化用户
41
西安工程大学硕士学位论文
可见菜单。信息验证包括密码正确性验证和用户账号是否存在等。其中密码加密后存
入数据库中,保证系统用户数据安全。
系统登录功能的类包括用户信息类 UserInfo,有账号和密码等属性。控制器
LoginController 处理登录和退出系统请求。LoginService 处理登录和退出系统业务逻
辑,如用户是否存在、密码正确性的判断和角色查询。数据库交互 LoginDao。过滤
器 CheckFilter 拦截访问请求,验证用户信息。登录功能各类之间的关系如图 4-1 所示。
图 4-1
登录功能类图
登录功能各类的方法和说明如表 4-2 所示。
表 4-2
类
登录功能各类的方法和说明
属性/方法
说明
UserInfo
account、passrowd、tel ……
登录用户信息
LoginController
login()
处理登录请求
logout()
处理退出请求
LoginService
checkUser()
验证用户并授权
LoginDao
searchUser()
从数据库查询用户信息
searchRoleAndMenu()
从数据库查询用户角色和菜单信息
doFilter()
拦截访问请求,验证用户信息
CheckFilter
代码详细设计如下:
login(HttpServletRequest request,HttpServletResponse response)throws IOException {
String account = request.getParameter("account"); //账号
String password = request.getParameter("password"); //密码
42
4 信号处理课程群管理系统实现
Map<String, Object> params = new HashMap<String, Object>();
//用户信息参数放入集合
params.put("account", account);//账号放入集合
params.put("password", password);//密码放入集合
RetValue retval = null;//验证结果
retval = loginService.checkUser(params,request.getSession(),request);
//验证用户
if (!retval.getCode().equals("2000")) {//登录失败
response.getWriter().print(getError(retval.getCode(),retval.getMsg()));
return; //返回失败信息
}else {//登录成功
Map<String,Object>data=(Map<String,Object>)retval.getData();
//获取用户信息
user.setMenus((Map<String, Object>)tdata.get("menus"));
//设置用户可以使用菜单
request.getSession().setAttribute("com.course.userinfo", user);
//把登录用户信息放入会话
response.getWriter().print("succeed"); //登录成功
return;
}
}
登录功能具体实现结果如图 4-2 所示。其中,图 4-2(a)为用户不存在提示页面,
图 4-2(b)为用户密码错误提示页面。
(a) 用户不存在提示页面
图 4-2
(b)
用户密码错误提示页面
系统登录失败提示页面
43
西安工程大学硕士学位论文
4.2.2 用户管理功能实现
用户管理功能主要管理系统的用户信息,包括用户信息的新增、修改、删除和查
询。只有管理员拥有用户管理功能,其他角色的用户只可以修改自己的个人信息。新
增、修改用户由管理员编辑用户信息,提交给后端服务,调用用户管理模块的新增、
修改接口来实现。删除用户调用用户管理模块删除接口实现。上传头像由图片上传工
具类实现。
用户管理功能的类包括实体类 UserInfo,它包含账号、密码、姓名、联系电话、
邮箱等用户信息属性。控制器 UserController,它负责处理前端发送的新增用户、修
改用户、删除用户和查询用户的请求。业务层 UserService 完成用户新增、修改、删
除和查询的业务逻辑,例如新增账号是否存在的判断。数据访问层 UserDao 完成用户
的新增、修改、删除和查询,完成与数据库的交互,更新数据库或从数据库删除用户
信息。图片上传工具类 PicUploadUtil,负责完成用户上传头像的功能。用户管理功能
各类之间的关系如图 4-3 所示。
图 4-3
用户管理功能类图
用户管理功能各类的方法和说明如表 4-3 所示。功能实现部分代码见附录 B 1。
44
4 信号处理课程群管理系统实现
表 4-3
类
用户管理功能各类的方法和说明
属性/方法
说明
UserInfo
account、password、name、tel ……
用户信息
UserController
userPage()
处理用户信息分页查询请求
save()
处理新增和修改请求
delUser()
处理删除用户请求
addUser()
新增用户
checkAccount()
验证用户账号是否重复
updateUser()
修改用户
deleteUser()
删除用户
searchUser()
查询用户
insertUser()
向数据库插入用户信息
modifyUser()
更新数据库用户信息
deleteUser()
从数据库删除用户信息
searchUser()
从数据库查询用户信息
picUpload()
图片上传
UserService
UserDao
PicUploadUtil
以某班级为例,左边选中班级,右边会显示该班级的学生,可以进行增加、删除、
修改和查询操作。用户管理功能具体实现结果如图 4-4 所示,左边选中“电子信息工
程 1 班”,右边展示该班级的所有学生信息。
图 4-4
用户管理页面
45
西安工程大学硕士学位论文
4.2.3 角色管理功能实现
角色管理功能主要管理系统的角色信息,并且一个用户只能拥有一个角色。课程
群管理系统通过角色控制用户的可见菜单,每个角色可见的菜单可以灵活配置。角色
管理实现了角色信息的新增、修改、删除和查询功能,而且对具体某个角色的可见菜
单可以新增、修改和查询。
角色管理功能包括的类,其中实体类 Role 包含角色名称、描述等角色信息属性。
角 色 实 体 类 Menu 包 含 菜 单 名 称 、 访 问 地 址 、 说 明 等 菜 单 信 息 属 性 。 控 制 器
RoleController,处理新增角色、修改角色、删除角色、查询角色、配置角色菜单、删
除角色菜单的请求。业务层 RoleService,处理新增、修改、删除、查询角色,配置
角色菜单和删除角色菜单的业务逻辑。数据访问层 RoleDao,实现与数据库的交互。
角色管理功能各类之间的关系如图 4-5 所示。
图 4-5
角色管理功能类图
角色管理功能各类的方法和说明如表 4-4 所示。
表 4-4
类
角色管理功能各类的方法和说明
属性/方法
说明
Role
name、remark ……
角色信息
Menu
name、url、remark ……
菜单信息
RoleController
rolePage()
处理角色分页查询请求
menuPage()
处理角色可见菜单分页查询请求
46
4 信号处理课程群管理系统实现
续表 4-4
类
RoleController
RoleService
RoleDao
角色管理功能各类的方法和说明
属性/方法
说明
save()
处理新增/修改角色请求
delRole()
处理删除角色请求
addMenu()
处理新增角色菜单请求
delMenu()
处理删除角色菜单请求
addRole()
新增角色
updateRole()
修改角色
deleteRole()
删除角色
addRoleMenu()
新增角色菜单
deleteRoleMenu()
删除角色菜单
searchRole()
查询角色
searchRoleMenu()
查询角色菜单
insertRole()
向数据库插入角色信息
modifyRole()
更新数据库角色信息
deleteRole()
删除数据库角色信息
searchRole()
查询数据库角色信息
searchRoleMenu()
查询数据库中角色可见菜单信息
addRoleMenu()
向数据库插入角色可见菜单信息
deleteRoleMenu()
删除数据库中角色可见菜单信息
以学生角色为例,左边选中学生角色,右边会出现对应角色的菜单,可以进行新
增、删除和查询操作。角色管理功能具体实现结果如图 4-6 所示。
图 4-6
角色管理页面
47
西安工程大学硕士学位论文
4.3 系统主要功能实现
4.3.1 作业管理功能实现
作业管理功能实现了师生在线进行作业互动的操作。首先由教师填写主作业信
息,调用新增接口新增一条作业信息,系统会将该条信息存入数据库作业主表中。教
师发布作业之后,调用发布接口给每个学生创建一条待提交作业。学生完成后调用提
交接口提交作业。教师批改学生提交的作业,调用批改接口保存批改结果,该结果被
存入数据库作业明细表中,学生调用查询接口查看教师批改信息。对于未发布的作业
教师可以进行修改和删除。
作业管理功能包括的类有实体类 TaskMain,用于存储主作业信息,如作业标题、
作业内容、最后提交时间等。实体类 TaskDetail,映射作业明细表,存储作业明细信
息,如提交人、作业完成的具体内容、提交时间、批改结果、分数等。控制器
TaskCoutroller,处理新增作业、修改作业、删除作业、查询作业、发布作业、批改作
业和提交作业的请求。业务层 TaskService,处理新增、修改、删除和查询作业的业
务逻辑。数据访问层 TaskDao,处理新增、修改、删除和查询作业与数据库的交互。
作业管理功能各类的关系如图 4-7 所示。
图 4-7
作业管理功能类图
48
4 信号处理课程群管理系统实现
作业管理功能各类的方法和说明如表 4-5 所示。
表 4-5
类
作业管理功能各类的方法和说明
属性/方法
说明
TaskMain
title、content、endTime ……
主作业信息
TaskDetail
userId、content、submitTime ……
作业明细信息
TaskController
taskPageTec()
处理作业分页请求
(教师:作业管理页面)
taskPageStu()
处理作业分页请求
(学生:我的作业页面)
TaskService
TaskDao
save()
处理新增/修改作业请求
delTask()
处理删除作业请求
publishTask()
处理发布作业请求
submitTask()
处理提交作业请求
correctTask()
处理批改作业请求
sendNotice()
调用消息通知发送给学生或教师
addTask()
新增作业
updateTask()
修改作业
deleteTask()
删除作业
searchTask()
查询作业
insertTask()
向数据库新增作业信息
modifyTask()
更新数据库作业信息
deleteTask()
删除数据库作业信息
searchTask()
查询数据库作业信息
学生点击“完成”按钮,弹出作业编辑框在线完成作业,完成后可选择“提交”,
未提交的作业可选择“修改”。教师则可在作业管理页面左边选中要查看的某项作业,
在右边查看学生作业完成情况,对于状态为“待批改”的作业进行批改打分。作业管
理功能具体实现结果如图 4-8 所示,其中,图 4-8(a)为学生作业详情页面,图 4-8(b)
为教师作业管理页面。
49
西安工程大学硕士学位论文
(a) 学生作业详情页面
(b)
教师作业管理页面
图 4-8
作业管理页面
4.3.2 资源管理功能实现
资源管理功能主要是系统中教学资源的新增、修改、删除、查询、发布、下载和
播放(视频类教学资源)。其中新增、修改、删除、发布、查询是教师拥有的功能。资
源的上传在新增请求的同时完成,上传的资源必须在规定的文件类型和大小之内,对
于视频类的资源,需要使用视频压缩算法将视频压缩后上传。上传完成后,可以选择
“发布”、“修改”或“删除”;若已经发布,也可以选择“取消发布”或“删除”。
资源管理功能的类包括 Resource,有资源的标题、介绍、下载路径等属性。控制
器 ResourceController 处理资源新增、修改、删除、查询、发布和下载的请求。业务
ResourceService 处理新增、修改、删除、查询和发布资源的业务逻辑,数据访问层
ResourceDao 实现业务逻辑层与数据库的交互。资源上传工具类 ResourceUploadUtil,
实现了视频的压缩和资源的上传。资源管理功能各类之间的关系如图 4-9 所示。
50
4 信号处理课程群管理系统实现
图 4-9
资源管理功能类图
资源管理功能各类的方法和说明如表 4-6 所示。
表 4-6
类
资源管理功能各类的方法和说明
属性/方法
说明
Resource
title、introduce、path ……
资源信息
ResourceController
resourcePageTec()
处理资源信息分页请求
(教师:资源分类、状态、标题、课程名称查询)
resourcePageStu()
处理资源信息分页请求
(学生:资源分类、标题、课程名称查询)
ResourceService
save()
处理资源新增和修改请求
delResource()
处理删除资源的请求
downLoadResource()
处理下载资源的请求
publishResource()
处理发布资源的请求
sendNotice()
调用消息通知发送接口发送给学生
addResource()
新增资源
51
西安工程大学硕士学位论文
续表 4-6
类
ResourceService
ResourceDao
ResourceUploadUtil
资源管理功能各类的方法和说明
属性/方法
说明
updateResource()
修改资源
deleteResource()
删除资源
searchResource()
查询资源
insertResource()
向数据库插入资源信息
modifyResource()
更新数据库资源信息
deleteResource()
删除数据库资源信息
searchaResouce()
查询数据库资源信息
resourceUpload()
上传资源
tarResource()
压缩视频
教师可对资源进行增加、删除、修改和查询操作,上传资源后也可以选择“发布”
和“取消发布”。学生可以下载资源,视频资源可选择在线观看。资源管理功能具体
实现结果如图 4-10 所示,其中 4-10(a)为教师资源管理页面,图 4-10(b)为学生查看资
源页面。
(a) 教师资源管理页面
(b)
学生查看资源页面
图 4-10 资源管理页面
52
4 信号处理课程群管理系统实现
4.3.3 课程评价功能实现
课程评价功能为学生用户提供课程评价功能,教师可以查看这些评价。学生进入
课程评价页面后,可进行新增操作。新增评价时,系统会查询出该生学习的所有课程,
从中选择一门课程,填写评价信息后提交给后端服务。同时新建一个消息通知,标题
为新课程评价,内容为有学生评价了某课程。老师的课程评价页面,左侧是课程,右
侧是学生的评价,教师可以查看学生对自己课程的评价,所有的评价都是匿名评价。
课程评价功能的类 Assess 有评价课程、评价内容等属性。AssessController 处理
新增课程评价、删除课程评价和查询课程评价的请求。业务层 AssessService 处理控
制层对应的业务逻辑。AssessDao 实现与数据库交互。课程评价功能各类的关系如图
4-11 所示。课程评价功能各类的方法和说明如表 4-7 所示。
图 4-11 课程评价功能类图
表 4-7
类
课程评价功能各类的方法和说明
属性/方法
说明
Assess
submitTime、courseId、content ……
评价信息
AssessController
assessPage()
处理评价分页查询请求
coursePage()
处理课程分页查询请求
save()
处理新增课程评价请求
sendNotice()
调用消息通知发送接口发送消息给教师
addAssess()
新增课程评价
searchAssess()
查询课程评价
insertAssess()
向数据库插入评价信息
searchAssess()
查询数据库评价信息
searchCourse()
查询数据库课程信息
AssessService
AssessDao
53
西安工程大学硕士学位论文
学生选择一门课程,点击“新增”按钮,可以进行课程评价;教师可以在课程评
价页面左边选择某一门课程,右边则会显示对应课程的评价信息。课程评价功能具体
实现结果如图 4-12 所示,其中图 4-12(a)为学生新增课程评价页面,图 4-12(b)为教师
查看课程评价页面。
(a) 学生新增课程评价页面
(b)
教师查看课程评价页面
图 4-12 课程评价页面
54
4 信号处理课程群管理系统实现
4.3.4 在线答疑功能实现
在线答疑功能实现了学生提问问题,教师在线回答问题的功能。学生提问时需要
选择课程,填写问题,调用新增问题接口实现新增问题,系统会根据所选择的课程将
问题发送给负责该课程的教师,学习这门课程的学生登录系统后也可以看到问题并且
可以进行回答。回答问题时,填写回答内容,调用回答问题接口实现。通过对回答次
数进行限制,在提交回答内容时,系统将调用接口对回答次数进行验证,每个问题允
许回答四次。
在线答疑功能的类包括问题信息实体类 Answers,该类有问题/回答、提问/回答
时间、关联课程等属性。控制器 AnswersController 处理新增问题、回答问题、删除问
题和查询问题的请求。业务层 AnswersService 处理新增问题、回答问题、查询问题和
删除问题等业务逻辑,如验证已回答次数,保证回答次数小于四次。数据访问层
AnswersDao 处理在线新增、删除问题等与数据库的交互操作。在线答疑功能各类的
关系如图 4-13 所示。
图 4-13
在线答疑功能类图
在线答疑功能各类的方法和说明如表 4-8 所示。功能实现部分代码见附录 B 2。
55
西安工程大学硕士学位论文
表 4-8
类
在线答疑功能各类的方法和说明
属性/方法
说明
Answers
content、answersTime、courseId ……
问题信息
AnswersController
answersPageTec()
处理答疑分页请求(教师)
answersPageStu()
处理答疑分页请求(学生)
save()
处理新增问题请求
reply()
处理回答问题请求
delAnswers()
处理删除问题请求
sendNotice()
调用消息通知发送消息给教师或学生
addAnswers()
新增问题
replyAnswers()
回答问题
deleteAnswers()
删除问题
searchAnswers()
查询问题
checkReplyNum()
验证回答次数
insertAnswers()
向数据库新增问题信息
deleteAnswers()
删除数据库问题信息
searchAnswers()
删除数据库问题信息
AnswersService
AnswersDao
学生登录系统进入在线答疑页面,选择需要提问的课程,输入具体问题并提交,
系统根据选择的课程将问题发送给负责这门课程的教师。教师和学生可通过在线答疑
功能进行交流。提出问题的学生可对问题进行删除操作,当问题被删除后,与问题相
关的回答也会被一起删除。学生提问问题页面如图 4-14 所示,教师回答问题页面如
图 4-15 所示,教师可以通过视音频、图片、文字叙述和文件形式对问题进行回答。
图 4-14
学生提问问题页面
56
4 信号处理课程群管理系统实现
图 4-15
教师回答问题页面
4.3.5 消息通知功能实现
消息通知功能分为主动通知和系统通知两类。主动通知由管理员或教师创建,调
用消息发送接口,发送给接收用户。系统通知由系统获取信息变化,调用消息发送接
口,发送给接收用户。系统通知包括课程信息更新通知、作业信息更新通知、资源信
息更新通知等。调用消息通知接口的方法都添加了事务,保证了消息通知的有效性。
消息通知功能的信息实体类 Notice,有标题、内容、接收人等属性。控制器
NoticeController 处理新增、删除和查询消息通知的请求。业务层 NoticeService 处理
新增、删除和查询消息通知的业务逻辑,可以提供消息通知发送接口给其他功能模块
调用,课程更新提醒功能通过调用消息通知到发送接口来实现。数据访问层 NoticeDao
负责与数据库交互。消息通知功能各类的关系如图 4-16 所示。
图 4-16
消息通知功能类图
消息通知功能各类的方法和说明如表 4-9 所示。
57
西安工程大学硕士学位论文
表 4-9
消息通知功能各类的方法和说明
类
属性/方法
说明
Notice
title、content、receiver ……
消息通知信息
NoticeController
noticePage()
处理消息通知分页请求
save()
处理新增消息通知请求
delNotice()
处理删除消息通知请求
sendNotice()
发送消息通知,其它模块可以调用
deleteNotice()
删除消息通知
searchNotice()
查询消息通知
insertNotice()
向数据库插入消息通知信息
deleteNotice()
删除数据库消息通知信息
searchNotice()
查询消息通知信息
NoticeService
NoticeDao
教师或学生通过点击页面上方的铃铛或者铃铛后滚动的蓝字部分,弹出消息详情
页。消息通知功能具体实现结果如图 4-17 所示,可选择系统页面中的“未读消息”。
图 4-17
消息通知详情页面
4.3.6 邮件发送功能实现
邮件发送功能使用场景为管理员和教师发送消息时可通过发送邮件的形式。在学
生作业截止提交前一天,系统会发送邮件提醒未提交作业的学生。邮件发送通过调用
邮件发送工具类的发送邮件方法,写入邮件内容和收件人邮箱。为用户提供高效可靠
且可以接力传输的邮件服务,邮件发送使用邮件协议 SMTP 实现,邮件服务器配置为
58
4 信号处理课程群管理系统实现
smtp.exmail.qq.com。邮件发送使用了线程池处理发送任务,解决由大量发送邮件引
起的系统阻塞问题。使用线程池可以异步处理邮件发送任务,添加消息通知后,把消
息数据存入数据库,将邮件发送任务交给线程池处理,程序不需要等待邮件全部发送
完成就可以进行其他操作。
邮件发送功能的邮件发送工具类 EmailUtil 处理邮件发送请求。邮件发送功能各
类的方法和说明如表 4-10 所示。
表 4-10
邮件发送功能各类的方法和说明
类
EmailUtil
属性/方法
说明
initEmail()
初始化邮件信息
sendEmail()
发送邮件
在发送消息通知时,选择发送邮件选项“是”或“否”,点击“保存”按钮,将
消息发送到相关用户的邮箱。邮件发送功能具体实现结果如图 4-18 所示。
图 4-18
邮件发送功能实现页面
4.3.7 首页时间轴实现
时间轴是展示数据的一种形式,主要通过时间将数据串联起来,形成相对完整的
记录体系。最主要的作用是可以把事物系统化、完整化、精确化。用于系统中学生用
户的首页,展示待提交作业数据和已发布的教学资源数据。时间轴借助 CSS3 样式文
件,实现时间线的样式效果,数据是通过 Ajax 向服务器后端发送异步 HTTP 请求传
输。发送 Ajax 请求后,服务器后端返回给前端页面一个 JSON 格式的数据集合。前
端遍历数据集合,拼接时间轴数据,每一条数据为一个时间节点的元素,最后将拼接
59
西安工程大学硕士学位论文
好的数据插入首页时间轴模块展现给用户。具体实现结果如图 4-19 所示。
图 4-19
首页时间轴实现页面
4.3.8 视频压缩上传功能实现
资源管理可上传视频资源供学生在线观看。视频资源一般会占用比较大的内存空
间,进行视频上传操作时,需通过视频压缩算法将要上传的视频进行压缩处理。
后端服务获取到用户上传的视频,通过 Java 自带的音视频处理类,给视频和音
频重新设置编码器、比特率、帧率等属性,将处理后的视频存至服务器,实现视频压
缩功能,视频压缩主要依靠视频压缩算法。
具体使用的视频压缩代码如下:
File oldVideo = new File("\opt\oldVideo.mp4"); //压缩之前的视频路径
File newVideo = new File("\opt\newVideo.mp4 "); //压缩之后的视频路径
try {
AudioAttributes audio = new AudioAttributes(); //音频属性
audio.setCodec("libmp3lame"); //设置编码器
audio.setBitRate(new Integer(56000)); //设置比特率
audio.setChannels(new Integer(1)); //设置声音频道
audio.setSamplingRate(new Integer(22050)); //设置采样率
VideoAttributes video = new VideoAttributes(); //视频属性
video.setCodec("mpeg4"); //设置编码器
video.setBitRate(new Integer(800000)); //设置比特率
60
4 信号处理课程群管理系统实现
video.setFrameRate(new Integer(15)); //设置帧率
EncodingAttributes attrs = new EncodingAttributes(); //转码属性
attrs.setFormat("mp4"); //视频格式
attrs.setAudioAttributes(audio); //音频属性
attrs.setVideoAttributes(video); //视频属性
Encoder encoder = new Encoder(); //创建解码器
encoder.encode(oldVideo, newVideo, attrs); //视频转码压缩
}
catch (EncoderException e) {
e.printStackTrace();
}
视频压缩上传功能具体实现结果如图 4-20 所示,为学生观看视频资源页面。
图 4-20
在线观看视频页面
4.4 本章小结
本章首先对系统开发工具和运行环境进行说明,然后对系统登录功能、用户管理、
角色管理三个基本功能和作业管理、资源管理、课程评价、在线答疑、消息通知、邮
件发送、视频压缩上传等八个主要功能进行实现。
61
西安工程大学硕士学位论文
62
5 信号处理课程群管理系统测试
5 信号处理课程群管理系统测试
测试是系统开发过程中一个至关重要的环节,它随着系统开发一并进行,尽早发
现开发过程中出现的问题,从而降低不必要的损失。通过测试可得知系统的功能和性
能是否达到预期效果,对开发的系统质量进行测试评估,对影响系统性能和阻碍系统
功能实现的部分进行优化。本章主要对系统进行了功能、性能以及兼容性方面的测试。
5.1 测试环境
基于系统开发工具和运行环境搭建相应的测试环境,尽可能使测试环境、开发环
境以及生产环境一致。测试环境配备相应的服务器及硬件软件环境,数据库服务与生
产环境相互隔离,互不干扰。安装虚拟机 VMware,便于提供多种本地服务器环境与
系统服务。安装多款浏览器,包括 Chrome、IE、Firefox 浏览器等,用于系统兼容性
测试。另外,测试工具配备必不可少,安装部署接口测试工具 Jmeter、性能测试工具
LoadRunner、性能监控工具 Spotlight、安全测试工具 Appscan 和自动化测试工具
Selenium 等。
5.2 系统功能测试
功能测试是系统为了满足不同用户的需求,而进行的操作。对系统功能进行测试
时,需要参照用户需求文档,对系统功能逐一进行检测,在每个功能都可正常操作的
前提下,还应该注重是否在各个平台,以及各个平台的不同浏览器环境下都可以正常
运行。
功能测试最低要求是系统的每个功能都可以达到预期效果。进行功能测试时,首
先需要对每个功能设计和编制具体的测试用例,然后严格按照制定好的测试用例,输
入数据对比预期结果和实际结果,进行测试评估。在对系统所有功能进行测试后,本
章主要选取了系统的登录功能、组织机构管理功能、用户管理功能、角色管理功能、
课程添加功能、资源添加功能以及消息通知功能进行测试结果展示。
5.2.1 登录功能测试
登录功能测试主要测试系统的登录功能,测试使用正确的账号和密码能否成功登
录系统,系统为对应角色的菜单分配是否正确。测试系统对不合理输入的提示,测试
系统对密码错误的提示,测试系统对不存在的账号和密码的登录拦截和提示是否正
确。测试用例设计如表 5-1 所示。
63
西安工程大学硕士学位论文
表 5-1
1
2
3
4
账号和密码不能
不存在的账号无法
密码 错误 无法 登
为空测试
登录测试
录测试
在登 录页 面输入
在登录页面不输
在登录页面输入不
登录 页面 输入 正
正确 的账 号和密
入账号和密码,
存在的账号和密
确账 号和 错误 密
码,点击登录按钮
点击登录按钮
码,点击登录按钮
码,点击登录按钮
成功 登录 系统并
提示账号和密码
跳转到首页
不能为空
提示账号不存在
提示密码错误
符合预期
符合预期
符合预期
符合预期
用例编号
测试用例描述
操作过程及数据
预期结果
实际结果
登录功能测试用例
正常登录系统
5.2.2 组织机构管理功能测试
组织机构管理功能测试主要测试组织结构的新增、删除、修改和查询功能是否正
常。测试用例设计如表 5-2 所示。
表 5-2
1
用例编号
测试用例描述
正常新增用户功
能测试
组织结构管理新
操作过程及数据
增页面正确填写
必要的信息,点击
保存按钮
提示添加成功,并
预期结果
刷新表格信息,可
查看新增的信息
实际结果
符合预期
组织机构管理功能测试用例
2
必填信息校验
3
4
已存 在组 织机 构
不存 在组 织机 构
名称查询测试
名称查询测试
不填写必填信息, 输入系统中存在
输入系统中不存
正确填写其他数
的组织机构名称, 在的组织机构名
据,点击保存按钮
点击查询按钮
称,点击查询按钮
添加 不成 功并 显
查询 出组 织机 构
未查 询出 组织 结
示相应的提示
信息
构信息
符合预期
符合预期
符合预期
组织机构管理查询功能测试结果如图 5-1 所示,在右上角输入要查询的机构名称,
如果机构名称存在,则查出相关信息,如果系统中不存在要查询的机构名称,则不能
查出相关机构信息。
64
5 信号处理课程群管理系统测试
图 5-1
组织机构管理查询功能测试
5.2.3 用户管理功能测试
用户管理功能测试主要测试用户的新增、删除、修改、查询以及角色分配功能是
否正常。测试用例设计如表 5-3 所示。
表 5-3
1
用例编号
测试用例描述
正常 添加 用户功
能测试
用户管理功能测试用例
2
账号唯一性测试
3
必填信息校验
4
角色分配测试
用户 管理 新增 页
操作过程及数据
用户 管理 新增页
面正确输入信息, 不填必填信息,正
新增 用户 时选 择
面输 入正 确的信
账号 输入 系统 中
确填写其它数据, 角色,之后使用新
息,点击保存按钮
已存 在的 用户 账
点击保存按钮
增的用户登录
号,点击保存按钮
提示 添加 成功并
预期结果
刷新 表格 显示新
增的用户信息
实际结果
符合预期
新增 失败 并提 示
添加 不成 功并 显
用户已存在
示相应的提示
符合预期
符合预期
新增 的用 户可 以
看到 分配 的角 色
拥有的菜单
符合预期
用户管理账号唯一性和必填信息测试结果如图 5-2 所示,在添加用户时,输入已
有的账号,系统会失去焦点,并提示“账号已存在”。点击保存按钮时,必填信息未
填,该信息边框会变红,提示该信息为必填信息。
65
西安工程大学硕士学位论文
图 5-2
用户管理功能测试
5.2.4 角色管理功能测试
角色管理功能测试主要测试角色的新增、删除、修改、查询以及角色新增、删除
菜单功能是否正常。测试用例设计如表 5-4 所示。
表 5-4
用例编号
测试用例描述
1
正常新增角色
在登 录页 面输入
操作过程及数据
正确 的账 号和密
码,点击登录按钮
成功 登录 系统并
预期结果
跳转到首页,显示
正确的菜单
实际结果
符合预期
角色管理功能测试用例
2
必填信息校验
在角 色新 增页 面
3
角色 新增 菜单 功
能测试
4
角色删除菜单
在角色管理页面, 在角色管理页面,
不填写必填信息, 给角 色分 配新 的
删除 角色 的一 条
正确 填写 其它 信
菜单,使用该角色
菜单,使用该角色
息,点击保存按钮
重新登录系统
重新登录系统
添加 不成 功并 显
可以 查看 到新 增
无法 查看 到删 除
示相应的提示
的菜单
的菜单
符合预期
符合预期
符合预期
角色管理删除菜单功能测试结果如图 5-3 所示,在左边系统菜单中,以学生“我
的课程”菜单为例,图 5-3(a)为管理员分配给学生“我的菜单”时页面显示菜单,图
5-3(b)为管理员删除了分配给学生“我的菜单”时页面显示菜单。
66
5 信号处理课程群管理系统测试
(a) 未删除“我的课程”菜单页面
(b)
删除“我的课程”菜单页面
图 5-3
角色管理删除菜单功能测试
5.2.5 课程添加功能测试
课程添加功能测试主要测试教师添加课程功能是否正常,添加后的课程是否能被
学生查询出结果。测试用例设计如表 5-5 所示。
表 5-5
1
用例编号
测试用例描述
操作过程及数据
预期结果
实际结果
课程添加功能测试用例
2
正常添加课程测试
必填信息非空校验
正确填写课程信息,点击保存按钮
提示添加成功,并刷新表格信息,
可以查看新增的信息
符合预期
不填写必填信息,正确填写其它数
据,点击保存按钮
添加不成功并显示相应的提示
符合预期
课程添加功能测试结果如图 5-4 所示,页面中《人工神经网络》为新增课程,在
新增完成后提示添加成功。
67
西安工程大学硕士学位论文
图 5-4
课程添加功能测试
5.2.6 资源添加功能测试
资源添加测试主要测试教师是否可以正常添加教学资源,对不符合格式的资源和
对超过允许大小的资源是否可以拦截。测试用例设计如表 5-6 所示。
表 5-6
用例编号
1
测试用例描述
正常添加教学资源
操作过程及数据
2
3
4
必填信息非空
只允许添加特定格
允许 添加 资源 大
校验
式的资源
小的限制
不填写必填信
正确填写资源信
正确 填写 资源 信
正确填写资源信
息,正确填写
息,选择不符合格
息,选择超出允许
息,点击保存按钮
其它信息,点
式的资源,点击保
大小的资源,点击
击保存
存按钮
保存按钮
提示添加成功,并
预期结果
刷新表格信息,可
以查看新增的信息
实际结果
资源添加功能测试用例
符合预期
添加不成功,提示
添加不成功并
只能添加指定格式
显示相应提示
的资源并给出允许
添加的资源格式
符合预期
符合预期
添加不成功,提示
资源 大小 超出 允
许值
符合预期
资源添加功能添加特定格式资源测试结果如图 5-5 所示。当添加不符合要求的文
件时,系统会提示相应信息。
68
5 信号处理课程群管理系统测试
图 5-5
添加特定格式资源测试
5.2.7 消息通知功能测试
消息通知功能主要测试消息通知是否可以正常添加,消息接收用户是否可以正常
接收到消息通知,选择发送邮件后,是否可以正常接收到邮件。测试用例设计如表
5-7 所示。
表 5-7
1
用例编号
测试用例描述
操作过程及数据
消息通知功能测试用例
正常添加消息通知,不
发送邮件测试
正常添加消息通知,发
送邮件测试
不填写必填信息,正确
正确填写消息通知信
息,未选择发送邮件,
填写其它数据信息,点
息,选择发送邮件,点
点击保存按钮
击保存按钮
击保存按钮
收用户,查看到消息通
知,未接收到邮件
实际结果
必填信息非空校验
3
正确填写消息通知信
提示添加成功,登录接
预期结果
2
符合预期
添加不成功并显示相应
的提示信息
符合预期
提示添加成功,登录接
收用户,查看到消息通
知并接收到邮件
符合预期
添加消息通知的同时发送邮件测试结果如图 5-6 所示,其中图 5-6(a)为教师用户
消息通知详情页面,图 5-6(b)为添加作业通知后,系统增加一条消息通知同时发送邮
件的测试结果。
69
西安工程大学硕士学位论文
(a) 教师用户消息通知详情页面
(b)
图 5-6
邮件发送成功提示页面
添加消息通知并发送邮件测试
5.3 系统性能测试
系统性能测试主要测试系统在峰值和异常负载情况下的各项性能指标。系统是基
于网页的应用,因此,对系统进行性能测试的指标有系统页面响应时间、系统最高并
发用户数量、系统服务器 CPU 利用率等。
经过对系统性能测试指标的测试,系统的页面平均响应时间小于 5 秒,系统能在
70
5 信号处理课程群管理系统测试
并发用户不超过 200 个的时候正常工作,服务器的 CPU 利用率大于 30%。系统在运
行时,对数据传递的有效性和可靠性都能够保障,满足用户的预期要求。以下是对系
统的响应速度测试和负载压力测试。
(1)系统响应速度测试
响应速度指用户在系统中进行操作时,系统做出反应的时间,包括页面加载时间、
数据处理时间等。系统基于 JavaWeb 开发,使用浏览器进行访问操作。因而响应时间
受到用户访问设备配置、网络带宽、浏览器种类的影响。为了降低这些因素影响,对
代码进行了优化。具体系统性能指标如表 5-8 所示。
表 5-8
系统响应速度
用户操作
系统响应速度
用户登录系统
<2 秒
学生课程评价
<5 秒
学生提交作业
<5 秒
教师在线答疑
<5 秒
教师批改作业
<5 秒
系统在平时的使用中,用户使用时间分散,在进行课程评价时,数据访问量会大
幅增加。系统将登录响应时间控制在 2 秒内,课程评价响应时间控制在 5 秒内,学生
作业的提交响应时间控制在 5 秒内,教师在线答疑和作业批改的响应时间控制在 5
秒内。经过模拟真实数据对系统进行操作,系统的响应时间都在正常范围。
(2)系统负载压力测试
系统负载压力测试指在一定约束条件下模拟用户操作,测试系统的并发用户数
量、运行时间、数据量,确定系统能承受的最大负载力。系统使用负载压力测试工具
LoadRunner 模拟用户登录系统和课程评价的操作。具体测试结果如表 5-9 所示。
表 5-9
系统负载压力测试结果(单位:毫秒)
登录系统
虚拟用户量
成功数
提交课程评价
最长
最短
平均
时间
时间
时间
成功数
最长
最短
平均
时间
时间
时间
50
50
17.431
9.253
13.342
50
21.706
15.332
18.519
100
100
19.683
11.475
15.579
100
35.237
27.927
31.582
200
200
25.728
17.384
21.556
200
46.874
39.479
43.311
300
295
30.587
21.932
26.259
290
57.178
49.643
53.412
500
421
35.462
28.493
31.977
405
101.588
85.485
93.536
71
西安工程大学硕士学位论文
由表 6-9 中的测试数据分析,并发用户数量小于 200 时,登录系统成功率为 100%,
用户数量为 300 时,成功率将为 98%,用户数量为 500 时,将为 84%。提交课程评
价成功率在用户数量超过 200 之前为 100%,用户数量为 300 时,下降为 96%,用户
数量为 500 时,下降为 81%。当系统并发用户量超过 500 时,用户使用系统的体验才
会受到影响。
5.4 系统兼容性测试
兼容性测试是对信号处理课程群管理系统在硬件和其它软件之间的兼容性进行
测试。由于系统是基于 JavaWeb 技术实现的,并且系统没有使用其它软件,因此主要
做了操作系统平台测试和浏览器兼容性测试。如表 5-10 所示,在虚拟机 Vmware 中
搭建的 Linux 系统 CentOS 7 下进行部署测试,同时也进行了 Windows 操作系统的测
试,系统在不同平台中均可以良好运行。对系统浏览器的兼容性测试中,主要测试了
Chrome、IE(8 及以上版本)、Firefox、360 浏览器。由于各浏览器对 JavaScript 存
在细小差异,信号处理课程群管理系统使用 JQuery 做网页前端的交互,JQuery 封装
了 JavaScript 常用的功能代码,优化了 HTML 文档操作、事件处理、Ajax 交互,兼
容各种主流浏览器。因此,信号处理课程群管理系统在各个浏览器下均可以正常访问,
功能正常,运行稳定。
表 5-10
测试平台
操作系统兼容性测试
浏览器兼容性测试
系统兼容性测试结果
测试环境
测试结果
CentOS 7
正常运行
Windows 8
正常运行
IE8 及以上
正常运行
Chrome
正常运行
Firefox
正常运行
360 浏览器
正常运行
5.5 本章小结
本章首先完成测试环境搭建,然后对系统进行功能测试并编写测试用例,再对系
统进行了性能以及兼容性方面的测试。通过对系统的功能测试,确保系统的功能按照
既定的要求得以实现;通过对系统性能测试,确保系统各项性能指标稳定,运行良好,
满足用户的使用要求;通过系统兼容性测试,确保系统在各个平台都能够正常使用。
72
6 总结与展望
6 总结与展望
6.1 总结
本课题源于西安工程大学基础课程质量提升项目-信号与系统和中国纺织工业联
合会高等教育教学改革项目。当今信息化发展水平不断提高,高等院校学生人数和开
设课程不断增多,教学质量要求越来越高,传统课程管理系统已经不能满足高校教学
管理需求,亟需基于互联网技术完善教学管理系统,促进教学质量不断提高。论文通
过对信号处理类课程和 JavaWeb 开发技术进行研究,寻找二者的耦合点,展开基于
JavaWeb 的信号处理课程群管理系统研究与开发,旨在推动我国信息化时代教育建设
水平,加强对创新型高素养人才的培养。且该系统使课程群内相关课程相互衔接,资
源得到整合,方便老师对课程的管理,提高教学效率,为学生提供良好的学习平台,
激发学习兴趣,对我国信息化教育发展具有一定实用价值和指导意义。论文主要内容
和研究总结如下:
(1)论文根据实际调查研究,结合信号处理课程群特点,确定了系统用户的需
求,采用 UML 建模从用户的角度对系统的功能进行了全面分析。
(2)根据信号处理课程群管理系统分析的结果,对系统进行模块划分和整体设
计。基于信号处理课程群系统需求分析、B/S 架构和 MVC 开发模式,完成系统体系
架构设计。然后从安全性和数据传输方面进行系统接口设计,依据数据库设计原则,
对系统数据库 MySQL 进行概念结构和表结构设计,完成数据库设计并进行优化,优
化后的数据库结构更规范,安全性、可靠性更强。最后分别使用流程图和时序图完成
系统登录、组织机构管理等基本功能和资源管理、课程评价、在线答疑等主要功能的
设计。其中主要功能课程评价功能设计基于 Vague 集建立评价模型,对课程评价进行
等级划分,使得系统课程评价规范合理。
(3)系统基于 JavaWeb 技术与课程群管理系统设计,开发实现了用户登录、用
户管理、角色管理基本功能和资源管理、课程管理、作业管理、课程评价、在线答疑
等主要功能。此外,为了加强信息传递,系统设计了消息通知功能,配合消息通知功
能,用户在发送消息通知时,可以选择是否同时发送邮件。
(4)系统开发完成后,对系统进行功能测试、性能测试以及兼容性测试。测试
结果表明,系统功能达到预期要求。在性能方面,系统的页面平均响应时间小于 5
秒,系统能在并发用户不超过 200 的情况下正常工作,服务器的 CPU 利用率大于 30%。
当系统并发用户量超过 500 时,用户使用系统的体验才会受到影响;系统的响应时间
和负载压力都在正常范围内,满足系统预期要求;在兼容性方面,可以适应不同的操
73
西安工程大学硕士学位论文
作系统和浏览器,达到预期效果,可以正常运行。
基于 JavaWeb 开发技术,对具有复杂性学科特征的信号处理课程展开课程群管理
系统研究,具有一定的创新意义。系统在进行功能设计时,将课程群内的不同课程分
为基础理论课程和实践应用课程,方便学生了解和学习课程,加强学生和教师之间的
沟通,激发学生的学习积极性。此外,为了保证系统课程评价功能的有效性,进行课
程评价功能设计时,建立了基于 Vague 集的评价模型,根据 Vague 集相似度函数来对
课程进行等级划分,实现系统课程评价功能有效性的验证。
6.2 展望
系统的开发具有很强的实用性,解决了目前高校课程管理方面的问题。针对专业
性课程体系信号处理课程群,以主流 JavaWeb 技术构建系统体系架构,研究开发课程
群管理系统,针对性强,功能健全,且系统稳定性高,可维护性和可扩展性强。但从
长远角度来看,系统仍然可以从以下方面进行研究和扩展:
(1)使用大数据对学生进行行为分析,建立学生画像,基于画像进行资源推送。
使用图表总结分析信息,比如学生下载各类教学资源占比、作业提交时段分析等,帮
助教师更好的了解学生。
(2)随着课程群系统的开发升级,系统数据量的急速增加,非结构化数据类型
的增多,需采取相应集群搭建、数据库分库分表、读写分离等技术方案,对系统数据
存储架构进一步完善。
74
西安工程大学硕士学位论文
参考文献
[1] Dan Y, Liang X D, Meng Q, et al. Importance of identifying tropical cyclone tornadoes
in typhoon warning and defense systems[J]. Science Bulletin, 2019, 64(3): 143-145.
[2] Brown M. The Tradies' Entrance into Teaching: The Challenges in Designing Teacher
Education for Vocational Education and Training in Schools[J]. International Journal
of Training Research, 2017, 15(1): 1-14.
[3] 郁晓华, 丛培卿, 徐显龙. 高等教育管理信息化国内外优秀案例研究[J]. 电化教
育研究, 2018, 39(9): 43-50.
[4] 徐积林. 信息化环境下教学方式转变的实践研究[D]. 济南: 山东师范大学, 2018.
[5] Smet C D, Wever B D, Schellens T, et al. Differential impact of learning path based
versus conventional instruction in science education[J]. Computers & Education, 2016,
99(C): 53-67.
[6] 张幼军, 金嘉琦, 孙兴伟. 省级精品课程教学资源的建设与应用[J]. 机械设计,
2018, 35(S2): 425-427.
[7] Konstantins G. An Analysis on Java Programming Language Decompiler
Capabilities[J]. Applied Computer Systems, 2018, 23(2): 109-117.
[8] 王艳芬, 张晓光, 王刚, 等. 电子信息类专业信号处理课程群的建设与改革实践
[J]. 实验技术与管理, 2015, 32(4): 11-14.
[9] 李利, 陈刚, 田雪莲. 项目驱动在"数字信号处理"课程教学中的应用[J]. 实验室
研究与探索, 2015, 34(12):168-170.
[10]黄文娟. 基于 Java 和 MySQL 的图书馆信息化管理系统设计[J]. 电子设计工程,
2019, 27(2): 20-24.
[11] Alimadadi S, Sequeira S, Mesbah A, et al. Understanding JavaScript Event-Based
Interactions with Clematis[J]. ACM Transactions on Software Engineering and
Methodology, 2016, 25(2): 1-38.
[12]尹本雄. 基于 SSH 框架的视频教学系统的开发与设计[J]. 现代电子技术, 2018,
41(12): 95-98.
75
西安工程大学硕士学位论文
[13]许润原. 基于 B/S 结构的高校图书馆集成管理系统设计与实现[D]. 南昌: 南昌大
学, 2018.
[14]黄波, 朱昌平, 黄健元, 等. 基于用户视角的教学管理信息化建设绩效评价——
以教学管理信息系统建设为例[J]. 中国电化教育, 2018, 380(9): 75-80
[15]Sappa V, Boldrini E, Aprea C. Combining teaching with another job: a possible
resource to face professional challenges. Preliminary findings from a Swiss study in
vocational education and training[J]. Empirical Research in Vocational Education &
Training, 2015, 7(1): 13.
[16]欧阳宏基, 葛萌. 基于 Struts2+Ajax+JDBC 的企业级 JavaWeb 架构[J]. 计算机系统
应用, 2017, 26(8): 77-82.
[17]卢肖霞. SSH 框架在 Web 项目开发中的设计与实现[J]. 计算机测量与控制, 2018,
26(10): 128-133.
[18]Daely P T, Reda H T, Satrya G B, et al. Design of Smart LED Streetlight System for
Smart City with Web-Based Management System[J]. IEEE Sensors Journal, 2017,
17(18): 6100-6110.
[19]Svetsky S, Moravcik O, Stefankova J, et al. Computer Support for Knowledge
Management within R&D and the Teaching of Bachelor Students[J] . International
Journal of Emerging Technologies in Learning, 2013, 8(S1): 22-28.
[20]夏岩石, 闫静怡. 基于 B/S 模式的图书馆教育信息远程检索系统设计[J]. 现代电
子技术, 2017(24): 79-81.
[21]Maican C, Lixandroiu R. A system architecture based on open source enterprise
content management systems for supporting educational institutions[J]. International
Journal of Information Management, 2016, 36(2): 207-214.
[22]张栋. 基于 B/S 模式的体育管理信息平台的应用研究[J]. 电子设计工程, 2015,
23(24): 46-48.
[23]Brandenburg M. Design and Implementation of a Measurement and Management
System for Operational and Supply Chain Performance[J]. IEEE Engineering
Management Review, 2018, 46(3): 117-123.
76
西安工程大学硕士学位论文
[24]陈晨. 高校教学管理系统的设计与实现[D]. 济南: 山东大学, 2017.
[25]王靖晶. 基于 B/S 的学生信息管理系统的设计与实现[J]. 电子设计工程, 2018(17):
45-48.
[26]Iskandar K, Putranto A T. Usage Of Asp.Net Ajax for Binus School Serpong Web
Applications[J]. ComTech, 2016, 7(1): 29-39.
[27]Hanushek E A, Woessmann L. The Economic Benefit of Educational Reform in the
European Union[J]. Munich Reprints in Economics, 2012, 58(1): 73-109.
[28]隋郁. 高校学生信息管理的系统设计与实现[J]. 教育发展研究, 2017(S1): 13-15.
[29]谢琳洁.《信号与系统》双语教学网站的设计与开发[J]. 现代电子技术, 2013, 36(10):
78-79.
[30]于磊磊. 基于校园网络信息导航系统的设计与实现[D]. 哈尔滨: 哈尔滨工程大学,
2013.
[31]任新新. IPV6 校园网流量测量与管理系统的设计与研究[D]. 曲阜师范大学, 2016.
[32]Excoffier L, Lischer H E L. Arlequin suite ver 3.5: a new series of programs to
perform population genetics analyses under Linux and Windows[J]. Molecular
Ecology Resources, 2010, 10(3): 564-567.
[33]刘欣. 基于 ASP.NET 技术的高校教学管理系统的设计与实现[D]. 沈阳: 东北大学,
2016.
[34]蒋立国. 基于 J2EE 的网络教学管理系统设计与实现[D]. 长沙: 湖南大学, 2017.
[35]古晓艳, 夏志强. 基于二维码的高校教学设备管理系统的设计与实现[J]. 计算机
科学, 2017, 44(s1): 523-525.
[36]王靖娜. 基于 Android 的学生考勤管理系统设计与开发[J]. 现代电子技术, 2014(8):
99-101.
[37]刘涛, 孙茜, 易善凯. 基于 Tornado 的课程管理系统的设计与实现[J]. 软件工程,
2018, 21(12): 22-24.
[38]Brândusa O N, Georgeta O. Relational Aspects between ICT and the Modernization of
Differentiated and Individualized Teaching of Foreign Languages in Higher
Education[J]. Scientific Bulletin, 2016.
77
西安工程大学硕士学位论文
[39]Elena M, Belinda A, Walter H. Why is the pipeline leaking? Experiences of young
women in STEM vocational education and training and their adjustment strategies[J].
Empirical Research in Vocational Education and Training, 2016.
[40]Maia C, Susan J R, Andrea L. Overcoming vocational prejudice: how can skills
competitions improve the attractiveness of vocational education and training in the
UK?[J]. Br Educ Res J, 2016.
[41]王越 . JAVA 编程语言在计算机软件开发中的应用[J]. 电子技术与软件工程,
2019(1): 35.
[42]曹文渊. JAVA 语言在计算机软件开发中的应用[J]. 电子技术与软件工程, 2019(2):
53-54.
[43]Coates H, James R, Baldwin G. A critical examination of the effects of learning
management systems on university teaching and learning[J]. Tertiary Education and
Management, 2013, 11(3): 19-36.
[44]雷文礼, 任新成, 张栋, 等. 基于 Java 的学生选课系统的设计与实现[J]. 现代电子
技术, 2015(5): 103-105.
[45]边卫国. 基于 MVC 模式的 JavaWeb 框架研究与应用[D]. 西安电子科技大学,
2006.
[46]贾顺贺, 陈建飞, 陈古运,等. 基于 MVC 架构的个人健康信息管理系统设计与实
现[J]. 计算机应用与软件, 2018, 35(3): 43-48.
[47]王亚军, 刘金刚. Windows 程序运行于 Linux 系统的技术[J]. 计算机应用, 2009,
29(8): 2128-2131.
[48]张荣明. 基于 MyEclipse 和 flex 技术开发企业 IT 服务支撑平台[J]. 信息技术与信
息化, 2015, 89(6): 233-234.
[49]Tezer M, Çimşir B T. The impact of using mobile-supported learning management
systems in teaching web design on the academic success of students and their opinions
on the course[J]. Interactive Learning Environments, 2017(33): 1-9.
[50]查修齐, 吴荣泉, 高元钧. C/S 到 B/S 模式转换的技术研究[J]. 计算机工程,
2014, 40(1): 263-267.
78
西安工程大学硕士学位论文
[51]Shao X M, Lin J Z, Wu T, et al. Research and design of the laboratory network
management system based on SSH protocol[J]. Laboratory Science, 2014, 19(1):
109-117.
[52]葛萌, 黄素萍, 欧阳宏基. 基于 Spring MVC 框架的 Java Web 应用[J]. 计算机与现
代化, 2018(8): 97-101.
[53]李贵, 费星红, 陶平. 基于微信公众平台的课堂教学管理系统开发[J]. 现代教育
技术, 2017, 27(6): 109-115.
[54]杨群. 基于 SSM 的高校排课系统的研究与应用[D]. 苏州: 苏州大学, 2013.
[55]Evale D S. Learning Management System with Prediction Model and Course-Content
Recommendation Module.[J]. Journal of Information Technology Education Research,
2017, 16(1): 437-457.
[56]秦保成. 基于 Java Web 的就业信息管理系统设计与实现[D]. 大连: 大连理工大学,
2018.
[57]杨培基. 基于微信和 Java Web 的高校答疑系统的设计与实现[J]. 计算机与现代化,
2017(8): 123-126.
[58]Ocariza F S, Bajaj K, Pattabiraman K, et al. A Study of Causes and Consequences of
Client-Side JavaScript Bugs[J]. IEEE Transactions on Software Engineering, 2017,
43(2): 128-144.
[59]Andreasen E, Gong L, Moller A, et al. A Survey of Dynamic Analysis and Test
Generation for JavaScript[J]. ACM Computing Surveys(CSUR), 2017, 50(5): 66.
[60]黄远洋. 基于 HTML5 和 CSS3 的响应式 Web 的设计与实现[D]. 北京: 华北电力
大学, 2018.
[61]Cheng B, Zhao S, Tang H. Wireless Machine to Machine Monitoring Using
Cross-Platform
Smart
Phone
for
District
Heating[J].
Wireless
Personal
Communications, 2015, 83(2): 1229-1250.
[62]刘兴. 基于 J2EE 高校教师教育研究中心网站系统的设计与实现[D]. 武汉: 湖北
工业大学, 2017.
[63]Cui S M. Design and Implementation of the File Management System Based on the
79
西安工程大学硕士学位论文
Struts + Spring + Hibernate Multilayer Framework[J]. Applied Mechanics & Materials,
2013, 427(32): 2147-2150.
[64]姜人和, 郑晓梅, 朱晓倩, 等. 一种基于 UML 关系的 Java 代码库构造方法[J]. 计
算机科学, 2017, 44(11): 69-79.
[65]姚凯, 李思志, 李艳红, 等. MOOC 评价模型研究[J]. 复旦教育论坛, 2017, 15(3):
65-71.
80
西安工程大学硕士学位论文
附录 A
1 课程综合评价指标体系
附表 1
一级类目(权重)
二级类目
课程综合评价指标体系表
权重
具体说明
课程内容
课程说明
0.050
讲明课程实际应用领域、课程特点、学习方法等
(0.375)
内容目标一致性
0.211
要求讲述的课程内容与学习目标一致,内容有深度
科学性
0.333
课程内容科学严谨,没有学术性错误
知识量
0.150
内容丰富,涵盖知识面广
资源扩展
0.256
提供更多的相关学习资料或网站
教学性
学习目标
0.150
每节课都有明确的学习目标
(0.250)
讲课方式方法
0.300
讲课方式灵活,利于课程内容的讲解
实例与演讲
0.250
结合内容加以实例讲解和必要的演讲活动
练习
0.300
多做练习,巩固知识
互动性
交流与协作
0.333
提供课堂交流机会
(0.375)
团队管理
0.120
掌控好课堂秩序
动机兴趣
0.300
讲课内容能够激发学生兴趣
课程开发与管理
0.216
制定课程开发规则,对课程进行合理开发与管理
媒体技术
0.031
对多媒体能够熟练使用
81
西安工程大学硕士学位论文
82
西安工程大学硕士学位论文
附录 B
1 基本功能用户管理功能实现部分代码
//用户管理程序设计
@Controller
@RequestMapping(value="YhglController")
public class UserController extends BaseController {
@Autowired
YhglSession yhglSession;
/**
* 检查用户账号是否存在
* @param request
* @param response
* @throws IOException
*/
@RequestMapping(value = "checkAccount")
public void checkYhid(HttpServletRequest request, HttpServletResponse response) throws
IOException{
//获取用户输入的账号
String account=request.getParameter("account");
int ct=yhglSession.sqlRowCount("select count(account) from user where account = ?",
account);
if(ct>0){
this.print(response, "true");
}else{
this.print(response, "false");
}
}
/**
* 新增或修改用户信息
* @param request
* @param response
* @throws IOException
83
西安工程大学硕士学位论文
*/
@RequestMapping(value = "addUser")
public void addUser(HttpServletRequest request, HttpServletResponse response) throws
IOException{
SysBUser sbu = new SysBUser();
//创建空的组织机构对象
SysBDepart sysBDepart=new SysBDepart();
String token_form = request.getParameter("token_form");
if(token_form.equals(request.getSession().getAttribute("token_form"))){
request.getSession().removeAttribute("token_form");
try{
String flag = request.getParameter("flag");
String id = request.getParameter("id");
String yhkl = request.getParameter("password");
Date date = new Date();
Timestamp ts = new Timestamp(date.getTime());
if(flag.equals("add")){ //添加用户
RequestUtil.toObject(request,sbu); //复制页面数据到实体对象
//获取组织机构编码
sysBDepart = commonSession.findByKey(SysBDepart.class, sbu.getDwid());
//把当前用户信息复制到实体对象
sbu.setId(DbUtil.getKey("YHXX")); //给实体设置其它值,id、状态等
sbu.setDwbm(sysBDepart.getDwbm());
sbu.setStatus(1);
sbu.setFirsttime(ts);
sbu.setLasttime(ts);
//给实体设置其它值,id、状态等
sbu.setPassword(EncUtil.getMd5(yhkl)); //对密码进行加密
String[] roleidArr=request.getParameter("roleid").split(",");
List<SysBUserrole> roleList=new ArrayList<SysBUserrole>();
for(String roleid:roleidArr) {
//用户角色
84
西安工程大学硕士学位论文
SysBUserrole urole = new SysBUserrole();
setInsertUserInfo(request,urole);
urole.setDxid(sbu.getId());
urole.setDxlx(0);
urole.setRoleid(roleid);
urole.setDqzt(1);
urole.setPowerid(DbUtil.getKey("QX"));
roleList.add(urole);
}
//调用 session 保存数据
yhglSession.saveUser(sbu, roleList,commonSession.getMysqlKey());
print(response, true,"保存成功!"); //输出返回值
}else{
//通过对象 ID 获取对象原来数据
yhglSession.findBySql("SELECT * FROM user WHERE id=?", sbu, id);
//修改头像
if("headIconFlag".equals(request.getParameter("headIconFlag"))){
putFileInfo(request, sbu);
}
String yyhkl=sbu.getPassword(); //获取原密码
RequestUtil.toObject(request,sbu); //复制页面数据到实体对象
sysBDepart = commonSession.findByKey(SysBDepart.class, sbu.getDwid()); //获取组织机构编码
sbu.setDwbm(sysBDepart.getDwbm());
sbu.setFirsttime(ts); //把当前用户信息复制到实体对象
sbu.setLasttime(ts);
//判断密码是否修改
if(yyhkl.equals(yhkl)){
sbu.setPassword(yhkl);
}else{
sbu.setPassword(EncUtil.getMd5(yhkl));
}
85
西安工程大学硕士学位论文
String[] roleidArr=request.getParameter("roleid").split(",");
Map<String,SysBUserrole> roleMap=new HashMap< String,SysBU- serrole>();
for(String roleid:roleidArr) {
SysBUserrole urole = new SysBUserrole();
setInsertUserInfo(request,urole);
urole.setDxid(sbu.getId());
urole.setDxlx(0);
urole.setDqzt(1);
urole.setRoleid(roleid);
urole.setPowerid(DbUtil.getKey("QX"));
roleMap.put(roleid,urole);
}
//调用 session 保存数据
yhglSession.updateUser(sbu, roleMap,roleidArr);
print(response, true,"修改成功!"); //输出返回值
}
}catch(Exception e){
e.printStackTrace();
print(response, false,"保存出错,信息:"+e.getMessage());
}
}else{print(response, false,"请勿重复提交数据!");
}
}
//保存用户头像文件
public void putFileInfo(HttpServletRequest request,SysBUser sysBUser){
FileInfo fileInfo = this.getFileInfo(request, "pfx_file");
String bpath = AppConfig.getParameter("headicon_path");
String filePath = bpath + File.separator + fileInfo.getSaveName();
if(!fileInfo.getSaveName().endsWith(".")){
if(CoreUtils.isNotEmpty(sysBUser.getId())){
if(CoreUtils.isNotEmpty(sysBUser.getHead_icon())){
File file = new File(sysBUser.getHead_icon());
86
西安工程大学硕士学位论文
if(file.exists()){file.delete();}
}
}
sysBUser.setHead_icon(filePath);
ThreadPoolUtil.threadPool.execute(new PicUploadUtil(fileInfo,bpath,filePath));
}
}
/**
* 删除用户信息
* @param request
* @param response
* @throws IOException
*/
@RequestMapping(value = "delUser")
public void delUser(HttpServletRequest request, HttpServletResponse response) throws
IOException{
Map<String,Object> retval = new HashMap<String, Object>();
String yhid[] = request.getParameterValues("yhid");
String msg = "";
try{
yhglSession.delUser(yhid);
retval.put("flag", true);
}catch(Exception e){
e.printStackTrace();
retval.put("flag", false);
msg = e.getMessage();
}finally{
retval.put("msg", msg);
print(response, JSON.toJSONString(retval));
}
}
}
87
西安工程大学硕士学位论文
2 主要功能在线答疑功能实现部分代码
//在线答疑程序设计
@Controller
@RequestMapping(value="AnswersController")
public class AnswersController extends BaseController{
@Autowired
AnswersSession answersSession;
@Autowired
TnoticeSession tnoticeSession;
//新增问题
@RequestMapping(value="save")
public void save(HttpServletRequest request,HttpServletResponse response) throws IOException{
SysBUser user = getUser(request);
String course_id = request.getParameter("course_id");
String question = request.getParameter("question");
Answers answers = new Answers();
//设置问题信息
answers.setId(DbUtil.getKey());
answers.setCourse_id(course_id);
answers.setCreator_id(user.getId());
answers.setQuestion(question);
setInsertUserInfo(request, answers);
try {
//保存问题
answersSession.add(answers);
Course course = new Course();
commonSession.findBySql("select * from course where id=?", course, course_id);
//给对应课程教师推送消息提醒
TNotice notice = tnoticeSession.getCommonNotice();
notice.setId(DbUtil.getKey());
notice.setUser_id(course.getUser_id());
notice.setMsg_title("新问题提醒");
88
西安工程大学硕士学位论文
notice.setMsg_content(" 学 生 "+user.getName()+" 对 课 程 "+course.getName()+" 提 出 问
题,请及时回答!");
notice.setCourse_id(course_id);
notice.setRelase_type("4");
notice.setRelase_id(answers.getId());
tnoticeSession.addTnotice(notice);
print(response, true,"操作成功!");
} catch (IOException e) {
e.printStackTrace();
print(response, false,"操作失败!");
}
}
//删除问题
@RequestMapping(value="delete")
public void delete(HttpServletRequest request,HttpServletResponse response) throws
IOException{
String id = request.getParameter("id");
try {answersSession.delete(id);
print(response, true,"操作成功!");
} catch (IOException e) {
e.printStackTrace();
print(response, false,"操作失败!");}
}
//新增回答
@RequestMapping(value="reply")
public void reply(HttpServletRequest request,HttpServletResponse response) throws IOException{
String relate_id = request.getParameter("relate_id");
String question = request.getParameter("question");
String course_id = request.getParameter("course_id");
int count = commonSession.sqlRowCount("select id from answers where related_id=?",
relate_id);
SysBUser user = getUser(request);
89
西安工程大学硕士学位论文
Answers answers = new Answers();
answers.setId(DbUtil.getKey());
answers.setCreator_id(user.getId());
answers.setQuestion(question);
answers.setCourse_id(course_id);
answers.setRelated_id(relate_id);
setInsertUserInfo(request, answers);
//判断问题最大回复数
if(count > 3){
print(response, false,"最大回答数为 4!");
return;
}
try {
answersSession.add(answers);
Answers oldAnswers = new Answers();
commonSession.findBySql("select * from answers where id=?", oldAnswers, relate_id);
//给问题提出人发送消息推送
TNotice notice = tnoticeSession.getCommonNotice();
notice.setId(DbUtil.getKey());
notice.setUser_id(oldAnswers.getCreator_id());
notice.setMsg_title("新回答提醒");
notice.setMsg_content(user.getName()+"回答了你的问题"+
"【"+oldAnswers.getQuestion()+"】");
notice.setCourse_id(course_id);
notice.setRelase_type("4");
notice.setRelase_id(relate_id);
tnoticeSession.addTnotice(notice);
print(response, true,"操作成功!");
} catch (IOException e) {e.printStackTrace();
print(response, false,"操作失败!");}
}
}
90
西安工程大学硕士学位论文
作者攻读学位期间发表学术论文清单
发表论文
[1] 李欢, 李云红, 张震宇. 基于 React+Webpack 的“健康资讯”App 开发[J]. 西安工
程大学学报, 2018, 32(4): 455-460.
[2] 李欢, 李云红, 惠史科, 等. 红外热像仪在纺织服装行业的应用[J]. 计算机与数字
工程, 2017, 45(11): 2301-2305.
[3] 张震宇, 李云红, 李欢. 基于 4G 通信的智能充电桩远程控制系统设计[J]. 单片机
与嵌入式系统应用, 2018, 18(8): 52-55.
参与项目
1. “ 纺 织 之 光 ” 中 国 纺 织 工 业 联 合 会 高 等 教 育 教 学 改 革 项 目 , 项 目 编 号 :
2017BKJGLX139;
2. 西安工程大学基础课程质量提升项目-信号与系统,项目编号:2017JCK14。
91
西安工程大学硕士学位论文
92
西安工程大学硕士学位论文
致谢
人生有许多关键点,人生也有许多人许多感谢铭记于心!
骊山脚下,匆匆七年,硕士三年更是让人难以忘怀。三年里,在学习上我有很大
的突破,特别是科研方面,掌握了很多有效的科研方法,学到了很多新的知识,专业
技能也有很大的提升,这都离不开老师的细心指导和同学的热心帮助。
特别感谢我的导师李云红教授,她对待工作认真负责,在科研上更是始终保持严
谨的态度,同时教给我更多的学习方法和技巧,耐心帮助我解决学习中遇到的问题,
她是我在科研路上的领路人。李老师待人和蔼可亲,喜欢与我们一起讨论问题,将她
丰富的科研经验和渊博的知识毫无保留的传授给我们,她是我学习的榜样。
科研之路,充满艰辛,但是相信每一个在科研道路上的人,都满怀敬意与热爱。
科研之路,因他欢喜,因他伤悲,时而因遇到难题而苦恼,时而因有所进展而喜悦。
苦恼时,室友和同门师兄师姐、师弟师妹,以及其他小伙伴们对我的鼓励、支持与帮
助,使我度过难关。获得成功时,共同分享,一起成长,使得我的科研道路增添些许
乐趣。感谢室友,感谢同门,感谢身边的同学,与你们一起学习分享、讨论交流、互
相帮助使我得到更好的成长,虽然也有点滴遗憾,但这更让我倍感珍惜。
非常感谢各位盲审评阅老师,抽出时间帮我审阅论文、指点不足,感谢你们,是
你们的指点与帮助才使我的科研学术之路走的更远。非常感谢课题组的指导老师和同
学,是你们在我答辩汇报时提出建设性的建议,让我及时发现自身的不足,得以改进,
谢谢你们。
切切之恩,似紫金之峰,立吾心而励吾志矣。纸短情长,言辞有尽,敬谢无穷。
硕士生涯对于我们每个人而言都是终生难忘的,这三年里,我遇到了人生启蒙的老师,
遇到了知己难寻的友人,还遇到恰如其分的同学,他们让我突破认知瓶颈,树立信仰,
开阔人生格局,让我更加明确未来的方向,再次向他们表达最诚挚的谢意。
怀念科研之路,难忘硕士生涯,感谢所有帮助过我的人,祝愿你们诸事吉祥、幸
福安康!
93
Download