1、本科毕业论文(20 届)在线问卷调查系统的设计与实现所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I太原科技大学毕业设计(论文)任务书学院(直属系): 电子信息工程系 时间:学 生 姓 名 指 导 教 师设计(论文)题目 在线问卷调查系统的设计与实现主要研究内容本系统前台主要使用 J2EE 作为开发语言,后台使用 SQServer 作为数据库管理系统,开发环境是 MyEclipse,服务器采用 tomcat。系统的主要功能包括:管理登陆、问卷调查题目及内容选项的添加、修改和查询,调查结果统计等研究方法本系统开发工具是 MyEclipse 和 SQL2005
2、 数据库,开发语言是Java,主要使用了 J2EE 的技术主要技术指标(或研究目标)为需求者提供网络问卷,让需求者能够快速、方便的实施专业的问卷调研,调查问卷设计,快速回收,跨地域、低成本,投入少量资金即可获得丰富的反馈信息。主要参考文献张新曼. 精通 J2EE-WEB 开发技术与典型应用M. 北京:人民邮电出版社, 2007张立科.java 信息系统管理开发M.北京:人民邮电出版社.邓子云.J2EE 网络编程从基础到实践M.北京:电子工业出版社.张长富,黄中敏JavaScript 动态网页编程实例手册 北京:海洋出版社,2005:196-239II问卷系统调查摘要随着社会不断进步与发展,生活
3、节奏不断加快,信息已经成为我们生活中不可缺少的一部分,很多企业需要掌握大量的信息来了解特定用户的需求,传统的做法是组织大量的人力物力对用户散发调查表,然后对收集的信息进行统计并得到想要的调查结果,但是这种传统的做法浪费大、效率低、周期长,为了改变这种现象,我们设计了这套基于 J2EE 的问卷调查系统。本系统前台主要使用 J2EE 作为开发语言,后台使用 SQLServer 作为数据库管理系统,开发环境是 MyEclipse,服务器采用 tomcat。系统的主要功能包括:管理登陆、问卷调查题目及内容选项的添加、修改和查询,调查结果统计等。分为管理员用户、普通用户这二种用户平关键词: 问卷调查,
4、J2EE,SQLServerIIIQuestionnaire survey systemAbstractAlong with the social progress and development, the pace of life, information has already become an indispensable part of our life, a lot of enterprises need to have a large number of information to understand the specific needs of the users, the t
5、raditional approach is to organize a lot of manpower and material resources to users distributed questionnaires, and then on to collect statistical information and want to get investigation the results, but such traditional practices waste, low efficiency, long cycle, in order to change this phenome
6、non, we design the questionnaire survey system based on J2EE。The front of the system using J2EE as a development language, the use of SQServer as database management system, the development environment is MyEclipse, server using tomcat. The main functions of the system include: Management landing, q
7、uestionnaires and content options to add, modify, query, statistics, survey results. As the administrator user, user two user platform。Key words: Questionnaire investigation, J2EE,SQLServerIV目 录第一章 绪论 .11.1 课题背景 .11.2 目的和意义 .11.3 开发工具及技术 .11.3.1 开发工具 .11.3.2 J2EE .21.3.3 JavaScript .31.3.4 Struts 2
8、简介 .31.3.5 Hibernate 简介 .41.4 软硬件需求 .4第二章 需求分析 .62.1 可行性分析 .62.1.1 技术的可行性 .62.1.2 经济的可行性 .62.1.3 操作可行性 .62.1.4 法律的可行性 .62.2 系统用户用例图 .72.2.1 管理员用例图 .72.2.2 普通用户用例图 .72.3 功能模块需求分析 .82.4 设计的基本思想 .92.5 性能需求 .92.5.1 系统的安全性 .92.5.2 数据的完整性 .92.6 界面需求 .9第三章 系统分析与设计 .113.1 数据库的分析与设计 .113.1.1 数据库的概念结构设计 .11V3
9、.1.2 数据库的逻辑结构设计 .143.1.3 数据库的连接原理 .153.2 中文乱码问题处理 .16第四章 系统功能实现 .194.1 系统登陆页面实现 .194.2 总体功能模块 .204.2.1 问卷信息管理 .214.2.2 问卷题目管理 .244.2.3 调查结果统计 .274.2.4 系统公告管理 .294.2.5 修改个人密码 .324.2.6 安全退出系统 .324.3 普通用户模块 .324.3.1 系统主页面实现 .324.3.2 问卷信息查询 .334.3.3 用户注册 .334.3.4 参与问卷调查 .35第五章 系统测试 .375.1 系统测试目的与意义 .375
10、.2 测试过程 .375.2.1 主页面的登录模块测试 .375.3 其他错误 .38结 论 .39参考文献 .40致 谢 .41太原科技大学华科学院毕业设计(论文)1第一章 绪论1.1 课题背景问卷调查是收集第一手数据或资料的常用途径,问卷调查法使用面广、获取数据便捷、研究成本较低,在很多领域都使用的非常广泛,20 世纪 80 年代后,随着个人计算机(pc)的出现和逐渐普及,计算机日益成为调查研究不可缺少的工具,到 90 年代之后,随着互联网(internet)的广泛应用,各种基于网络的调查方法开始出现:计算机辅助网络访谈、移动调查等。目前基于 internet 的网络问卷调查分析系统用的非
11、常频繁和普遍,才会有那么多的企业和公司在使用网络问卷调查法来获取信息。然而每开发一个新的网络问卷调查系统需要耗费大量的时间,很多已有的产品功能过于强大、设置负责、费用过于昂贵等缺点。1.2 目的和意义本系统主要实现最为普遍的问卷调查,包括问卷管理、设计、统计分析等。为需求者提供网络问卷,让需求者能够快速、方便的实施专业的问卷调研,调查问卷设计,快速回收,跨地域、低成本,投入少量资金即可获得丰富的反馈信息。1.3 开发工具及技术1.3.1 开发工具此次设计主要采用 MyEclipse 加 Tomcat 后台服务器进行,设计过程中页面主要使用 J2EE 技术完成,下面对 MyEclipse、Tom
12、cat 和 MySQL 数据库进行简要介绍。MyEclipseMyEclipse,是一个十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、发布,以及应太原科技大学华科学院毕业设计(论文)2用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,包括
13、了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, J2EE, CSS, Javascript, SQL, Hibernate。Tomcat Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 J2EE 程序的首选。可以这样认为,当在一台机器上配置好 Apahce 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。SQLServer SQLServer
14、使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统;为多种编程语言提供了 API;支持多线程,充分利用 CPU 资源;提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,SQLServer提供的功能已经绰绰有余。1.3.2 J2EEJ2EE 技术使用 Java 编程语言编写类 XML 的 tags 和 sc
15、riptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。J2EE 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 J2EE 网页的请求时,首先执行其中的程序段,然后将执行结果连同 J2EE 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。J2EE 与 Servlet 一样,是在服务器端执行的,通常返回给客户端就是一个 HTML 文本,因此客户端只要有浏览
16、器能浏览。J2EE 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Servlet 是 J2EE 的技术基础,而且大型的 Web 应用程序的开发需要 Java Servlet太原科技大学华科学院毕业设计(论文)3和 J2EE 配合才能完成。J2EE 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。J2EE 技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台
17、上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比 ASP/.net 的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的 Jar 文件就可以运行 Servlet/J2EE,到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,消息处理,一台服务器到无数台服务器,Java 显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。Java 已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web 应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂
18、功能的组件供 web 页面调用,以增强系统性能。J2EE 可以使用成熟的 JAVA BEANS 组件来实现复杂商务功能。内部对象说明:request 客户端请求,此请求会包含来自 GET/POST 请求的参数; response 网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet 正在执行的内容;out 用来传送响应的输出流; config 代码片段配置对象;page J2EE 网页本身; exception 针对错误网页,未捕捉的例外1.3.3 JavaScriptJavaScript 是一种基于
19、对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端 Web 开发的脚本语言,常用来给 HTML 网页添加动态功能,比如响应用户的各种操作。JavaScript 的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML 基础上,使用 Javascript 可以开发交互式 Web 网页。Javascript 的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了 javascript 技术,比如说,检验用户输入数据的有效性,是否重复,
20、是否为空等等。1.3.4 Struts 2 简介Struts 最早是作为 Apache Jakarta 项目的组成部分问世运作。项目的创立者希望太原科技大学华科学院毕业设计(论文)4通过对该项目的研究,改进和提高 Java Server Pages、Servlet、标签库以及面向对象的技术水准。它的目的是为了减少在运用 MVC 设计模型来开发 Web 应用的时间。使用 Struts 的目的是为了帮助我们减少在运用 MVC 设计模型来开发 Web 应用的时间。Struts 是 Apache 软件基金会(ASF)赞助的一个开源项目。它最初是 Jakarta 项目中的一个子项目,并在 2002 年
21、3 月成为 ASF 的顶级项目。它通过采用 Java ServletJ2EE 技术,实现了基于 Java EE Web 应用的 Model-View-ControllerMVC设计模式的应用框架Web Framework ,是 MVC 经典设计模式中的一个经典产品。而 Struts2 则是 Struts 的升级版本。它的优点在于: Struts2 基于 MVC 架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程; 使用 OGNL 进行参数传递; 强大的拦截器; 易于测试; 易于扩展的插件机制; 全局结果与声明式异常。1.3.5 Hibernate 简介Hibernate 是
22、一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/J2EE 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。Hibernate 的核心接口一共有 2 个,分别为:Session、SessionFactory、Transaction、Query 和 Configuration。这 2 个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。1.4 软硬件需求硬 件 需 求 :CPU: Pentium 以 上 计 算 机