已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学毕业设计(论文)用纸在线问卷调查系统的设计与实现摘 要在校园、机关或企业里,由于各种调查研究的需要,经常会有各种各样的调查问卷,在传统模式下,人们不但要花费不少的费用印刷问卷,而且还要消耗大量时间和精力发放问卷、回收问卷、统计问卷,并且问卷可控性差,容易产生漏卷、废卷等问题。本系统建立在信息技术基础上,构建一个在线的问卷设计、分发、调查、回收、统计的系统,基本解决了传统问卷的上述老大难问题。本文首先对当今计算机发展的现状进行了分析,并阐述了在线问卷调查的必要性。在对本系统进行了项目可行性分析后,对用户需求进行分析,并阐述了系统的设计与实现,对系统中出现的重难点问题进行研究,最后对系统测试进行了解释。本文着重介绍了J2EE体系架构,接着探讨了在面向对象软件开发过程中设计模式的重要作用,叙述了在J2EE平台下一些常用的设计模式,以及如何在一个问卷调查系统项目中如何运用这些设计模式,接着讨论了软件测试的概念,最后研究和设计了一个建立在J2EE平台上的通用框架。从而建立了一个能够快速开发业务应用程序的开发环境。关键词:J2EE体系结构;问卷调查;设计模式;通用框架全套设计加扣 3012250582Design and Implementation of Online Questionnaire Survey SystemAbstractOn campus, authorities or enterprises in China, due to a variety of research needs, often have a variety of questionnaires, the traditional model, people not only have to spend a lot of the cost of printing the questionnaires, but also spend a lot of time and Issued on the questionnaire, the recovery of the questionnaire, statistical survey, questionnaires and control poor, prone to leakage volume, the volume of waste. The system built on the basis of information technology, to build an online questionnaire design, distribution, investigation, recovery, statistical systems, the traditional solution to the basic appeal of the questionnaire chronic problem.Firstly, the status of the development of todays computer was analyzed and explained the necessity of the online questionnaire. In this system analyzes the feasibility of the project, the user needs analysis, and describes the design and implementation of the system, the system appears heavy and difficult question, for the final test of the system are explained. This paper also briefly introduced J2EE architecture, and then discuss the important role of design patterns in object-oriented software development process, described in the J2EE platform for developing applications of some common design patterns, and how to use these design patterns a survey system for project design, followed by a discussion of the concepts and use an application framework for developing business applications, application framework brings advantages, the final study and design of a J2EE platform built on a common framework. Thus establishing a fast developing business application development environment.Keywords: J2EE architecture; questionnaires; design patterns; general framework47目 录1 绪 论12 项目可行性分析22.1项目分析22.2技术可行性分析22.3 经济可行性分析32.4运行可行性分析32.5法律可行性分析33 需求分析43.1 两种问卷调查的比较43.2 网上问卷的基本解决方案53.3系统数据流图63.4用例图分析63.5 数据库概念模型74 相关理论与技术104.1 J2EE概述104.2 J2EE的优势104.3软件环境114.3.1 JDK114.3.2 SQL SERVER 2008 数据库124.3.3 Tomcat134.3.4 MyEclipse134.4 硬件环境145 系统的总体设计155.1系统体系设计155.2系统功能模块结构165.3 数据库设计166 系统详细设计与实现226.1系统使用的框架和技术226.2系统流程226.3 关键模块代码及页面246.3.1 问卷添加模块246.3.2 管理员添加模块276.3.3 友情链接添加模块317 重难点问题解决方案研究367.1 如何实现用户答卷时题目动态截断和跳转367.2如何实现存取单张答卷398 软件测试与分析418.1 软件测试的重要性418.2 测试两大方法418.3 测试环境与测试条件438.4 系统运行情况438.5 系统评价43结 论44参考文献45致 谢46外文文献47外文文献翻译661 绪 论自上世纪九十年代初以来,随着世界先进技术的不断发展和软件技术的不断更新,计算机技术犹如坐上了高速列车,尤其是在20世纪末,网络技术的飞速发展,使得信息传送的速度和容量以指数形式上升,人们生活发生了翻天复地的变化。计算机网络对人类的生产、生活方式和思维方式产生了重大影响。不断更新的技术,使人们可以更加快捷的获得外界的消息以及更好的与人沟通交流。古老的方式已经赶不上社会的需求,人工问卷调查已经不能满足需要。迫使人们需求一种更加高效的方式来捕获所需要的信息。网络的发展给问卷调查带来了解决的方式,不同的行业可以更有针对性的去选择自己想要的信息,从而做出对应的措施。随着学校人数不断增多,规模不断变大,以至于给人工问卷考核带来严重的不便,无法将学生反映的信息及时反映给授课教师,无法让老师及时根据学员的需求而将教学方式进行调整,而且这种考核效率很差,浪费了大量的人力资源和物质,以至于教学质量逐渐下降,学校开支增多,使学校面临很大的难题。为了解决这种现象,需要开发一套基于web的在线问卷考察调查系统,来适应当前社会信息的及时性和实时性。它不仅节约了各种人力物力资源,使学校进入了无纸化办公的时代,适应了现代化办公的需求,而且还能及时将学生反映的信息及时反映给授课教师,提高了教学质量。本系统采用Sun公司J2EE企业级编程模式,采用可视化的编程环境,简单易懂的编程语言,成熟的各种框架,用较少的代码可以实现大量繁琐复杂的问题的功能。基于web的网上问卷调查系统就是政府,企业或学校不同的需要所设计的,因为J2EE的扩展性,可以根据不同的需求很少的改动就能完成系统的功能。所以本系统是根据学校的工作特点而设计的反应学生与教师之间相互了解的应用软件系统。早期的学校问卷调查只能是学生以纸面的形式交给老师,当老师要想充分了解学生反应的情况要花费很大的精力。而且要想全面的了解每一个同学的情况,就要求学生相对集中。因此增加了调查的时间和周期性。随着现代科技的发展,互联网给人们带来了很多的便利,因此我们可以利用它来为我们服务。基于web的网上问卷调查系统能有力的解决上述的问题。同时他的可扩展性能适应需求的改变。2 项目可行性分析2.1项目分析随着我国国民经济的飞速发展,电子计算机和通信技术的发展,人类已逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了。而在计算机应用中,占有突出地位的是软件技术,信息技术的核心已经逐渐被软件技术所取代,推动着软件产品的研发和市场的开拓。软件产业已成为现代社会发展过程中必不可少的支柱产业。在线问卷调查系统的实施在技术上已逐步成熟,在线问卷调查系统是一个不断发展的新型学科,任何一个单位要生存发展,要高效率的把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。在线调查系统以其独特的优势越来越受到广大群众的喜爱:优势一:在线调查能快速、高效地执行问卷调查,能在一晚上迅速收集上千份有效问卷优势二:能接触到高难度的受访人群能够接触到传统调查接触不到的受访人群,如孕妇、高收入阶层、大学生等群体,能实现地面拦截和一般网上调查做不到的功能。优势三:独一无二的即时分析功能数字100应用Surveycool专业在线调查系统能时时看到分析结果。这是一般调查平台不具备的功能。优势四:节省时间,节约费用样本库在线调查不再需要访问员,依靠数字100强大的样本库Assuredsample,节省调查时间的同时更节约调查费用。2.2技术可行性分析本方案要求较高,数据量比较大。对现有软件不会产生冲突。因为采用传统的b/s架构,要比采用c/s架构省去更多的维护成本。不需要很多的人员来进行维护和管理。技术难度不会很大,不会对软件的开发周期造成负面的影响。在给定的时间内,能够完成项目所需功能。根据对项目的大概想法,决定采用普通的spring mvc和hibernate作为底层框架。spring mvc是基于spring的一个三层架构,它有多种方式可以进行配置,xml配置或者使用注解进行配置。还可以与hibernate一起使用,提供了极大的便利。hibernate是以一种对象关系映射,它的对对象的封装,可以使得用户可以更好的使用面向对象的编程思想来开发项目。两种技术都比较成熟。2.3 经济可行性分析此项目运行成本比较小。开发不需要太久的时间,而且采用所学知识进行开发研究,很经济适用。采用的开发工具也都是免费的,可以直接在网上找的到。而且项目在开发出来以后可以直接应用到学校,培训机构以及一些其他领域的公司或者社会福利机构,这样可以帮助调查者用最短的时间掌握被调查者的需求,同时也减少了纸张的浪费,极大节约了成本,也保护了环境,所以说本项目也是一个投资少,利用率大,开发难度小的环保项目。2.4运行可行性分析本系统采用my eclipse 进行开发,数据库采用SQL Server 2008。系统对客户端运行平台要求较低,安装有XP、Win7、Win8都可以实现本系统。另外,项目的上手操作比较简单,只需几个步骤就能完全掌握项目的运行情况,以及对结果的统计和处理。所以,这里又节约了培训成本的支出。2.5法律可行性分析独立开发,在法律方面不会存在侵犯专利权,侵犯版权等问题,所以系统的开发过程不会触及到任何法律问题,在法律上是可行的。同时,由于本项目是独立开发的系统,可以申请版权,受法律保护,完全没有法律纠纷,用户可以放心使用。这更保护了用户的合法权益免受其他方面的损害,方便了用户。3 需求分析编写在线调查系统需求分析报告目的是为了需求提供者和开发方明确对所建信息管理系统所达到的功能和目标。通过双方不断的讨论和交互,最终形成具有建设目标的书面条款。经双方确认后,将作为开发方设计开发的基本依据和需求方的软件验收标准,同时,通过该需求分析报告,开发方可以更加进一步了解客户的需求,从而严格按照流程及时、准确地完成系统的开发,以满足客户的需求。作为一个完善的在线问卷调查系统,应该可以随意设定问卷的主题、问卷的题目及选项,能保存用户做完的调查结果并对这些数据进行归纳总结,能提供调查者(管理员)与被调查者(用户)的交互,同时具有较强的安全性。具体来讲,系统应具有如下功能:1. 在线问卷调查系统,操作方便,可以根据人们的需求来添加调查问卷;2. 被调查者可以根据自己的意愿选择答案;3. 被调查者可以查看自己所做问卷的答案分布情况;4. 被调查者可以对调查问卷做出评论;5. 系统自动设置成为只能提交一次答案;6. 管理员可以对问卷做出修改;7. 管理员可审核问卷并使其可以面向用户;8. 管理员可对已存在的问卷增加新题目,也可以对历史题目进行修改;9. 管理员可将每个调查问题设置成单选、多选或者问答题的形式。3.1 两种问卷调查的比较(1)纸质问卷调查的特点问卷调查对象是经过思考之后才对问卷做出反应的。这有助于获得真实、准确的资料。但是,往往由于被调查者发现其中某些问题涉及到自己的隐私或者比较敏感,从而拒绝作答。这就会造成问卷的初始目地无法达到,而被调查者又无法作进一步的去追寻答案,又无法判断回收后的问卷答案的真实性,使问卷失去了它原本的价值。因此,问卷设计的重要任务就是问题的设计,以及问题的安排顺序。问卷调查适应于大样本或小样本的情况。问卷调查与访问调查情况不同,访问调查必须面对面地提出问题,收集口述材料。由于人力、财力的原因,调查的样本数不可能太多,调查的地域不可能太广。而问卷调查是依赖调查对象自我填答,问卷可以通过邮寄分发,也可以面对面分发。因此样本数可多可少,有时仅选数十人作问卷调查,有些课题,样本则多达数千以至过万人。有利于获得定量资料。问卷调查不仅能取得数量标志的数量资料,还可以获得有关属性、品质、态度为标志的计数资料。这些资料都能通过统计处理的方法进行量化分析,使结果更为客观、真实、系统、科学化,提高了研究结果的水平。随着计算机网络的发展,网上问卷调查慢慢占据了主导地位。他解决了人工问卷的很多问题。是问卷调查更加容易和便利。(2)网上问卷调查的特点(1)问卷法调查结果容易量化调查的问题可以固定的形式,避免主观偏见。(2)问卷调查结果便于统计与分析,节省了处理结果的时间。(3)问卷调查可以进行大规模的调查,使结果更有参考价值。(4)问卷调查以政府、企业等为主体,具有普遍性。(5)问卷的结果可以持久的保存,作为将来的参考。3.2 网上问卷的基本解决方案尽量消除被调查者的警戒心理,拉近与被调查者距离的原则。防御心是人性最自然的一面,在被调查者接触到问卷调查时,第一个反映就是考虑填写问卷对自己有什么坏处或者好处;对于销售网络状况调查来说,被调查的零售商更是有这一层的顾虑,害怕问卷的填写不当直接会影响到后期的生意发展,因此如果不能消除被调查者的警戒心理,拉近与被调查者的距离是很难得到真实、可靠的信息反馈。避免尖锐性的问题,以免引发被调查者的情绪过度波动而造成不利影响。内容尽量做到精简,避免重复和过分烦琐。从被调查者填写问卷的心理变化分析来看,被调查者刚开始填写问卷应该是以好奇和仔细为主,随着填写时间的延长,好奇心逐步衰减,而烦躁的心情却逐渐滋生出来,所以为了保持问卷填写的高质量,问卷的内容应精简、有力。问卷回答格式应适合信息的汇总和分析。回答格式应适合信息的汇总和分析可能对于很多调查者来说是比较陌生的,从统计和分析的角度来看,假如采取杂乱无章的回答设计方法,调查结果所收集的问卷成千上万,对问卷的内容进行归类、分析就比较困难了,所以在设计问卷回答格式的时候,就要考虑到对于问卷的问题采取什么样的方法进行分析。3.3系统数据流图系统0层数据流图如下图3-1所示:图3-10层数据流图3.4用例图分析调查者用例图,如下图3-2所示:图3-2 调查者用例图被调查者用例图,如下图3-3所示:图3-3 被调查者用例图3.5 数据库概念模型数据库的具体属性如下(下划线为该实体主键):管理员:管理员id、用户名、密码问卷:问卷id、问卷名、问卷密码、创建日期、使用次数、问卷创建者、问卷介绍问题:问卷id、问题id、问题类型、题干、选项、问题提交选项的次数答卷:问卷id、答卷id、用户IP、提交日期、答卷内容具体实体联系图如下3-4、3-5、3-6、3-7所示:图3-4 管理员E-R图图 3-5 问卷E-R图图3-6 问题E-R图图3-7 答卷E-R图4 相关理论与技术4.1 J2EE概述随着计算机技术的迅速发展,Java作为一门新兴的语言,已经超越了语言本身的功能,成为了开发Web应用的理想平台,就是因为以其完全面向对象的设计风格和良好的平台无关性。Java虚拟机JVM(Java Virtual Machine)成为实现Java对象的语言和Java对象的运行环境。平台无关性是Java语言的主要特点:不论在哪个平台上开发的java程序都可以互相通用。JVM封装了各种底层操作系统在体系结构和语义上的差异,在此基础上为Java对象提供了一个统一的运行环境。字节码是Java对象的源代码被编译后产生的代码。在运行时刻,JVM用来进行编译字节码,然后被操作系统调用而去执行代码所具有的功能。因此,只要是由Java语言编写的对象可以被运用到相应的JVM操作系统中。Sun公司的J2EE构架是在1997年的Java One大会上宣布的,J2EE定义了开发和运行企业级Web应用的标准。它是一组规范,旨在为支持Java语言服务器端部署而提供平台无关的、可移植的、多用户的、安全的和标准的企业级平台。伴随J2EE的出现,Java语言的功能和工具得到了极大发展,可以用于不同的、多结构的电子商务和企业级应用。这为组件开发模型提供广泛的支持和帮助,同时也提供了开发工具和服务,以便开发模块化的、可重复使用的和独立平台的各种组件技术的逻辑结构。4.2 J2EE的优势J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制,它具有以下突出的优点:1、事实的标准:J2EE是由SUN引导,各厂商共同发起的,并得到广泛认可的行内标准,很多大企业都积极参与其中,越来越大的软件开发商也把自己开发的产品转移到J2EE平台上来,使更多的人来认识它,运用它。因此,J2EE拥有巨大的市场竞争力和创造力。2、可保存现有的IT资产:使用J2EE能够充分利用客户原有的投资,保留已有的信息资源;同时,由于基于J2EE平台的产品几乎在任何操作系统和硬件配置上都可以运行,现有的操作系统和硬件也能够被保留使用。3、高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建业务逻辑上,相应地缩短了开发时间。4、支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的程序不依赖于任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的应用程序只需开发一次就可被部署到各种平台。这在典型的异构企业计算环境中是十分重要的。J2EE标准也允许客户定购与J2EE兼容的第三方的现成的组件,把它们部署到异构环境中,节省了由自己制定整个方案所需的费用。5、可伸缩性:企业必须选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在它们的系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX和大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。4.3软件环境4.3.1 JDKJDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK包含的基本组件包括: javac 编译器,将源程序转成字节码 jar 打包工具,将相关的类文件打包成一个文件 javadoc 文档生成器,从源码注释中提取文档 jdb debugger,查错工具 java 运行编译后的java程序(.class后缀的) Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。 Jconsole: Java进行系统调试和监控的工具。4.3.2 SQL SERVER 2008 数据库SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如Select、Insert、Update、Delete、Create和Drop常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的Transact- SQL。SQL语言有着非常突出的优点,主要是:(1) 非过程化语言(2) 统一的语言(3) 是所有关系数据库的公共语言SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。SQL为许多任务提供了命令,其中包括:(1)查询数据(2)在表中插入、修改和删除记录(3)建立、修改和删除数据对象(4)控制对数据和数据对象的存取(5)保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。4.3.3 TomcatTomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。Tomcat最初是由Sun的软件构架师詹姆斯邓肯戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目OReilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。4.3.4 MyEclipseMyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:(1)JavaEE模型;(2)WEB开发工具;(3)EJB开发工具;(4)应用程序服务器的连接器;(5) JavaEE项目部署服务;(6)数据库服务;(7)MyEclipse整合帮助。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。4.4 硬件环境本系统开发的硬件环境如下:处理器:Inter(R) Core(TM) i5-2430M CPU 2.40GH安装内存:4.00GB系统类型:win7 64位 旗舰版5 系统的总体设计软件模式是软件开发期间对重复问题的可复用解决方案,是经验的总结。有了设计模式这方面的知识,当遇到类似的问题,您可以快速利用现有的解决方案,分析问题,然后采取相应的策略,缩短软件开发周期,提高软件质量。因此,在使用设计模式是一种有效的方式进行软件设计和开发。通过使用设计模式的企业应用开发,可以大大提高应用程序的性能,并提高软件的可重用性。因此,在这个项目中,我们使用经过验证的,成熟的面向对象的设计模式应用到我们的系统建模,实现了服务质量(QoS)的质量好(可扩展性,性能优良,安全可靠,有一定的灵活性)的目的,在此基础上的整个系统。5.1系统体系设计系统将使用MVC设计模式,用户输入和输出接口是JSP页面,表示层(VIEW),用户的请求(REQUEST)将被发送到控制层(CONTROL)是一个servlet焦点,在呼叫的请求模型JAVABEAN层(模型)的请求的实际处理,并返回到控制层的基础上,分发给适当的JSP页面的请求响应(RESPONSE)的结果控制层的结果。具体实现时,JavaBean作为模型层,Servlet作为控制层,JSP作为视图层。每层的作用如下:1.JavaBean作为模型层,以达到每一个具体的应用程序逻辑和功能。2.Servlet作为控制器层,负责处理HTTP请求,包括:输入数据检测和转换。通过Java Bean的访问数据库。 Java Bean的或对象初始化在JSP页面中使用。根据不同的分支处理和结果,所以我们决定切换到JSP。3.JSP作为View层,负责交互后返回的界面。在问卷管理模块中的添加问卷页面(SurveyAdd.jsp),用户在这个页面中输入数据,提交之后,请求被派发到一个名为SurveyManage的servlet中集中处理,在这个servlet中,调用了持久层的名为SurveyDAO 的javabean的addSurvey方法对数据进行持久化,然后把处理结果返回给SurveyMange这个控制器,控制器根据返回的结果决定将相应的页面展现给客户端浏览器。又如,一个数据查询(数据请求)的标准流程:在问卷设计页面中(SurveyAdmin.jsp),用户打开页面后,页面即调用SurveyDAO的listAllSurvey方法查询出所有问卷信息返回给页面,即页面进行数据查询时不再经过CONTROLLER层。如图5-1所示图5-1 MVC模式5.2系统功能模块结构系统的功能模块结构图如图5-2所示图5-2 系统功能结构图5.3 数据库设计在本系统中,首先要建立相应的问卷表(表5-1)、题目表(表5-2)、答卷表(表5-3)。各表通过问卷序号连接起来,进行相应的查询等操作,建立问卷调查系统。在线问卷调查系统中对于物理结构的设计主要是在索引的建立上,本系统中问卷和题目被经常使用。在被调查者表、调查问卷表的数据虽然是被查询,但不是很多,而且在查找数据时按问卷序号查询,只有核对序号相同就可以,因此表上不用建立索引。对于调查问卷表的查询,该表数据更新比较频繁,不利于建立索引。值得一提的是,为了保证每个题目可以有不限量个选项,在question表中,我把q_body字段用来保存该题目所以的选项信息,每个选项用&$&这个特殊字符串隔开,同样的,在q_result中保存的调查结果信息用逗号隔开,在q_jdtz中保存的截断跳转信息用&隔开。核心实体包括:问卷(SURVEY),问题(QUESTION),答卷(ANSWERSHEET),还有保存用户输入的文本的文本输入项实体(TEXT),管理员表(ADMINS),友情链接表(LINK),系统配置表(CONFIG)。1.SURVEY(问卷表):表示问卷的基本信息。表如下所示:表5-1 问卷表(SURVEY)字段名类型可否空含义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创建时间续表5-1 问卷表(SURVEY)字段名类型可否空含义S_ipLimitTypeVarchar(100)yesIP限制类型,预留字段未使用S_ipRangeVarchar(2000)yesIP限制范围,格式如下:“白名单:-54;黑名单:-”S_passwordVarchar(100)yes访问密码S_isOpenBit(1)yes是否开放,即是否显示在首页S_expireDateDatetimeyes过期日期S_isAuditedBit(1)yes是否审核通过S_hitsNumericyes点击访问次数,未使用S_usehitsNumericyes答卷张数2.question(题目表):表示题目的基本信息。表如下所示:表5-2 题目表(question)字段名类型可否空含义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.answersheet(答卷表):表示答卷的基本信息。表如下所示:表5-3 答卷表(answersheet)字段名类型可否空含义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用户IP4.admins(管理员表):表示管理员的基本信息。如下表所示:表5-4 管理员表(admins)字段名类型可否空含义a_idNumeric(18,0)主键用户ida_userVarchar(50)no用户名a_passVarchar(50)no用户密码a_nameVarchar(50)no用户姓名a_isLockBit(1)no是否锁定a_lastLogTimeDetetime(null,3)no最后登录时间a_logTimeNumeric(18,0)no登陆次数a_loginIpVarchar(50)no登陆IP地址a_addTimeDetetime(null,3)no添加时间a_emailVarchar(50)no邮箱地址a_InfoVarchar(1000)no用户信息5.Link(友情链接表):表示友情链接的详细信息。如下表所示:表5-5 友情链接表(Link)字段名类型可否空含义l_idNumeric(18,0)主键链接IDl_urlVarchar(500)no链接地址l_nameVarchar(50)no链接名字l_imgVarchar(500)no链接图片l_infoVarchar(1000)no链接信息l_isLockBit(1)no是否锁定l_addtimeDetetime(null,3)no添加时间6.config(系统配置表):表示系统配置的详细信息。如下表所示:表5-6 系统配置表(config)字段名类型可否空含义c_idInt(10)主键网站IDc_siteNameVarchar(500)no网站域名c_siteUrlVarchar(500)no网站URLc_isOpenBit(1)yes网站开关c_closeWordVarchar(1000)yes关闭原因c_copyRightVarchar(500)yes版权信息6 系统详细设计与实现6.1系统使用的框架和技术对于本系统而言,使用MVC架构模式进行开发,主要使用了Jsp,Servlet,JavaBean,在开发过程中使用了JavaScript等技术。Web前端层的设计和实现中,充分利用的JavaScript的强大控制功能,并且在页面上采用了Div+Css组合设计方法,Jsp页面用来响应用户的请求,主要完成界面的显示功能。Javabean主要完成与数据库的交互。Servlet主要完成控制上的功能,决定给用户显示哪个Jsp页面,哪些内容要保存在数据库。在系统后台,页面采用框架布局,页面上面显示Banner等信息,左边显示菜单,中间显示操作页面。6.2系统流程在线问卷调查系统的系统流程图如下6-1、6-2、6-3所示:图6-1管理员管理流程图图6-2 问卷添加流程图图6-3 填写问卷流程图6.3 关键模块代码及页面6.3.1 问卷添加模块当管理员进入在线问卷调查系统以后,就可以根据自己的初衷去添加问卷,以了解用户对自己产品的需求,用户对社会某一现象的看法或者对某一项措施实施之前的的意见,等等。首先点击“添加问卷”以后,会出现以下界面(图6-4),按要求录入相应的数据,还可以对该问卷调查添加图片,以便在首页显示,这样既美观又从图片看出本问卷调查的主题。问卷密码的设置还可以阻止个别被调查者人为的破坏此次问卷调查,确保数据的真实有效性。设置访问IP限制:可以只针对某个特定的群体做出问卷调查,避免其他IP的登陆。图6-4 添加问卷点击“完成”,跳转到问卷设计页面,界面会显示出当前系统中的所以问卷,管理员找到相应的问卷后,点击“预览”后,提示“该问卷未通过审核”,因为该问卷尚未添加题目,没有得到管理员的认同(如图6-5所示)。问卷可以设置不同类型的题目,单选题、多选题、带文字输入的单选题、带文字输入的多选题、问答题。这些题目类型可以满足任何问卷调查,所以不必担心在设置问卷调查题目时因为题目类型所出现的各种问题,给调查者带来方便,节省了大量时间。图6-5 添加题目核心代码如下:package com.ec.survey.ctrl;import java.io.IOException;.public class SurveyManage extends HttpServlet private static final long serialVersionUID = -1737458302140188798L;public SurveyManage() super();public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException PrintWriter out=response.getWriter();String mutex1=;String mutex2=;if(AddSurvey.equals(request.getParameter(op)SurveyDAO surveydao=DAOFactory.getSurveyDAO(); Survey survey=new Survey();survey.setSName(request.getParameter(Survey_name);survey.setSAuthor(request.getParameter(Survey_author);survey.setSDesc(request.getParameter(Survey_description);survey.setSCreateDate(new Date();SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd);response.sendRedirect(./admin/SurveyAudi.jsp); survey=surveydao.findSurvey(Long.valueOf(request.getParameter(Survey_id);survey.setSName(request.getParameter(Survey_name);survey.setSAuthor(request.getParameter(Survey_author);survey.setSDesc(request.getParameter(Survey_description);SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd);try survey.setSExpireDate(sdf.parse(request.getParameter(Survey_ExpireDate); catch (ParseException e) out.println(wrong DATE format.please check it!);survey.setTemplet(0L);survey.setSIpRepeat(Boolean.valueOf(request.getParameter(Survey_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年江苏省南通市崇川区下册期末考试八年级数学试题 含答案
- 2026年湖南省韶山市高二生物下册期末考试试卷(综合卷)附答案
- 2025年湖北省大冶市高二生物下册期末考试模拟卷(考点精练)附答案
- 2025年黑龙江省尚志市高二生物下册期末考试检测卷含完整答案【名师系列】
- 2026年安徽省明光市高二生物下册期末考试试卷附参考答案【培优B卷】
- 2026年海南省五指山市高二生物下册期末考试试卷【考点精练】附答案
- 2026年四川省简阳市高二生物下册期末考试模拟卷(必刷)附答案
- 2026年河北省涿州市高二生物下册期末考试检测卷【考点梳理】附答案
- 2026年广东省吴川市高二生物下册期末考试测试卷及答案【基础+提升】
- 2025年黑龙江省虎林市高二生物下册期末考试试卷(有一套)附答案
- 脑机接口科普
- 2025年广东省自考《审计学原理06069》真题和答案
- 血行播散型肺结核护理查房
- 北京市城市协管员笔试题库及答案
- 上海第三女子初级中学七年级下册数学期末试卷真题汇编解析版
- 韩语文化学习的心得体会
- 小儿人工洗胃法的护理
- 医院保洁服务体系与实施策略
- 异物毛发控制管理办法
- 22J403-1楼梯栏杆栏板
- 八年级暑假前家长会课件
评论
0/150
提交评论