admin 管理员组文章数量: 887021
2024年1月13日发(作者:maven下载不下来依赖)
理学学士学位论文(设计)
题目:在线问卷调查及数据统计分析系统
学 号:
姓 名:
院 (系):
专 业:
完成日期:
指导老师:
信息工程学院
信息与计算科学
2019.1.6
摘要
摘 要
在互联网科技蓬勃发展的今天,信息数据在人们的生产生活中扮演着的角色已经变得越来越重要。在传统获取信息的方式中需要花费大量的人力物力去分发、收集和统计分析问卷调查内容,这种传统方式花费巨大、操作效率低、回收周期长。而在线问卷调查系统这种革新问卷调查方式的出现则很好的解决了这些问题。本论文结合研究课题,分析、设计并开发了一款基于Java Web的在线问卷调查系统 。
本系统基于B/S结构体系,后台采用了Java高级面对对象语言进行开发,JSP与Servlet组合的设计模式,以Eclipse JEE作为开发工具,Tomcat 7.0版本作为系统服务器,以MySQL数据库为数据存储的在线问卷调查和数据统计系统。系统的主要功能包括:登入、注册、找回密码、问卷生成、问卷管理,问卷作答、调查结果统计分析、在线投票管理等;
关键词:Java、MySQL、在线问卷调查、数据统计分析。
I
Abstract
Abstract
With the rapid development of Internet technology, information and data have been playing an
increasingly important role in people's production and the traditional way of obtaining
information, it needs to spend a lot of manpower and material resources to distribute, collect and
statistically analyze the questionnaire content, which is costly, inefficient and takes a long time to
emergence of online questionnaire survey system, an innovative questionnaire survey
method, solves these problems ed with the research topic, this paper analyzes, designs
and develops an online questionnaire system based on Java Web.
This system is based on B/S structure system, the background USES Java high-level object-oriented language for development, JSP and Servlet combined design mode, Eclipse JEE as a
development tool, Tomcat 7.0 as a system server, MySQL database as data storage online
questionnaire and data statistics main functions of the system include: login, registration,
password retrieval, questionnaire generation, questionnaire management, questionnaire answering,
statistical analysis of survey results, online voting management, etc.
Keywords:Java;MySQL;Online Questionnaire Survey; Data Statistical Analysis.
II
目录
目 录
摘 要 ...................................................................................................................................................... I
Abstract .................................................................................................................................................. II
第一章 绪 论 ................................................................................................................................... 1
1.1 课题背景 ........................................................................................................................... 1
1.2 在线问卷调查系统的意义 ............................................................................................ 1
1.3 在线问卷调查系统的特点 ........................................................ 错误!未定义书签。1
1.4 本课题研究内容 .......................................................................... 错误!未定义书签。2
1.5 本文章节安排 .............................................................................. 错误!未定义书签。2
第二章 系统实现的技术基础 ......................................................................................................... 3
2.1 Java开发语言概述 ......................................................................................................... 3
2.2 MySQL数据库概述 ....................................................................................................... 3
2.3 JSP服务器界面概述 ...................................................................................................... 3
2.4 Eclipse JEE开发工具概述............................................................................................. 3
2.5 Tomcat服务器概述 ........................................................................................................ 3
2.6 JavaScript脚本语言概述 ............................................................................................... 4
2.7 软硬件需求 ...................................................................................................................... 4
第三章 系统分析 ............................................................................................................................... 5
3.1 可行性分析 ...................................................................................................................... 5
3.2 系统数据流设计 .............................................................................................................. 5
3.3 功能需求分析 .................................................................................................................. 7
3.4 系统操作流程图 .............................................................................................................. 7
第四章 数据库设计 ........................................................................................................................... 9
4.1 数据库概念设计 .............................................................................................................. 9
4.1.1 实体之间的联系 ....................................................................................................... 9
4.1.2 E-R图 ......................................................................................................................... 9
4.2 数据库逻辑设计 ............................................................................................................ 11
4.3 数据库物理设计 ............................................................................................................ 12
第五章 系统设计 ............................................................................................................................... 16
5.1 系统总体流程设计 ....................................................................................................... 16
5.2 系统子功能模块设计 ................................................................................................... 18
5.2.1 用户账号功能模块 ................................................................................................. 18
5.2.2 问卷管理功能模块 ................................................................................................. 18
5.2.3 问卷市场功能模块 ................................................................................................. 19
5.2.4 在线投票功能模块 ................................................................................................. 20
IV
目录
第六章 系统实现 ............................................................................................................................. 21
6.1 开发环境 ......................................................................................................................... 21
6.2 项目开发文件结构 ....................................................................................................... 21
6.2.1 文件目录................................................................................................................... 21
6.2.2 依赖的jar包 ............................................................................................................ 21
6.2.3 前端页面文件 .......................................................................................................... 22
6.2.4 后台处理文件 .......................................................................................................... 22
6.3 系统实现代码 ................................................................................................................ 23
6.4 功能实现 ......................................................................................................................... 25
6.4.1 系统首页................................................................................................................... 25
6.4.2 账号相关功能模块 ................................................................................................. 26
6.4.3 问卷管理功能模块 ................................................................................................. 28
6.4.4 在线投票功能模块 ................................................................................................. 30
6.4.5 问卷市场功能模块 ................................................................................................. 32
6.4.6 移动端页面 .............................................................................................................. 33
第七章 系统测试 ............................................................................................................................. 34
7.1 测试环境 ......................................................................................................................... 34
7.2 测试方法及其结果 ....................................................................................................... 34
7.3 测试结果截图 ................................................................................................................ 36
第八章 总结与展望 ......................................................................................................................... 37
8.1 总结 ................................................................................................................................. 37
8.2 展望 ................................................................................................................................. 37
致 谢 ................................................................................................................................................... 38
参考文献 .............................................................................................................................................. 39
IV
绪论
第一章 绪 论
随着社会和互联网科学技术的蓬勃发展,信息数据已经和能源、材料一样成为企
业、机关甚至是个人不可或缺的基本生产生活资料之一。现在人们对信息和数据的利用处理方式已经进入大数据化、智能化、可视化、网络化、社会化的阶段[3]。而传统获取数据的问卷调查方式已经不再能满足当下人们对信息数据的需求,人们需要一种更加高效、简便、快捷、对结果数据良好展示的问卷调查方式来捕获所需的信息。
1.1 课题背景
当下的生产生活中无论是校园、企业、机关或者个人都有着各种数据收集的需求,问卷调查法是数据需求者获取第一手数据的最常用途径。在传统的问卷调查方式中调查者不但需要花费大量的人力、物力、财力以及时间去设计、印刷、分发、收集、统计问卷,在统计分析问卷过程中还容易出现漏算、错算调查结果数据等各种影响调查结果准确性的问题。
随着互联网技术的高速发展以及手机和电脑等个人网络设备中断的普及,人们可以跨越时间和空间来获取不同地域的共享信息资源。在当下,互联网已经深深地融入人们的生产生活中,传统的问卷调查方式就更加劣势毕露,所以问卷调查的网络化已经是众望所归,是科学技术进步的必然趋势。
1.2 在线问卷系统的意义
问卷调查的网络化可以大幅降低问卷过程中的成本、时间及数据结果的错误率。在线问卷调查系统还可以在线方便快捷的生成问卷调查内容、即时查看调查结果,可以对问卷内容进行科学的调配管理,对已收集的数据进行多层次分析和多用户、多设备终端之间进行共享。此外在线问卷系统相较于传统的问卷方式对问卷回答者的隐私安全保护方面有着得天独厚的优势。通过网络匿名对问卷题目作答,访客能以内心真实的想法作答问卷,从而更加保证了问卷结果的真实性和有效性。
1.3 在线问卷调查系统的特点
1、问卷调查制作及回收成本低、周期短。
2、收集到的数据统计分析快速、便捷、多元化。
3、问卷数据永久保存,方便将来需要进行多次使用。
4、可进行大规模调查,降低了问卷调查局限性。
5、问卷调查能够被任一个人或组织使用,将问卷调查普遍化。
6、用户的安全性和隐私性较传统问卷调查模式有很大的提高。
1
绪论
1.4 本课题的研究内容
本文的研究内容是在Windows 10操作系统环境下,运用Java开发语言、MySQL数据库、Tomcat 7.0版本服务器等进行分析、设计和开发的一款免费的、便捷的、数据可视化的、交互式的在线问卷调查系统,访客经账号注册后可凭账号在本系统内进行发布问卷、问卷调查管理、数据处理统计、管理在线投票活动等操作。
1.5 本文章节安排
第一章,绪论。本章主要对了本课题研究的背景以及意义进行整理和归纳,并对在第二章,系统实现技术基础。本章主要介绍了本系统的开发环境和所用到的开发语第三章,系统分析。本章主要对开发本系统的各项可行性、功能、数据流、需求、第四章,数据库设计。本章主要对本系统数据存储的数据库进行设计和展示,并介绍了本系统各实体之间的关系与数据库E-R图。
第五章,系统设计。本章主要对本系统的各项功能模块进行分析和设计,并画出每第六章,系统实现。本章主要介绍了本系统各项模块功能在开发时创建的代码文件第七章,系统测试。本章主要对本系统实现的各项功能进行详细的黑盒测试,以验第八章,总结与展望。本章主要对上文内容进行总结,并提出目前本系统中存在的
不够完善之处、和对本系统未来发展与展望。个模块功能的操作流程示意图展示。
结构、实现方法、关键代码以及系统页面展示说明。
证系统是否满足课题说明书要求。
线问卷调查系统的主要特点做了一定分析和概括。
言、技术以及开发工具并对它们进行概述。
操作流程等多方面进行了分析研究,为后续的系统设计、测试、实现提供支持。
2
系统实现的技术基础
第二章 系统实现的技术基础
本系统在Windows 10操作系统下进行开发,使用Eclipse JEE、Navicat、Google
Chrome等开发工具和测试软件,后端开发采用Java面对对象语言,数据库采用MySQL来存储系统数据,前端页面采用JSP来对系统功能进行展示,JavaScript进行前端动态操作的一个动态网络问卷调查网站。开发完成后将是一个便捷的、动态的、交互的、功能完备的在线问卷调查系统。
2.1 软硬件需求
硬件:Window 7或Window 10或MAC系统计算机
软件:Eclipse JEE、Navicat、Google、Chrome浏览器、UC浏览器
开发环境:JDK 8及其以上版本、JRE 1.8.0及其以上版本
后台服务器:Tomcat 7.0 及以上
开发语言:Java、MySQL、HTML、CSS、JavaScript、Ajax
2.2 JAVA开发语言概述
Java是一门高级面对对象程序设计语言,它的语法编写规则和C++、C语言很相似,Java不但吸收了C语言、C++的各项优点,同时也抛弃了C++语言中难以理解的多继承和指针等复杂概念[20]。用Java语言所编写的程序可以运行在任何目前所知的平台和设备上,通俗来讲就是能够做到“一次编译,到处运行[8]”。Java还具有简单性、面向对象、分布式、健壮性、安全性、平台独立、可移植性、多线程、动态性等诸多特点[4]。经过多年的发展,Java语言已经成为了编程人员认可度最高的计算机编程语言之一。
2.3 JSP服务器界面概述
JSP全称Java Server Pages,其根本是一个简化版的Servlet程序,所以在JSP中沿用了Java强大的API功能。它在传统的静态HTML代码中以“<% %>”形式嵌入Java代码段来控制系统流程,同时JSP可以被预编译,以提高程序的运行速度,以JSP开发的Web项目如同Java语言一样具有跨平台等特性,能在无需修改代码的情况下载任何支持JSP的服务器中进行操作展示。
2.4 Eclipse JEE开发工具概述
Eclipse JEE是由IBM公司投资开发的一个开源的、可拓展的Java集成开发工具,Eclipse JEE是目前最受编程人员认可度的Java集成开发工具之一。Eclipse JEE为编程人员提供了一流的Java编程开发环境,其中插件是Eclipse JEE开发工具最具特色的特点之一,它的平台体系结构就是在插件概念的基础上构建的,这就使得开发者可以使用它3
系统实现的技术基础
不同的插件来实现所需的各种功能。目前的Eclipse JEE的后续开发已经交由Eclipse联盟负责[6]。
2.5 Tomcat服务器概述
Tomcat服务器是由Apache软件基金会的Jakarta项目组开发的一款轻量级服务器工具,是开发和测试JSP应用的首选服务器。Tomcat服务器在开发时得到了Sun技术团队和其他一些公司的技术参与和支持,所以其对Servlet和JSP的规范有很好的支持。Tomcat服务器是一个拥有开源、轻量级、免费使用、跨平台等诸多特性的Web应用服务器,因此受到了众多Java开发者和很多软件厂商的认同,经过多年的发展,Tomcat服务器已经成为全世界范围内应用最广泛的Web应用服务器之一。本系统采用的是Tomcat 7.0.91版本(目前已更新到Tomcat 9.0及以上)。
2.6 JavaScript脚本语言概述
JavaScript(简称JS)是一种基于对象和事件驱动并具有相对安全性能的客户的解释型脚本编程语言[8]。它由客户端浏览器解析并执行,JS可以把静态界面转变成支持用户进行动态交互并响应应用事件的动态界面,目前已经广泛应用于JSP、PHP、ASP、.NET等系统的开发中。JS同时还具有面向对象编程语言所特有的特性,但JS不是纯面向对象,而是基于对象[21]。伴随着Ajax技术的成熟和应用,掌握并熟练使用JS进行代码编写对于网站开发人员来说已经非常重要。本系统也有大量应用JS语言进行交互操作。
2.7 MySQL数据库概述
MySQL是由瑞典MySQL AB公司投资开发的一款中小型关系型数据库管理系统,目前是由Oracle公司进行后续的开发和支持。MySQL广泛应用于全世界许多B/S、C/S结构体系的计算机应用中作为其系统存储介质。MySQL具有体量小、成本低、稳定并且开源的特点,相较于体量庞大且昂贵Oracle数据库,MySQL有其独特的优势。虽然其体量小而导致其功能有限,但相对来说,MySQL数据库的功能已经能够满足绝大多数计算机应用的数据存储需求,所以很多中小型企业用其作为系统数据库。
4
系统实现的技术基础
第三章 系统分析
开发任何一个计算机应用之前都必须要进行大量的系统可行性分析工作。系统可行性分析是开发系统之前对系统的合理性进行评估,评估开发时是否能实现所有目标功能。做好可行性分析可是降低项目开发失败的风险,可以大大降低人力、物力、财力和时间的花费。我将在本章中对本课题进行全面仔细的分析和评估。
3.1 可行性分析
系统可行性分析主要包括经济可行性分析、技术可行性分析、操作可行性分析这三个方面[9]。本小节中将就这三个方面进行全面分析。
3.1.1技术可行性分析
本系统采用Microsoft Window 10 操作系统下的JDK 8开发环境,采用Eclipse JEE 、MySQL数据库和Tomcat服务器进行结合开发,开发语言采用的是高级面对对象语言Java的J2EE技术,J2EE具有广泛的业界标准、可伸缩性、稳定性、支持异构快速开发等特点。我在大一大二大三的学习中掌握了Java程序的开发、数据库的设计以及软件工程等相关的知识技术。每个学期也都能完成学校安排的课程设计。因此开发这个在线问卷调查系统完全具备技术可行性。
3.1.2经济可行性分析
本系统开发所采用的开发工具及数据库等皆为开源而且免费的软件,在开发结构上选用的是开发成为较低的B/S结构体系。此外这个项目也是个人的毕业设计,有一定的研究价值和锻炼能力的意义。所以完全具备经济可行性。
3.1.3操作可行性分析
本系统的功能操作方便快捷,网站界面具有一定的引导性,对于有些功能复杂的界面也采用了多种前端技术进行简化,使得功能更加人性化。在移动端的显示采用Bootstrap框架将系统转换为菜单式页面。用户只需要掌握基本的网站操作知识即可方便快捷的使用本系统的全部功能。在系统开发完成后我也发动我身边的朋友通过局域网来使用本系统以收集使用建议,反馈意见总体偏好,因此本系统完全具备操作可行性。
3.2 数据流分析
数据流图 (DFD) 是一种图形化技术,用于表示业务信息系统中的数据流和数据从输入到输出的过程中所经受的变化[9],它表达了系统中的据传从输入到存储间所涉及的程序。数据流图是从数据的输入和处理的角度描述一个系统,所以数据流图可以使开发
5
系统实现的技术基础
者更加便于表达需求和数据及两者之间的联系,有利于系统的基础模型建立。系统数据流图如下图3-1所示:
创建问卷用户创建投票活动1问卷管理4投票管理查看D1问卷信息D4投票活动信息2题目管理5投票发布D2题目信息8D53问卷发布分享已发布活动信息结果分析D3已发布问卷信息6分享分享问卷或活动D6答题或投票结果7作答或者投票通过分享链接访问访客
图 3-1 系统数据流图
6
系统分析
3.3 需求分析
本系统开发的是一个在线问卷调查系统,所以至少应该具有新用户注册、用户登入、用户信息查看、修改、用户密码验证修改、问卷创建(题目多类型)、问卷修改、问卷发布、问卷填写、问卷调查结果的收集、统计分析并呈现等模块功能。此外,我在本系统中还加入了问卷市场模块、在线投票模块。在问卷市场模块中允许用将系统中已存在的问卷作为模板进行修改然后二次发布为自己的问卷;而在线投票模块中允许进行用户发布、查看、管理、分享投票活动,允许其他用户报名、分享拉票以及投票详情实时查看等功能。
3.3.1 本系统子功能分析
1、 用户管理
使用数据库中用户表的主键字段--用户ID(account)对用户操作问卷
的权限限制。
2、 问卷管理
在问卷的生成过程中设置题目类型的多样化,使生成的问卷题
目多元化组合。
3、 问卷调查结果统计
对已收集的问卷数据结果进行处理,分别计算出每个选项类型题目的对
应的每个选项的被选择比列,打分类型题目则计算出其区间比例,填空类型题目则分页列出其回答结果。
4、 在线投票活动的创建和报名
用户在在创建是可以自主选择创建类型(在线问卷和在线投票),在
线投票活动允许用户自定义活动并分享活动拉人报名,已报名者可以分享自
己的主页链接分享拉票。
3.4 操作流程分析
本系统的操作流程是以账号注册登入开始,用户在成功验证了账号、密码以及验证码的组合信息之后才能进入系统,然后可以进行问卷建立、问卷管理、数据统计、问卷模板选择、活动发布、活动报名等操作。而问卷作答以及在线投票是不需要进行登入便可进行操作。本系统详细的系统操作流程分析图下图3-2所示:
7
系统分析
问卷市场修改密码注册修改信息选择问卷选为模板用户登入建立问卷题目组合选项组合选项组合提交发布建立投票分享链接提交发布填写信息分享链接用户报名分享拉票访客查看发布数据报表提交数据问卷作答活动详情
进行投票活动页面
图 3-2 系统操作流程分析图
8
数据库设计
第四章 数据库设计
数据库是开发一个计算机应用至关重要的一部分,设计一个系统数据库的逻辑结构是根据在系统的功能需求和数据模型而建立的[14],所以数据库的存在解决了在程序运行中不能发现各种数据之间的联系和数据共享的问题。随着现在各种计算机应用的业务功能不再单一,导致系统所存储的数据量越来越大,所以数据库的规范化设计和操作优化对系统的执行效率提升已经非常重要。设计时需要注意数据的冗余适当、设计出的数据库达到更高的范式、要满足当前系统的需求、优化SQL语句的等问题。本系统采用MySQL数据库作为系统的数据库管理系统,且数据库设计已经达到3NF的标准。
4.1 数据库概念设计
4.1.1 实体之间的联系
E-R模型也称实体-联系模型,由实体集、属性和联系集构成,是由提出用E-R图描述真实世界的一个概念模型[10],E-R模型可以成功描述数据库所存储的现实世界中任何有意义的数据。下面是对本系统建立的E-R模型:
1、一对多联系:
一个用户可以建立多张问卷或投票活动,一个活动、问卷只属于一个用户。
一张问卷包含多个题目,多个题目属于一个问卷。
一个题目可以包含多个选项,多个选项属于一个题目。
一个用户可以查看多张问卷数据,多张问卷内容属于一个用户。
2、一对一联系:
一个问卷目录只能包含一张问卷信息。
一个投票活动用户每天只能给一个报名者投票。
一张问卷只能被一个人作答一次。
3、多对多联系:
一个被调查者可作答多张问卷,一张问卷能够被多个被调查者作答。
一个投票活动可以有多个用户,一个用户可以报名多个投票活动。
一个访客可以给多个活动投票,一个活动可以有都多个访客投票。
一个用户可报名多个投票活动,一个活动可以有多个报名者。
4.1.2 E-R图
E-R图也称实体-联系图,提供了表示实体类型、属性和联系的方法, 是描述现实世界中事物内部和事物本身之间的联系的一种有效方式[10]。E-R图中用菱形表示实体之间联系,矩形表示实体型,椭圆表示属性。下面图4-1和4-2是本系统的实体图和E-R图:
9
数据库设计
问卷编号问卷已作答数问卷名称欢迎语发布时间发布者账号发布者昵称问卷状态用户账号昵称密码密保问题密保答案问卷发布数活动发布数问卷编号作答结果题目编号问卷内容题目编号选项内容判别符题目标题选项内容题目类型活动报名已得票数IP地址记录活动编号用户账号报名时间参赛宣言项目编号IP地址操作时间投票活动已报名人数结束时间活动编号活动名称发布者账号发布者昵称活动介绍最大人数开始时间
图 4-1 数据库实体属性联系图
10
数据库设计
问卷题目作答结果数据MN包含1问卷N发布11作答投票结果数据1用户1N投票M发布访客MNM报名N投票活动
图 4-2 数据库E-R图
4.2 数据库逻辑设计
逻辑结构设计阶段的任务就是把已经在概念结构设计阶段设计好的E-R图转换为与选用的数据库管理系统(MySQL)所支持的数据模型相符合的逻辑结构[10]。下面是是对上文本系统的E-R图而转换的关系模型:
用户(用户账号,用户名,用户密码,密保问题,密保密码,问卷发布数,投票活动发布数)。
以上为用户实体所对应的关系模型,此关系模式包含了联系“发布、查看”所对应的关系模式。
问卷标题目录(问卷编号,问卷名称,发布者账号,发布者名称,发布时间,欢迎语,类型,文件状态,已收集数据数)。
问卷内容(题目编号,题目内容,选项内容,题目类型)。
作答结果(问卷编号,题目编号,作答结果,判别符)。
以上为问卷实体所对应的关系模型,此关系模型包含了联系“查看,包含,作答”所对应的关系模式。
投票活动信息(活动编号,活动名称,活动介绍,活动开始时间,活动结束时间,投票截止时间,最大报名人数,已报名人数)。
报名信息(用户账号,用户名,活动编号,活动名称,参赛宣言,已获得票数)。
以上为投票活动所实体对应的关系模型,此关系模型包含了联系“投票”所对应的关系模式。11
数据库设计
4.3 数据库物理设计
1、User表:用于存储用户的信息,其中Account(用户账号)为该表主键,Question(密保问题)和Answer(密保答案)字段内容一旦确认就不可再修改的,用于密码的重置。如下图表4-1所示:
表 4-1 User表结构
字段名
Account
Name
Password
Question
Answer
Publish_Times
Vote_Number
2、Catalog表:此表用于存储问卷的目录信息,其中Paper_ID(问卷编号)为主键,并且从123456开始自增,此表中的Account和Name字段内容与User中的字段表对应。如下图表4-2所示:
表 4-2 Catalog表结构
字段名
Paper_ID
Paper_Name
Account
Name
Welcome
数据类型
Varchar (50)
Varchar (200)
Varchar (50)
Varchar (50)
Varchar (200)
允许为空
NO
NO
NO
NO
NO
字段说明
问卷编号(主键)
问卷名称
发布者账号
发布者名称
问卷欢迎语
数据类型
Varchar (50)
Varchar (50)
Varchar (50)
Varchar (200)
Varchar (100)r
Int (50)
Int (50)
允许为空
NO
NO
NO
NO
NO
YES
NO
字段说明
用户账号(主键)
用户昵称
用户密码
密保问题
密保答案
问卷发布数
活动发布数
12
数据库设计
续表:
Paper_Kind
Add_Time
P_condition
Times
3、Q123456表:此表用于单个问卷内容存储的原始表‘示例问卷’。本系统对问卷内容采用了多表存储,每一份问卷存在一张由Q123456表的结构结构并且以Catalog表中字母Q和Paper_ID字段组合为对应表名的数据表。其中Title_ID(题目编号)为主键,KInd(题目类型)为单选题和多选题时Totpion(选项)会以‘选项1#选项2#选项3’的形式存储多个选项信息。此外,当Kind(题目类型)为填空题时由于没有选项所以允许为空。如下表4-3所示:
表 4-3 问卷内容结构
字段名
Title_ID
Title
Toption
Kind
4、Result表:此表采用了单表存储,用于对所有问卷已收集数据的存储,所有此表没有主键。其中当Q_ID(题目编号,对应Q123456表中Title_ID)字段对应的题目信息表中Kind(题目类型)为多选题时,Result(作答结果)(选项)会以‘选项1#选项2#选项3’的形式存储多个作答结果的选项信息,Distinction(判别字段)用来防止问卷作答过程中作答结果信息插入数据库时混乱的情况。如下表 4-4所示:数据类型
Varchar (50)
Varchar (200)
LongText (0)
Varchar (10)
允许为空
NO
NO
NO
NO
字段说明
题目编号(主键)
题目名称
选项内容
Varchar (50)
Date (0)
Varchar (20)
Int (40)
NO
NO
NO
NO
问卷类型
发布时间
问卷状态
收到数据条数
题目类型
13
数据库设计
表 4-4 Result表结构
字段名
Paper_ID
Q_ID
Result
Distinction
5、 Vote表:此表为对在线投票活动的信息存储。其中Paper_ID(活动编号,注:与
除上文多张表中的Paper_ID字段不存在关系)为主键,此表中的Account和Name字段内容与User表对应。如下表 4-5所示:
表 4-5 Vote表结构
字段名
Paper_ID
Paper_Name
Discribe
Account
Name
Time_Start
Time_End
End_T
Max
Vote_number
数据类型
Varchar (20)
Varchar (200)
LongText (0)
Varchar (50)
Varchar (50)
Date (0)
Date (0)
Date (0)
Int (30)
Int (30)
允许为空
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
字段说明
活动编号(主键)
活动名称
活动介绍
发布者账号
发布者名称
发布时间
结束时间
投票截止时间
数据类型
Varchar (20)
Varchar (200)
LongText (0)
Varchar (100)
允许为空
NO
NO
NO
NO
字段说明
问卷编号
题目编号
作答结果
判别字段
最大人数
已参加人数
14
数据库设计
6、Vote_Show表:此表用存储所有活动中已报名的用户的报名信息,由于是单表存储,所以此表没有设置主键。其中Paper_ID(活动编号)和Paper_Name(活动名称)对应Vote表中的相同字段,Account和Name字段与User表对应。如下表 4-6所示:
表 4-6 Vote表结构
字段名
Paper_ID
Paper_Name
Account
Name
Join_Time
Reason
Number_votes
7、IP_Add:此表用于在用户或游客在作答或投票之后进行IP地址记录,以防止刷票的行为。此表是单表存储,所以没有设置主键,其中Paper_ID(活动)对应Vote表中的字段,Vote_Time(投票时间)用来识别投票活动中的每天可一票功能(与问卷作答无关)。如下图 4-7所示:
表 4-7 IP_ADD构
字段名
Paper_ID
IP_Addr
Vote_Time
数据类型
Varchar (20)
Varchar (200)
Date(50)
允许为空
NO
NO
NO
字段说明
活动编号
IP地址
投票时间
数据类型
Varchar (20)
Varchar (200)
Varchar (50)
Varchar (50)
Date (0)
Varchar (200)
Int (50)
允许为空
NO
NO
NO
NO
NO
NO
YES
字段说明
活动编号
活动名称
参加在账号
参加者昵称
报名时间
参赛宣言
得票数
15
系统设计
第五章 系统设计
在上文已经完成了本系统的各项详细的系统分析以及数据设库设计,本章将对本系统进行系统功能设计,包括系统的总体设计以及各个子模块功能的详细设计。本系统的最终目标是开发出一套免费的、方便的、快捷的、多平台化的在线问卷调查系统。本系统按照软件工程的计算机应用开发流程进行分析、设计、开发,明确了每一步的项目需求、开发步骤、完成目标,能够确保本系统在开发完成之后能够满足大多数用户日常使用的需求[12]。
5.1 总体设计
计算机应用系统中各项业务运行处理的过程称为业务流程,对业务流程进行展示分析整理能够有助于深入的了解系统的运行处理的具体过程,可以通过业务流程进行分析整理系统业务处理过程的合理性以及系统存在的缺陷。以下是本业务流程图4-1及系统流程图4-2:
在线问卷调查系统用 户登入注册账号信息在线问卷投票活动密码修改信息修改问卷修改状态修改问卷作答数据报表问卷删除活动创建活动管理活动查看活动报名分享拉票在线投票
图5-1 业务流程图
16
系统设计
在线问卷调查系统用户登入是否信息是否有效用户注册否用户是否存在是信息是否有效否是用户信息是否修改个人信息信息是否有效是用户界面否问卷市场已发布列表查看已收集数据数据报表选择问卷新建问卷问卷信息新建投票活动问卷作答1否1选为模板22否建立题组2是生成问卷题组信息否输入活动信息是信息是否有效生成活动信息是否有效发布问卷1是问卷分享提交问卷活动报名否1否问卷作答1获取链接分享拉票2信息是否有效是信息是否存在活动分享信息是否有效进行投票游客或者用户
图 5-2 系统流程图
17
系统设计
5.2 详细设计
5.2.1 用户账号子模块功能
用户账号功能模块包括:
1、 账号注册:实现新用户的各项账号相关注册。
2、 账号登入:通过已注册个人账号密码来登入系统。
3、 密码找回:通过注册时验证密保问题的匹配性来设置新密码。
4、 信息修改:在个人信息界面查看并更新个人信息。
5、 已发布管理:在我的发布界面查看、管理已发布项目。
此模块功能结构图如下图5-3所示:
用户访问系统访问新用户注册用户登入忘记密码成功密码重置失败密保验证新用户祖册成功个人信息修改已发布管理
图 5-3 用户账号子模块功能图
5.2.2 问卷管理子模块功能
用户账号功能模块包括:
1、 问卷建立:通过选择建立问卷生成一个问卷框架;
2、 题目管理:在问卷框架生成后选择不同题目类型组合生成问卷内容;
3、 问卷管理:对已经建立的问卷项目进行查看、修改以及删除等操作。
4、 问卷分享:在分享界面将该问卷的链接复制并分享出去邀请其他人作答;
5、 问卷作答:他人获取到链接在PC或移动端进行作答并提交数据;
6、 数据处理:对已收集的问卷调查结果数据进行处理分析并展示。
18
系统设计
此模块功能结构图如下图5-4所示:
新建问卷表单多题目类型组合数据分析处理问卷项目建立问卷内容管理处理后数据展示问卷项目链接分享用户做答以及数据提交
图 5-4 问卷管理子模块功能图
5.2.3 问卷市场子模块功能
用户账号功能模块包括:
1、 在界面按热度值(被回答次数)展示出所有已存在的问卷信息;
2、 问卷作答:允许所有访客可以在本界面选择问卷进行作答;
3、 选为模板:允许用户使用任意一已存在的作为自己的模板进行再编辑;
4、 问卷管理模块功能:当选为模板后将回到问卷管理子模块功能操作;
此模块功能结构图如下图5-5所示:
问卷市场任一问卷操作问卷作答选为模板作答结果提交跳转复制该问卷内容问卷管理模块
图 5-5 问卷市场子模块功能
19
系统设计
5.2.4 在线投票子模块功能
用户账号功能模块包括:
1、 创建活动:已登入用户输入活动所需信息以创建投票活动;
2、 活动分享:活动管理者在分享界面复制并分享活动链接;
3、 活动报名:通过链接来访问此活动并进行报名;
4、 分享拉票:报名成功后将此活动链接分享出去拉票;
此模块功能结构图如下图5-6所示:
互动创建活动链接分享活动报名已登入分享投票未登入|注册用户账号模块用户或者游客投票
图 5-6 在线投票子模块功能图
20
系统实现
第六章 系统实现
前面几章已经完成了计算机应用开发系统分析和系统设计的步骤,本章将跟
据上文的设计对本系统进行各项子模块功能的整合链接,并做到代码简洁和减少数据库数据冗余[11]。下面是具体开发实现步骤。
6.1 开发环境
本系统在Microsoft Windows 10操作系统环境下安装了JDK 8和JRE 1.8版本为本项目的开发提供开发环境和运行环境。使用了Eclipse JEE作为开发工具,选用了MySQL进行系统数据的存储,以Java作为后台开发语言并将开发好的项目部署在Tomcat 7.0版本的服务器上的Java Web项目,最后采用Google Chrome浏览器和UC浏览器结合的方式来测试JSP界面的展示和功能逻辑。
6.2 项目开发文件结构
6.2.1 文件目录
在项目开发的时候把各项不能类型的文件放入指定文件夹中分类存放,这样既美观规范项目的整体结构,也便于系统后续的开发,条理清晰方便,易于查找文件。本系统在开发的时候,建立了图6-1的项目文件结构。
6.2.2 依赖的Jar包
在创建了项目之后服务器、数据连接以及文件上功能需要得到另外的Java库支持,这些jar包则需要去网上下载然后导入到系统中。如图6-1所示:
图 6-1 项目文件结构图
21
图 6-2 Jar文件图
系统实现
6.2.3 前端页面文件
[15]前端页面使用JSP进行请求发送和服务端动态资源的获取及显示,其与HTML相结。本系统将JSP与CSS、JavaScript、Ajax、Bootstrap等技术结合使用,从而使系统页合并扩展,JSP是一种特殊的Servlet所以其在开发运用上继承了很多Java语言的特性面能够进行更多的动态交互操作以及对使用设备屏幕的自适应展示。前端页面文件如下图6-3和图6-4所示:
图 6-3 JSP文件图
6.2.4 后台处理文件
图 6-4 CSS、Bootstrap、图片文件
本系统的后台采用了JSP+Servlet+Javabeam的开发模式,以JSP作为视图,Servlet作为控制器进行系统流程控制和业务处理,而Javabeam则封装了业务逻辑,遵循了基础的MVC开发模式的思想。将业务逻辑进行归类后,从而使得流程处理更加清晰,达到了代码复用、分层解耦的目的,使得系统更加易于维护和测试[16]。后台处理文件截图如图6-5和图6-6所示:
22
系统实现
图 6-5 Servlet文件图
6.3 系统实现代码
由于本系统的项目文件和其中的代码量太大,本文就不做一一列举出来,在此只对1、 数据库操作。在Java机制中有两种对数据库进行操作的方法Statement与
ResultSet组合和PrepareStatment。前者多用于查询操作并返回结果集,然后将结果集的内容用ArrayList集合保存到Javabeam中。后者多用于对增、删、改等操作的预处理。
2、用户信息和其他重要信息操作。此功能采用全局变量Session,把用户ID、昵称、问卷编号等信息保存在Session变量中,可作为系统内部信息共享和登入作态判断。图 6-6 Javabeam文件图
关键技术模块和内容的部分代码或技术进行展示。
23
系统实现
3、循环、判断语句。在项目代码多处使用If、For、Switch、While等流程控制语句及其嵌套或互相嵌套使用来增加代码的逻辑性,使得系统更加完善和健壮。
4、JavaScript语言。在大部分的JSP的页面代码大量嵌入了JavaScript语言来进行页面的动态操作,比如一些提示信息、异步请求和问卷生成等情况。在问卷生成时使用appendChild()和setAttribute()方法来动态生成文本框、多选框、下拉框、输入框等组件及其相关属性。
5、Ajax技术。此技术也是JS语言的一部分,通过Ajax技术通过XMLHttp Request
API实现对服务器的异步发送请求并进行数据交互处理,加快界面的响应速度,减轻项目开发的复杂度,提升的用户操作体验。
6、Bootstrap框架。响应式网站设计的概念是由著名网页设计师Ethan Marcotte提出的, 其设计理念是针对客户的不同行为或不同设备, 网页都可以及时做出调整和响应[17]。本系统使用Bootstrap框架来实现多设备终端的适配和共用。
7、数据统计分析实现及部分代码。用户对问卷作答后的数据统一存储在Result表中,进行数据分析时将对应问卷的每个题目的每个选项、分值区间进行分别统计出其答题总数以及该选项的被选次数,并以此计算出每个选项的被选择百分比,而填空题的结果则是对其进行分页查询并展示出来,关键实现代码如下:
24
系统实现
6.4 功能实现
6.4.1 系统首页
首页是系统功能的主入口,是系统对外最直接的展示窗口,起着对系统访客的引导作用。所以首页界面必须包含自己系统的特色产品和功能连接。本系统在首页上放置了醒目的产品提示信息以及系统功能模块的超链接。如下图6-7所示:
25
系统实现
图6-7 系统首页截图
6.4.2 账号相关功能模块
用户账号是本系统对用户的唯一识别,每个用户可以使用手机号、邮箱号、QQ号进行注册,同时需要填入昵称、密码、密保等真实有效的个人信息。系统会检测登入用户访问时的登入状态,只有在已登入状态才能进行问卷发布、数据统计等功能,否则弹出提示窗然后跳转至登入或注册界面。登入时会同时验证账号和密码与数据库中的数据匹配是否成功,成功则将个人信息保存在Session变量中,进行后续信息共享和登入状态判断。下面图6-8、6-9、6-10、6-11、6-12、6-13分别是本系统的登入、注册、密码找回、个人信息界面截图:
图6-8 登入界面截图
26
系统实现
图6-9 注册界面截图
图6-10 密码找回界面—账号确认(一)
图6-11 密码找回界面—密保验证(二)
27
系统实现
图6-12 密码找回界面—密码重置(三)
图6-13 个人信息界面截图
6.4.3 问卷管理功能模块
此功能模块包含有已发布的问卷项目列表、问卷生成与问卷管理、问卷分享、问卷作答、问卷删除、数据统计等大方向功能。用户只有在登入之后才能进行这一模块的操作(问卷作答除外)。此模块也是本系统的核心功能,这一模块的用户体验直接会影响到用户对本系统的体验效果。此模块功能界面如下面截图所示:
图6-14 已发布问卷界面截图
28
系统实现
图6-15 问卷创建、修改界面截图
图6-16 数据统计结果界面截图
图6-17 问卷作答界面截图
29
系统实现
图6-18 问卷分享结果界面截图
6.4.4 在线投票功能模块
此模块包含投票活动创建、投票活动列表、投票活动分享、投票活动报名、投票活动分享投票等大方向功能。用户只有在登入之后才能进行这一模块的操作(用户投票除外),此功能是作为问卷调查的一个丰富扩展。此模块功能界面如下面截图所示:
图 6-19 在线投票活动创建界面截图
图6-20 已创建在线投票活动列表图
30
系统实现
图 6-21 在线投票活动主页截图
图 6-22 投票活动报名页面截图
图 6-23 在线投票活动个人主页截图
31
系统实现
6.4.5 问卷市场模块功能
此模块包括问卷展示、问卷答题、选为模板等大方向功能。此功能作为问卷调查模块的一个拓展,也是本系统的一个创新点。此模块将系统中所有的问卷展示出来,访客(不需要登入)可以浏览并选择问卷,可以作答、以及选为模板,用户在此问卷内容的基础上进行二次编辑并发布为自己的问卷。
图 6-24 问卷市场主页截图
图 6-25 答题以及选为模板页面截图
32
系统实现
6.4.6 移动端页面
现在智能手机已经非常普及,通过移动设备上网已经是人们的首选,仅仅有PC端的系统已经无法满足用户的需求,所以本系统使用Bootstrap框架进行多设备终端适配,使得本系统的页面在多设备终端也有良好的展示。下面是本系统在移动端部分界面截图:
图 6-26 移动端部分页面截图(一)
图 6-27 移动端部分页面截图(二)
33
系统测试
第七章 系统测试
软件系统功能测试是计算机软件开发过程中不可缺少的一个环节,其目的是尽早发现系统中已存在或可能存在的漏洞 [18],以提高软件系统的质量与可操作性。而有效的测试方法则可以更加快速和准确的把程序中的漏洞暴露出来。下面我将对本系统用黑盒测试方法进行详细测试已验证本系统是完全符合要求的。
7.1 测试环境
操作系统:Microsoft Windows 10系统计算机
服务器:Tomcat 7.0 服务器
数据库:MySQL数据库
浏览器:Google Chrome浏览器和UC浏览器
7.2 测试方法及结果
黑盒测试别名功能测试,如它的别名的意思一样,其目的是检测系统的每一个功能是否都达到了预期的要求。黑盒测试是根据项目需求说明书来检查系统功能是否符合达标,检测系统是否能正常的从接收的数据并正确的输出结果数据,但不会考虑系统内部的特性以及逻辑结构[19]。本系统采用黑盒测试的等价划分的思想把系统的输入域划分为多个数据类,并根据输入域导出对应的测试用例,此测试思想可以从测试用例中发现其对应数据类的错误,从而进行修正。下表是本系统每个数据类测试后的测试用例:
表 7-1 账号模块功能测试及其结果
编号
1
2
3
4
用户注册
重置密码
用户登入
信息修改
填写有效账号信息和验证码,进行注册
填写账号和密保答案,进行密码重置
填写账号、密码和验证,进行验证登入
填写新的个人信息,进行信息修改
通过
通过
通过
通过
测试功能 测试内容 测试结果
34
系统测试
表 7-2 问卷管理模块功能测试及其结果
编号
1
2
3
4
5
创建问卷
编辑问卷
问卷分享
问卷作答
数据统计
编写问卷内容,验证数据有效后保存问卷
对问卷内容进行操作并保存操作结果
生成问卷作答访问链接并复制
对问卷作答、提交有效数据并防止二次投票
测试功能 测试内容 测试结果
通过
通过
通过
通过
通过 对已收集的数据结果进行统计分析并展示
表 7-3 在线投票模块功能测试及其结果
编号
1
2
3
4
5
测试功能 测试内容 测试结果
创建活动
分享活动
活动报名
在线投票
数据统计
填写活动内容,验证内容有效后生成活动
生成投票活动访问链接并复制
填入有效报名信息并报名
对已报名者进行投票并限制投票次数
对已收集的问卷数据进行统计分析并展示
表 7-4 问卷市场模块功能测试及其结果
通过
通过
通过
通过
通过
编号
1
2
测试功能 测试内容 测试结果
问卷展示
选为模板
展示出系统中所有的问卷信息
读取此问卷内容并编辑生成问卷
通过
通过
35
系统测试
表 7-5 移动端功能测试及其结果
编号
1
2
页面展示
功能展示
在移动端页面将系统信息完全展示
移动端的功能和PC端的功能一致
通过
通过
测试功能 测试内容 测试结果
7.3 测试结果截图
以上各模块功能测试及其结果的截图请参照第六章第四小节功能实现中各对应模块的页面截图。
36
总结与展望
第八章 总结与展望
在上文已经完成了本系统的需求、设计、实现和测试步骤,并让多个用户试用进行反馈。本章将对上文进行总结概括并提出本系统的不完善之处,对系统后续维护拓展提出展望。
8.1 总结
本文首先阐述了开发一个问卷调查系统的背景及其目的,并通过了可行性分析,然后介绍了开发本系统所使用到的开发语言和工具以及技术,并实现了本系统开发所有的预期目的,且本系统通过了黑盒测试所有的要求。且经过不同用户实际使用测试,已经表明本系统相较于传统问卷模式可以大大提高问卷的效率和降低问卷成本及周期。经用户反馈,本系统整体上的突出特点有以下几点:
1、 本系统使用免费、操作便捷、执行速度快而且稳定。
2、 本系统各项功能基本能够满足大多数用户的日常使用要求。
3、 本系统的支持多设备终端无差别使用,方便用户随时使用。
8.2 展望
经过这么一段时间对本系统的设计开发和论文撰写,我也从中获得了很多经验,学习了很多的新技术,使我对Java编程开发有了更深刻的认识,编程技术也有了更进一步的提高。受制于毕业设计开发时间,没有太多的时间来对本系统进行功能过多的技术探索来完善本系统。故本系统目前还有以下一些功能上的不足之处:
1、 系统整体功能偏少,只有问卷调查的以下基本功能以及一些拓展功能。
2、 问卷题目类型偏少,导致问卷内容不够多样化,问卷结果参考价值不高。
3、 问卷对收集的数据分析不够专业和多样化,导致统计出的结果数据的可视化程
度不够且对数据结果的展示不够直观。
4、人性化操作和前端页面美观度不够,导致用户的操作感不佳,影响用户二次使用以上是我目前对本系统存在的问题和导致的结果的分析,但完成毕业答辩后,我将会对本系统使用新技术进行更加深一层次研究和开发,争取使本系统功能完善并能达到企业级的标准。
的粘性。
37
致 谢
致 谢
本论文即将完成,在此首先我要给我的导师,信息工程学院彭永康老师表示诚挚的谢意。从毕业选题、系统分析、设计、开发到毕业论文撰写,彭老师都给予了我细心全面的悉心关怀、指导与督促。我的毕业设计项目和论文能够顺利的完成,与彭老师无微不至的帮助密不可分。
此外,我还要感谢我的叔叔陈永辉先生,感谢叔叔为我指明学习方向和解答迷惑。在我刚入大学的时候,是我叔叔指导我该学什么、怎么学,在我道路迷茫的时候为孜孜不倦的我答疑解惑,我能完成这毕业设计和论文离不开我叔叔的功劳。
最后,我要感谢这大学四年的学习生活,感谢我的家人、本专业及本校的所有老师、同窗好友、和那些一直支持我的人。
38
参考文献
[1]、张玮,基于SSM框架的通用电子问卷调查系统设计与实现. 中国知网
[2]、赵成金,在线问卷调查系统的设计与实现 百度文库
[3]、佚名,在线问卷调查系统设计报告 蚂蚁文库
[4]、Soar-CSDN,JAVA语言简介 CDSN博客
[5]、万聪,网络问卷调查系统分析与设计 中国知网
[6]、佚名,在线问卷调查系统毕业设计论文 豆丁网
[7]、明日科技编著,Java从入门到精通(第四版) 清华大学出版社
[8]、明日科技编著,Java Web从入门到精通 清华大学出版社
[9]、张海潘、牟永敏,软件工程导论(第六版)清华大学出版社
[10]、王珊、萨师煊,数据库系统概论(第五版) 高等教育出版社
[11]、梁成成,基于SSH的在线问卷调查系统的设计与实现 中国知网
[12]、王瑜,支持多项调查的在线问卷调查系统 中国知网
[13]、赵宝兵,在线问卷系统的设计与实现 中国知网
[14]、刘亚刚、张启英,基于数据库设计在网站开发中的应用 中国知网
[15]、熊淑华,网页设计中JSP和ASP技术的应用研究 中国知网
[16]、张雪敏,浅议MVC设计模式在Java Web中的作用 中国知网
[17]、戴维,基于Bootstrap的响应式网页设计 中国知网
[18]、石河,基于内容的教育调查问卷系统的设计与实现 中国知网
[19]、张兵星,探讨计算机软件测试的相关技术应用 中国知网
[20]、周厚年,论计算机技术的重要性 百度文库
[21]、郑明秋,基于对象的JavaScript语言的研究与实现 中国知网
39
版权声明:本文标题:在线问卷调查及数据分析系统毕业论文 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705125804h473802.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论