在线问卷系统的设计与实现_第1页
在线问卷系统的设计与实现_第2页
在线问卷系统的设计与实现_第3页
在线问卷系统的设计与实现_第4页
在线问卷系统的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在线问卷系统的设计与实现

毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:

学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期:年月日导师签名:日期:年月日

注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神□优□良□中□及格□不及格2、学生掌握专业知识、技能的扎实程度□优□良□中□及格□不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力□优□良□中□及格□不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性□优□良□中□及格□不及格5、完成毕业论文(设计)期间的出勤情况□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)指导教师:(签名)单位:(盖章)年月日

评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)评阅教师:(签名)单位:(盖章)年月日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况□优□良□中□及格□不及格2、对答辩问题的反应、理解、表达情况□优□良□中□及格□不及格3、学生答辩过程中的精神状态□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格评定成绩:□优□良□中□及格□不及格教研室主任(或答辩小组组长):(签名)年月日教学系意见:系主任:(签名)年月日摘要科学技术日新月异的发展使社会信息化程度越来越高。传统的问卷调查一般采用书面问卷、直接采访、电话等媒体形式,其费用较高,操作不灵活,而且调查周期长,效果却只能在相对局限的区域里。鉴于此情况,传统的问卷调查已经不能满足社会发展和人们生活的需求,迫使人们寻求一种更高效的方式来捕获所需要的信息,因此网络问卷调查系统应运而生。在线问卷系统是一个对网上问卷调查中设计问卷、问卷发布收集和问卷调查结果统计分析与存储的全部过程提供全程支持的系统。对上述三个过程的支持分别由问卷设计子系统、问卷收发子系统、问卷结果处理子系统实现。其中问卷设计子系统是其它两个子系统的基础,问卷收发子系统依赖于问卷设计子系统,而问卷结果处理子系统不仅依赖于问卷设计子系统,也依赖于问卷收发子系统。该系统采用Myeclipse,Mysql,JAVA作为开发工具。关键词:WEB;网上调查;问卷系统;JAVATOC\o"1-3"\h\u14066摘要 I28119Abstract II304471绪论 158271.1课题背景和意义 1308811.2问卷系统研究现状 1304431.3本文主要工作 262892系统关键技术 314132.1JSP技术 347722.1.1JSP简介 3210602.1.2JSPWeb开发 3243942.1.3JSP的特点 4155272.2JDK 4297552.2.1JDK组成 595462.2.2JDK常用的包 5283942.2.3JDK常用工具 538552.3Tomcat服务器 6156802.3.1简介 6137612.3.2Tomcat的功能 6302612.4MySQL数据库体系 7211942.5AJAX 8223163在线问卷系统的分析和设计 9191393.1系统需求分析 9226523.2系统功能分析 9238043.3问卷系统的设计 10215953.3.1系统体系架构设计 11248083.3.2系统工作流程设计 12189314在线问卷系统的功能实现 12283324.1Java简介 13320364.2系统运行环境的配置 13182394.3系统功能实现 1615564.3.1数据库设计 16146144.3.2功能模块设计 17155494.4系统运行截图 23230915总结与展望 2319779参考文献 24935致谢 251绪论1.1课题背景和意义科学技术日新月异的发展使社会信息化程度越来越高。传统的问卷调查一般采用书面问卷、直接采访、电话等媒体形式,其费用较高,操作不灵活,而且调查周期长,效果却只能在相对局限的区域里。鉴于此情况,传统的问卷调查已经不能满足社会发展和人们生活的需求,迫使人们寻求一种更高效的方式来捕获所需要的信息,因此网络问卷调查系统应运而生。网络问卷调查系统的产生和发展给人们带来了相当大的便捷,首先网络问卷调查基于网络来传递信息,信息传播速度快、范围广,使得问卷调查的目标群体不只局限于某一地区,可以发展到全国,甚至全世界。其次网络问卷调查系统节约成本,一方面,系统的开发不需要额外增加设备费、软件开发费、管理和维护费;另一方面,系统实现后使得问卷调查克服了纸质问卷调查的影印、人工分发、人工回收统计等缺点,节省材料资源、人力资源和时间,使得企业在竞争激烈的市场中拥有更强大的资本。问卷调查系统能快速地提取分析调查结果,且把统计信息及时公布,缩短了问卷调查的周期,使得问卷调查更具有时效性。问卷调查是社会科学研究中的一种重要方法,随着互联网的不断发展,网上问卷调查成为一种比较常见的问卷调查形式,而且必将得到进一步的发展和推广。在线问卷调查系统主要提供了三个功能:问卷设计、问卷发放和收集、以及对问卷结果的分析统计和存储备份。这三个功能则分别可以由相应的模块来实现。1.2问卷系统研究现状借助Internet这一现代化的信息沟通工具,网络问卷调查具有低成本、高速率、丰富的展现形式、跨越空间局限、智能化以及互动性等多种优点。在使用性方面,网络问卷调查在欧洲、美洲以及日韩等互联网发达国家己经相当普遍,在市场调查、民意调查、企业内部调查、网络选举以及学术研究领域得到广泛的应用。据不完全统计,欧洲、美洲以及韩等地区几乎实现了全员参与的问卷调查。在技术层面上,日本和美国网络问卷调查实现技术已经处于世界顶尖水平,其使用的.NET技术是首屈一指的,JesseLiberty和DanHurwitz展示如何使用VisualStudio和ASP.NET来构建下一代WEB应用程序,不仅在代码编程上更简洁、更健壮,而且实现的功能上也非常之多,例如问卷信息绑定用户推送功能、强大的后台数据库支持功能;其次在欧美等发达国家网络问卷系统的易用性、保密性和人性化都有保障,用户登录网络问卷调查系统后不用担心私密信息被泄露;另外还利用软硬件相结合的方式,使用电脑触摸屏幕的硬件设备,让网络问卷调查的易用性更强,即使不会上网、不会使用电脑的人群也可实现网络问卷调查系统的填写。然而,在网络问卷调查技术方面,中国的起步相对来说比较晚,早期都是以人工问卷调查方式出现,但是这种方法投入大、回收小,而且污染环境,逐渐被市场淘汰。近些年随着互联网的普及,网络问卷调查在中国有迅速普及的趋势。根据CNNIC报告,截止到2010年,中国网民数量己经突破10亿,而且还在呈增长趋势,互联网在中国的普及为网络问卷的发展奠定了扎实的基础。拒不完全统计,在网络调查应用领域,2000年,国内市场研究仅有10%用于网络问卷调查,2003年这一比例大约为23.6,2006年基本为33%。中国市场信息协会调查分会报告指出,2010年,借助互联网和相应软件技术进行调查的市场公司有几千家,占了70%,这说明越来越多的国内企业开始重视和普及网络问卷调查的应用。近几年来国内对于ASP.NET技术的研究也正在兴起,由于ASP.NET具有简洁的设计和实施,其开发环境允许设置断点、跟踪代码段和查看调用堆栈,是一个多元化的调试环境[7],另外ASP.NET主要应用于Windows平台,虽然添加组件后也可以用于Linux平台,但是很多重要的功能没法实现。针对这些情况,近几年来国内对于ASP.NET技术的研究也逐渐成熟。1.3本文主要工作本文将分五章对在线问卷系统的设计进行了研究探讨,论文的组织结构如下:是绪论,阐述了本课题的研究背景及其意义,并对当前国内外网络问卷调查的研究应用概况和发展趋势进行了探讨和研究,最后介绍了论文的研究目标、工作内容和组织结构;第二章介绍实现问卷系统所需要的相关技术;第三章网上问卷系统的分析和设计。对本系统的用户参与者的分析以及系统的主要业务流程进行了进一步的分析,完成了系统总体方案的设计,接着分析了系统的设计原则和功能模块的划分,对各子系统的功能进行了划分,并且确定了各个子系统的功能和相互之间的关系。在设计过程中,考虑到系统的通用性和代码的重用性,应用了模块化的思想。在需求分析的基础上,逐步完成了数据库的分析和设计;第四章是系统的详细设计,在需求分析的基础上详细地设计每个功能模块要实现的内容;第五章是总结与展望。叙述了本系统完成的功能以及系统的不足之处。2系统关键技术2.1JSP技术2.1.1JSP简介JSP全称为JavaServerPages,该技术由SunMicrosystems提出,并由许多其他公司一起参与和建立的一种动态网页技术标准。这种技术通过在传统的Web页面的HTML文件(*.htm,*.html)中添加JAVA程序片段(Scriptlet)和JSP标记(tag,并因此形成了JSP网页(*.jsp)。1998年4月Sun公司发布JSP0.90规范,1999年1月Sun公司又发布了0.92规范,同时推出了支持JSP的JavaWebServer2.0服务器,JSP也开始流行起来,同年11月Sun公司发布了JSP1.1规范,同时推出JSWDK1.0.1和Servlet2.2版,2000年9月Sun公司发布JSP1.2规范和JavaServletAPI2.3。JSP技术在这短短的几年中取得了突破性的发展,并在各地广为流行,可见其必有得天独厚的优势。一个用户可以通过浏览器将一个HTTP请求发送到一个可执行应用程序而不一个静态的HTML文件,服务器将会立即运行这个限定的程序,对用户的输入做出反应,将处理结果返回客户端,或者对数据的记录进行更新,CGI、ISAPI、ASP、PHP等技术的出现为用户发布交互性和实时信息提供了可能,而新推出的JSP技术是其中的佼佼者,由于其具有很高的运行效率,较短的开发周期,很强的扩展能力,而且它的技术规范公开的,任何人都可以按照规范开发出自己的产品,更重要的是它一种与平台无关的开发技术,基于这些优点,JSP迅速流行起来。在Internet众多网站中,基于Web数据库的动态网站应用相当广泛。基于Web网络数据库的动态网站由一个Web浏览器作为客户端界面,一个数据库服务器用做信息存储和一个连接两者的Web应用服务器组成。原有开发动态网站的CGI技术随着Web应用程序客户端技术的不断发展,逐渐被JavaApplet,、ActiveX控件、DHTML和JavaScript所取代。2.1.2JSPWeb开发JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网站。在传统的HTML文件中加入Java程序片段和JSP标记,就形成了JSP网页。JSP页面请求通过Web服务器接收并访问,此时,Web服务器首先执行程序段,然后以HTML的格式把执行的结果返回给客户。这些程序块可以重定向页面、发送邮件和操作数据库等,这就需要构建的动态Web站点的功能。在服务器端执行所有的程序,而网络传输中只将结果发送至客户端,因此对客户的浏览器要求不高。在用户连接JSP网站时,用户请求网页,JSP页面独自响应请求,将用户对网页的请求转化为对数据的请求,通过JavaBean处理请求并将返回的数据封装成HTML页面返回给用户。2.1.3JSP的特点JSP技术具有以下显著的特点:分离内容生成和显示由于JSP技术的诞生,Web页面的程序员可以使用HTML或XML格式标识来设计网页。可以使用JSP或者脚本来生成具有动态内容(即内容根据要求更改)的页面。在JSP标识和JavaBeans/EJB组件中封装着生成内容的逻辑,这些逻辑通过一个小脚本进行捆绑,并且在服务器上运行着所有的脚本。如果在JSP标识和JavaBeans/EJB组件中封装着核心逻辑,那么Web管理者和页面设计者都能通过接口来编辑JSP页面,并且同时不会影响内容的生成。JSP标识和小脚本在服务器端通过JSP引擎进行解释,然后生成了请求内容(比如,使用JDBC技术访问数据库),并且将结以HTML或XML的形式返回浏览器。这样做能够确保任何基于HTM的网页浏览器的完整性和可用性,并且能够帮助作者保护自己的代码。2)可重用组件的生成很多时候应用程序需要进行更为复杂的处理,因此很多可重用的、跨平台的组件(如JavaBeans或EnterpriseJavaBeans)都使用JSP页面来实现。程序员能交换执行和共享普通操作组件,并且让它们用于更多用户或客户。这种基于组件的方法加快了开发速度,平衡了各种组织现有的技能和优化方式。3)使用标识简化页面进行开发Web页面的程序员并不都熟悉脚本语言。JavaServer页面技术封装了很多功能,在使用时通过与JSP关联的XML标识进行动态文件内容生成。程序员通过标准的JSP标识来识别和实例化JavaBeans的组件,下载Applet、设置或者检索组件属性。JSP技术可以通过开发自定义的标识库进行发展。未来第三方的程序员可以创建自己的标识库。Web页面的程序员能够使用熟知的工具和相同的组件来执行具有特定功能的工作。2.2JDKJDK(JavaDevelopmentKit)是SunMicrosystems针对Java程序员开发的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。2.2.1JDK组成JDK包含以下基本组件:1)Javac:编译器,将源程序转成字节码。2)jar:打包工具,将相关的类文件打包成一个文件。3)Javadoc:文档生成器,从源码注释中提取文档。4)jdb:debugger,查错工具。5)Java:运行编译后的Java程序(.class后缀的)。6)appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。7)Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。8)Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。9)Jconsole:Java进行系统调试和监控的工具。其中Javac是Javac语言编程编译器。Javac工具由Java语言编写的类和接口定义,并将它们编译成字节代码的class文件。Javac可以隐式编译一些没有在命令行中提及的源文件。用verbose选项可跟踪自动编译。2.2.2JDK常用的包1)Java.lang:这个是系统的基础类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。2)Java.io:这里面是所有输入输出有关的类,比如文件操作等。3)Java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包,例如NIO非堵塞应用。4)J:这里面是网络有关的类,比如URL,URLConnection等。5)Java.sql:这个是数据库操作的类,Connection,Statement,ResultSet等。6)Javax.servlet:这个是JSP,Servlet等使用到的类。2.2.3JDK常用工具1)Javac:Java源程序编译器,将Java源代码转换成字节码。2)Java:Java解释器,直接从字节码文件执行Java应用程序的字节代码。3)appletviewer.exe:Javaapplet浏览器。appletviewer命令可在脱离万维网浏览器环境的情况下运行applet。4)jar:Java应用程序打包工具,可将多个类文件合并为单个JAR归档文件。5)Javadoc:JavaAPI文档生成器,从Java源程序代码注释中提取文档,生成API文档HTML页。6)jdb:Java调试器(debugger),可以逐行执行程序,设置断点和检查变量。2.3Tomcat服务器2.3.1简介Tomcat服务器作为一个免费开源的Web应用服务器,其技术先进、性能稳定且免费,所以得到了很多软件开发商的认可和JAVA爱好者的拥护,从而成为了目前比较流行的Web应用服务器之一。直到现在,Tomcat一直被认为是Servlet/JSPAPI的执行器,也就Servlet容器。然而,Tomcat并不仅仅如此,它还提供了JNDI和JMXAPI的实现机制。尽管如此,Tomcat仍然还不能算是应用服务器,因为它不提供大多数J2EEAPI的支持。Tomcat中的应用程序与传统的桌面应用程序不同,它是一个WAR(WebArchive文件。WAR与JAR类似,是Sun公司提出的类似文件压缩包的Web应用程序格式。通常根目录下包括Html和Jsp文件,另外还有一个WEB-NIF目录,在该目录下有一个classes目录和一个web.xml文件,classes目录下包括了已经编译成形的Servlet类和Servlet所依赖的其他类或者Jsp,而web.xml则是该应用的外部配置文件。通常在WEB-INF中的lib目录下可以找到这些依赖类打包形成的JAR文件,也可以配置到CLASSPATH中。2.3.2Tomcat的功能使用Tomcat能够使应用程序的部署变得非常简单,只需在Tomcat的webapps目录下放入WAR,之后Tomcat就会自行检查到该文件,并对其进行解压。一般情况而言,第一次在浏览器中访问这个应用时会非常慢,这是因为Tomcat要把Jsp变换为Servlet文件,之后才会进行编译。当编译结束以后,访问速度会加快。另外Tomcat也提供了一个名叫manager的应用方式。该方式需要用户名和密码来访问这个应用,而在xml文件中通常储存着用户名和密码。用户可以通过这个应用远程进行Web部署和撤销应用。Tomcat不单是一个Servlet,它也拥有传统Web服务器的特点,如处理Html页面。但它处理静态Html效果不如Apache。除此以外,Tomcat给出了Realm支持。Realm可以看作Unix中的group。在Unix里,系统里的一定资源对应着一个group,而一个group不能访问不归属于它的资源。Tomcat用Realm来对不同的应用(可以看作系统资源)赋予给不同的用户(可以看作group),如果用户没有权限则不能访问这个应用。Tomcat一共给出了三种Realm:1)JNDIRealm,基于LDAP的服务器里储存着用户信息,通过JNDI获取。2)JDBCRealm,数据库里存储着用户信息,通过JDBC来进行验证。3)MemoryRealm,xml文件里储存用户信息,通过Realm方便地验证访问某个应用的客户。事实上,Jsp和Servlet的开发已经基本上涵盖了Tomcat的主要开发,而这两种技术的开发也非常简单,只需要通过普通的文本编辑器进行编写,然后在打包成WAR。2.4MySQL数据库体系因为MySQL采用的是客户机/服务器体系结构,所以在使用MySQL进行存取数据操作时,必须使用至少两个或者是两类程序:1)一个是位于存放数据的主机上的程序-数据库服务器。数据库服务器在网络上监听来自客户机的请求,然后根据客户机的这些请求访问数据库数据,访问之后再向客户机提供它们想得到的信息。2)连接到数据库服务器的程序-客户机,这些程序是作为用户和服务器之间交互信息的工具,并且告诉服务器需要查询信息的内容。MySQL的架构可以描述为层次性子系统组合。MySQL的源代码不是按照单组件或者模块的方式编写的,但是各个层次的源代码还是能够被分离出来,大部分的子系统依赖于一些通用的底层库。MySQL包含以下子系统:网络连接和网络通信协议子系统;线程、进程和内存分配子系统;查询解析和查询优化子系统;存储引擎接口子系统;各类存储引擎子系统;安全管理子系统;日志子系统;mysys核心库文件等。当一个客户端通过网络连接MySQL数据库服务时,网络连接子系统执行一系列的与网络协议有关的底层任务。然后网络连接子系统将控制权交给线程子系统,线程子系统提供一个线程来处理这个连接,这个连接称之为连接线程。随后连接线程得到控制权,它首先调用安全管理子系统来验证用户访问的合法性。连接线程将获得的数据传给控制系统,其中一些请求在内核代码中被称作命令。这些命令中的一部分可以由这个控制系统直接完成,对于不可以直接由系统分发来完成查询的,分发系统将调用解析子系统对SQL语句进行解析。同时,如果在配置MySQL系统时采用了日志功能,那么分发系统还会调用日志系统去记录此次的信息。随后解析子系统将解析结果传给调用优化子系统以优化SQL语句。接着进行表操作,并将一系列请求发往存储引擎接口子系统。存储引擎接口子系统将上述调用自动转化为某个具体的存储子系统方法。上述过程完成后,相应的模块将SQL执行结果发往客户端,最后再由服务器将控制权交给连接线程,连接线程完成某些清理工作,并在此等待客户端的连接或者其他查询,直到客户端输入Quit命令为止,到此本次通话才会结束。2.5AJAXAjax全称为“AsynchronousJavaScriptandXML",中文意思是异步JavaScript和XML,是指一种创建交互式网页应用的网页开发技术。它并不是一项新的技术,而是一系列己有技术的组合。下面是Ajax用到的基本技术:1)HTML用于建立Web表单并确定应用程序其他部分使用的字段。2)JavaScript代码是运行Ajax应用程序的核心代码,帮助改进与服务器应用程序的通信。3)DHTML或DynamicHTML,用于动态更新表单。我们将使用DTV,SPAN和其他动态HTML元素来标一记HTML。4)文档对象模型DOM用于(通过JavaScript代码)处理HTML结构和(某些情况下)服务器返回的XML。在使用Ajax之前,站点总是强制用户提交后等待重新加载页面,用户的动作总是与服务器加载同步。而Ajax模式提供与服务器异步通信的能力,使用户从请求、响应的循环中解脱出来。Ajax的核心是JavaScript对象XmlHttpRequest。它是一种支持异步请求的技术,XmlHttpRequest可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。Ajax的优点是在不更新整个页面的前提下更新数据,这样在每次提交时,只有用户的请求发送到服务器端处理。简言之就是局部刷新。避免了占用过多的带宽。Ajax的缺点是破坏浏览器的后退按钮功能。3在线问卷系统的分析和设计3.1系统需求分析在线问卷系统是一个基于因特网的数据采集系统,这个系统的主要目的就是通过网络问卷调查的方式,收集我校不同部门对在校学生进行的问卷调查的相关资料。然后这些资料经过处理及时的存储起来,进行一定的统计分析,分析的结果对调查实施者来说是非常重要的数据。这些数据可以帮助他们调整最新培养方案中的课程结构,更好地培养以就业为导向的合格毕业生。3.2系统功能分析本系统应能方便问卷设计者完成对问卷的设计和修改;其次,系统应能方便答卷人在系统提示下很顺利地完成回答再次;系统应能方便地发放调查问卷;第四,当答卷人回答完毕后,系统能够对该份问卷进行采集;最后,系统将数据及分析结果及时的存储起来,以确保信息安全可靠。因此本系统必须实现用户管理、问卷创建、问卷发布、问卷收集、数据分析和系统管理等功能。系统功能划分如图3-1所示。图3-1系统功能示意图1)用户管理对用户权限的管理。对用户的管理包括新增用户、删除用户以及为用户赋权限。用户有两类,分别是答卷人和系统管理员,系统管理员可以设计问卷。用户权限包括对问卷的操作权限和对其他用户的控制权限,这个通过身份验证来区分。2)问卷管理可以提供的服务有新建问卷,编辑和修改已存在的问卷,保存问卷等功能。该部分的功能由用户自行操作。对问卷的操作权限指的是对问卷的增加、删除、修改、查询等权限。3)问卷发布可以提供发布问卷的服务,用户可以通过问卷发布器发布问卷。问卷可以通过两种途径发布出去,即可以通过因特网发布成网上调查问卷,也可以打印成纸质问卷发布以进行当面访问。4)问卷收集网上问卷调查的结果是系统自动收集的,当面访问的纸质问卷的调查结果分两种情况:问卷数量较少的时候,手工整理后把资料录入问卷系统;数量比较多的时候,通过扫描仪收集,然后由识别软件进一步处理后再输入系统。问卷调查结果收集是后台操作,因此不必在界面上反应出来。5)数据分析和处理此模块集资料编辑、数据管理、统计分析、报表制作、图形绘制为一体。数据分析模块根据不同的过滤条件对问卷调查的结果进行分析,最终针对不同的过滤条件输出分析结果并存储到数据库中。3.3问卷系统的设计要得到一个可用的系统需要一个非常重要的环节,那就是系统构架。系统构架为我们提供了整个系统清晰的视角,这对控制系统的开发是必需的。系统构架不同于软件系统的单一,软件构架从不同的视角展示了整个软件系统,而系统的模型视图则从不同角度全面的集合展示了整个系统的各个层面网上问卷系统设计中还应该遵循的目标如下:1)代码可重用代码重用是提高软件开发生产率和目标系统质量的重要途径。2)伸缩性系统架构灵活,全部采用模块化设计,可以轻松进行各个模块之间的组合,系统可以方便地多次扩充。3)合理的功能划分设计中的各个类在应用中的作用应该尽可能清晰。设计清晰会有利于维护,也有利于分析,而且对于开发中的新成员来说则更容易上手。4)易用性系统采用人性化设计,充分考虑操作者的特点,即使不是专业人员也能轻易掌握。5)扩展性从网络协议到操作系统,从系统软件到应用软件,均遵循通用的国际或行业标准,可以很轻松地和其它系统接口。6)安全性提高系统安全性能最大限度地防止非法操作和入侵保证数据安全。3.3.1系统体系架构设计软件体系结构通常被称为架构,指可预制和可重构的软件框架结构一软件体系结构是软件设计过程中的一个层次,它从不同方面对系统进行描述。软件体系结构的开发是大型软件系统开发的关键环节,在软件生产线的开发中具有至关重要的作用。软件体系结构贯穿于软件研发的整个生命周期内,具有重要的影响。这主要从以下几个方一面来进行考察: 1)利益相关人员之间的交流:软件体系结构是一种常见的对系统的抽象,代码级别的系统抽象仅仅可以成为程序员的交流工具,而包括程序员在内的绝大多数系统的利益相关人员都借助软件体系结构来进行彼此理解、协商、达成共识或者相互沟通的基础。2)系统设计的前期决策:软件体系结构是软件系统最早期设计决策的体现,而这些早期决策对软件系统的后续开发、部署和维护具有相当重要的影响。这也是能够对所开发系统进行分析的最早时间点。3)可传递的系统级抽象:软件体系结构是关于系统构造以及系统各个元素工作机制的相对较小、却又能够突出反映问题的模型。由于软件系统具有的一些共通特性,这种模型可以在多个系统之间传递,特别是可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模软件的系统级复用。开发基于Web的问卷调查系统,首先应确定系统网络模式,由于不同的网络计算模式的工作特点和所提供的服务是不同的,因此用户应当根据所运行的应用程序的需要选择自己适宜的网络类型。目前使用较多的两种系统计算模式分别是:C/S模式与B/S模式。由于B/S模式作为系统结构还具有以下优势:1)无须开发客户端软件,维护和升级方便;2)可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可访问系统;3)具有良好的开放性和可扩充性;4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对信息系统的新需求。基于以上优点,B/S结构在信息系统开发领域中获得飞速发展,成为应川软件开发的一种流行体系结构。本系统选择后者。基于B/S的网络问卷调查系统以三层体系结构为主,包括数据库系统、应用服务器、客户浏览器三部分。其中,客户端接受用户的一请求,向应用服务器提出请求,应用服务从数据库中获得数据,将数据进行计算并将结果提交给客户端,客户端浏览器将结果呈现给用户。3.3.2系统工作流程设计问卷设计是问卷调查前应做的准备工作,问卷结果分析和存储属于问卷调查后的信息挖掘。首先是调查前的准备工作,它主要是由老师根据我们的调查需求目标,讨论和设计一套调查问卷,然后运用系统的问卷设计功能,生成相应的网上问卷,并将问卷链接放到学院的校园网上供学生们接受问卷调查。问卷调查收集的样本越多,随机误差就越少。由于访问站点并参与问卷调查的用户人数有限,因此收集足够量的样本需要较长的时间。然后系统收集问卷,并进行一定的统计分析,用比较直观和形象的图形的方式将本次调查的结果显示出来或是打印输出。并对数据进行相应的存储备份。整个网上问卷系统的工作流程如图3-2所示。图3-2在线问卷系统的工作流程图4在线问卷系统的功能实现4.1Java简介Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景[28]。Java服务器页面是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。4.2系统运行环境的配置本系统在Myeclipse平台上运行。运行Myeclipse之前需要安装JDK和Mysql数据库,将安装路径均设置在D盘下。如图4-1、图4-2。图4-1安装Mysql到D盘图4-2安装JDK到D盘安装好Mysql与JDK后运行Myeclipse,打开windows,Java查看是否成功加载JDK。如图4-3。图4-3查看JDK加载页加载成功后导入设预先编好的项目,如图4-4、4-5。图4-4导入项目图4-5导入项目成功4-6配置Tomcat服务器配置好Tomcat服务器后,即可在浏览器访问本项目。4.3系统功能实现4.3.1数据库设计由于涉及到问卷的设计以及数据搜集,所以需要进行数据库的设计。本系统共设计了五张表。分别是存储用户信息的usertable,单选题目表danxuan,多选题目表duoxuan,问答题目表wenda以及答案信息表answer。数据库表见表4-1、4-2、4-3、4-4、4-5所示。表4-1用户信息表usertableidint(4)primarykeyusernumbervarchar(20)userpasswordvarchar(20)namageint(2)表4-2单选题目表danxuanidint(4)primarykeydisplayint(2)textvarchar(50)Avarchar(10)Bvarchar(10)Cvarchar(10)Dvarchar(10)表4-3多选题目表duoxuanidint(4)primarykeydisplayint(2)textvarchar(50)Avarchar(10)Bvarchar(10)Cvarchar(10)Dvarchar(10)Evarchar(10)Fvarchar(10)Gvarchar(10)Hvarchar(10)表4-4问答题目表wendaidint(4)primarykeydisplayint(2)textvarchar(50)表4-5答案信息表answeridint(4)primarykeyusernumbervarchar(20)x0varchar(50)x1varchar(50)x2varchar(50)x3varchar(50)x4varchar(50)x5varchar(50)x6varchar(50)x7varchar(50)x8varchar(50)x9varchar(50)x10varchar(50)x11varchar(50)x12varchar(50)x13varchar(50)x14varchar(50)x15varchar(50)x16varchar(50)x17varchar(50)x18varchar(50)x19varchar(50)4.3.2功能模块设计在线问卷系统是一个对网上问卷调查中设计问卷、问卷发布收集和问卷调查结果统计分析与存储的全部过程提供全程支持的系统。对上述三个过程的支持分别由问卷设计子系统、问卷收发子系统、问卷结果处理子系统实现。1)登陆界面主要是用户的注册与登录。普通用户注册登陆后方可进行问卷答题。实现该部分功能的部分代码如下:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("UTF-8");Stringnumber=request.getParameter("number");Stringpassword=request.getParameter("password");Stringinsert="insertintousertable(usernumber,userpassword,manage)values('"+number+"','"+password+"','0')"; intn=tool.insert(insert); if(n==1) { response.sendRedirect("index.jsp"); } else { response.sendRedirect("注册失败"); } }publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Stringusernumber=request.getParameter("usernumber"); Stringuserpassword=request.getParameter("userpassword"); HttpSessionhs=request.getSession(); hs.setAttribute("usernumber",usernumber); //Stringa=(String)hs.getAttribute("usernumber"); StringselectSQL="select*fromusertablewhereusernumber='"+usernumber+"'anduserpassword='"+userpassword+"';"; ResultSetrs=tool.select(selectSQL); try{ if(rs.next()) { if(rs.getString("manage").equals("0")) { response.sendRedirect("main.jsp"); } else { response.sendRedirect("manage.jsp"); } } else { response.sendRedirect("error.jsp"); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }2)管理员功能管理员可以进行用户管理,问卷设计以及问卷发布统计等功能。实现该部分功能部分代码如下:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=utf-8"); PrintWriterout=response.getWriter(); request.setCharacterEncoding("UTF-8");Stringnumber=request.getParameter("usernumber");Stringpassword=request.getParameter("userpassword");Stringinsert="insertintousertable(usernumber,userpassword,manage)values('"+number+"','"+password+"','1')"; intn=tool.insert(insert); response.sendRedirect("manage.jsp"); }publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;;charset=UTF-8"); PrintWriterout=response.getWriter(); StringselectSQL="select*fromusertablewheremanage='1'"; ResultSetrs=tool.select(selectSQL); out.write("管理员用户名密码信息:<table>"); out.write("<tr><td>账号</td><td>密码</td></tr>"); try{ while(rs.next()) { out.write("<trid=\"tr"+rs.getString("id")+"\">"); out.write("<td>"+rs.getString("usernumber")+"</td>"); out.write("<td><inputid=\"password"+rs.getString("id")+"\"type=\"text\"value="+rs.getString("userpassword")+"\"></td>"); out.write("<td><inputid="+rs.getString("id")+"type=\"button\"onclick=\"userdelete("+rs.getString("id")+")\"value=\"删除\"></td>"); out.write("<td><inputid="+rs.getString("id")+"type=\"button\"onclick=\"userupdate("+rs.getString("id")+")\"value=\"修改\"></td>"); out.write("</tr>"); }publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ Stringnumber=request.getParameter("number"); Stringpassword=request.getParameter("password"); StringSQLinsert="insertintousertable(usernumber,userpassword)values('"+number+"','"+password+"')"; tool.insert(SQLinsert); }3)问卷调查题目的设计该部分主要是管理员对问卷调查内容的设计,包含单选、多选以及问答题等。实现该部分功能的部分代码如下:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=UTF-8"); PrintWriterout=response.getWriter(); StringselectSQL="select*fromdanxuan"; ResultSetrs=tool.select(selectSQL); ResultSetMetaDatarsm; try{ rsm=rs.getMetaData(); while(rs.next()) { out.write("<br><divclass=\"responsediv\">"); if(rs.getString("display").endsWith("1")) { out.write("<inputid="+rs.getString("id")+"type=\"checkbox\"id=\"i\"onclick=\"radioclick(1,"+rs.getString("id")+")\"checked>"); } else { out.write("<inputid="+rs.getString("id")+"type=\"checkbox\"id=\"i\"onclick=\"radioclick(1,"+rs.getString("id")+")\">"); } out.write(rs.getString("text")+"?<br>"); intj=4; while((j<7)&&(!rs.getString(j).equals(""))) { out.write(rsm.getColumnName(j)+"、"+rs.getString(j)+""); j++; } out.write("</div><br>"); } } catch(Exceptione){ thrownewRuntimeException(e.getMessage(),e); } }publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=UTF-8"); PrintWriterout=response.getWriter(); StringselectSQL="select*fromwenda"; ResultSetrs=tool.select(selectSQL); ResultSetMetaDatarsm; try{ rsm=rs.getMetaData(); while(rs.next()) { out.write("<br><divclass=\"responsediv\">"); if(rs.getString("display").equals("1")) { out.write("<inputid="+rs.getString("id")+"type=\"checkbox\"id=\"i\"onclick=\"radioclick(3,"+rs.getString("id")+")\"checked>"); } else { out.write("<inputid="+rs.getString("id")+"type=\"checkbox\"id=\"i\"onclick=\"radioclick(3,"+rs.getString("id")+")\">"); } out.write(rs.getString("text")+"?<br>"); out.write("</div><br>"); } } catch(Exceptione){ thrownewRuntimeException(e.getMessage(),e); } }4)问卷作答该部分主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论