网上调查系统_第1页
网上调查系统_第2页
网上调查系统_第3页
网上调查系统_第4页
网上调查系统_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计设计题目 网 上 调 查 系 统 学生姓名 学 号 专业班级 指导教师 院系名称 20 年 月 日目录摘要1Abstract2第 1 章 绪论31.1 开发背景31.2 课题研究的内容及意义31.3 国内外发展状况31.3.1 国外方面31.3.2 国内方面41.4 系统需要解决的主要问题41.5 论文的组织结构4第 2 章 相关技术综述62.1 J2EE概述62.2 MVC模式简介82.3 SSH(Struts+Spring+Hibernate)框架简介92.4 JSP简介92.5 Eclipse简介102.6 Tomcat简介112.7 MySQL简介11第 3 章 系统分析与概要设计123.1 系统分析123.1.1 需求分析123.1.2 业务流程分析133.1.3 可行性分析143.2 系统设计153.2.1 系统总体结构153.2.2 持久层设计与实现163.2.3 业务逻辑层的设计与实现19第 4 章 系统详细设计与实现214.1 模块用例图214.1.1 制定调查基本信息用例214.1.2 制定调查子项目用例224.1.3 注册用户用例234.1.4 登录系统用例244.1.5 参加调查用例254.1.6 查看调查结果用例264.2 系统功能的具体实现264.2.1 整体包结构图264.2.2 系统各文件功能说明274.2.3 系统部分主要功能的实现284.3 用于获取数据库连接的实用方法384.4 编写配置文件dispatcherServlet-servlet.xml39第 5 章 总结415.1 本系统的特点415.2 本系统存在的不足415.3 心得体会41参考文献42致谢433摘要在校园、机关或企业里,由于各种调查研究的需要,经常会有各种各样的调查问卷,在传统模式下,人们不但要花费不少的费用印刷问卷,而且还要消耗大量时间和精力发放问卷,回收问卷,统计问卷,并且问卷可控性差,容易产生漏卷,废卷等问题。本系统建立在信息技术基础上,构建一个在线的问卷设计、分发、调查、回收、统计的系统,基本解决传统问卷的上述问题。本文首先介绍了问题的背景、相关技术背景,接着提出问题,并针对具体项目展开需求调查分析,再基于需求设计出具体的方案,对整个系统进行了详细的分析和设计,在设计与实现过程中,结合源代码具体的描述出整个项目的开发过程。其次对J2EE体系架构作了简要介绍;然后讨论了设计模式在面向对象软件开发过程中的重要作用,阐述了在J2EE平台下开发应用程序的一些常用的设计模式,以及如何使用这些设计模式来对一个问卷调查系统项目进行设计;接着讨论了应用程序框架的概念以及使用应用程序框架开发业务应用程序所带来的优势,最后研究和设计了一个建立在J2EE平台上的通用框架。从而建立了一个能够快速开发业务应用程序的开发环境。本系统使用Eclipse作为开发工具,根据实际需求,采用模块化的设计思想,在Windows7操作系统环境下,采用Spring+Hibernate的架构,通过使用Java脚本语言完成动态的、交互的Web服务器应用程序,实现了问卷发布、填写、统计等功能。关键词:问卷调查;Eclipese;模块化;Spring;Hibernate;AbstractOn 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.This paper firstly introduces the background of the problem ,the related technical background , then put forward the question, and launches the demand investigation and analysis according to the specific project requirements, then design a based on specific scheme , a detailed analysis and design of the whole system, in the course of design and realization, and describes the source code of the whole development process of the project .Next,the paper introduces J2EE architecture, and then, the importance of design patterns and the advantage of developing object-oriented application using design patterns are discussed. With following, some important design patterns used on J2EE architecture are described, and the way how to use these design patterns to design an enterprise management information system is introduced. Finally, the papers make a research and a design of a common framework established on J2EE platform.The system uses Eclipse as the development tool, according to the actual demand, uses the modular design thought, in the Windows7 operating system environment, build the Spring+Hibernate movement environment, through the JAVA scripting language to complete dynamic, interactive web server application, achieve the questionnaire publish, fill, statistics and other functions.Keyword:Questionnaire survey ; Eclipse ; Modularity ; Spring;Hibernate第 1 章 绪论1.1 开发背景在当前的各类企业网站中,通常都需要提供有相应的网络调查功能,以便收集广大客户的意见或看法。类似的,在企业对有关问题(如客户的意见、售后服务的满意程度、产品改进要求等)进行调查研究时,也可通过网络调查的方式实时高效地获取客户反馈信息,作为决策制定的参考依据。1.2 课题研究的内容及意义随着INTERNET的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争越发激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,而应把范围扩展到全国,甚至全世界,Internet恰恰是实现这目标的有利工具。对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单位,故一个网上在线调查问卷系统应运而生,它正好充分满足客户的需求,信息反馈的范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强大的资本。开发此调查问卷系统是为了更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,从而提高信息的准确性。运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力。1.3 国内外发展状况1.3.1 国外方面美国的网络调查应用居于领先地位,主要应用在医药卫生、教育、商业、政府机构等领域。一份研究报告发现,在美国,市场营销人员和信息系统人员是使用网络调查最多的群体。例如SurveyMonkey网络调查,该网站目前在知名的Alexa全球流量排名是488,在美国的流量排名是191。其使用者多数为受过高等教育、介于35-65的职业妇女,约有4%的用户是通过搜索引擎访问该网站。国外近年较为典型的网络调查应用是:美国AMD公司进行网络调查评选划时代意义的伟大成就;日本通过网络调查了解到其国民有5%患有强迫症;耶鲁大学把网络调查应用到调查竞选的商业活动中。1.3.2 国内方面我国网络调查的主要应用领域有:网上市场调查、网上民意调查、网上敏感性问题调查、网络基础数据调查等等。中国互联网络信息中心(CNNIC)每年两次(1月和7月中旬)所发布的中国互联网络发展状况统计报告中的大部分信息也都是通过在线调查的方式获得的。调查的内容包括用户的上网习惯、个人资料和对互联网领域的一些热点问题的看法等等,然后通过对这些调查数据的整理,形成了内容丰富的调查报告。CNNIC的在线调查已成为最有影响力的网上调查之一。由此可见网上调查的重要价值。到目前为止,我国已经有一部分企业网站具备在线调查功能,也出现了很多专业的在线调查问卷系统。例如天会调研宝等在线自助调研网站,作为专业的在线问卷调查平台,为用户提供了在线问卷编辑,分析调查结果,在线查看报告等功能模块。1.4 系统需要解决的主要问题开发出的系统应具备很强的开放性和扩展性。本系统实现一个在线调查问卷WEB站点,能够方便、灵活地对调查问卷资料进行查询、统计等操作7。所有这些对数据库进行的操作都受到管理级别的限制。本项目可有效快捷地管理调查问卷,提供必需的统计、管理信息,使信息更为准确、快捷、易查。 该系统将具有以下功能特点:(1)使用方法简单易操作。不需要IT专业技能,问卷的生成、投放、调查结果分析简单易用。 (2)能对调查问卷的结果进行分析汇总。需求者可以第一时间了解调查结果并可以根据条件进行筛选。(3)向Internet用户提供交互式、个性化的问卷调查服务,具有问卷搜索等功能。 (4)系统设计人性化,维护方法简单,具有自动纠错功能。1.5 论文的组织结构本文介绍的是基于J2EE的通用网络调查问卷系统,全文共分5章,分别如下:第一章:对此系统的功能进行了总体的概述,并对论文结构以及开发背景和意义作了简要的介绍。第二章:基本原理及技术介绍部分。简单介绍了与该项目有关的技术知识:J2EE概念,MVC框架模式,以及Eclipse+Tomcat+MySQL开发工具的简介。第三章:系统分析与概要设计,介绍了本系统框架设计的具体实施流程,以及视图层、持久层,业务逻辑层的详细设计。第四章:描述了系统的具体设计,包括关键功能的实现及分析,获取数据库连接的使用方法,以及重点疑难问题的解决。第五章:总结本系统的设计,并讨论了系统不足及改进之处。第 2 章 相关技术综述本系统采用MVC结构模式。使用Java语言编程并运用JSP技术。开发工具使用Eclipse JavaEE,Web应用服务器Tomcat 6.0,后台数据库是瑞典MySQL AB公司开发的MYSQL。2.1 J2EE概述随着Internet的迅速发展,作为一门新兴的语言,Java以其完全面向对象的设计风格和良好的平台无关性,已经超越了语言本身的功能,成为了开发Web应用的理想平台。Java平台包括了一种用于实现Java对象的语言和这些Java对象的运行环境Java虚拟机JVM(Java Virtual Machine)。Java语言的主要特点是平台无关性:在一个操作系统下开发的Java对象可以不做修改的运行在另外一个操作系统的JVM上。JVM封装了各种底层操作系统在体系结构和语义上的差异,在此基础上为Java对象提供了一个统一的运行环境。Java对象的源代码被编译为平台无关的中性代码字节码。在运行时刻,字节码由JVM进行解释,被映射为真正的相关的操作系统调用而得以执行功能。因此,只要是100%纯Java语言实现的对象可以被各种具有相应JVM的操作系统所支持。Sun公司的J2EE架构是在1997年的Java One大会上宣布的,J2EE定义了开发和运行企业级Web应用的标准。它是一组规范,旨在为支持Java语言服务器端部署而提供平台无关的、可移植的、多用户的、安全的和标准的企业级平台。伴随J2EE的出现,Java语言的功能和工具得到了极大的扩充、丰富和发展,可以用于复杂的、多层次的以及分布式的电子商务和企业级应用。J2EE构架与技术为组件开发模型提供广泛的支持,同时也提供一组开发工具和服务,以便开发模块化的、可重用的和平台独立的各种组件技术的业务逻辑。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分钟的停机时间,这是实时性很强商业系统理想的选择。J2EE是开发分布式企业级应用程序的中间件平台。J2EE技术很好地解决了传统二层体系架构带来的弊端;而且它也被许多提供企业应用软件的国际领先厂商所支持,拥有众多的支撑与应用资源,发展越来越成熟,因此在可以预见的将来具有很好的应用前景。通过使用J2EE开发平台,大大简化了应用程序的编程代码量,部分地免去了编程的复杂性,提高了软件的生产效率和可维护性。因此,通过使用J2EE架构,可以快速地开发出高质量的企业级应用软件。2.2 MVC模式简介模型视图控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式。MVC结构提供了一种按功能对各种对象进行分割的方法,它强制性地使应用程序的输入、处理和输出分开,所以依据这种设计思想能够构造良好的松耦合的构件。使用MVC的应用程序被分成三个核心构件:模型、视图、控制器。它们各自处理自己的任务。 视图:视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services. 如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 模型:模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。 MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。2.3 SSH(Struts+Spring+Hibernate)框架简介集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。2.4 JSP简介JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易11。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.5 Eclipse简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。2.6 Tomcat简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选14。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet15。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为7.0.39。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。2.7 MySQL简介与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本16。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP/Perl/Python)和LNMP(Linux+Nginx+MySQL+php/perl/Python),即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。第 3 章 系统分析与概要设计3.1 系统分析3.1.1 需求分析系统用户主要有一般用户和管理员两种。普通用户组的权限是填写问卷、查看问卷统计结果。但是仍然有登录所需的用户名和密码,所以他们需要注册。尽管权限很低,他们还可以对自己的个人资料进行修改。普通用户组的用例图如图3-1所示。 系统 填写问卷 查看结果 注册个人资料修改图3-1 用户组用例图管理员组的权限分为问卷的管理、管理员管理和用户管理。问卷管理包括增加问卷、修改问卷、删除问卷、查询问卷和统计问卷五个部分。用户管理包括对用户资料的管理和删除个别用户。当然,他们也可以像一般用户那样填写问卷和修改个人资料。以上各种操作也必须经过登录验证以后。管理员组的用例图如图3-2所示。 系统 修改问卷 增加问卷删除问卷统计结果 查询问卷 用户管理图3-2 管理员组用例图3.1.2 业务流程分析管理员登录成功后,管理问卷信息,用户信息,查看统计结果,以及个人资料管理。用户注册往后获得账号和密码,参与调查并查看结果。系统业务流程分析图如图3-3所示。 验证失败 用户表用户管理验证管理员 登录个人资料管理 验证通过查看统计结果管理权限问卷管理问卷题库用户统计结果参与调查 验证失败 验证 查看调查结果注册 登录 反馈个人信息管理 图3-3 系统业务流程分析图3.1.3 可行性分析1) 经济可行性首先,在网上进行调查,网络上没有时空和地域的限制,这是在线问卷调查与传统市场调查的方式相比所独有的优势。再次,传统方式的市场调查活动需要消耗大量的人力、物力才能进行,周期也比较长,Internet用Web或者其他手段就可以覆盖全球的优势正好弥补了这一不足。最后,与传统方式不同,网民可以在不直接面对调查者的情况下,以一种相对轻松和从容的方式填写问卷,达到面对面提问所无法比拟的效果。并且在线调查问卷系统的运行维护比较简便,能够实现不同的人员从不同的地点以不同的接入方式访问和操作共同的数据。从诸多的投资和收益的比较中可以看出,此方案的经济可行性很大。2) 技术可行性本系统的数据库较小,因此在数据操作时数据更新处理的速度上还是很让人满意的。根据本系统的功能要求,采用JSP与MySQL数据库引擎进行开发。由于JSP技术使用Java编程语言编写类XML的tags和scriptlets来进行动态网页处理逻辑的封装,并访问存在于服务器端的资源应用逻辑,JSP将网页逻辑与网页设计分离,使基于Web的开发变得迅速而简单。而MYSQL作为一种网络数据库性能十分出色,许多中小型网站的数据库服务器选用MySQL,而且,由于MySQL性能出色,一些大型网站也选用了MySQL。因此,在技术层面上,是完全可行的。3) 操作可行性本系统充分考虑了管理人员及用户的使用习惯,操作简单:数据录入迅速、规范、统计准确,尽量降低工作人员的操作量,使其在有好的界面环境下工作。所以本系统的使用对用户来说具有操作可行性。综上所述,系统开发具有可行性。3.2 系统设计3.2.1 系统总体结构本系统采用MVC的设计模式,用户输入输出界面均为JSP页面,即展示层(VIEW),用户的请求(REQUEST)将会被发送到控制层(CONTROL)的一个SERVLET集中处理,根据请求调用模型层(MODEL)的JAVABEAN对请求进行实际处理,并把结果返回给控制层,控制层根据请求的执行结果将响应(RESPONSE)派发到相应的JSP页面。例如,一个数据提交(操作请求)的标准流程:在问卷管理模块中的添加问卷页面(SurveyAdd.jsp),用户在这个页面中输入数据,提交之后,请求被派发到一个名为SurveyManage的servlet中集中处理,在这个servlet中,调用了持久层的名为SurveyDAO 的javabean的addSurvey方法对数据进行持久化,然后把处理结果返回给SurveyMange这个控制器,控制器根据返回的结果决定将相应的页面展现给客户端浏览器。又如,一个数据查询(数据请求)的标准流程:在问卷设计页面中(surveyOK.jsp),用户打开页面后,页面即调用com.mySurvey.dao的listAllSurvey方法查询出所有问卷信息返回给页面,即页面进行数据查询时不再经过CONTROLLER层。如图3-4。图3-4 MVC设计模式3.2.2 持久层设计与实现1) 数据库设计核心实体包括:存储用户信息的表(user)(表3-1);存储调查的表(survey)(表3-2);存储调查项目的表(surveyOption)(表3-3);存储调查子项目的表(surveyChild)(表3-4);存储调查结果的表(surveyChildCount)(表3-5)。表3-1存储用户信息的表(user)序号字段类型存储内容约束类型1idInt(4)用户IDPRIMARY KEYNOT NULL2usernameVarchar(10)用户名NOT NULL3passwordVarchar(10)密码NOT NULL表3-2存储调查的表(survey)序号 字段类型存储内容约束类型1idInt(4)问卷IDPRIMARY KEYNOT NULL2nameVarchar(50)问卷名NOT NULL3dataTime1Datatime(20)创建时间NOT NULL4dataTime2Datatime(20)过期时间NOT NULL表3-3存储调查项目的表(surveyOption)序号字段类型存储内容约束类型1idInt(4)项目IDPRIMARY KEYNOT NULL2surveyIDInt(4)调查表IDNOT NULL3nameVarchar(50)项目名称NOT NULL表3-4存储调查子项目的表(surveyChild)序号字段类型存储内容约束类型1idInt(4)子项目IDPRRMARY KEYNOT NULL2surveyOptionIDInt(4)项目表IDNOT NULL3nameVarchar(50)子项目名称NOT NULL4optionInt(4)项目数量NOT NULL 表3-5存储调查结果的表(surveyChildCount)序号字段类型存储内容约束类型1idInt(4)调查结果IDPRIMARY KEYNOT NULL2surveyChildIDInt(4)子项目IDNOT NULL3countInt(4)结果数量NOT NULL2) 持久层实体类之间的联系持久层中各字段与实体类的联系如图3-5所示。图 3-5 持久层实体类联系图3) 持久层框架设计持久性框架是一组软件服务,将应用程序同其使用和操纵的数据源分离。它位于机构的数据源之上,隐藏访问这些数据源的数据查询存取API(如JDBC、实体EJB等),它提供的服务应完全抽象,并且隐藏使用及操纵数据源数据的细节。本系统在持久层主要使用了3种设计模式:DAO模式、VO模式、简单工厂模式。1、DAO(数据访问对象)模式:数据访问对象(DAO)模式使用数据访问对象来封装和抽象对所有数据源的访问,它管理着与数据源的连接以便于检索和存储数据,为业务对象提供了透明的底层数据访问实现。DAO模式完全包装数据的读取和操纵,并包装与数据库交互的数据访问API,它用数值对象包装从数据库读取和发送到数据库的数据,与业务层进行通信。DAO模式提供的灵活性是由于应用程序并不直接访问数据源,而是创建DAO对象,用其访问数据源。读取数据时,可以用数值对象保存取得的数据。2、VO(值对象)模式:使用值对象能够减少使用实体bean时需要的远程调用的次数。本系统使用值对象来封装业务数据,用相应的方法调用来设置和检索值对象。当客户端向实体bean请求业务数据时,该实体bean可以构造值对象,用属性值来填充,并且将值对象传送给客户端。同样道理,客户端向实体bean提交数据时,也采用值对象这一办法。系统中所有的数据库实体,都被封装成了这样的VO。如页面上要数据库中添加一个问卷,那么首先页面把数据发送到控制层的SERVLET,在该SERVLET中通过页面传过来的参数构造一个VO,然后把这个VO传递给DAO对象,DAO对象最后完成对数据库的控制操作。3、简单工厂模式:专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。它又称为静态工厂方法模式,属于类的创建型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。工厂类使用了多方法工厂,隔离上层与数据库底层,使上层方法不用关心底层采用何种数据库实现,系统如果要迁移到其他数据库上,也只需实现相应的DAO接口,然后在DAOFactroy类中修改返回的实现类即可。3.2.3 业务逻辑层的设计与实现本系统涉及的业务逻辑相对简单,因此在设计的时候,将其并入MVC控制层,在控制层中直接调用DAO处理对象持久化操作,图3-6和图3-7是DAO层的类图。图3-6 Com.mySurvey.dao的整体类图图3-7 Com.mySurvey.dao.impl包中的DAO实体类图第 4 章 系统详细设计与实现4.1 模块用例图通过用例图可以很清楚地看到网上调查系统将要实现的功能,以及具体执行的角色。4.1.1 制定调查基本信息用例主要是讲管理员在发布调查前,先制定调查的基本信息,包括调查的名称、对象、时间等,如表4-1所示。表4-1 制定调查基本信息用例ID号UC-1用例名称制定调查基本信息执行者管理员描述管理员在发布调查前,先制定调查的基本信息,包括调查的名称、对象、时间等涉众利益管理员希望能提供日期选单的功能,也可以手工输入日期的功能前置条件管理员已登陆网上调查系统后置条件管理员已设定了某个调查的基本信息基本路径1. 管理员请求设定调查基本信息2. 系统显示已有调查3. 管理员填写调查基本信息4. 管理员提交调查基本信息5. 系统验证提交的调查基本信息6. 系统保存提交的调查基本信息7. 系统返回保存成功的信息扩展路径5a.验证失败 5a1.系统提示验证不通过的信息 5a2.管理员重新填写验证不通过的信息 5a3.返回到第4步包含-优先级高业务规则5.验证日期格式是否正确设计约束非功能型需求字段列表1.基本信息=调查名称+调查对象+调查时间段4.1.2 制定调查子项目用例主要是讲管理员在制定完调查的基本信息后,设定调查的子项目,包括调查子项目的名称、调查类型和调查内容,如表4-2所示。表4-2 制定调查子项目用例ID号UC-2用例名称制定调查子项目执行者管理员描述管理员在制定完调查的基本信息后,设定调查的子项目,包括调查子项目的名称、调查类型和调查内容涉众利益管理员希望能任意设定调查子项目的类型,如一个调查中既有单选也有多项也有手工,或者选择加手工前置条件管理员已经设定了某个调查的基本信息后置条件管理员已设定了某个调查子项基本路径1. 管理员选择一个调查项目2. 管理员请求设定该调查子项目3. 系统验证管理员是否选择了调查项目4. 管理员填写调查子项目的信息5. 管理员提交调查子项目的信息6. 系统验证提交的子项目的信息7. 系统返回保存成功的信息扩展路径3a.管理员没有选择一个调查项目 3a1.系统提示管理员要选择一个调查项目 3a2.返回第一步6a.验证失败 6a1.系统提示验证不通过的信息 6a2.管理员重新填写验证不通过的信息6a3.返回到第5步包含-优先级高业务规则6.调查子项目的名称必须填写,调查类型必须填写,调查子项目的内容必须填写设计约束非功能型需求字段列表调查子项目的信息=子项目的名称+调查类型+子项目的内容。调查类型包括单选|多选|手工|单选+手工|多选+手工4.1.3 注册用户用例主要是讲用户注册的方式,如表4-3所示。表4-3 注册用户用例ID号UC-3用例名称注册用户执行者管理员描述填写调查的员工,必须是已经注册的用户涉众利益用户希望注册过

温馨提示

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

评论

0/150

提交评论