1 简介
Java基于微信小程序的投票评选系统,其实我们所要研究的内容并不复杂,首先是要通过不同的端来区分,前端:投票主题查询,投票类别查询;在线投票,一个用户只能投票一个主题一次,投票也可以投票图片;投票结果查看;公告查看;后台服务端:管理员管理、用户管理、公告管理、投票主题管理、投票结果管理,统计。
2 相关技术介绍
开发语言:Java
框架:SSM
JDK版本:JDK1.8
前端 小程序
服务器:tomcat7 或者 Tomcat 8
数据库:mysql 5.7(建议5.7版本,8.0 有时候坑很多)
数据库工具:Navicat11
开发软件:eclipse/idea
Maven
3 需求概述
在投票评选系统中,我们将自己的需求进行一个描述,那么分为两部分,前面介绍到我们的投票评选系统要前端:投票主题查询,投票类别查询;在线投票,一个用户只能投票一个主题一次,投票也可以投票图片;投票结果查看;公告查看;后台服务端:管理员管理、用户管理、公告管理、投票主题管理、投票结果管理,统计。
在投票评选系统当中,非功能的需求分析也是非常重要的,主要还是体现在我们用户的友好程度上。那么说起用户的友好程度上,那么就在非功能需求上有所体现,那么首先我们要设计的页面呢,符合当下主流软件的页面风格,能够让用户的操作性更具有方便。当然,我们仅仅是页面风格还不够,那么对于一些页面上的字段做的有效性,规则、校验、提示,这些应该更具有友好程度。如果校验不过去的字段,必须是明确的提示,这样让用户看起来更加方便,那么规则也更加清楚,不能让用户感觉到就是提示过不去。但不知道为什么,这样的系统做起来用户友好程度基本上没有,这些都是在非功能需求分析中要进行一个需求的分析。
4 数据库设计
任何功能和系统的实现都是经过设计的。我们的数据库也是一样,只有经过设计的数据库才能考虑出所有的问题所在,就像盖大楼一样,盖大楼之前的图纸已经会画好,按照图纸规规矩矩的建设才是最好的结果。而且数据库这种的设计是必须要进行的,因为它关系的不仅仅是你数据库表的字段与多少,更重要的是你业务实现的逻辑关系就是我们常说的业务关系如何保存,以及保存多张数据表里边儿的关系时,我们都是有一定的建设,只有这样才能把数据库的设计做到最好,才能将系统的业务结构划分清楚。别看小小的数据库设计,如果前期数据库设计不好的话,后面可能会直接推翻我们的系统开发与建设。可能因为数据库一个小小字段的问题,在系统的性能优化上完全提升不出来,这时候我们一定要按照数据库的范式要求进行范式规范化设计,该满足一范式的就一定要满足一范式,该必须二范式的就必须进行二范式。适当特殊的情况下,我们可以做一些数据的冗余处理,这都是可行的。数据库设计如下表所示:
5 效果图
和别的电商系统或者其他信息系统来说,我们的投票评选系统是大不相同的风格,我们只有后台管理,那么后台管理的首页也就是每个人登陆访问进去的首页。如下图所示:
{width="6.101388888888889in"
height="2.94375in"}
管理员信息管理
说实话后台管理页面的风格,每种应用都有自己不同的风格,而大多数的风格也都是按照菜单功能树、操作区域等这种布局进行区分的。在菜单功能树当中有后台管理应用的全部功能,而且这些菜单树的入口也仅仅只是改变右边操作区域的内容,这样一来多个模块可以使用同一个菜单树,既保证了风格统一的美观程度,又能让开发在代码工作量上减少很多。在操作区域还是以上、中、下之样的方式来进行的,每块区域都有它自己的位置功能。系统用户管理也仅仅只是管理员有这个功能,在这个功能当中可以看出系统有多少个管理员,可以分别对他们的账号、密码进行一个管理。
{width="6.101388888888889in"
height="3.0381944444444446in"}
5.3 公告信息管理
有了公告信息能够更加方便清楚的让我们知道系统最近发布的一些消息,也可以让用户和管理员及时看到。
{width="6.101388888888889in"
height="2.938888888888889in"}
5.4 个人信息管理
个人信息的管理无非是针对那么几项,比如说对于密码、姓名以及性别、电话和邮箱。当然,我们这里的个人信息编号是不可以进行修改的,相当于每个人的ID,通过ID可以查找到每个人的信息。
{width="3.2395833333333335in"
height="5.572916666666667in"}
6 推荐阅读
2023年Java毕业设计如何选题?500道创新创意毕业设计题目推荐
Java毕业设计-SpringBoot+Vue毕业设计项目合集