jsp在线调查管理系统mysql论文_第1页
jsp在线调查管理系统mysql论文_第2页
jsp在线调查管理系统mysql论文_第3页
jsp在线调查管理系统mysql论文_第4页
jsp在线调查管理系统mysql论文_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书在线问卷调查系统学生姓名:学号: 学院: 函授站点: 专业: 辅导老师: 2012年10月第一章:绪论随着计算机技术的飞速发展,利用计算机来获取和处理信息是当今信息管理的一大特点。基于web系统作为最普遍最实用的系统,其管理现代化、信息化,对整个社会起着巨大的推动作用。早期的问卷调查很不方便,需要大量的人力和财力,而却只能在相对局部的的区域里,对于不同的调查相对的人群也会有变化,针对性不强,因为数据量很大,信息的提取比较复杂,所以以前的问卷调查很少,只有发现了问题之后,才能知道问题的原因。当今的社会已经是一个信息时代,只有在第一时间获得有效的信息,才能在社会上立足。网上问卷调查系统正好弥补了这个缺陷,网上问卷调查现在已经成为了解社会状况的一种有效的方式,你只要在网上搜索调查,会有成万的相关记录,企业能及时的了解客户的需求,也能得到产品的优点和缺点,及时的了解信息,及时的处理问题是现在社会竞争中胜出的条件。1.1问卷调查的特点问卷调查对象是经过思考之后才对问卷做出反应的。这有助于获得真实、准确的资料。但是,往往由于受试者发现了某些属于敏感性的问题而加以回避,从而拒答或回答不真实。这就会造成问卷回收率下降,或者资料可靠性下降,而研究者又无法作进一步的追索,单从回收的答卷上又无法判断答案的真伪,使回收的问卷失去了价值。因此,设计好问题,合理地安排问题顺序是问卷设计的重要任务。问卷调查适应于大样本或小样本的情况。问卷调查与访问调查情况不同,访问调查必须面对面地提出问题,收集口述材料。由于人力、财力的原因,调查的样本数不可能太多,调查的地域不可能太广。而问卷调查是依赖调查对象自我填答,问卷可以通过邮寄分发,也可以面对面分发。因此样本数可多可少,有时仅选数十人作问卷调查,有些课题,样本则多达数千以至过万人。有利于获得定量资料。问卷调查不仅能取得数量标志的数量资料,还可以获得有关属性、品质、态度为标志的计数资料。这些资料都能通过统计处理的方法进行量化分析,使结果更为客观、真实、系统、科学化,提高了研究结果的水平。随着计算机网络的发展,网上问卷调查慢慢占据了主导地位。他解决了人工问卷的很多问题。是问卷调查更加容易和便利。1.2网上问卷调查的特点(1)问卷法调查结果容易量化调查的问题可以固定的形式,避免主观偏见。(2)问卷调查结果便于统计与分析,节省了处理结果的时间。(3)问卷调查可以进行大规模的调查,使结果更有参考价值。(4)问卷调查以政府、企业等为主体,具有普遍性。(5)问卷的结果可以持久的保存,作为将来的参考。1.3网上问卷的基本解决方案尽量消除被调查者的警戒心理,拉近与被调查者距离的原则。防御心是人性最自然的一面,在被调查者接触到问卷调查时,第一个反映就是考虑填写问卷对自己有什么坏处或者好处;对于销售网络状况调查来说,被调查的零售商更是有这一层的顾虑,害怕问卷的填写不当直接会影响到后期的生意发展,因此如果不能消除被调查者的警戒心理,拉近与被调查者的距离是很难得到真实、可靠的信息反馈。避免尖锐性的问题,以免引发被调查者的情绪过度波动而造成不利影响。内容尽量做到精简,避免重复和过分烦琐。从被调查者填写问卷的心理变化分析来看,被调查者刚开始填写问卷应该是以好奇和仔细为主,随着填写时间的延长,好奇心逐步衰减,而烦躁的心情却逐渐滋生出来,所以为了保持问卷填写的高质量,问卷的内容应精简、有力。问卷回答格式应适合信息的汇总和分析。回答格式应适合信息的汇总和分析可能对于很多调查者来说是比较陌生的,从统计和分析的角度来看,假如采取杂乱无章的回答设计方法,调查结果所收集的问卷成千上万,对问卷的内容进行归类、分析就比较困难了,所以在设计问卷回答格式的时候,就要考虑到对于问卷的问题采取什么样的方法进行分析。第二章:相关技术介绍2.1JAVA语言介绍任何事物的产生既有必然的原因也有偶然的因素,java语言的出现也验证了这一点。1991年,美国SunMicrosystems公司的某个研究小组为了能够在消费电子产品上开发应用程序,积极寻找合适的编程语言。消费电子产品种类繁多,包括PDA、机顶盒、手机等等,即使是同一类消费电子产品所采用的处理芯片和操作系统也不相同,也存在着跨平台的问题。当时最流行的编程语言是C和C++语言,Sun公司的研究人员就考虑是否可以采用C++语言来编写消费电子产品的应用程序,但是研究表明,对于消费电子产品而言C++语言过于复杂和庞大,并不适用,安全性也并不令人满意。于是,BillJoy先生领导的研究小组就着手设计和开发出一种语言,称之为Oak。该语言采用了许多C语言的语法,提高了安全性,并且是面向对象的语言,但是Oak语言在商业上并未获得成功。时间转到了1995年,互联网在世界上蓬勃发展,Sun公司发现Oak语言所具有的跨平台、面向对象、安全性高等特点非常符合互联网的需要,于是改进了该语言的设计,要达到如下几个目标:(1)创建一种面向对象的程序设计语言,而不是面向过程的语言;(2)提供一个解释执行的程序运行环境,是程序代码独立于平台;(3)吸收C和C++的优点,使程序员容易掌握;(4)去掉C和C++中影响程序健壮性的部分,使程序更安全,例如指针、内存申请和释放;(5)实现多线程,使得程序能够同时执行多个任务;(6)提供动态下载程序代码的机制;(7)提供代码校验机制以保证安全性;最终,Sun公司给该语言取名为java语言。JAVA语言的特点如下[2]:(1)简单、面向对象和为人所熟悉java的简单首先体现在精简的系统上,力图用最小的系统实现足够多的功能;对硬件的要求不高,在小型的计算机上便可以良好的运行。和所有的新一代的程序设计语言一样,java也采用了面向对象技术并更加彻底,所有的java程序和applet程序均是对象,封装性实现了模块化和信息隐藏,继承性实现了代码的复用,用户可以建立自己的类库。而且java采用的是相对简单的面向对象技术,去掉了运算符重载、多继承的复杂概念,而采用了单一继承、类强制转换、多线程、引用(非指针)等方式。无用内存自动回收机制也使得程序员不必费心管理内存,是程序设计更加简单,同时大大减少了出错的可能。java语言采用了C语言中的大部分语法,熟悉C语言的程序员会发现java语言在语法上与C语言极其相似。(2)鲁棒并且安全java语言在编译及运行程序时,都要进行严格的检查。作为一种强制类型语言,java在编译和连接时都进行大量的类型检查,防止不匹配问题的发生。如果引用一个非法类型、或执行一个非法类型操作,java将在解释时指出该错误。在java程序中不能采用地址计算的方法通过指针访问内存单元,大大减少了错误发生的可能性;而且java的数组并非用指针实现,这样就可以在检查中避免数组越界的发生。无用内存自动回收机制也增加了java的鲁棒性。作为网络语言,java必须提供足够的安全保障,并且要防止病毒的侵袭。java在运行应用程序时,严格检查其访问数据的权限,比如不允许网络上的应用程序修改本地的数据。下载到用户计算机中的字节代码在其被执行前要经过一个核实工具,一旦字节代码被核实,便由java解释器来执行,该解释器通过阻止对内存的直接访问来进一步提高java的安全性。同时java极高的鲁棒性也增强了java的安全性。(3)结构中立并且可以移植网络上充满了各种不同类型的机器和操作系统,为使java程序能在网络的任何地方运行,java编译器编译生成了与体系结构无关的字节码结构文件格式。任何种类的计算机,只有在其处理器和操作系统上有java运行时环境,字节码文件就可以在该计算机上运行。即使是在单一系统的计算机上,结构中立也有非常大的作用。随着处理器结构的不断发展变化,程序员不得不编写各种版本的程序以在不同的处理器上运行,这使得开发出能够在所有平台上工作的软件集合是不可能的。而使用java将使同一版本的应用程序可以运行在所有的平台上。体系结构的中立也使得java系统具有可移植性。java运行时系统可以移植到不同的处理器和操作系统上,java的编译器是由java语言实现的,解释器是由java语言和标准C语言实现的,因此可以较为方便的进行移植工作。(4)高性能虽然java是解释执行的,但它仍然具有非常高的性能,在一些特定的CPU上,java字节码可以快速的转换成为机器码进行执行。而且java字节码格式的设计就是针对机器码的转换,实际转换时相当简便,自动的寄存器分配与编译器对字节码的一些优化可使之生成高质量的代码。随着java虚拟机的改进和"即时编译"(justintime)技术的出现使得java的执行速度有了更大的提高。(5)解释执行、多线程并且是动态的为易于实现跨平台性,java设计成为解释执行,字节码本身包含了许多编译时生成的信息,使连接过程更加简单。而多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,互不干涉,不会由于某一任务处于等待状态而影响了其它任务的执行,这样就可以容易的实现网络上的实时交互操作。java在执行过程中,可以动态的加载各种类库,这一特点使之非常适合于网络运行,同时也非常有利于软件的开发,即使是更新类库也不必重新编译使用这一类库的应用程序。2.2J2EE企业级开发介绍Web应用开发者需要编写企业级的分布式的事务处理应用程序[3],而这些应用程序必须可以发挥速度、安全性和服务器端技术的可靠性。企业级的应用程序必须具有以下特点:花费更少的金钱、具有更快的速度、占用更少的资源。为了减少费用,快速设计和开发企业级的应用程序,Java2Platform,EnterpriseEdition(J2EE)技术提供了一个基于组件的方法来设计、开发、装配和部署企业级应用程序。J2EE平台提供了一个多层结构的分布式的应用程序模型[4],该模型具有重用组件的能力、基于扩展标记语言(XML)的数据交换、统一的安全模式和灵活的事务控制。你不仅可以比以前更快地发表对市场的新的解决方案,而且你的独立于平台的基于组件的J2EE解决方案不再受任何提供商的产品和应用程序编程界面(APIs)的限制。提供商和买主都可以自己选择最合适于它们的商业应用和所需技术的产品和组件。2.4Struts2简介Struts2既然是从Struts1发展而来,但实际上Struts2与Struts1在框架的设计思想上面还是有很大的区别,Struts2是以WebWork的设计思想为核心,为什么Struts2不沿用Struts1的设计思想,毕竟Struts1在目前的企业应用中还是有非常大的市场在的,那么,来看下Struts1的一些缺点吧:(1)支持的表现层技术单一(2)与ServletAPI严重耦合,这点可以从Action的Execute的方法声明里面就可以看的出来(3)代码依赖Struts1API,有侵入性,这点可以从写Action类和FormBean的时候看的出来,Action必须实现Struts的Action类而Struts2之所以以WebWork的设计思想为其核心,一点就是最近WebWork的上升势头,再就是WebWork没有Struts1上面的那些缺点,更符合MVC的设计思想,也更利于代码的复用。基于以上介绍可以看的出,Struts2体系结构与Struts1的体系结构有很大的差别,Struts1是使用ActionServlet做为其中心处理器,Struts2则使用一个拦截器(FilterDispatcher)做为其中心处理器,这样做的一个好处就是将Action类和ServletAPI进行了分离。Struts2的简单处理流程如下:(1)浏览器发送请求(2)中心处理器根据struts.xml文件查找对应的处理请求的Action类(3)WebWork的拦截器链自动对请求应用通用功能,例如:WorkFlow、Validation等功能(4)如果Struts.xml文件中配置Method参数,则调用Method参数对应的Action类中的Method方法,否则调用通用的Execute方法来处理用户请求(5)将Action类中的对应方法返回的结果响应给浏览器2.5Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration.这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession.这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session.SessionFactory接口:SessionFactroy接口负责初始化Hibernate.它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory.Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFacTransaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2.6Spring简介传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现WriteOnce及RunAnywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务、事务处理等。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。(1)目的:解决企业应用开发的复杂性。(2)功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能。(3)范围:任何Java应用。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。①轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。②控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。③面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。④Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。⑤框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。(4)特点①方便解耦,简化开发通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。②AOP编程的支持通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。③声明式事务的支持在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。④方便程序的测试可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。⑤方便集成各种优秀框架Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。⑥降低JavaEEAPI的使用难度Spring对很多难用的JavaEEAPI(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些JavaEEAPI的使用难度大为降低。⑦Java源码是经典学习范例Spring的源码设计精妙、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践范例。2.7MVC设计模式概述MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是XeroxPARC在20世纪80年代为编程语言Smalltalk—80发明的一种软件设计模式,至今已被广泛使用,最近几年被推荐为Sun公司J2EE平台的设计模式,受到越来越多的Web开发者的欢迎。(1)MVC设计模式MVC是一种设计模式[9],它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分为三个核心模块:模型、视图和控制器,它们分别担任不同的任务。如下图显示了这几个模块各自的功能以及它们的相互关系。视图:视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。模型:模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。方法调用〈控制器〉方法调用〈控制器〉接受用户请求调用模型响应用户请求选择视图显示响应结果〈视图〉显示模型状态接受数据更新请求把用户输入数据传输给控制器〈模型〉代表应用程序状态响应状态查询处理业务流程通知视图业务状态更新事件图2.1MVC视图控制器:控制器接收用户输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。MVC的处理过程如下:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后根据用户请求并进行相应的业务处理,并返回数据,最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。(2)MVC的优点和不足MVC的优点表现在以下几个方面:可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。MVC的不足表现在以下几个方面:增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。

第三章系统的设计3.1系统架构设计为了是系统能够方便的使用,降低系统维护成本,提高使用效率,本系统采用B/S架构实现,实施只需要将系统部署到一台专用服务器上,其他客户机通过浏览器即可访问操作本系统,降低系统开销和维护成本。本系统选用J2EE平台开发实现。选用当前主流开发框架,详细系统架构图如图3.1系统框架图:图3.1系统框架图由系统框架图也可以看出本系统的框架结构。本系统采用的是主流的框架结构即SSH架构,所谓SSH是目前业界比较流行的架构,SSH分别代表了Struts、Spring、Hibernate。其三者的搭配已成为软件开发的经典。其中Struts用户配合页面的展现,也做控制转发,Spring则通过依赖注入对整个应用进行管理。而Hibernate则主要负责持久化操作。从框架图可以看出,本系统将采用MySql数据库做数据存储,而数据库也位于整个系统的最底层,其上则是整个系统的业务层,位于数据库之上的则是对数据操作的Hibernate,主要负责数据的持久化,再往上则是用于配合界面显示的控制层Struts,而贯穿于整个业务层的则是Spring,它主要通过依赖注入的方式管理整个业务层对象的生命周期。在业务层之上则是HTML、JavaScript等页面显示部分,用来给用户呈现结果。作为View部分。当用户在界面上做任何操作,都先进入Struts中,由Struts获得用户的输入,根据业务需求,再决定调用哪个业务类,而不需要界面中直接调用业务类,降低了页面的复杂度,也实现了界面与业务的分离。Struts根据用户的请求,使用Spring注入的业务类,调用相应的业务类,这样实现了系统业务功能的模块化。增加了系统的可读性。各个业务模块根据输入不同调用相应的Hibernate进行数据操作。实现了业务与数据操作相分离,增加了系统的模块化,降低系统的耦合度,同时增加了系统的可扩展性,以后根据需要可以使用其他数据库而不需要更改业务逻辑。本系统严格按照MVC思想进行架构的搭建和设计,从对系统架构图的分析来看,本系统的架构合理,符合MVC思想,实现了业务与控制的解耦合。也大大提高了系统的可扩展性。因此可以严格按照此架构进行系统的开发工作。3.2系统模块设计在线调查问卷系统是一个基于网络的数据采集系统[2],这个系统的主要目的就是通过在线问卷调查来获取大众的信息,这些信息要经过处理并且及时的存储起来。本系统支持将数据库文件导入至相关的统计分析软件进行统计分析,同时系统还要求用户能够在线编辑问卷,同时也能够跟踪问卷调查的情况等,在被访者访问问卷后,用户还能够看到当前各项选项的支持情况。根据对在线调查系统的分析,基本确定在线调查主要包括在线调查模块、用户管理模块、问卷管理模块等三大模块。具体系统的基本架构图如图3.2系统基本架构图:图3.2系统基本架构图3.2.1登录功能对与本系统的使用有两种授权方式,一种是匿名方式、一种是认证方式,所谓匿名即任何用户都可以访问,不需要登录本系统,例如参与在线投票即为匿名方式。认证方式指需要注册成为本系统的用户或者系统的管理员,通过登录之后才能访问的方式。用户登录本系统之后可以使用本系统发布一些新的问卷调查,管理员可以审核用户发布的在线调查,审核通过的调查可以被显示在网站上,任何通过网络访问的本系统的用户都可以参与投票。用户也可以查看自己发布问卷的投票结果。3.2.2用户管理所谓系统用户指的是通过注册成为的本系统用户,注册成为本系统的用户之后,用户便可以通过本系统创建属于自己的在线问卷,发布调查自己需要调查的问题。通过本平台提供了以个方便快结的问卷调查发布与管理的平台,但是对于注册用户是有一定的要求的,即用户发布的问卷必须符合本网站的规定,网站管理员可以对注册的用户进行管理,也可以删除一些长时间不登录的用户,为有需要的用户提供良好的服务。3.2.3问卷管理系统的用户登录本系统之后,可以根据自己的需要发布自己的问卷,调查自己需要调查的问题。因此,用户可以对自己发布的问卷进行管理。用户登录本系统之后可以查看自己发布的问卷,查看问卷的调查结果,此结果可以以饼图或者柱状图的方式展现。用户也可以停止一些问卷的调查,对于一些过期的问卷,用户还可以选择删除以节约系统的资源。3.2.4问卷审核系统用户登录后可以创建自己的问卷,添加自己需要调查的问题,但是此问卷并不能直接被用户所投票,所有问卷在创建完之后都要通过管理员审核才可以,审核通过的问卷可被发布到首页上等待用户投票,用户也可以管理该问卷。如果问卷审核失败,则不能发不到首页上,用户需要修改后重新提交等待管理员审核。3.3数据库设计3.3.1数据库结构设计E-R图即实体-关系图(Entity-RelationDiagram),是用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的E-R图模型。通常将它简称为E-R图,相应地可把用E-R图描绘的数据模型称为ER模型。ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。E-R图体现了系统数据存储的架构以及系统的设计思想,创建E-R图的过程也就是从需求到数据表的设计过程,E-R图也是系统设计的结晶,如图3.3系统E-R图。图3.3系统E-R图3.3.2数据库详细设计系统用户表存储所有系统用户的相关信息,包括用户姓名、性别、用户名、密码等相关信息,具体见表3.1系统用户表。表3.1系统用户表名称代码数据类型是键默认值注释用户IDU_IdintTRUE用户姓名U_TrueNamevarchar(50)FALSE性别U_Gendervarchar(50)FALSE登录用户名U_LoginNamevarchar(50)FALSE登录密码U_Passwordvarchar(50)FALSE是否是管理员U_IsManagerbitFALSE问卷表可以存放所有的调查问卷,每个用户登录后创建的问卷都会通过此表进行保存,具体包括了问卷的标题、问卷内容、选项数据、问卷状态等相关信息,具体见表3.2问卷表。表3.2问卷表名称代码数据类型是键默认值注释问卷IDV_IdintTRUE用户IDU_IdintTRUE问卷标题V_Titlevarchar(50)FALSE问卷内容V_Contentvarchar(100)FALSE选项数目V_ItemCountintFALSE投票数量V_TotleSupportNumintFALSE问卷状态V_Statusvarchar(50)FALSE创建时间V_CreateTimedatetimeFALSE问卷选项表记录了每个问卷的所有选项,以及支持票数,具体包括选项名称、支持人数等相关信息。详细见表3.3问卷选项表。表3.3问卷选项表名称代码数据类型是键默认值注释选项IDI_IdintTRUE问卷IDV_IdintTRUE选项名称I_ItemContentvarchar(100)FALSE支持人数I_SupportNumintFALSE第四章系统的实现4.1注册登录本系统为在线问卷调查系统,设计到的用户有授权用户,也有匿名用户,匿名用户可以不登录本系统即可参与本系统的一些问卷调查。但是如果希望通过本系统来发布自己的一些调查内容的话就必须成为本系统的授权用户才可以。用户通过用户注册的方式成为本系统的用户,具体如图4.1用户注册图。图4.1用户注册图系统用户可以通过登录本系统的方式来管理自己的问卷。即可以创建自己的问卷可以发布自己的问卷,通过图表的方式展现自己问卷的调查结果,具体用户登录见图4.2用户登录图。图4.2用户登录图4.2问卷管理用户登录本系统后可以管理自己的问卷。可以创建属于自己的问卷,可以以删除已经创建的问卷或者结束正在进行的问卷,具体添加问卷的方法见图4.3添加问卷。图4.3添加问卷4.3问卷审核所有用户在创建问卷之后都不能直接被用户看到,如果要想让所有用户都能参与投票,就必须需要管理元进行审核,当管理员审核通过之后就可以将已经审核通过的问卷发不到网络,由匿名用户进行投票,

温馨提示

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

评论

0/150

提交评论