基于企业微信的问卷系统的设计与实现

系统简介

科学技术日新月异,人们的生活都发生了翻天覆地的变化,问卷系统当然也不例外。过去的信息管理都使用传统的方式实行,既花费了时间,又浪费了精力。在信息如此发达的今天,我们可以通过网络这个媒介,快速的查找自己想要的信息,更加全方面的了解自己的网站信息。而且人们也可以突破传统信息管理的僵硬模式,制定属于自己的个性化的管理方案。基于现代人们的需求,设计并开发了一款问卷系统。
本篇文章使用JAVA与MYSQL技术搭建了一个问卷系统。首先,对用户提出的功能进行合理分析,然后搭建开发平台以及配置计算机软硬件;通过对数据流图以及系统结构的设计,创建相应的数据库;进行详细的设计,实现主要功能。最后测试网站,并分析测试结果,完善系统,得出系统使用说明书,方便日后的维护以及更新。
作为用户,本系统可以在线搜索,查看并且网站信息;也可以在线互动交流。作为系统的管理员,可以及时的更新数据,也可以随时随地的处理网站信息。便捷的操作界面以及全新的功能会让人们耳目一新。

关键词:问卷调查 MYSQL数据库 JAVA技术 SSM框架

第1章 开发工具和开发技术

2.1系统的开发环境与开发工具
本系统在开发时选用Windows10中文家庭版为操作系统,选用了JAVA语言,与此同时选用了Mysql为数据库开发工具,两者的兼容性能是最佳的,所以很适合用来开发这款系统。
网页制作以及代码的编写,运用Eclipse开发工具,它可以清晰的整理代码。数据库采用MySQL,与编程开发工具兼容,易于管理维护。
2.2 JAVA技术概述
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,SSM,和XML技术。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 SSM 框架
SSM框架是一种流行的Java Web开发框架,它由Spring框架、Spring MVC和MyBatis三个开源框架组合而成。SSM框架是一种非常高效、灵活和可扩展的Web应用程序开发方式,它充分利用了Spring框架的轻量级、可扩展性和灵活性,以及MyBatis框架的数据访问层分离和ORM能力,实现了前后端分离、模块化开发和快速响应等优点。
SSM框架的优势在于其组件化的开发方式,通过将业务逻辑、数据访问层和表示层分离,提高了代码的可维护性和可扩展性。同时,SSM框架还提供了丰富的组件和工具,如Spring的IoC容器和AOP注解,MyBatis的数据访问组件和XML映射文件等,使得开发人员能够更快速地构建Web应用程序。
SSM框架的核心思想是将Web应用程序的开发分解为三个主要部分:业务逻辑层、数据访问层和表示层。其中,业务逻辑层负责处理业务逻辑和规则判断,数据访问层负责与数据库进行交互和数据持久化,表示层负责展示用户界面和处理用户请求。通过这种方式,开发人员可以将不同的功能模块分离出来,并在不同的层次上进行开发和测试,从而提高开发效率和质量。
2.4 微信小程序介绍
微信小程序是一种可以直接在微信上运行的应用服务。具备开发周期短、成本低、用户无须安装即开即用、无须占用内存等优点,已经广泛应用于电商、教育、服务等行业。微信小程序使用运行机制为“响应—绑定”的 MINA 框架,开发者只需关注前端视图层和后端逻辑层的代码开发。视图层完成逻辑层数据在页面展示,并将视图层事件发送到逻辑层;逻辑层专注具体业务处理;视图层与逻辑层数据传递遵从 JSON 格式。 前端视图层采用 WXML(WeiXin Markup Language)与 WXSS(WeiXin Style Sheet)编写。WXML是微信标记语言,用于描述页面的结构;WXSS 是样式语言,用于描述页面的样式。后端逻辑层采用 Spring Boot 和 MyBatis-Plus 框架进行 开发。Spring 是开源的 Java 主流框架,提供了具有控制反转 和切面编程能力的容器。Spring Boot 在其基础上,简化配置文件并内置Web 容器,是使用最为广泛的微服务开发框架之一。MyBatis 是一款优秀的基于Java 语言的持久层框架,对JDBC 进行封装,屏蔽了 JDBC API 底层访问细节,解决了Java 实体和数据库映射问题。开发者只需要关注 SQL 语句本身即可完成数据持久化操作。Mybatis-Plus 框架是 Mybatis 框架的增强版,继承 Mybatis 功能外,新增 Lambda 形式调用、简化单表操作等功能。
2.5 Mysql数据库技术
MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种通用的、开源的关系型数据库管理系统,广泛应用于各种类型的项目中,如网站、企业级应用等。MySQL支持多种存储引擎,包括InnoDB、MyISAM等,可以根据项目需求选择合适的存储引擎。MySQL具有高性能、高可靠性、易用性等特点,被广泛应用于各种类型的项目中。
2.6 B/S结构
B/S结构(Browser/Server,浏览器/服务器结构)是一种网络应用模式,它将软件的功能分为客户端和服务器端两部分。在这种结构中,用户通过浏览器访问服务器端的应用程序,而应用程序的数据处理和逻辑运算则由服务器端完成。
B/S结构的优点是易于维护和升级,因为所有的功能都在服务器端实现,客户端只需安装浏览器即可。B/S结构具有较高的可扩展性和跨平台性,用户无需安装专门的客户端软件,只要有网络连接就可以访问应用程序。在B/S结构中,用户界面是关键,因为它直接影响到用户的使用体验。为了提供良好的用户体验,开发者需要关注界面设计、交互设计和响应速度等方面。安全性也是B/S结构中不可忽视的问题,开发者需要采取一定的安全措施来保护用户数据和系统资源。

