大学毕业设计网络问卷调查系统的设计与实现_第1页
大学毕业设计网络问卷调查系统的设计与实现_第2页
大学毕业设计网络问卷调查系统的设计与实现_第3页
大学毕业设计网络问卷调查系统的设计与实现_第4页
大学毕业设计网络问卷调查系统的设计与实现_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

年5月29日大学毕业设计网络问卷调查系统的设计与实现文档仅供参考四川师范大学本科毕业设计网络问卷调查系统的设计与实现学生姓名唐学敏院系名称物理与电子工程学院专业名称电子信息工程班级级4班学号指导教师李焕洲完成时间5月13日

网络问卷调查系统的设计与实现学生姓名:唐学敏指导老师:李焕洲内容摘要:在校园、机关或企业里,由于各种调查研究的需要,经常会有各种各样的调查问卷,在传统模式下,人们不但要花费不少的费用印刷问卷,而且还要消耗大量时间和精力发放问卷,回收问卷,统计问卷,而且问卷可控性差,容易产生漏卷,废卷等问题。本系统建立在信息技术基础上,构建一个在线的问卷设计、分发、调查、回收、统计的系统,基本解决传统问卷的上诉老大难问题。本文首先对J2EE体系架构作了简要介绍;然后讨论了设计模式在面向对象软件开发过程中的重要作用,阐述了在J2EE平台下开发应用程序的一些常见的设计模式,以及如何使用这些设计模式来对一个问卷调查系统项目进行设计;接着讨论了应用程序框架的概念以及使用应用程序框架开发业务应用程序所带来的优势,最后研究和设计了一个建立在J2EE平台上的通用框架。从而建立了一个能够快速开发业务应用程序的开发环境。该系统提供问卷创立、编辑、发布、统计,题目添加、删除、修改,友情连接管理等功能;题目支持多种形式;用户可给某问卷添加图片,设置密码、IP限制,包括黑名单和白名单;用户也能够设置同一IP是否能够重复提交等防作弊选项;系统提供对调查结果的智能统计,并用图表展示出来;针对每一张问卷的每一个题目的任易选项,用户也能够设置截断,终止调查,还能够设置跳转,即被调查者点击了某个选项后自动跳转到与该选项匹配的后续题目上。可是,由于技术性问题,该系统还存在一些不足,如功能上人性化上还有所欠缺,界面也不够完善等。关键词:J2EE体系结构,问卷调查,设计模式,通用框架TheDesignandImplementationofWebSurveySystemAbstract:Oncampus,inChineseauthoritiesorenterprises,becauseofvariousresearchneeds,therewillbeallkindsofquestionnaires.Inthetraditionalmodel,peoplenotonlywilltakealotofcostonprintingquestionnaire,butalsotouselotsoftimeandenergytogiveout,recycleandstatisticquestionnaires.Inaddition,questionnaireisinpoorcontrol,it'seasytoproducethemissingvolume,wastevolumeandsomeotherproblems.Thesystembuiltonthebasisofinformationtechnology,itbuildsanonlinequestionnairesystemwhichcontainsdesign,distribution,investigation,recycle,statistics,anditsolvesthechronicproblemsasaboveontraditionalquestionnaire.ThepaperintroducedJ2EEarchitecturefirstly,andthendiscussedtheimportanceroleofdesignpatternsinobject-orientedsoftwaredevelopmentprocess,describedsomecommondesignpatternsindevelopmentapplicationsundertheJ2EEplatform,andhowtousethesedesignpatternstodesignasurveysystem,finally,thepapermakearesearchandadesignofacommonframeworkestablishedonJ2EEplatform.Soastoestablishadevelopmentenvironmentcandevelopbusinessapplicationquickly.Thesystemwillprovidequestionnaireaboutcreating,edit,releaseandstatistics;subjectssupportavarietyofforms;usercanaddimagesonanyquestionnaire,cansetpassword,limitIPincludeblacklistandwhitelist;usercanalsosetwhethercanrepeatthesubmittedinthesameIPincaseofcheatingoptions.Thesystemprovideintelligentstatisticstothesurveyresultsandshowthemupwithcharts;foranyoneoptionofeachtopicofeachapieceofquestionnaire,userscanalsosettruncation,stopinvestigation,andstillcansettojumpwhichmeansthatitcanjumptothenexttopicaftertherespondentsclickaoption.But,becauseofsometechnicalquestions,thesystemstillexistssomeshortage,forexample,thereisalackofhumannatureinfunction,andtheinterfaceisnotperfect,etc.Keywords:J2EE,Online,Questionnaire,CommonFramework

