学生在线投票系统
本系统为用户而设计制作学生在线投票系统,旨在实现学生在线投票智能化、现代化管理。本学生在线投票管理自动化系统的开发和研制的最终目的是将学生在线投票管理的运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提供更多的便利和条件。使学生在线投票系统数字化、智能化,是提高工作效率的重要举措。
为了更好地发挥本系统的技术优势,根据学生在线投票系统的需求,本文尝试以B/S经典设计模式中的Spring Boot框架,JAVA语言为基础,通过必要的编码处理、学生在线投票系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法,旨在完成一个快速、高效、便捷的学生在线投票系统。本系统以用户与管理员两类人,作为目标用户,其中用户主要功能包含用户的注册与登录,查看投票信息、投票记录等,对账号相关信息的修改;管理员主要功能包括了对用户信息、投票信息、投票记录、信息反馈等管理;管理员可以实现最高权限级别的全系统管理,
关键字:学生在线投票系统;Spring Boot框架;JAVA语言;
ABSTRACT
This system is designed and produced for users to achieve intelligent and modern management of student online voting. The ultimate goal of developing and developing an automated system for student online voting management is to transform the operational mode of student online voting management from manual data recording to network information query management, thereby providing more convenience and conditions for the use of modern management personnel. Digitizing and intelligentizing student online voting systems is an important measure to improve work efficiency.
In order to better leverage the technical advantages of this system and meet the needs of the student online voting system, this article attempts to use the Spring Boot framework from the B/S classic design pattern, JAVA language as the basis, and through necessary coding processing, the overall framework of the student online voting system, diversified functional services, and effective advanced experience and technical implementation methods, aiming to complete a fast, efficient, and convenient student online voting system. This system targets two types of users: users and administrators. The main functions of users include registration and login, viewing voting information, voting records, and modifying account related information; The main functions of the administrator include managing user information, voting information, voting records, information feedback, etc; Administrators can achieve full system management at the highest level of authority,
Keywords: Student online voting system; Spring Boot framework; JAVA language;
目 录
结论 25
致谢 30
第1章 绪论
近年来,类似管理类的软件数量正逐渐快速增加,人工的记录和数据统计已经变得不完全能够轻松处理出如此巨量庞大复杂的电子数据[1]。为了能更好快速地实现适应现代化社会要求的高效性,一个利用计算机技术来轻松实现自动化学生在线投票管理工作的系统也将随之诞生。基于以上这一点,设计完成了此学生在线投票系统,进行规范化管理,方便管理员或用户可以在最短的时间范围内,高效、便捷且准确地去进行对投票信息的浏览、查询或修改等一系列操作[2]。
根据我对上述知识的深入了解,浏览国内外相关研究资料文件与数据,查阅大量相关研究文献、书籍以及各类技术资料,对学生在线投票系统的用户、数据、需求、特点等多方面内容进行了分析与调研[3]。发现了目前市面上多部分行业还是采用传统的手工记录信息方法进行记录、管理有以下这样方面明显的缺点:信息量大,该相关信息的记录与存储无从下手,且产生大量交互信息,难以及时存档,大量的投票信息对管理员来说是很大的管理负担[4]。根据以上诸多原因,学生在线投票相关信息的现代化管理需要一个计算机软件来取代传统手工的操作流程来组织、管理这些信息[5]。
电子计算机诞生后,世界因为信息时代的到来发生了翻天覆地的变化。计算机所构成的网络已将整个社会联系起来,整个社会的效率也因此逐步提高,因此当今社会正以前所未有的速度飞速发展着。计算机技术在中国当代企业管理中普遍地被应用,使计算机工具逐渐成为现代人们直接应用掌握现代信息处理技术管理的一项不可或缺的工具[6]。计算机系统能将其原始数据进行分析、加工、储存,工作人员能够在需要补充相关数据时,随时对数据信息进行检索,了解当前学生在线投票系统信息的更新动态情况,从而能够有效准确的组织、处理,完成对学生在线投票管理信息化的统一管理指导工作,实现投票分类、投票信息、投票记录、信息反馈等信息管理流程的自动化,提高工作效率。
1.2 国内外研究现状
随着现代中国社会的不断向前发展,大数据以及云计算时代逐步到来,已经出现了更多的技术与手段来实现学生在线投票管理工作的提升与发展,尤其是信息处理分析技术更是遍布高科技开发中[7]。用投票信息为例,在系统中,投票记录、信息反馈的流程决定了本行业的整体运作,目前学生在线投票管理存在很多历史遗留问题,比如:投票信息管理流程繁琐、工作人员操作不易、容易发生误操作或登入错误信息、工作效率较低等,从而形成学生在线投票管理困难,且浪费时间的现状。另外,相关管理很不健全,管理人员也处于匮乏状态,又需要考虑到成本因素,开发一个相对硬件设施不是很高的系统从而管理学生在线投票,是有必要的。综上所述,本文将利用Java、B/S、Spring Boot框架等技开发一个具有功能齐全、便于操作、对电脑配置要求不高的学生在线投票系统[8]。
相较国内,国外的学生在线投票系统已经出现并且使用了更长时间,起步远超于中国,其管理方式也逐渐向自动化、规范化演变[9]。国外的学生在线投票系统飞速发展的阶段是在20世纪90年代后,在这一时期,来自微软的以图形界面显示的操作系统开始问世,科学技术的迅速发展,使得学生在线投票系统的开发者意识到原来开发的系统已不再符合时代的发展,纷纷将最新技术应用到学生在线投票系统的开发。例如在搜索投票信息时,运用先进的自动索引的成果,结合数据库技术,提高检索的效率性,成就了该系统如今呈现多样化发展的局势。
国外的学生在线投票系统在功能方面几乎囊括了所有学生在线投票管理所涉及的领域,可以说是比较健全的,虽然各系统采用的结构有所不同,但是几乎都是使用软件工程的原理,把数据集中存储到数据库中,然后采用分布式操作的方法来操作数据以及实现数据共享。在功能这个领域国外水平显然经过深思熟虑后进行设计[10]。
软件开发是一段漫长的过程,期间需要进行不断地维护与改良,至今国外的学生在线投票系统已几乎接近成熟。
1.3 课题意义
由于电脑的日益广泛与应用,其将逐步演变成为中国工业现代化水平的一重要标志。学生在线投票管理在整个日常工作流程中总是会出现新的用户信息,投票信息以及基于信息交互而最终形成的投票记录、信息反馈等。因此,必须全部信息加以管理,实现智能化管理,从而更加快捷地解决用户的需求,并提升工作效率,现对其设置了相关管理办法,以实现上述管理目的[11]。
本系统采用了B/S设计思想,通过视图层、模型层及控制层三者的交互,实现系统的功能,软件界面清晰友好美观,系统基本功能一目了然。系统的整体架构为Spring Boot应用框架,以Java 作为编程语言,用MySQL存储数据。
2.1 Spring Boot框架介绍
Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发人员在工程创建是就预先做了很多配置,这样在开发时就不再需要开发人员过多进行繁琐的配置了。另外在Spring Boot中集成了大量框架,这就使得开发人员不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化。
2.2 B/S结构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.3 Java编程语言
Java 最大的两个特点就是功能强大和简单易用。Java可以让程序员进行复杂的编程而不必为储存管理对象等问题所烦恼,把精力和时间更多的放在研发与设计上,极大地提高了开发者的工作效率和工作热情。
2.4 MySQL数据库
MySQL 是一种关联数据库管理系统,该系统速度快而且灵活性强,主要原因是它将数据保存在不同的表中,MySQL软件的优点是成本低、体积小、速度快,开放源码,所以一般中小型网站的开发都选择 MySQL 作为网站数据库。
预期的物理环境如下:
1)控制系统在正常温度环境条件下运行。
2)控制系统在干净的场所内运行。
预期的生产技术环境条件如下:
1)网络传输速度为1M以上的网络。
2)电脑:CPU双核以上P42.0G及以上,内存二百五十六万M或以上,硬盘大小四十兆G或是以上,10M网卡/一百兆M千兆网卡,Windows2000/2003/NT/XP/Vista/Windows 7以上中文操作系统。
3)数据库学生在线投票系统:Oracle9g或以上。
环境配置如表2.2:
表2.2 环境配置表
序号 | 配置项 | 环境要求 |
1 | 系统开发工具 | Eclipse |
2 | 数据库 | Mysql |
3 | 运行环境 | Jre tomcat |
4 | Java主要开发包 | Lang util springframework servlet text io |
需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,学生在线投票管理功能是许多个可以测试的功能相结合的,正是由于这些功能可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求[12]。
3.1.1 可靠性与可用性要求
- 控制系统中的程序能够每日工作二十四小时,每年工作365天。
- 控制系统中的软件故障率不足百分之五。
3.1.2 容错性需求
用户在输入错误信息时,操作系统将提示错误,而不会崩溃。
3.1.3 易用性与易学性
易用性:软件主要适用于十二至七十周岁的,智商、视力、体力和肢体健康并具备有关专业知识的人应用。
易学性:在现在计算机普及的新科技发展阶段,人人都会使用互联网产品,计算机成为了一门必修课,所以我们这个程序的操作会显得特别简单通俗易懂,通过了解或培训的用户可以顺利使用本软件[13]。
3.2 技术可行性
在研究技术可行性的时候,系统的开发环境是可以确定的,所以技术可行性最好与系统功能和性能以及一些实际的情况同时考虑。在可行性研究阶段,结合实际调整开发的内容和选择能够完成的技术体系是一个可用的手段,如果系统进入开发阶段,任何的调整都意味着会耗费更多的经历。需要再次明确的问题是,技术可行性不只是考虑在技术上是否可实现,实际上还包含了在当前的实际的情况下的技术可行性。有很多的因素例如时间不足、预期的开发目标技术难度比较难、不能有充足的技术积累、而且对于技术的掌握不够等这些实际存在的情况,都是要提前部署和认真规划的。
开发学生在线投票系统的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了java和 MySQL技术。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发。
3.3 经济可行性
此系统是由在校大学生开发的学生在线投票系统。此系统在开发方式上对系统的需求,由于学生在线投票系统是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用是作为系统开发的指导思想。
本系统完全能够在学生在线投票管理工作中发挥重要作用,而作为个人,能在软件开发能力方面得到锻炼和提高也是十分重要的,本系统在此不注重任何社会经济目标。
基于成本(效益)分析法,本系统所需要的软硬件资料均已掌握,该系统简洁易懂,本系统也具备了生产成本相对较少、效益最高的优点,在经济上可行。
本系统开发平台的总体开发理念,是以安全、便捷、使用为工作中心。开发成熟后采用的本机操作系统还应具备漂亮、大方、简洁,易于管理、运行、维护等许多优点,就算是完全不懂得电脑操作的人士,也一定能够熟练按照本操作系统的提示正确应用、维护、使用和管理好本系统。它所提供的简便易学的功能特性也能够使本系统真正在用户实际使用、管理中方便可行[14]。
3.5系统用例图
一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由许多不同的用例图所组成的。
系统用例图如图3-1、图3-2所示。
图3-1 管理员用例图
图3-2用户用例图
一般个人用户和管理者都需要登录才能进入学生在线投票系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使用者只能对投票信息提供查阅和个别使用信息内容的查看,而管理者则能对多个信息内容提供使用。
整体系统的主要功能模块如图4-1:
图4-1 学生在线投票系统功能图
4.2 系统登录模块设计
用户在启动操作系统时会调用的一个模块。该模型通过用户输入的账号、密码来确定应用的类别,切换到该类应用的页面。
本模块的功能点包括:
1)确定账号与密码是否一致。
2)完全按照系统所规定使用权限的权限类型,,直接通过登陆进入到系统权限的制定管理页面中即可进行授权使用。
登录模块流程图如图4-2:
管理静止网站时是由WEB客户端向Web传送静态页面,而Web客户端直接对所传送的静态页面进行管理。
实现动态网页数据库信息查询请求的最基本处理流程概括为:当一个WEB用户成功向动态网页服务器数据库发送信息请求成功后,对其动态页面库的一种主要的处理实现方法之一是,屏蔽掉其中所有动态HTML代码,只须使用一个动态的动态网页文件,由动态Web浏览器程序直接地在该数据库服务器上进行传递动态信息,然后再通过该数据库服务器的处理程序返回到信息集,由该Web应用服务器处理程序再一次将包含动态程序代码在内的动态页面,转化为一个静态页面信息并自动返回到网页浏览器。也就是网站在这个动态页里对网页信息自动进行检索并最终把这些信息自动返回传递到网站用户处的这个全自动化过程。
数据库查询示意图如图4-3:
图4-3 数据库查询示意图
数据库设计阶段目标表见表4-4:
目标 | |
概念设计 | 了解功能需求,通过分析系统功能定义出系统有哪些实体联系图(即E-R图) |
逻辑设计 | 把E-R图转换成能处理的逻辑模型,检查是否满足第三范式的要求 |
物理设计 | 基于基本数据模型,生成适用于应用系统的物理结构 |
表4-4 数据库设计阶段目标表
4.3.1 E-R图设计
根据以上分析,本系统中包含多个实体,根据他们以及他们的关系绘制出E-R图如下:
- 信息反馈E-R图如下图4-5:
图4-5信息反馈E-R图
- 用户信息E-R图如下图4-6:
图4-6用户信息E-R图
- 投票信息E-R图如下图4-7:
图4-7投票信息E-R图
- 投票记录E-R图如下图4-8:
图4-8投票记录E-R图
数据库关系表如下:
表4-1:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-2:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-3:公告资讯分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
typename | varchar | 200 | 分类名称 |
表4-4:公告资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
typename | varchar | 200 | 分类名称 | ||
name | varchar | 200 | 发布人 | ||
headportrait | longtext | 4294967295 | 头像 | ||
clicknum | int | 点击次数 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
storeupnum | int | 收藏数 | 0 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-5:信息反馈
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 留言人id | |||
username | varchar | 200 | 用户名 | ||
avatarurl | longtext | 4294967295 | 头像 | ||
content | longtext | 4294967295 | 留言内容 | ||
cpicture | longtext | 4294967295 | 留言图片 | ||
reply | longtext | 4294967295 | 回复内容 | ||
rpicture | longtext | 4294967295 | 回复图片 |
表4-6:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-7:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuming | varchar | 200 | 用户名 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
touxiang | longtext | 4294967295 | 头像 | ||
shouji | varchar | 200 | 手机 | ||
pquestion | varchar | 200 | 密保问题 | ||
panswer | varchar | 200 | 密保答案 |
表4-8:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-9:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-10:投票信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
toupiaobiaoti | varchar | 200 | 投票标题 | ||
toupiaofenlei | varchar | 200 | 投票分类 | ||
tupianxinxi | longtext | 4294967295 | 图片信息 | ||
lianjiexinxi | varchar | 200 | 链接信息 | ||
suodepiaoshu | int | 所得票数 | |||
toupiaoguize | longtext | 4294967295 | 投票规则 | ||
faburiqi | date | 发布日期 | |||
yonghuming | varchar | 200 | 用户名 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 | ||
reversetime | datetime | 倒计结束时间 | |||
storeupnum | int | 收藏数 | 0 |
表4-11:投票记录
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
toupiaobianhao | varchar | 200 | 投票编号 | ||
toupiaobiaoti | varchar | 200 | 投票标题 | ||
tupianxinxi | longtext | 4294967295 | 图片信息 | ||
suodepiaoshu | int | 投票票数 | |||
toupiaobeizhu | varchar | 200 | 投票备注 | ||
toupiaoshijian | datetime | 投票时间 | |||
yonghuming | varchar | 200 | 用户名 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
shhf | longtext | 4294967295 | 回复内容 |
表4-12:投票分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
toupiaofenlei | varchar | 200 | 投票分类 |
- 系统实现
5.1 用户前台系统功能模块实现
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到学生在线投票系统的导航条显示首页、投票信息、论坛信息、公告信息、个人中心。系统首页界面如图5-1所示:
图5-1系统首页界面
当用户进入前台系统进行相关操作前必须先注册登录,在注册页面填写用户账号、用户姓名、密码、确认密码、手机号、性别、年龄、头像等信息,前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图5-2所示。
图5-2用户注册界面图
用户登录,用户在登录页面通过填写账号、密码,完成登录,在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端生成一个令牌(如JWT)并返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示。
图5-3用户登录界面图
用户点击投票信息,在投票信息页面的搜索栏输入投票标题等信息,进行查询,还可以查看投票标题、投票分类、图片信息、链接信息、所得票数、投票规则、发布日期、用户名、是否审核、审核回复、倒计结束时间、收藏数等信息,如有需要可以进行参与投票或者收藏等操作;如图5-4所示。
图5-4投票信息页面
用户点击公告信息,在公告信息页面的搜索栏输入标题等信息,进行搜索,还可以查看标题、分类名称、发布人、点击次数、收藏数、图片等信息;如图5-5所示:
图5-5公告信息页面
用户点击个人中心,在个人中心页面可以修改个人信息、密码修改,还可以对修改密码、投票信息、投票记录、我的收藏、浏览历史进行详细操作,如图5-6所示。
图5-6个人中心界面图
本模块主要是使用者可以通过学生在线投票系统的首页进入该系统。用户输入正确的账号名和密码,一旦输入信息有错,将在系统显示错误提示,同时严禁系统用户做出其他动作。如果注册信息正确无误,系统就会按照使用者的身份信息做出有关权利的判定,用户进入前台系统,管理者则进入后台系统。管理员登录主页面如图5-7所示:
图5-7 管理员登录主页面
管理员进入主页面,主要功能包括对系统首页、用户管理、投票分类管理、投票信息管理、投票记录管理、信息反馈、系统管理、我的信息等进行操作。管理员主页面如图5-8所示:
图5-8管理员主界面
用户信息功能在视图层(view层)进行交互,比如点击“添加”按钮或填写用户信息表单。这些用户信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、添加、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户信息功能可以看到最新的信息或相应的操作反馈。在用户信息页面的输入栏中输入用户名、姓名进行查询,可以查看到用户详细信息,并根据需要进行修改或者删除等操作;如图5-9所示:
图5-9用户管理界面
投票分类功能在视图层(view层)进行交互,比如点击“添加”按钮或填写投票分类表单。这些投票分类动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、添加、修改或删除投票分类,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便投票分类功能可以看到最新的信息或相应的操作反馈。在投票分类页面的输入栏中输入投票分类进行查询,可以查看到投票分类详细信息,并根据需要进行修改或者删除等操作。如图5-10所示:
图5-10投票分类界面
管理员点击投票信息,在投票信息页面可以查看投票标题、投票分类、图片信息、链接信息、所得票数、发布日期、用户名、收藏数、审核回复、审核状态等信息,可以查询或者删除投票信息等操作。如图5-11所示:
图5-11投票信息界面
管理员点击投票记录,在投票记录页面对投票编号、投票标题、图片信息、投票票数、投票备注、投票时间、用户名、审核回复、回复等信息,可以查询或删除投票记录等操作。如图5-12所示:
图5-12投票记录界面
管理员点击信息反馈,在信息反馈页面对用户名、留言内容、留言图片、回复内容、回复图片等信息,可以查询或删除信息反馈等操作。如图5-13所示:
图5-13信息反馈界面
管理员点击系统管理,在系统管理页面对公告资讯、关于我们、轮播图管理等模块信息,进行详情操作。如图5-14所示:
图5-14系统管理界面
第6章 系统测试
本系统首先在本地服务器上进行了安装和测试,之后鉴于对系统的结构和处理方法的充分熟悉和对系统特性的充分了解,对系统进行了白盒测试和黑盒试验[15]。
在发展软件系统的整个过程中,人们必须面临错综复杂性的实际问题,所以,在软件系统生存周期的各个过程中都必然地会形成错误。应用软件检测目的在于:出现出错并运行某个程序的步骤,而应用软件检测的最重要目的便是找到其中尚未发生的出错。
为了制定出合理的测试计划,根据以下原则开始了测量;任何测试都要追溯到客户需要;当确定了客户使用模型后就要着手制定测试计划,并在编码以前就对整个软件测试工作做出规划和制定;御用Pareto原理,主要对占出了百分之八十九以上的最易于出错的约百分之二十的模板实施了检测,并从小规模开始逐步实施大量检测,范围一般从主要检测单编程模板再到完全集成的模板;同时精心设计了检测方法,尽可能地全面覆盖所有程序逻辑并使其满足要求的能力[16]。
测试环境,软件和硬件的配置清单见下表。
测试环境表6-1:
表6-1 测试环境表
设备名称 | 硬件配置 | 应用程序 | |
服务器端 | 处理器 | 1.6GHz 双核 Intel Core i5 (Turbo Boost 最高可达 3.6GHz),配备 4MB 三级缓存 | jdk1.8, tomcat9.0.12, Mysql8.0 maven3.5 |
内存 | 8 GB | ||
主硬盘 | 128GB PCIe 固态硬盘 | ||
网卡 | 802.11a/b/g/n | ||
客户端 | 处理器 | 1.6GHz 双核 Intel Core i5 (Turbo Boost 最高可达 3.6GHz),配备 4MB 三级缓存 | macOS |
内存 | 8 GB | ||
主硬盘 | 128GB PCIe 固态硬盘 | ||
显卡 | Intel UHD Graphics 617 | ||
网卡 | 802.11a/b/g/n |
6.2.1 登录模块测试
进入本系统时,根据不同登录方式区分用户以及管理员的登录。二者登录均需填写用户名和密码。当填写了错误的用户名或密码时,将提示“用户名或密码错误”,按确认按钮返回注册窗口。登录界面简介且高效,输入错误后返回注册窗口也不会卡顿。
6.3 测试用例
本学生在线投票系统在采用单元测试的方法,对系统各模块进行测试,检测流程必须严格遵循检测的标准流程,进行单位检测,子系统检测和控制系统检测。经过单位检测,就检查出了控制系统中各个模块内在的错误;经过子系统检测,发现了模板之间相互协作与沟通上的出错;经过集成测试,发现了流程中出现的错误。通过修正,确定了学生在线投票系统能够实现需求分解中确定的技术要求。根据单元测试对系统进行集成测试,判断各功能组合完成后是否存在逻辑和功能上的错误,保证系统集成后不会出现bug。最后,对系统进行系统测试,确保整个系统的完整性和功能的流通性。
通过管理员和用户两个角色对系统进行完整的系统测试,并对相应的测试进行了详细的测试用例制作,同时记录了详细测试过程,形成了相关的系统测试文档。
具体测试用例如下:
表6-2 注册测试用例表
测试对象 | 测试案例 | 操作说明 | 实际结果 | 是否通过 |
注册 | 用户 | 未注册用户登录提示请注册 | 得到相应信息提示 | 是 |
表6-3 后台管理员测试用例表
测试对象 | 测试案例 | 操作说明 | 实际结果 | 是否通过 |
后台管理员管理权限 | 添加管理员 | 点击后台管理员/管理员列表/添加管理员按钮 | 显示添加管理员弹框 | 是 |
点击后台管理员/管理员列表/取消管理员按钮 | 关闭弹框 | 是 | ||
搜索管理员 | 在输入框中输入要找的管理员(用户名/手机号/邮箱)点击搜索按钮 | 显示搜索到的管理员结果 | 是 | |
编辑管理员权限/信息 | 点击要编辑的管理员 | 显示要编辑管理员的弹框 | 是 | |
删除管理员 | 点击删除管理员 | 显示删除管理员弹窗/确认删除 | 是 |
本系统相对于我查阅到的其他学生在线投票系统具有如下优点:其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好。
本系统在技术层面具有如下优点:第一,用java实现动态页面,使软件系统具备了很好的可维护性和可复用性。其次,在本系统的编写流程中使用的是Spring Boot框架,该框架将更有效的把显示功能与逻辑分开,使得模块更易于管理,尤其适用于大型项目的编写。第三,后台使用的MySQL数据库系统,MySQL的数据库系统引擎主要集中在了对XML标准的支持,同时具备可扩充、容易应用和安全性高的优点。
综上所述,通过这次从零开始的毕业设计是一次全新的开始,也期待圆满结束。我也希望这次的设计能通过我后期的自主学习把它趋向于完美,成为我的自主创作经验。
[1]刘敏.基于Spring Boot 框架社交网络平台的设计与实现[D].湖南大学,2021.
[2]姜萍.基于MySql的房地产销售管理系统设计与开发[D].吉林大学,2020.
[3]颜清,苗壮,赖鑫生,等.大数据时代关系数据库MySQL的创新与发展[J].科技风,2020(20):75-76.
[4]马景娣,田稷.基于J2EE 的科技查新综合信息系统的设计与实现[J].现代图书情报技术 2019(08):75-80.[5]张玮.浅析白盒测试和黑盒测试[J].无线互联科技,2019(06):136.
[6]Riordan ML,Perry GJ.A systematic review and meta‐analysis of the effects of global health competency improvement programs on nurses and nursing students[J].Journal of advanced nursing,2020,76(7):1552-1566.
[7]Braude RM,Shirinyan A,Zargaryan T.Republican Scientific-Medical Library,The Republic of Armenia: progress and programs[J].CIM Bulletin,2019,89(1):45-50.
[8]秦楠.基于虚拟交互模型的企业管理系统平台研究[J].微型电脑应用,2021,37(10):50-52.
[9]毛瑞欣,王平,张国艳,等.基于JAVA的房屋租赁系统[J].信息与电脑,2020,32(23):95-97.
[10]游俊慧.B/S、MVP、MVVM三种架构模式的对比[J].办公自动化,2020,25(22):11-12,27.
[11]FONTAINE RAFAMANTANANTSOA,PAULSON RAVOMAMPIANDRA.Analysis and Simulink Modeling of the Performance of Dynamic Web Server Using java and[J].Communications and network,2019,10(4):196-210.
[12]齐兵辉.浅谈B/S模式和Spring Boot框架[J].数码设计(上),2021,10(5):38.
致 谢
时光荏苒,岁月如梭。大学美好的四年学涯生活即将结束,但仔细想想,这四年之间发生了很多故事。曾经与同学、老师、亲朋好友在大学里所有美好的事物都将成为回忆,心中浮满好多不舍。如果让我总结大学四年生活,我会说我成长了,这四年时光非常值得!感谢所有相遇的老师、朋友们!
首先,我要感谢我的指导老师,谢谢您这段时间对我的论文修改,是您的耐心、细心辅助我顺利的完成了论文的编写,也感谢您的奉献精神,让我学习到了职业精神,希望我以后也能对我的工作同样的负责。
其次,我要感谢我的同学,四年里分享我的情感生活,让我们成为了志同道合的朋友,感谢在大学认识你们。
最后,我要感谢我的父母和亲戚,是你们这些年的耐心的陪伴,让我成为了现在能独立思想的个人,有思想、有理想的人。谢谢所有感谢曾经帮助过我的人,谢谢你们,谢谢!