第2章 系统设计

4.1 系统总体结构设计
本系统是基于B/S架构的网站系统,分为系统管理员、发布者和用户三大部分。它的主要功能包括用户、发布者、问卷调查、问卷提交、考试信息、报名表单、在线报名、投票信息、在线投票、在线考试管理、试题管理、轮描图管理、考试管理等。系统总体结构图如下,见图4-1。
在这里插入图片描述

图4-1 系统总体结构图

4.2.2 数据库表设计
在 Mysql 2000 云数据库、网络后台数据库 等软硬件支持下,建立数据库表,不同数据表结构中存在字段名称、类型、长度、字段说明、主键和默认值等详细内容,具体数据库表信息如下表所示。
表4-1:收藏表
字段名称 类型 长度 字段说明 主键 默认值
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-2:考试信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
kaoshimingcheng varchar 200 考试名称
kaoshididian varchar 200 考试地点
kaoshishijian varchar 200 考试时间
canyurenyuan longtext 4294967295 参与人员
fengmian longtext 4294967295 封面
kaoshixuzhi longtext 4294967295 考试须知
xiangxishuoming longtext 4294967295 详细说明
fabuzhezhanghao varchar 200 发布者账号
fabuzhexingming varchar 200 发布者姓名
clicktime datetime 最近点击时间
clicknum int 点击次数 0
storeupnum int 收藏数 0

表4-3:发布者
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
fabuzhezhanghao varchar 200 发布者账号
mima varchar 200 密码
fabuzhexingming varchar 200 发布者姓名
xingbie varchar 200 性别
shouji varchar 200 手机
touxiang longtext 4294967295 头像

表4-4:考试记录表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
username varchar 200 用户名
paperid bigint 在线考试id(外键)
papername varchar 200 在线考试名称
questionid bigint 试题id(外键)
questionname varchar 200 试题名称
options longtext 4294967295 选项,json字符串
score bigint 分值 0
answer varchar 200 正确答案
analysis longtext 4294967295 答案解析
ismark bigint 是否批卷 0
type bigint 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 4:主观题 0
myscore bigint 试题得分 0
myanswer varchar 200 考生答案