目录222161绪论 1159421.1引言 1104861.2研究背景 1156401.3研究内容 174391.4研究目的及意义 274951.5国内现状 273522系统理论基础 3155632.1J2EE 3259292.1.1J2EE概述 3260752.1.2J2EE的优势 4310952.2MVC 4134062.2.1MVC如何工作 5167432.2.2MVC的优缺点 5174712.3JavaServerPage(JSP) 7215812.3.1JSP概述 7222852.3.2JSP的特点 702.4SQL语言 7214412.5开发环境 815753需求分析 8229543.1系统定义 810113.2功能需求 8101923.3数据需求 8247043.4界面分析 8256733.5性能分析 9162063.5.1系统安全性 9274773.5.2系统灵活性和可维护性 980483.6数据库分析 9195163.7本章小结 9218704数据库设计 926304.1数据库的概念 9155904.2数据库的选择 10108184.3数据库表的描述 10103444.3.1实体—联系模型 1065194.3.2核心实体 1023534.3.3数据库表格描述 1184435系统的设计与实现 13219285.1设计思想 13288525.1.1设计模式 13114625.1.2MVC模式 13265275.1.3持久层框架 14260725.2系统总体结构设计 15110225.2.1系统总体结构图,如图6: 15305255.2.2前台界面设计及实现 15278885.2.3后台系统设计及实现 17133165.3重难点问题解决方案研究 203705.3.1如何实现用户答卷时题目动态截断和跳转 2080925.3.2如何实现存取单张答卷 2398376系统测试 24204756.1系统测试概述 24131846.2界面测试 25230006.21系统后台界面测试 25245216.22系统前台界面测试 25245686.3功能测试 25293376.4性能测试 26260096.5系统测试结论 267835总结 2717793致谢 28826参考文献 29网络问卷调查系统的设计与实现1绪论1.1引言在校园、机关或企业里,由于各种调查研究的需要,经常会有各种各样的调查问卷,在传统模式下,人们不但要花费不少的费用印刷问卷,而且还要消耗大量时间和精力发放问卷,回收问卷,统计问卷,而且问卷可控性差,容易产生漏卷,废卷等问题。现代信息技术的发展,极大程度上提高了我们生产的效率,当然也为我们解决问卷调查的难题提供了良好的解决方案,其中J2EE解决方案就是一个在绝大多数方面都占据优势的方案,也是本文讨论的主题。1.2研究背景问卷调查法是收集第一手资料或数据的常见途径,它适用面广、获取数据便捷、研究成本较低,在很多领域中使用得非常广泛。20世纪80年代之后,随着个人计算机(PC)的出现和逐渐普及,计算机日益成为调查者不可或缺的工具。到90年代之后,随着互联网(Internet)的广泛应用,各种基于网络的调查方法开始出现:计算机辅助网络访谈(Computer-AssistedWebInterviewing,CAWI)、移动调查(Handheldsurvey)等。所谓网络问卷调查法(WebSurvey),即以各种基于互联网的技术手段为研究工具,利用网页问卷、电子邮件问卷、网上聊天室、电子公告板等网络多媒体通讯手段来收集调查数据和访谈资料的一种调查方法。随着Internet的发展,问卷调查方式随着信息传播方式的进步而革新,网络问卷调查方式逐步发展起来。据资料显示,在95年之前,国外使用网络问卷调查法的机构和研究并不多见。1997年,”欧洲民意和市场调查协会”(ESOMR)关于市场调查行业短期发展趋势的调查结果显示(Anselmi,1997),在未来5年内,影响市场调查行业的6个关键因素之中,首要一条就是”对调查技术的需要将更加迫切”。这些调查技术包括:互联网(在线)调查、自动数据收集、数据库管理、市场建模、创造性(交互式)的广告测试等。当前基于Internet的网络问卷调查分析统计用得非常普遍和频繁,才会有那么多的企业或者公司在使用网络问卷调查法来获得信息。然而没开发一个新的网络问卷调查系统,需要耗费大量的时间、经费。让任何人都能够快速、方便的实施专业的问卷调研,个性化调查问卷设计,快速回收,跨地域、低成本,投入少量资金即可操作问卷调查流程从而获得丰富的反馈信息成为趋势。一个高效专业的网络调查系统越来越成为人们的需要。1.3研究内容本项目旨在建立一个基于J2EE的WEB应用系统,提供问卷创立,问卷编辑,问卷发布,问卷统计,题目添加删除修改,友情连接管理等功能;题目支持单选题、多选题、带文本输入的单选题、带文本输入的多选题、问答题;用户能够给某问卷添加图片;用户能够给问卷设置密码,IP限制,包括黑名单和白名单,用户也能够设置同一IP是否能够重复提交等防作弊选项;系统提供对客观题调查结果的智能统计,并用图表展示出来;针对每一张问卷的每一个题目的任易选项,用户也能够设置截断,终止调查,也能够设置跳转,即被调查者点击了某个选项后自动跳转到与该选项匹配的后续题目上。1.4研究目的及意义1)网络问卷调查的目的:本课题设计的目的是生成一个能够提高调研效率,节约调查费用,使调查数据的处理更方便、具有以下特点的问卷调查系统:向Internet用户提供交互式、个性化的问卷调查服务,具有问卷调查搜索器、只能后台管理等功能。能对调查问卷的结果进行分析汇总,并使您能及时了解最新最及时的调查结果。使用简单,无需IT专业技能,问卷生成、投放、调查结果分析简单易用。具有灵活性,能够应用于不同的调查场合。2)问卷调查有如下意义:调查环境,适应快速。 即经过对市场环境的调查,达到快速适应环境,快速顺利地开拓新市场的目的。调查对手,胜之一筹。即经过对竞争对手的调查,达到了解对手情况,制定出措施、办法、制度胜过竞争对手的目的。调查客户,刺激需求。即经过对现有客户和潜在客户的调查,达到了解在客户心中的形象,制定出相应对策,刺激客户对产品消费的目的。1.5国内现状市场调查的目的在于从零散的市场信息中收集、整理和提炼出有价值的信息和数据。问卷调查是市场调查的一种形式、问卷调查相对而言得到的答案更加准确。基于软件的调查,是整合企业业务部门的相关需求,有针对性的对相关人员进行问卷调查。这样能够更好的让企业对所期望调查的人员、本部门及有针对性的限定范围对象进行期望回馈。网上市场调查的优势有:便捷性和低费性网上市场调查科节约传统的市场调查所耗费的大量人力和物力。在网上进行调查,只需要一台能上网的计算机即可。调查者在企业站点上发出电子调查问卷,网民自愿填写,然后经过统计分析软件对访问者反馈回来的信息进行整理和分析。在收集过程中不需要派出调查人员,不受天气和地域限制,不需要印刷调查问卷,调查过程中最繁重、最关键的信息收集和录入工作将分布到众多网上用户的终端上完成。线上调查能够使无人值守和不间接地接受调查填表,信息检验和信息处理工作均由计算机自动完成。交互性和充分性网络的最大优势是交互性。体现如下:网上调查时,被访问者能够及时就问卷相关的问题提出自己的看法和建议,可减少因问卷设计不合理而导致的调查结论出现偏差等问题。被访问者能够自由在网上发表看法,同时不受时间限制。调查结果的可靠性和客观性由于企业站点的访问者一般都对企业产品有一定的兴趣,因此这种基于顾客和潜在顾客的市场调研结果是客观和真实的,它在很大程度上反映了消费者的消费心态和市场发展趋势。被调查者在完全自愿情况下参与调查,针对性更强。而传统的市场调查中的面谈法中的拦截询问法,实质上是带有一定的”强制性”的。自愿填写,一般填写者对调查内容有一定的兴趣,回答问题相对认真,因此问卷填写可靠性高。网上市场调查能够避免传统市场调研中认为因素所导致的调查结论的偏差,被访问者是在完全独立思考的环境中接受调查的,能最大限度地保证调查结果的客观性。无时空和地域的限制网上市场调查能够24小时全天候进行,这与受地域和时间限制的传统市场调查方法有很大的不同。可检验性和可控制性利用Internet进行网上调查信息收集,能够有效地对采集信息的质量实施系统的检测和控制。网上市场调查问卷能够附加全面规范的指标解释,有利于消除因对指标理解不清或调查员解释口径不一造成的调查偏差。问卷的复核检验由计算机依据设定的检验条件和控制措施自动实施,能够有效地保证对调查问卷的100%的复核检验,保证检验与控制的客观公正性。经过对调查者的身份验证技术能够有效地防止信息采集过程中的舞弊行为。2系统理论基础2.1J2EE2.1.1J2EE概述随着Internet计算的迅速发展,作为一门新兴的语言,Java以其完全面向对象的设计风格和良好的平台无关性,已经超越了语言本身的功能,成为了开发Web应用的理想平台。Java平台包括了一种用于实现Java对象的语言和这些Java对象的运行环境——Java虚拟机JVM(JavaVirtualMachine)。Java语言的主要特点是平台无关性:在一个操作系统下开发的Java对象能够不做修改的运行在另外一个操作系统的JVM上。JVM封装了各种底层操作系统在体系结构和语义上的差异,在此基础上为Java对象提供了一个统一的运行环境。Java对象的源代码被编译为平台无关的中性代码——字节码。在运行时刻,字节码由JVM进行解释,被映射为真正的相关的操作系统调用而得以执行功能。因此,只要是100%纯Java语言实现的对象能够被各种具有相应JVM的操作系统所支持。Sun公司的J2EE构架是在1997年的JavaOne大会上宣布的,J2EE定义了开发和运行企业级Web应用的标准。它是一组规范,旨在为支持Java语言服务器端部署而提供平台无关的、可移植的、多用户的、安全的和标准的企业级平台。伴随J2EE的出现,Java语言的功能和工具得到了极大的扩充、丰富和发展,能够用于复杂的、多层次的以及分布式的电子商务和企业级应用。J2EE构架与技术为组件开发模型提供广泛的支持,同时也提供一组开发工具和服务,以便开发模块化的、可重用的和平台独立的各种组件技术的业务逻辑。2.1.2J2EE的优势J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制,它具有以下突出的优点:1)事实的标准:J2EE是由SUN引导,各厂商共同发起的,并得到广泛认可的工业标准,业内的大企业(如IBM,BEA,ORACLE等)都积极参与,很多应用软件开发商也把自己的产品转移到J2EE平台上来,使之成为事实的工业标准。因此,J2EE拥有良好的市场和旺盛的生命力。2)可保存现有的IT资产:使用J2EE能够充分利用客户原有的投资,保留已有的信息资源;同时,由于基于J2EE平台的产品几乎在任何操作系统和硬件配置上都能够运行,现有的操作系统和硬件也能够被保留使用。3)高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员能够集中精力在如何创立业务逻辑上,相应地缩短了开发时间。4)支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的程序不依赖于任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的应用程序只需开发一次就可被部署到各种平台。这在典型的异构企业计算环境中是十分重要的。J2EE标准也允许客户定购与J2EE兼容的第三方的现成的组件,把它们部署到异构环境中,节省了由自己制定整个方案所需的费用。5)可伸缩性:企业必须选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在它们的系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX和大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。6)稳定的可用性:一个服务器端平台必须能够全天候运转以满足公司客户和合作伙伴的需要。因为Internet是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。意外停机有可能造成灾难性后果。能够把J2EE部署到可靠的操作环境中,它们支持长期的可用性。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟的停机时间,这是实时性很强商业系统理想的选择。2.2MVCMVC原来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序能够使用不同的表现形式。比如一批统计数据你能够分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。2.2.1MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括AdobeFlash和像XHTML,XML/XSL,WML等一些标识语言和Webservices.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不论这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusionComponents这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就能够被多个视图重用,因此减少了代码的重复性。控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。因此当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并经过表示层呈现给用户。2.2.2MVC的优缺点1)优点低耦合性。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,因此很容易改变应用程序的数据层和业务规则。高重用性和可适用性。随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户能够经过电脑也可经过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,因此同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,可是也有可能用WAP来表示,而这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。较低的生命周期成本。MVC使降低开发和维护用户接口的技术含量成为可能。快速的部署。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。可维护性。分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于经过工程化、工具化管理程序代码。2)缺点MVC的缺点是由于它没有明确的定义,因此完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,因此需要花费一些时间去思考。你将不得不花费相当可观的时间去考虑如何将MVC运用到你的应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就能够毫无顾忌的重用它们了。根据开发者经验,由于开发者将一个应用程序分成了三个部件,因此使用MVC同时也意味着你将要管理比以前更多的文件,这一点是显而易见的。这样仿佛我们的工作量增加了,可是请记住这比起它所能带给我们的好处是不值一提。MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序一般会得不偿失。MVC设计模式是一个很好创立软件的途径,它所提倡的一些原则,像内容和显示互相分离可能比较好理解。可是如果你要隔离模型、视图和控制器的构件,你可能需要重新思考你的应用程序,特别是应用程序的构架方面。如果你肯接受MVC,而且有能力应付它所带来的额外的工作和复杂性,MVC将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。总的来说,运用MVC模式是一个不错的选择。MVC处理过程的结构图,如图1:图1MVC处理过程结构图2.3JavaServerPage(JSP)2.3.1JSP概述JSP是SUN在1999年发布的企业版JAVA2平台(J2EE)的重要组成部分,是一种基于Java环境的全新的服务器端的动态网页技术,为企业级Web站点动态网页开发人员提供了一种非常简单却相当有效的工具。JSP页面以扩展名为.jsp的纯文本文件的形式存于服务器上,当服务器接收到用户端对某个JSP页面的请求时,如果这是对该页面创立或修改后的第一次请求,那么JSP引擎就把该JSP页面内容转换成Servlet源码,然后将其编译成Servlet字节代码并执行。最后将Servlet的执行结果返回给浏览器。JSP页面被编译成Servlet之后,其执行代码以独立线程的方式一直存在于服务器的内存中。以后对该JSP页面提出请求时,不需要重新编泽,直到该页而被修改或Web应用程序重新启动。JavaServlet由于在服务器端运行,而且不包括会占用大量系统资源的GUI,因此运行的速度要比JavaApplet和Java独立应用程序快。同时还可经过预编JSP页面以加快响应用户端请求的速度。2.3.2JSP的特点JSP技术是对Servlet技术的一种扩展。它为基于Java环境开发多层结构的动态Web应用程序提供一种方便、快捷的方法。JSP具有如下一些特点。1)简化的页面生成技术。JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML,XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。2)与Java平台有机集成,JSP技术是Java2平台的重要组成部分。JSP使用Java语言作为它的脚本语言。在JSP中能够使用几乎所有的Java组件和JavaAPI。这就能充分发挥Java语言的强大功能。使用JSP技术能够创立高度可伸缩性和可靠性的Web应用程序。3)硬件平台和服务器无关性。JSP作为Java家族的一员,继承了Java家族的”一次编写,随处可用”(Writeonce,runanywhere.)的特性。能够运行于大多数流行的操作系统平台和Web服务器。这种与服务器硬件和操作系统平台无关性是JSP对于其它动态网页技术的最大的特点。4)功能可扩展性。如同Microsoft的ASP技术能够经过ActiveX/COM组件来扩展功能一样,JSP同样具有功能扩展的特点。2.4SQL语言SQL(StructureQueryLanguage结构化查询语言)自1974年被提出,至今已经是世界上最流行的关系数据库的标准语言。SQL语言的分类:DDL(DataDefinitionLanguage)数据定义语言,其作用包括创立数据库对象、删除数据库对象、修改数据库对象(Create,Drop,Alter)。DML(DataManipulationLanguage)数据操纵语言,其作用包括查找数据信息、插入数据信息、删除数据信息、更改数据信息(Select,Insert,Delete,Update)。DCL(DataControlLanguage)数据控制语言,作用主要是授权数据库对象(Grant,Revoke)。2.5开发环境操作系统:WINDOWSXP;运行工具:IE7.0开发工具:MyEclipse5.1.0(附加组件MVC)数据库:MSSQL服务器:Tomcat6.0辅助工具:JDP,IIs3需求分析3.1系统定义问卷调查的目的,是要经过问卷上的封闭式问题和开放式问题了解调查对象。市场调查的目的是为了收集足够的、真实的和有效地信息作为企事业单位等的其它活动和策略所服务,为管理部门提供参考数据。利用市场调查的部门能够是企业、公司、团体以及任何一切企事业单位的管理决策层或个人。市场调查的目的可能是为了制定长远性的战略性规划,也可能是为制定某阶段或针对某问题的具体政策或策略,提供参考依据。研究能够使学术性的,也能够是实用性的。调查环境,适应快速。调查对手,胜之一筹。调查客户,刺激需求。3.2功能需求问卷调查的一个主要目的就是为企业的抉择者和相关管理人员经过调查的形式来统计企业所希望统计的相关信息,经过与预期的期望进行对比从而得出最终的决策方案或实施办法。登陆本系统的身份:管理员,用户。系统提供问卷管理(添加,设计,审核,统计)。系统提供管理员管理。系统提供链接管理。首页最新问卷及热门排行榜显示及更新。3.3数据需求1)问卷设计必备的信息:对于网络调查问卷,需要系统当前操作员给出必输项目为问卷的调查日期,调查范围,调查方式(实名、匿名)。调查用户所需提供信息对于实名调查而言用户需要提供用户名、密码来进行实名问卷调查。对于匿名调查中用户仅需要根据提供的调查地址填写问卷中的必填项目即可。2)调查问卷内容:要调查的题目,话题相关内容。3.4界面分析简单清晰、层次关系明了、使用户一目了然,是对用户界面的最基本要求。同时尽可能的为用户的操作和使用提供方便,保证简单易用,适用性强。3.5性能分析3.5.1系统安全性作为网络问卷调查系统,信息的及时性和安全性是很重要的,这就不但要求信息能够给即使更新、对数据库的操作必须严谨,还要求系统和硬件设备必须稳定可靠,以确保在故障情况下数据不丢失,应用不受影响。3.5.2系统灵活性和可维护性开发所选用的MVC技术是一种先进的思想,能够让系统结构清楚明了,便于系统的维护和完善;开发工具使用tomcat,MSSQL让数据库变得透明,使设计和管理都变得很容易。系统具有开放性、模块化的特点。3.6数据库分析数据库是按数据结构来组织、存储和管理数据的仓库,是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个”数据库集合”。数据库能够带来许多好处,其中包括减少数据冗余度,节省数据存储空间,实现数据资源充分共享等。数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库的应用程序。由于本系统中用到的数据表格较多,另外考虑到在实际应用中,对数据信息内容的更改、数据信息多少的变化较为频繁,因此需要选择一个速度快、体积小、成本低、支持多线程、充分利用空间资源的数据库。MSSQL作为一种常见的关系型数据库,能存放和读取大量的数据,管理众多并发的用户,正适合于本系统的开发和使用。3.7本章小结本章主要完成的是系统设计实现之前所作的需求分析工作,其中包括系统定义、功能需求、数据需求、界面分析、性能分析和数据库分析等方面的内容。对于功能需求分析,系统计划实现首页界面管理、问卷管理、管理员管理、链接管理;对于界面需求,力求达到简单、清晰、层次关系明了、易于操作使用的要求;性能方面,要求系统具有较好的稳定性和可扩展性,为管理员使用和后期开发做好保障;本章中所涉及到的具体分析和计划实现等工作,为下一阶段的设计任务奠定了基础。4数据库设计4.1数据库的概念当人们从不同的角度来描述这一概念时就有不同的定义。例如,称数据库是一个”记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是”人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是”一个数据仓库”。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是”按照数据结构来组织、存储和管理数据的仓库”。本系统的数据库模型是将一直以来使用都最为广泛的关系模型作为数据库的建设宜居。关系模型中数据的逻辑结构是以二维表的形式实现多对多、多对一、一对多等表关系实现方式,一个关系对应一般说的一张表,而且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle11G,SQLServer等都属于关系型数据库,同时它们所带有的数据库管理工具是其它小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间、精力和财力。4.2数据库的选择本系统兼容Oracle10G/Oracle11g、Sql/Sql/Sql、DB2等多种数据库,可选择NC中间件(用友公司平台研制,Tomcat代理)、weblogic、websphere等多种中间件实现系统管控。对于中小型企业,一般会根据客户需要使用SQL/SQL进行数据库搭配,而对于一些大中型企业,数据库对应信息过万的大库存量,一般会采用ORACLE数据库,ORACLE数据库具有安全性强,兼容性好,数据承受能力好的特点。演示的产品对应数据量较小,故本系统演示平台所加数据源为SQL数据库。4.3数据库表的描述4.3.1实体—联系模型概念模型是对信息世界建模,其表示方法有很多,其中最为常见的是实体—联系模型,即E—R模型,它是用E—R图来描述现实世界的概念模型。图2用E—R模型描述出实体与属性之间的关系:图2E—R模型4.3.2核心实体核心实体包括:问卷(SURVEY),问题(QUESTION),答卷(ANSWERSHEET);还有保存用户输入的文本的文本输入项实体(TEXT),管理员表(ADMINS),友情链接表(LINK),系统配置表(CONFIG),如图3所示。值得一提的是,为了保证每个题目能够有不限量个选项,在question表中,我把q_body字段用来保存该题目所有的选项信息,每个选项用&$$&这个特殊字符串隔开,同样的,在q_result中保存的调查结果信息用逗号隔开,在q_jdtz中保存的截断跳转信息用&隔开。图3核心实体4.3.3数据库表格描述1)问卷表(SURVEY)如表1:表1问卷表字段名类型可否空含义s_idNumericNo问卷IDTemplet_idNumericNo模板ID,预留字段,暂未使用S_nameVarchar(100)No问卷名称S_descVarchar(500)Yes问卷描述S_authorVarchar(100)Yes发起人S_imgVarchar(1000)Yes图片文件名S_ipRepeatBit(1)Yes是否允许同一IP多次提交S_createdateDatetimeYes创立时间S_ipLimitTypeVarchar(100)YesIP限制类型,预留字段未使用S_ipRangeVarchar()YesIP限制范围,格式如下:”白名单:54;黑名单:”S_passwordVarchar(100)Yes访问密码S_isOpenBit(1)Yes是否开放,即是否显示在首页S_expireDateDatetimeYes过期日期S_isAuditedBit(1)Yes是否审核经过S_hitsNumericYes点击访问次数,未使用S_usehitsNumericYes答卷张数2)题目表(Question)如表2:表2题目表字段名类型可否空含义Q_idnumericNo题目IDS_idNumeric(18)No问卷ID,survey表外键Q_typeNumber(18)No题目类型:1—单选题,2—多选题,3—单选题加输入框,4—多选题加输入框,5—问答题。Q_headVarchar(1000)Yes题干Q_bodyVarchar(8000)Yes选项.以&$$&分隔Q_resultVarchar(1000)Yes用户提交的选择,格式如下:2,3,5,2表示选择A选项被选择了2次,B选项被选择了3次,C选项被选择了5次,D选项被选择了2次,即此某选项被选择了一次之后,其对应的RESULT值加一。Q_imgVarchar(1000)Yes题目的图片,预留字段。Q_jdtzVarchar(1000)Yes截断跳转:格式如下:null&69&over&90即用户点击A选项后,跳转到默认的题目,即下一题,点击B跳转到69号题,点击C终止问卷,点击D跳转到90号题Q_orderNumeric(18)Yes题目顺序号,保留字段3)答卷表(Answer),如表3:表3答卷表字段名类型可否空含义as_idnumeric(9)no答卷IDs_idnumeric(9)no问卷ID,survey表外键as_resultvarchar(8000)Yes答卷内容格式如下:18:as=1,4;text=酱油&@@&19:as=1;即每个题目用户&@@&分隔;题目内部以题号开头+冒号+[用户选择的项]+分号+[用户输入文本]as_postdatedatetimeYes提交日期as_userIPvarchar(50)Yes用户IP5系统的设计与实现5.1设计思想5.1.1设计模式设计模式是软件开发期间对重复问题的可复用解决方案,是经验的总结。掌握这些设计模式后,当遇到类似的问题时,就能够快速利用已有的解决方案分析问题,然后采取适当的策略,从而有效缩短软件开发周期并提高软件质量。因此,使用设计模式是进行软件设计开发的有效途径。在企业级应用开发中,经过使用设计模式,能够大大提高应用程序的性能和增加软件的复用性。因此,在本项目中,我们采用经过实践检验的、成熟的面向对象的设计模式来对我们的应用系统进行建模,以期达到服务质量(QoS)较好(可扩展性强、性能优良、安全可靠,有一定的灵活性)的目的,并在此基础上实现整个系统。5.1.2MVC模式模型-视图-控制器(MVC)是XeroxPARC在八十年代为编程语言Smalltalk-80创造的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式。MVC结构提供了一种按功能对各种对象进行分割的方法,它强制性地使应用程序的输入、处理和输出分开,因此依据这种设计思想能够构造良好的松耦合的构件。使用MVC的应用程序被分成三个核心构件:模型、视图、控制器。本系统采用MVC的设计模式,用户输入输出界面均为JSP页面,即展示层(VIEW),用户的请求(REQUEST)将会被发送到控制层(CONTROL)的一个SERVLET集中处理,根据请求调用模型层(MODEL)的JAVABEAN对请求进行实际处理,并把结果返回给控制层,控制层根据请求的执行结果将响应(RESPONSE)派发到相应的JSP页面。例如,一个数据提交(操作请求)的标准流程:在问卷管理模块中的添加问卷页面(SurveyAdd.jsp),用户在这个页面中输入数据,提交之后,请求被派发到一个名为SurveyManage的servlet中集中处理,在这个servlet中,调用了持久层的名为SurveyDAO的javabean的AddSurvey方法对数据进行持久化,然后把处理结果返回给SurveyMange这个控制器,控制器根据返回的结果决定将相应的页面展现给客户端浏览器。又如,一个数据查询(数据请求)的标准流程:在问卷设计页面中(SurveyAdmin.jsp),用户打开页面后,页面即调用SurveyDAO的listAllSurvey方法查询出所有问卷信息返回给页面,即页面进行数据查询时不再经过CONTROLLER层。如图4所示:图4数据查询标准流程5.1.3持久层框架持久性框架是一组软件服务,将应用程序同其使用和操纵的数据源分离。它位于机构的数据源之上,隐藏访问这些数据源的数据查询存取API(如JDBC、实体EJB等),它提供的服务应完全抽象,而且隐藏使用及操纵数据源数据的细节。图5显示了它在J2EE系统体系结构中的地位。图5持久性框架本系统在持久层主要使用了3种设计模式:DAO模式、VO模式、简单工厂模式。1)DAO模式数据访问对象(DAO)模式使用数据访问对象来封装和抽象对所有数据源的访问,它管理着与数据源的连接以便于检索和存储数据,为业务对象提供了透明的底层数据访问实现。DAO模式完全包装数据的读取和操纵,并包装与数据库交互的数据访问API,它用数值对象包装从数据库读取和发送到数据库的数据,与业务层进行通信。DAO模式提供的灵活性是由于应用程序并不直接访问数据源,而是创立DAO对象,用其访问数据源。读取数据时,能够用数值对象保存取得的数据。2)VO(值对象)模式:使用值对象能够减少使用实体bean时需要的远程调用的次数。我们使用值对象来封装业务数据,用相应的方法调用来设置和检索值对象。当客户端向实体bean请求业务数据时,该实体bean能够构造值对象,用属性值来填充,而且将值对象传送给客户端。同样道理,客户端向实体bean提交数据时,也采用值对象这一办法。系统中因此的数据库实体,都被封装成了这样的VO。例如,页面上要数据库中添加一个问卷,那么首先页面把数据发送到控制层的SERVLET,在该SERVLET中经过页面传过来的参数构造一个VO,然后把这个VO传递给DAO对象,DAO对象最后完成对数据库的控制操作。3)简单工厂模式专门定义一个类来负责创立其它类的实例,被创立的实例一般都具有共同的父类。它又称为静态工厂方法模式,属于类的创立型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创立哪一个产品类(这些产品类继承自一个父类或接口)的实例。5.2系统总体结构设计5.2.1系统总体结构图,如图6:图6系统总体结构图5.2.2前台界面设计及实现系统前台首页界面风格包含最新问卷、问卷系列展示、热门排行榜、友情链接等。实现如图7:图7系统前台首页系统前台问卷页面,示例如图8:图8系统前台-问卷页面问卷调查页面的设计采用AJAX技术来实现本系统最大的特色功能——动态跳转,当用户点击某一题目某一选项时,系统会根据设置跳转到与当前选项相关的题目上,而这一切,用户感觉到只是网页中局部一小块刷新了,具有很好的用户体验。5.2.3后台系统设计及实现WEB前端层的设计和实现中,充分利用的JAVASCRIPT的强大控制功能,而且在某些页面上采用了DIV+CSS组合设计方法。在系统后台,页面采用框架布局,页面上面显示BANNER等信息,左边显示菜单,中间显示操作页面。后台界面的设计主要依据功能模块来划分,论文重点阐述问卷管理模块的设计,这也是后台的核心部分。查看问卷信息1)功能描述问卷管理人员在登录之后可根据当前的权限进行问卷查询,在此对查看问卷信息作出的查询条件是仅能查询当前产品的问卷。数据库的查询方式按照当前产品来进行查询。如图10:2)模块流程图,如图9:图9模块流程图3)界面风格,如图10:图10界面风格图问卷添加功能描述初进入问卷添加页面,按要求录入相应的数据,提交即可生成一份问卷。录入数据包括问卷名称、发起人、问卷描述、问卷结束日期等。模块流程图,如图11:图11问卷添加模块图界面风格,如图12:图12问卷添加界面问卷设计功能描述进入问卷设计页面,界面会显示出当前系统中的所有问卷,用户找到相应的问卷后,点击管理题目,进入管理题目的界面,用户在这里能够对添加删除题目,而且能够对题目进行设置截断和跳转操作。2)界面风格,如图13,图14:图13系统后台-问卷设计页面图14系统后台-题目管理页面问卷审核功能描述问卷审核界面,用户能够在这个界面上对某一问卷设置经过审核或禁用操作,值得强调的是,”经过审核”操作会冻结该问卷,也就是说用户在审核问卷之后就不能再对其进行更改了,这样设计是为了保证问卷调查数据的准确性和系统的稳定性。可是,也存在用户有特殊需求需要修改问卷的情况,这个时候用户能够执行”禁用”操作,也就是反审核操作,这会使问卷返回到能够编辑的状态,可是在执行这个操作的时候,如果有用户已经希望系统提交了答卷,就会使系统产生脏数据,系统就无法准确的统计调查结果信息,因为现在系统的答卷数据是根据问卷修改之前的问卷结构生成的,如果问卷结构发生变化,那么系统将无法根据现有的问卷结构分析之前的”脏数据”。因此,在设计这个功能的时候,强烈建议用户在执行反审核之后马上到问卷统计模块中执行答卷结果清零操作,以保证系统数据的正确性。2)界面风格,如图15:图15系统后台-问卷审核页面问卷统计功能描述问卷统计,查看统计结果,统计结果分为两部分,一部分是所有答卷的汇总统计,另一部分是每个用户的答卷。用户能够根据自己的需要使用这些数据信息。2)界面风格,如图16:图16答卷统计5.3重难点问题解决方案研究5.3.1如何实现用户答卷时题目动态截断和跳转1)需求描述当用户选择一个选项时,即刻弹出与此选项相关的后续题目,例如:有一张关于九九鸭脖消费的调查问卷,如图17:图17九九鸭脖消费调查问卷第一题,当用户选择知道时跳到默认的下一题,选择”不知道”,就提示用户问卷结束。第二题,当用户选择前4项时,跳到默认的下一题,选择”从不”,提示问卷结束。第三题,当用户选择”广告宣传”时,弹出对何种广告媒体的调查题目,选择其它选项则跳过广告媒体的题目。2)解决方案:首先,我们将SurveyShow.jsp这个页面作为容器页面,即这个页面显示问卷本身的一些描述信息,如问卷标题,问卷描述等,在这个页面中间,我们嵌入一个区域(DIV)名叫question_list,这个DIV用来装载从ajax_SurveyShow.jsp实时获取的题目信息。其次,ajax_SurveyShow.jsp需要SurveyShow.jsp传递两个参数,一个是问卷编号(sid),另一个是跳往题目编号(to),ajax_SurveyShow.jsp首先根据sid查找出所有的题目,然后过滤掉编号小于to的题目,接着判断to所代表的题目是否属于单选题(包括单选题,含输入框的单选题),如果是单选题,则返回这道题目,如果不是单选题,则继续生成它后面的题目,直到发现单选题才停止。单选题与其它类型题目的构成是不同的,其它类型题目的结构是这样的:<li>题干</li><ul><li><inputtype=checkbox>选项A</li><li><inputtype=checkbox>选项B</li><li><inputtype=checkbox>选项C</li><li><inputtype=checkbox>选项D</li></ul>而单选题在这个结构的基础上增加了一个DIV(qbox):<li>题干</li><ul><li><inputtype=radioonclick=jump(qboxN,to)>选项A</li><li><inputtype=radioonclick=jump(qboxN,to)>选项B</li><li><inputtype=radioonclick=jump(qboxN,to)>选项C</li><li><inputtype=radioonclick=EndSurvey(qid)>选项D</li></ul><divid=qbox+本题编号>那么这个qbox就用来装载她的后续题目,也就是说,当用户点击某选项的时候,根据参数to的值判断后续题目,然后用后续题目来填充qbox,值得一提的是,如果她的后续题目是单选题,那么qbox就只装后续题目这一道题目,而这一道题目又包含了一个qbox,以此类推;如果她的后续题目不是单选题,则这个qbox就不断查询加载下一题目,直到发现单选题,这样这个qbox就会装载很多题目,而最后一题肯定是单选题(除非问卷结束时都没有找到单选题),而且包含一个qbox

