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

下载本文档

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

文档简介

摘要电子问卷调查方式已经成为一种流行并且便捷的调查方式,它具有调查范围广,信息量大,可挑选余地大,保密效果好,费用低等优势。因此,电子问卷调查势必成为社会发展不可缺少的一部分。本系统采用JAVA语言开发,主要采用STRUTS,HIBERNATE,SPRING三大框架技术。其主要功能包括电子问卷设计和问卷活动的信息采集、问卷反馈信息记录、并支持权限的控制以及强大的系统管理员的功能等等。本文阐述了在线调查方式的优势,并对所做软件的需求、设计及实现过程做了详细介绍。【关键词】问卷调查在线JAVADESIGNANDIMPLEMENTATIONOFQUESTIONNAIREDESIGNSYSTEM【ABSTRACT】ELECTRONICQUESTIONNAIREHASBECOMEAPOPULARANDCONVENIENTMETHODOFINVESTIGATION,ITHASINVESTIGATEDAWIDERANGEOFLARGEAMOUNTOFINFORMATIONCANBEROOMFORALARGESELECTION,CONFIDENTIALITY,EFFECTIVEANDLOWCOSTADVANTAGESTHEREFORE,THEELECTRONICSURVEYWILLBECOMEANINDISPENSABLEPARTOFSOCIALDEVELOPMENTTHESYSTEMISDEVELOPEDBYJAVALANGUAGE,MAINLYINSTRUTS,HIBERNATE,SPRINGFRAMEWORKOFTHETHREETECHNOLOGIESITSMAINFEATURESINCLUDEELECTRONICQUESTIONNAIREDESIGNANDSURVEYACTIVITIES,INFORMATIONCOLLECTION,QUESTIONNAIREFEEDBACKRECORD,ANDSUPPORTTHERIGHTSOFCONTROLANDPOWERFULFEATURESFORSYSTEMADMINISTRATORSANDSOONTHISPAPERDESCRIBESTHEADVANTAGESOFONLINESURVEYMETHODS,ANDTHEDEMANDMADEBYTHESOFTWARE,DESIGNANDIMPLEMENTATIONPROCESSDESCRIBEDINDETAIL【KEYWORDS】QUESTIONNAIRE,ONLINE,JAVA目录摘要I第一章绪论111课题来源112国内现状1第二章需求分析521系统定义522功能需求523数据需求6第三章数据库设计731数据库的概念732数据库的选择733数据库表的描述7第四章技术介绍2241JAVA开发语言的选择2242MVC设计模式2443STRUTS,HIBERNATE,SPRING技术2544SQL语言2745开发环境27第五章系统实现2951总体架构及实现2952查看问卷信息3153发送通知3454问卷导入导出功能3655问卷查看3956问卷分析代码实现46结论52致谢53参考文献54第一章绪论11课题来源问卷调查的目的,是要通过问卷上的封闭式问题和开放式问题了解调查对象市场调查的目的是为了收集足够的、真实的和有效的信息为企事业单位等的其他活动和策略所服务,为管理部门提供参考依据。利用市场调查的部门可以是企业、公司、团体以及任何一切企事业单位的管理决策层或个人。市场调查的目的可能是为了制定长远性的战略性规划,也可能是为制定某阶段或针对某问题的具体政策或策略,提供参考依据。研究可以是学术性的,也可以是实用性的。12国内现状市场调查的目的在于从零散的市场信息中收集、整理和提炼出有价值的信息和数据。问卷调查是市场调查的一种形式、问卷调查相对而言得到的回答会更加准确。基于软件的调查,是整合企业业务部门的相关需求,有针对性的对相关人员进行问卷调查。这样能够更好的是企业对于所期望调查的人员,部门,以及有针对性的对已限定范围进行期望回馈。网上市场调查的优势有1、便捷性和低费用(1)网上市场调查可节省传统的市场调查中所耗费的大量人力和物力。(2)在网络上进行调查,只需要一台能上网的计算机即可。(3)调查者在企业站点上发出电子调查问卷,网民自愿填写,然后通过统计分析软件对访问者反馈回来的信息进行整理和分析。(4)网上市场调查在收集过程中不需要派出调查人员,不受天气和距离的限制,不需要印刷调查问卷,调查过程中最繁重、最关键的信息收集和录入工作将分布到众多网上用户的终端上完成。(5)线上调查可以是无人值守和不间接地接受调查填表,信息检验和信息处理工作均由计算机自动完成。2、交互性和充分性网络的最大优势是交互性。这种交互性在网上市场调研中体现在如下两点(1)在网上调查时,被访问者可以及时就问卷相关的问题提出自己的看法和建议,可减少因问卷设计不合理而导致的调查结论出现偏差等问题。(2)被访问者可以自由地在网上发表自己的看法,同时没有时间的限制。而传统的市场调研是不可能做到这些的,例如,面谈法中的路上拦截调查,它的调查时间较短,不能超过10分钟,否则被调查者肯定会不耐烦,因而对访问调查员的要求非常高。3、调查结果的可靠性和客观性由于企业站点的访问者一般都对企业产品有一定的兴趣,所以这种基于顾客和潜在顾客的市场调研结果是客观和真实的,它在很大程度上反映了消费者的消费心态和市场发展(1)被调查者在完全自愿的原则下参与调查,调查的针对性更强。而传统的市场调查中的面谈法中的拦截询问法,实质上是带有一定的“强制性”的。(2)调查问卷的填写是自愿的,不是传统调查中的“强迫式”,填写者一般对调查内容有一定的兴趣,回答问题相对认真,所以问卷填写可靠性高。(3)网上市场调查可以避免传统市场调研中人为因素所导致的调查结论的偏差,被访问者是在完全独立思考的环境中接受调查的,能最大限度地保证调查结果的客观性。4、无时空和地域的限制网上市场调查可以24小时全天候进行,这与受区域和时间制约的传统的市场调查方式有很大的不同。5、可检验性和可控制性利用INTERNET进行网上调查收集信息,可以有效地对采集信息的质量实施系统的检验和控制。(1)网上市场调查问卷可以附加全面规范的指标解释,有利于消除因对指标理解不清或调查员解释口径不一而造成的调查偏差。(2)问卷的复核检验由计算机依据设定的检验条件和控制措施自动实施,可以有效地保证对调查问卷的100的复核检验,保证检验与控制的客观公正性。(3)通过对被调查者的身份验证技术可以有效地防止信息采集过程中的舞弊行为。13研究意义问卷调查调查的范围很广,任何一种社会现象都可以作为我们研究性学习的内容。然而,社会调查报告还是有着一定的程式。一般来说,社会调查报告应该包含以下一些内容调查的目的、调查的方法、调查的时间、样本的情况、调查的内容、调查表的分析、分析结果、提出自己的看法等等。问卷调查有如下意义(1)调查环境,适应快速。即通过对市场环境的调查,达到快速适应环境,快速顺利地开拓新市场的目的。(2)调查对手,胜之一筹。即通过对竞争对手的调查,达到了解对手情况,制定出措施、办法、制度胜过竞争地手一筹的目的。(3)调查客户,刺激需求。即通过对现有客户和潜在客户的调查,达到了解在客户心目中的形象,制定出相应对策,刺激客户对产品。第二章需求分析21系统定义问卷调查的目的,是要通过问卷上的封闭式问题和开放式问题了解调查对象市场调查的目的是为了收集足够的、真实的和有效的信息为企事业单位等的其他活动和策略所服务,为管理部门提供参考依据。利用市场调查的部门可以是企业、公司、团体以及任何一切企事业单位的管理决策层或个人。市场调查的目的可能是为了制定长远性的战略性规划,也可能是为制定某阶段或针对某问题的具体政策或策略,提供参考依据。研究可以是学术性的,也可以是实用性的。1调查环境,适应快速。即通过对市场环境的调查,达到快速适应环境,快速顺利地开拓新市场的目的。2调查对手,胜之一筹。即通过对竞争对手的调查,达到了解对手情况,制定出措施、办法、制度胜过竞争地手一筹的目的。3调查客户,刺激需求。即通过对现有客户和潜在客户的调查,达到了解在客户心目中的形象,制定出相应对策,刺激客户对产品需求的目的。22功能需求问卷调查的一个主要目的就是为企业的抉择者和相关管理人员通过调查的形式来统计相关,企业所希望统计的相关信息,通过与预期的期望进行比对从而得出最终的决策方案或实施办法。基于ERP系统通过问卷调查的方式可以统计企业中相关人员的意愿以及针对企业中相关人士进行全面的信息收集。基于ERP系统的问卷调查可以大大的提高企业中人力资源部门统计相关调查信息的效率,节省委托外部公司介入企业调查的相关环节,并能继承系统办公和系统调查于一体,方便管理层得使用。从信息需求的角度分析针对以上方针,要设计一个公司内部基于ERP系统的问卷调查系统。首先要确定公司中问卷调查是存在实名制,和匿名制。即公司根据调查项目的不同,以及调查范围的不同可以针对不同的人员开展相关实名调查以及匿名调查以确保调查信息的贴真性。从用户的角度分析统计者或相关管理人员应该可以通过企业的ERP系统制作相关的电子问卷,并能够向相关从属人员进行调查。被调查者,即企业员工应通过点击邮件链接、登录企业系统查看调查信息,或登录自助系统接收系统消息查看并根据相关提示进入调查问卷的界面填写问卷。23数据需求问卷设计必备的信息对于基于ERP设计的一份电子问卷,需要系统当前操作员给出必输项目为问卷的调查日期,调查范围,调查方式(实名、匿名)。企业中对应的部门、人员类别、人员编码、所属公司。应根据软件的具体要求而设定。调查用户所需提供信息对于实名调查而言用户需要提供用用户名、密码来进行实名问卷调查。对于匿名调查中用户仅需根据提供的调查地址填写问卷中的必填项目即可通知方式企业通过ERP软件对下属员工通知的方式,可以为系统通知,书面通知,人事传达,部门通知等,对于本软件由于对当前用户未作限定,所以本软件仅通过系统通知、邮件通知、自助消息等相关ERP基础功能以实现。第三章数据库设计31数据库的概念当人们从不同的角度来描述这一概念时就有不同的定义。例如,称数据库是一个“记录保存系统”该定义强调了数据库是若干记录的集合。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”该定义侧重于数据的组织。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。本软件使用的数据库模型将一直以来使用都最为广泛的关系模型作为数据库的建设依据。关系模型中数据的逻辑结构是以二维表的形式实现多对多、多对一、一对多等表关系实现方式,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如ORACLE11G,SQLSERVER2008等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。32数据库的选择本软件兼容ORACLE10G/ORACLE11G、SQL2005/SQL2008、DB2等多种数据库,可选择NC中间件用友公司平台研制,TOMCAT代理、WEBLOGIC、WEBSPHERE等多种中间件实现软件管控。由于MYSQL不支持数据还原,用友平台出于为客户信息安全暂不予采用。对于中小型企业,通常会根据客户需要使用SQL2005进行数据库搭配,而对于一些大中型企业,数据库对应信息过万的的大库存量,通常会采取ORACLE数据库,ORACLE数据库具有安全性强,兼容性好,数据承受能力好的特点。演示产品对应数据量较小,故本软件演示平台所加数据源为SQL2008数据库。33数据库表的描述概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体联系模型,即ER模型,它是用ER图来描述现实世界的概念模型。ER图中用矩形表示实体;用椭圆表示属性;用菱形表示联系。为了清楚简便的描述出实体与其属性之间的关系,用VISIO软件生成了一张包含实体属性的完整ER图,见图31。管理员发布问卷1N结果查看员工N填写11N图31ER图使用POWERDESIGNER生成的数据库关系图,见图32FK_HRQS_TOP_REFERENCE_HRQS_FORFK_HRQS_TOP_REFERENCE_HRQS_TOPFK_HRQS_TOP_REFERENCE_HRQS_TOPFK_HRQS_INV_REFERENCE_HRQS_FORFK_HRQS_INV_REFERENCE_HRQS_INVFK_HRQS_INVREFERENCE_HRQS_INVFK_HRQS_RES_REFERENCE_HRQS_INVFK_HRQS_RES_REFERENCE_HRQS_TOPFK_HRQS_RES_REFERENCE_HRQS_RESFK_HRQS_MET_REFERENCE_HRQS_RESFK_HRQS_MET_REFERENCE_HRQS_INV问卷主键问卷分类所属公司问卷编码问卷名称每页题目数量是否发布备注页眉页脚问卷类型CHAR20CHAR20CHAR4VARCHAR40VARCHAR80SMALLINTCHAR1VARCHAR1000VARCHAR4000VARCHAR4000SMALLINT问卷题目分类主键所属问卷序号分类名称分类描述字体字体大小字体样式字体颜色CHAR20CHAR20INTVARCHAR80VARCHAR500VARCHAR500INTINTINT问卷题目主键题目分类题目描述序号排列方式题型精度最大值最小值字体字体大小字体样式字体颜色CHAR20CHAR20VARCHAR500INTSMALLINTSMALLINTSMALLINTDECIMAL12,4DECIMAL12,4VARCHAR500INTINTINT问卷题目选项主键所属题目选项描述是否编辑分值序号字体大小字体字体样式字体颜色CHAR20CHAR20VARCHAR500CHAR1DECIMAL12,4INTINTVARCHAR500INTINT调查活动主键调查名称关联问卷所属公司所属年度是否匿名调查调查开始日期调查截止日期预期问卷数量状态调查范围对象类型CHAR20VARCHAR100CHAR20CHAR4CHAR4CHAR1CHAR19CHAR19INTSMALLINTSMALLINT调查范围主键所属调查活动调查对象主键CHAR20CHAR20CHAR20调查问卷头信息项主键所属调查活动头信息项CHAR20CHAR20CHAR20调查结果主键调查活动调查对象主键调查对象信息问卷状态提交日期CHAR20CHAR20VARCHAR20VARCHAR100SMALLINTCHAR19调查结果_问卷明细主键调查结果题目选项字符值数字值题目主键CHAR20CHAR20CHAR20VARCHAR1000DECIMAL12,4CHAR20问卷自定义档案列表主键关联档案系统标识CHAR20CHAR20CHAR1调查结果_头信息主键调查结果主键头信息主键取值CHAR20CHAR20CHAR20CHAR20图32331调查结果HRQS_MET该表主要定义了头信息的主键,调查结果的主键以及为头信息取值设定表项。见表31。标识符数据类型长度非空描述主键外键说明PK_META_RESULTCHAR20Y主键PK_RESULTCHAR20N调查结果主键YY自增PK_INV_METACHAR20N头信息主键Y自增META_INFOCHAR20N取值表31332调查问卷头信息项HRQS_INV_META该表主要实现功能为存储头信息项目,具体实现方法继承基类而实现。见表32。标识符数据类型长度非空描述主键外键说明PK_INV_METACHAR20Y主键Y自增PK_INVVARCHAR20Y所属调查活动YPK_METAVARCHAR20Y头信息项表32333调查结果HRQS_RESULT该表主要完成对于员工的调查问卷状态、提交日期等调查结果的记录。见表33。标识符数据类型长度非空描述主键外键说明PK_RESULTCHAR20Y主键YPK_INVCHAR20N调查活动Y自增PK_OWNERVARCHAR20N调查对象主键OWNER_INFOVARCHAR20N调查对象信息FORM_STATUSSMALLINT100N问卷状态0,1,2表示,0编写中,1已提交,3结束SUBMIT_DATECHAR19N提交日期表33334调查范围HRQS_INV_SCOPE该表主要完成公司调查活动对应的对象,实现一对多的对应。见表34。标识符数据类型长度非空描述主键外键说明PK_INV_SCOPECHAR20Y主键Y自增PK_INVCHAR20N所属调查活动YPK_OWNERCHAR20N调查对象主键表34335调查结果_问卷明细HRQS_RESULT_FORM该表主要用来保存调查问卷中的问卷对应答案相关数据,如数字值,字符值文字叙述题等。见表35。标识符数据类型长度非空描述主键外键说明PK_RESULT_FORMCHAR20Y主键YPK_RESULTCHAR20N调查结果Y自增PK_TOPIC_OPTIONCHAR20N题目选项YSTR_VALUEVARCHAR1000N字符值DBL_VALUEDCIMAL12,412N数字值PK_TOPICCHAR20N题目主键表35336调查活动HRQS_INV该表主要记录问卷活动中调查范围,调查时间,调查问卷,调查名称等一系列关联信息。在此表中定义了10个字段来进行信息存储。见表36。标识符数据类型长度非空描述主键外键说明PK_INVCHAR20Y主键YINV_NAMVARCHAR100Y调查名称Y自增PK_FORMCHAR20Y关联问卷YPK_CORPCHAR4N所属公司PERIODCHAR4N所属年度ANONYMOUSCHAR1N是否匿名调查BEGIN_DATECHAR19N调查开始日期END_DATECHAR19N调查截止日期INTENDEDINT自动N预期问卷数量INVSTATUSSMALLINT自动N状态OBJECT_TYPESMALLINT自动Y调查范围对象类型表36337问卷题目HRQS_TOPIC该表主要功能是记录问卷设计的相关信息,并记录问卷内容相关信息以便进行问卷展现时进行调用,以及问卷导出时进行调用。此表中定义了12个字段进行信息存储,以外键题目分类来进行联结表与表之间的关系,实现问卷分类与问卷一对多关系。见表37。标识符数据类型长度非空描述主键外键说明PK_TOPICCHAR20Y主键Y自增PK_TOPIC_TYPECHAR20N题目分类YTOPIC_DESCVARCHAR500N题目描述SORT_ORDERINTN序号DIRECTIONSMALLINTN排列方式TOPIC_STYLESMALLINTN题型SCALESMALLINTN精度MAX_VALUEDECIMAL12,412N最大值最大四位MIN_VALUEDECIMAL12,412N最小值最大四位FONT_FAMILYVARCHAR500N字体FONT_SIZEINTN字体大小FONT_STYLEINTN字体样式FONT_COLORINT30N字体颜色表37338问卷题目选项HRQS_TOPIC_OPTION该表的主要功能是记录问卷设计(内容选项)的相关信息,并记录问卷内容的相关信息以便进行问卷展现时进行调用以及问卷导出时进行调用。在此表中定义了12个字段来进行信息存储,以外键题目分类来进行联结表与表之间的关系,实现问卷分类与问卷一对多的关系。见表38。标识符数据类型长度非空描述主键外键说明PK_TOPIC_OPTIONCHAR20Y主键YPK_TOPICCHAR20N所属题目YOPTION_DESCVARCHAR500N选项描述EDIT_FLAGCHAR1N是否编辑SCOREDECIMAL12412N分值SORT_ORDERINTN序号FONT_SIZEINTN字体大小FONT_FAMILYVARCHAR500N字体FONT_STYLEINTN字体样式FONT_COLORINTN字体颜色表38339问卷HRQS_FORM该表的主要功能是记录问卷概览的相关信息,用于公司的私有调用以及问卷维护使用。在此表中定义了10个字段来进行信息存储,实现问卷调用的数据存储表。标识符数据类型长度非空描述主键外键说明PK_FORMCHAR20Y主键YFORM_TYPECHAR20N问卷分类PK_CORPCHAR4N所属公司FORM_CODEVARCHAR40N问卷编码FORM_NAMEVARCHAR80N问卷名称PAGE_SIZESMALLINTN每页题目数量ISSUE_FLAGCHAR1N是否发布MEMOVARCHAR1000N备注PAGE_HEADERVARCHAR4000N页眉PAGE_FOOTERVARCHAR4000N页脚FORM_CLASSSMALLINTN类型表393310问卷题目分类HRQS_TOPIC_TYPE该表的主要功能是记录问卷分类概览的相关信息,用于公司的私有调用以及问卷分类维护使用。在此表中定义了8个字段来进行信息存储。以外键题目分类来进行联结表与表之间的关系,实现问卷分类与问卷一对多的关系。标识符数据类型长度非空描述主键外键说明PK_TOPIC_TYPECHAR20Y主键PK_FORMCHAR20N所属问卷YSORT_ORDERINTN序号TYPE_NAMEVARCHAR80N分类名称TYPE_DESCVARCHAR500N分类描述FONT_FAMILYVARCHAR500N字体FONT_SIZEINTN字体大小FONT_STYLEINTN字体样式FONT_COLORINTN字体颜色表3103311问卷自定义档案列表HRQS_DOCLIST该表为基础数据附加表,基于标准版本V57系列扩充表,该表主要对问卷序号问卷头信息关联进行维护,实现表中头信息与表的存储。调用时采用继承基类方式进行调用。标识符数据类型长度非空描述主键外键说明PK_DOCLISTCHAR20Y主键关联自定义档案中创立该表基础表PK_DEFDOCLISTCHAR20N所属问卷YSYSTEM_FLAGINT1N序号表311第四章技术介绍41JAVA开发语言的选择现在,市场上的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有SUN公司的JAVAMICROSOFT公司的VISUALBASICMICROSOFT公司的VISUALCBORLAND公司的DELPHIPOWERSOFT公司的POWERBULIDER在目前市场上这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择JAVA语言开发,其原因基于以下几点JAVA是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的语言。简单JAVA的风格类似于C,并且摒弃了C中容易引发程序错误的地方,如指针和内存管理。此外JAVA提供了丰富的类库。面向对象面向对象可以说是JAVA最重要的特性。JAVA语言的设计完全是面向对象的。JAVA支持静态和动态风格的代码继承及重用。分布式JAVA包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,JAVA应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。健壮JAVA致力于检查程序在编译和运行时的错误。JAVA自己操纵内存减少了内存出错的可能性。JAVA提供NULL指针检测数组边界、检测异常出口、字节代码校验。安全JAVA的安全性可从两个方面得到保证。一方面,在JAVA语言里,像指针和释放内存等C功能被删除,避免了非法内存操作。另一方面,当JAVA用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。结构中立为了建立JAVA作为网络的一个整体,JAVA将它的程序编译成一种结构中立的中间文件格式。只要有JAVA运行系统的机器都能执行这种中间代码。JAVA源程序被编译成一种高层次的与机器无关的BYTECODE格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。可移植的JAVA的可移植性一直是JAVA程序设计师们的精神指标,也是JAVA之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。JAVA编译器产生的目标代码JCODE是针对一种并不存在的CPUJAVA虚拟机JAVAVIRTUALMACHINE,而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使JCODE能运行于任何具有JAVA虚拟机的机器上。高性能JAVA可以在运行时直接将目标代码翻译成机器指令。SUN用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C的性能没什么区别。多线程JAVA支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。动态JAVA的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C语言进行面向对象程序设计所无法实现的。JAVA编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。42MVC设计模式MVC是MODELVIEWCONTROLLER的简称,它是一种设计模式,它把应用程序分成三个核心模块模型、视图、控制器,它们各自处理自己的任务。视图是用户看到并与之交互的界面,作用包括向用户显示相关的数据、接受用户的输入、向模型查询业务状态、接受模型发出的数据更新事件,从而对用户界面进行同步更新。模型表示业务数据和业务逻辑,是应用程序的主体部分。一个模型能为多个视图提供数据,因此提高了代码的可重用性。控制器接受用户的输入并调用模型和视图去完成用户的需求。当WEB用户单击WEB页面中的递交按钮来发送HTML表单时,控制器本身不输出任何东西和做任何处理。控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。MVC的优点表现在如下几个方面一、首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。二、由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的构件。三、此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。MVC处理过程的结构图,见图41。图4143STRUTS,HIBERNATE,SPRING技术431STRUTSSTRUTS是目前JAVAWEBMVC框架中不争的王者。STRUTS由一组相互协作的类(组件)、SERLVET以及JSPTAGLIB组成。由于STRUTS实质上就是在JSPMODEL2的基础上实现的一个MVC框架,所以基于STRUTS构架的WEB应用程序基本上符合JSPMODEL2即MVC的设计标准。其中的模型是JAVABEAN,控制器是ACTIONSERVLET、ACTION,视图是JSP、STRUTS客户化标签。STRUTS控制器组件主要包括充当STRUTS框架的中央控制器的ACTIONSERVLET组件、充当每个子应用模块的请求处理器的REQUESTPROCESSOR组件、负责处理一项具体的业务的ACTION组件。其工作流程如图42。图42STRUTS的另一特点是使用ACTIONFORMBEAN,ACTIONFORMBEAN也是一种JAVABEAN,除了具有一些JAVABEAN的常规方法,还包含一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。STRUTS框架利用ACTIONFORMBEAN来进行VIEW组件和CONTROLLER组件之间表单数据的传递。JSP文件使用STRUTS标签读取修改后的ACTIONFORMBEAN的信息,重新设置HTML表单。432HIBERNATEHIBERNATE是连接JAVA应用程序和关系数据库的中间件,它封装了JDBC,实现了JAVA对象的持久化;封装了所有数据访问细节,使业务逻辑层专注于业务逻辑。并且通过对象关系映射(OBJECTRELATIONALMAPPING,简称ORM)解决了面向对象与关系数据库之间存在的互不匹配的现象。如图43所示。433SPRINGSPRING是为了降低企业应用开发的复杂性而创建的。SPRING只使用基本的JAVABEANS就能完成以前必须通过EJB来完成的事情,而与EJB是相比,SPRING的核心是个轻量级的容器,它是实现IOC(INVERSIONOFCONTROL控制反转)容器,是非侵入性的框架,并提供AOP(ASPECTORIENTEDPROGRAMMING面向方面编程)概念的实现方式,提供对持久层和事务的支持,提供MVCWEB框架的实现,并对一些常用的企业服务API提供一致的模型封装,是一个全方位的应用程序框架。图4344SQL语言SQL(STRUCTUREQUERYLANGUAGE结构化查询语言)自1974年被提出,至今已经是世界上最流行的关系数据库的标准语言。SQL语言的分类一、DDL(DATADEFINITIONLANGUAGE)数据定义语言,其作用包括创建数据库对象、删除数据库对象、修改数据库对象(CREATE、DROP、ALTER)。二、DML(DATAMANIPULATIONLANGUAGE)数据操纵语言,其作用包括查找数据信息、插入数据信息、删除数据信息、更改数据信息(SELECT、INSERT、DELETE、UPDATE)。三、DCL(DATACONTROLLANGUAGE)数据控制语言,作用主要对是授权数据库对象(GRANT,REVOKE)。45开发环境操作系统WINDOWSXP;运行工具IE70开发工具MYECLIPSE510附加组件MVC数据库管理软件AQUADATASTUDIO数据库ORACLE90、SQL2008、DB2服务器TOMCAT60辅助工具DJJAVADECOMPILERVER37781,DORADOV108第五章系统实现51总体架构及实现511系统总体结构图问卷调查管理员用户设计者统计人员开始调查活动发送系统通知、消息、邮件问卷查看问卷分析问卷设计逐个查看员工问卷受到系统通知、消息、邮件匿名调查设定调查范围调查使用问卷实名调查/匿名调查根据问卷总体信息进行分析打印问卷分析报表实名调查发送通知方式图51512用户首页界面风格图52问卷调查使用的调查界面为企业的系统界面,根据权限进行分类,企业的系统业务管理的管理员进入界面后可查看到相关问卷活动信息,以及问卷与员工相同,可以接受到调查信息。如图52。使用用户登陆自助系统可以接受到来自系统管理员发来的相关问卷调查信息。如图53。图5352查看问卷信息521功能描述问卷管理人员在登录之后可根据当前的权限进行问卷查询,在此对查看问卷信息作出的查询条件是仅能查询当前公司下的问卷。数据库的查询方式按照PK_CORP(公司PK)来进行查询。如图54。522模块流程图点击查询按钮过滤掉检查当前公司PK_CORP查询当前问卷调查活动状态是否显示当前问卷活动状态不为编写中状态为编写中过滤掉其信息结束图54523界面风格图55524实现算法PUBLICVOIDEXECUTETHROWSEXCEPTIONFORMVOFORMFORMVOGETSELECTIONGETMAINPANELGETPARENTVOFORMFORMVOPUBDELEGATORGETIPERSISTENCERETRIEVERETRIEVEBYPKNULL,FORMVOCLASS,FORMGETPK_FORMIFFORMNULLTHROWNEWBUSINESSEXCEPTION“问卷不存在,请查询后重试“STRINGBASEURLRUNTIMEENVGETINSTANCEGETPROPERTY“SERVICEDISPATCH_URL“URLURLNEWURLBASEURLSUBSTRING0,BASEURLINDEXOF“/“,10“/HRSS/QS/FORMJSPPK_FORM“FORMGETPK_FORM“CLIENTASSISTANTSHOWDOCUMENTURL,“_BLANK“53发送通知531功能描述问卷调查活动中实现了问卷调查活动制作,问卷调查活动开启。但是如果调查信息不能告知被调查的员工,则问卷调查活动意义则不能体现。所以问卷调查活动节点中添加了发送通知功能,具体实现的界面如图57。532模块流程图点击开始调查根据当前问卷活动涉及到的人员发送通知结束点击发送通知判断当前调查活动中调查状态是否为1(已提交)结束发送通知否过滤该人员是图56533界面风格图57534实现算法5341发送通知校验PUBLICVOIDEXECUTETHROWSEXCEPTIONHRAGGVOVOGETSELECTIONGETMAINPANELINVACTIVEVOINVINVACTIVEVOVOGETPARENTVOIFNEWUFDATEAFTERINVGETEND_DATELISTLISTNULLIF“1“EQUALSINVGETOBJECT_TYPE/按部门范围LISTHRQSDELEGATORGETIINVACTIVEGETDEPTSCOPEEMAILGLOBALGETCORPPK,INVGETPK_INV,GLOBALGETUSERID,INVGETANONYMOUSBOOLEANVALUEELSE/按人员范围LISTHRQSDELEGATORGETIINVACTIVEGETPSNSCOPEEMAILINVGETPK_INV54问卷导入导出功能541描述如图59所示,问卷制作之后为了方便问卷保存以及问卷电子档案迁移,必要的需要实现问卷资料的导入导出以便实现数据迁移,本系统中为了实现此方法实现的功能为EXCEL方式数据导出、导入。当问卷设计结束之后可通过导入、导出向导对其问卷的电子数据进行导入导出。实现的导出数据可以保证问卷设计的完整导出。同样为了保证问卷在公司与公司间共享,问卷导入系统支持修改问卷编码,问卷名称等问卷相关信息。542模块流程图开始选择当前调查问卷分类下的分卷列出当前对应其问卷数据库信息(页眉PAGE_HEADER,页脚PAGE_FOOTER,MEMO备注等等)修改可修改的字段信息校验字段类型否结束选择当前导出路径图58543界面风格见图59,510。544实现算法5431导入框架方法PUBLICFORMDATAIMPORTACTIONFRAMEUIFRAMEUI1SUPERFRAMEUI1/按公司COM对象在求职表查询向他投简历的求职者5432导出重写内容PUBLICLISTGETSTEPSLISTSTEPSNEWARRAYLIST/第一步WIZARDSTEPSTEPONENEWDATAIOWIZARDFIRSTSTEPGETWIZARDMODEL/第二步WIZARDSTEPSTEPTWONEWDATAIOWIZARDSECONDSTEPGETWIZARDMODEL/对第二步的表格进行特殊处理SELECTABLEBILLSCROLLPANESTEP2TABLESELECTABLEBILLSCROLLPANESTEPTWOGETCOMPSTEP2TABLEHIDETABLECOL“EXCEL_FIELD_NAME“STEP2TABLEHIDETABLECOL“DEFAULT_VALUE“/第三步WIZARDSTEPSTEPTHREENEWDATAIOWIZARDTHIRDSTEPGETWIZARDMODEL/放到LIST中STEPSARRAYSASLISTNEWWIZARDSTEPSTEPONE,STEPTWO,STEPTHREERETURNSTEPS图59图51055问卷查看551描述为了实现统计人员以及管理员对问卷调查结果的查看或者进行数据抽查,问卷查看节点可针对员工填写的问卷进行问卷查看,以及实际文字信息填写内容进行查看。并且可根据问卷调查状态对问卷调查活动进行过滤查看。552模块流程图点击查询按钮过滤掉检查当前公司PK_CORP是否显示当前问卷活动状态不为已提交状态为编写中,已保存过滤掉其信息结束查询当前被调查人员调查活动提交状态图510553界面风格图511554实现算法调用方法,根据字符串中封装的VO数据进行数据调用,简单的循环算法的出数据中DATAS的值的长度,并赋值给MAXVALUE,取得数据时候由于平台采用数据分割,为了实现数据与分隔符脱离,使用STRLABLEREPLACEALL“,“使数据实体分离PUBLICHRQUERYDIALOGGETQUERYDIALOGSTRINGPKINVRESULTVIEWTOPPANELGETTOPPANELGETPKINVIFQUERYDLGHASHGETPKINVNULLRETURNQUERYDLGHASHGETPKINVHRQUERYDIALOGQUERYDIALOGNEWHRQUERYDIALOGTHIS,GETNORMALPANELPKINV,GETTEMPLATEINFOPUBLICSTRINGGETWHERESQLQUERYTREETREEQUERYTREEGETQRYCONDEDITORGETCURRENTCRITERIAEDITORGETCRITERIAGETCRITERIAOBJECTQUERYTREENODEROOTQUERYTREENODETREEGETROOTENUMERATIONENUROOTPREORDERENUMERATION/排除根节点ENUNEXTELEMENTWHILEENUHASMOREELEMENTSQUERYTREENODENODEQUERYTREENODEENUNEXTELEMENTIFNODEISLEAFCONTINUEIFNODEGETUSEROBJECTINSTANCEOFDEFAULTFILTER|DEFAULTFILTERNODEGETUSEROBJECTGETFILTERMETAGETFIELDCODEEQUALS“HRQS_RESULTSUBMIT_DATE“CONTINUEDEFAULTFILTERFILTERDEFAULTFILTERNODEGETUSEROBJECTIFFILTERGETOPERATORINSTANCEOFEQOPERATOR/等于FILTERSETOPERATORNEWEQOPERATORPUBLICSTRINGGETSQLSTRINGFILTERMETAMETA,IFIELDVALUEVALUEIFVALUENULL|VALUEGETFIELDVALUESNULL|VALUEGETFIELDVALUESSIZE“VALUESTRING“000000AND“METAGETSQLFIELDCODE“VALUEGETFIELDVALUESGET0GETSQLSTRING“000000“ELSEIFVALUEGETFIELDVALUESSIZE1ELSEIFVALUEGETFIELDVALUESSIZE1RETURNMATHCEILMAXVALUE/取得图形展示数据PARAMGENERALVOSRETURN/PROTECTEDDOUBLEGETDATASGENERALVOGENERALVOSDOU

温馨提示

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

评论

0/150

提交评论