表4-5:在线投票
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
toupiaobianhao varchar 200 投票编号
toupiaozhuti varchar 200 投票主题
fengmian longtext 4294967295 封面
piaoshu int 票数
toupiaoshijian datetime 投票时间
toupiaoyuanyin varchar 200 投票原因
zhanghao varchar 200 账号
xingming varchar 200 姓名
fabuzhezhanghao varchar 200 发布者账号
fabuzhexingming varchar 200 发布者姓名
crossuserid bigint 跨表用户id
crossrefid bigint 跨表主键id

表4-6:试题库表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
questionname varchar 200 试题名称
options longtext 4294967295 选项,json字符串
score bigint 分值 0
answer varchar 200 正确答案
analysis longtext 4294967295 答案解析
type bigint 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 4:主观题 0
sequence bigint 试题排序,值越大排越前面 100

表4-7:在线报名
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaodanbiaoti varchar 200 表单标题
fengmian longtext 4294967295 封面
baomingshijian datetime 报名时间
zhanghao varchar 200 账号
xingming varchar 200 姓名
shouji varchar 200 手机
fabuzhezhanghao varchar 200 发布者账号
fabuzhexingming varchar 200 发布者姓名
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复

表4-8:试题表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
paperid bigint 所属在线考试id(外键)
papername varchar 200 在线考试名称
questionname varchar 200 试题名称
options longtext 4294967295 选项,json字符串
score bigint 分值 0
answer varchar 200 正确答案
analysis longtext 4294967295 答案解析
type bigint 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)4:主观题 0
sequence bigint 试题排序,值越大排越前面 100

表4-9:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhanghao varchar 200 账号
mima varchar 200 密码
xingming varchar 200 姓名
xingbie varchar 200 性别
shouji varchar 200 手机
touxiang longtext 4294967295 头像

表4-10:问卷提交
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
wenjuanleixing varchar 200 问卷类型
huifuwenjian longtext 4294967295 回复文件
fengmian longtext 4294967295 封面
fabuzhezhanghao varchar 200 发布者账号
fabuzhexingming varchar 200 发布者姓名
huifuneirong longtext 4294967295 回复内容
tijiaoshijian datetime 提交时间
zhanghao varchar 200 账号
xingming varchar 200 姓名
crossuserid bigint 跨表用户id
crossrefid bigint 跨表主键id
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复

表4-11:在线考试表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
name varchar 200 在线考试名称
time int 考试时长(分钟)
status int 在线考试状态 0

表4-12:问卷调查
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
wenjuanleixing varchar 200 问卷类型
diaochawenjian longtext 4294967295 调查文件
fengmian longtext 4294967295 封面
fabushijian date 发布时间
wenjuanxiangqing longtext 4294967295 问卷详情
fabuzhezhanghao varchar 200 发布者账号
fabuzhexingming varchar 200 发布者姓名
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复
clicktime datetime 最近点击时间
reversetime datetime 倒计结束时间
clicknum int 点击次数 0
storeupnum int 收藏数 0

表4-13:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
url varchar 500 url

表4-14:管理员表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
image varchar 200 头像
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-15:报名表单
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaodanbiaoti varchar 200 表单标题
kaishishijian datetime 开始时间
jiezhishijian datetime 截止时间
canyurenyuan longtext 4294967295 参与人员
fengmian longtext 4294967295 封面
biaodanxiangqing longtext 4294967295 表单详情
fabuzhezhanghao varchar 200 发布者账号
fabuzhexingming varchar 200 发布者姓名
clicktime datetime 最近点击时间
clicknum int 点击次数 0

表4-16:投票信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
toupiaozhuti varchar 200 投票主题
fengmian longtext 4294967295 封面
piaoshu int 票数
kaishishijian datetime 开始时间
jieshushijian datetime 结束时间
xiangxishuoming longtext 4294967295 详细说明
fabuzhezhanghao varchar 200 发布者账号
fabuzhexingming varchar 200 发布者姓名

表4-17: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.3 本章小结
这一章着重介绍了整个系统的设计流程。确定了系统的功能结构,并在此基础上完成了数据库的设计。

第3章 效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值