DIV,而对这个题目进行选择时,又会触发对qbox的填充。如图18。图18久久鸭脖消费调查SurveyShow.jsp实现跳转的JS代码,使用prototype的AJAX对象:functionjump(obj,to){varrequest_url="ajax_SurveyShow.jsp";//需要获取内容的urlif(to==null) to=0;varrequest_pars="to="+to+"&sid="+<%=request.getParameter("sid")%>;//请求参数varmyAjax=newAjax.Updater(obj,request_url,{//将request_url返回内容绑定到id为result的HTMLTAG中,这里的obj就是qboxmethod:'post',//HTTP请求的方法,getorpostparameters:request_pars,//请求参数});}实现截断的JS代码:functionEndSurvey(qid){$('qbox'+qid).innerHTML="";varret=window.confirm("选择此项意味着问卷终止,确定提交问卷吗?");if(ret==true) $("form_survey").submit();}5.3.2如何实现存取单张答卷1)需求描述很多情况下,问卷发起人需要知道每个被调查人的单张答卷信息,以进一步了解答卷人的想法。因此需要系统能够提供一个记录和提取答卷人单张答卷的功能,也就是说,问卷发起人能够查看到任何一个被调查人的答卷信息,而且,因为系统有截断跳转功能,需要考虑每张答卷结构很可能不一样的情况,如图19,图20:图19某用户答卷图20某用户答卷2)解决方案首先,在用户提交问卷的时候,系统把该答卷存入ANSWERSHEET表,该表主要有4个字段,as_id,s_id,as_result,as_userIP。As_id就是答卷的编号,s_id是问卷的编号,as_userIP是用户的IP地址,而as_result是按一定结构组织成的用户的答卷信息。该结构形式如下:18:as=1,4;text=酱油&@@&19:as=1;即每个题目用&@@&分隔;题目内部以题号开头+冒号+[as=用户选择的项(多个项用逗号分隔)+分号]+[text=用户输入文本]。其次,当用户打开答卷页面时,页面解析从数据库传过来的as_result字符串,先用&@@&拆成数组,然后再对每个字串进行解析。把解析出来的qid构造成一个ArrayList,根据个List,查找question表,迭代出该答卷所有的题目信息。然后,在页面底部,用JAVASCRIPT给题目赋上用户选择或输入的值。6系统测试6.1系统测试概述系统测试分为界面测试、功能测试和性能测试。1)界面测试主要关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范,是否美观,是否安全。2)功能测试主要关注于产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。3)性能测试主要关注于产品整体的多用户并发下得稳定性和健壮性。6.2界面测试站在用户角度进行体验测试,直观感受系统的界面是否美观,搭建是否完成,运行是否流畅,所有功能是否正常,功能是否完善。6.21系统后台界面测试1)查看界面是否美观,测试结果比较满意。2)点击”添加问卷”,进入问卷添加页面,按要求录入相应的数据,提交即可生成一份问卷,此时问卷仅仅是一份空白问卷,测试结果与预期结果一致。3)点击”问卷设计”,进入问卷设计页面,界面会显示出当前系统中的因此问卷,找到相应的问卷后,点击管理题目,进入管理题目的界面,在这里对题目进行添加删除操作,而且对题目进行设置截断和跳转操作。测试结果与预期结果一致。4)点击”问卷审核”,显示出问卷审核界面,在这个界面上点击任意问卷并对其设置经过审核和禁用操作,需注意的是,”经过审核”操作会冻结该问卷,也就是说在审核问卷之后就不能再对其进行更改了(这样设计是为了保证问卷调查数据的准确性和系统的稳定性)。为防止用户有特殊需求需要修改问卷的情况,执行”禁用”操作,也就是反审核操作,这会使问卷返回到能够编辑的状态。测试结果与预期结果一致。5)点击”问卷统计”,查看统计结果,统计结果分为两部分,一部分是所有答卷的汇总统计,另一部分是每个用户的答卷。两者均进行测试查看,测试结果与预期结果一致。6.22系统前台界面测试首页界面测试所有环境搭建好过后,在IE输入http://localhost:8080/survey,进行测试。测试结果与预期结果一致。前台问卷页面界面测试进入首页后,选择任一问卷话题,查看问卷页面,并进行页面功能测试。在用户角度上

温馨提示

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

评论

0/150

提交评论