jsp32客户关系管理系统(ssh)-qp_第1页
jsp32客户关系管理系统(ssh)-qp_第2页
jsp32客户关系管理系统(ssh)-qp_第3页
jsp32客户关系管理系统(ssh)-qp_第4页
jsp32客户关系管理系统(ssh)-qp_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第一章绪论1.1研究背景21世纪是计算机科学技术得到了显著的发展和进步的时代。现如今电脑已经走向了千家万户。目前大到国际公司,小到私人作坊都已经开始使用计算机技术协助日常的工作管理,计算机技术的应用已经深入到各个企业管理的各个方面。由于现代企业的诸多环境因素,企业在处理与外部客户的关系时,越来越感觉到没有信息技术支持的客户管理力不从心,网上客户管理系统应运而生。客户管理系统对企业业务流程的重组整合用户信息资源,以便有效的方法来管理客户关系,在企业内部实现信息和资源的共享。客户管理系统在系统设计上以帮助企业的主管人事管理的部门提高工作效率,实现企业客户的信息管理以及管理的系统化、规范化和自动化为最终目的。因此,利用网络管理,使企业在提高效率、拓展市场和保留客户三方面大大改进,对于提升竞争的优势,有着重大的意义。1.2研究意义信息时代的今天,各企业商家所关心的不再局限于自身的产品质量、生产设备、员工的素质,更多的是关心自己的销售群体(客户群),关心他们的想法、需求、购卖目的。众所周知,顾客就是我们的上帝,我们只有满足了上帝的需求,上帝才能给我们带来一切。一个企业要生存、要发展,就是要不断的满足客户的需求,无论我们做出什么样的决策,最终都是为了这个的目。每个领域都有自身生存法则,但无论这个法则如何变化,为客户服务的宗旨是不会变的。作为企业,我们只有不断地挖掘新客户,维护好和老客户的关系,占领市场客户群体的绝大多数份额,才能在整个领域取得一席之地。海尔总裁张瑞敏指出:“客户资源决定企业核心竞争力”,上个世纪80年代是物品短缺的时代,而现在,信息时代是客户短缺的时代。企业发展所需的各种资源(包括人力、物力、生产力)都是可以创造的,但每个领域中的客户资源确是有限的,所以通过创新(产品的创新、企业管理的创新、服务的创新)来抢占有限的客户资源、维护好企业和客户之间的关系、了解客户的需求动向,成为企业生存发展面临的重大问题。1.3主要研究内容本文主要设计开发一个基于J2EE的企业客户关系信息管理系统。系统是基于B/S结构的,在开发中使用到了JSP编程技术和Oracle数据库管理系统,并选用MyEclipse为开发工具。论文首先进行了需求分析,指出了系统需要解决的问题和需要实现的功能。通过需求分析可以知道该系统主要功能。然后,论文详细介绍了数据库的设计,编码的实施;其次,论文讨论了系统测试。通过测试及时的发现了系统的一些问题,排除了的错误,并发现了一些不足等;最后,论文对本次设计进行了小结,总结了设计过程中遇到的问题和收获。1.4本章小结第一章主要是介绍此次论文的研究背景、研究意义、研究内容。从研究背景,意义出发阐述了企业客户关系信息管理系统是因运而生的,是必不可少的。

第二章开发环境与相关技术企业客户关系信息管理系统是在JSP编程技术和Oracle数据库管理系统的基础上完成开发的。在开发过程中,论文选择MyEclipse开发工具以及SSH2框架进行系统设计与开发,完成了基于B/S结构的系统。2.1JSP技术2.1.1JAVA技术简介Java语言自从1996年正式发布。目前已经成长为IT领域必不可少的主流编程语言。Java起源于Sun公司的“Green”项目。1999年,Sun公司吧Java2技术分成了J2SE,J2EE和J2ME。其中J2E为分布式的企业应用提供开发和运行环境。进入21世纪以后,J2EE由于固有的良好的线性和可扩展性,逐渐成为各大开发商青睐的对象。Java语言中具有面向对象的优势、安全、跨平台、直接支持分布式的网络中的应用、鲁棒性、效率等.Java语言是非常简单且高效的,它使编程时间缩短,却使功能增强,让编程人员接手起来也更加简单,方便。Java语言就像万花筒一样,随意只是几个普通碎片组成起来,但是只要你发挥想象轻轻摇一摇,就会变换出千万种不同的花色。[1]2.1.2JSP技术简介互联网已经发展成为Web应用程序中,如电子商务,电子政务,应用系统的基础设施。基于Web的应用程序称为浏览器/服务器模式,即B/S模式。开发Web应用程序,传统的HTML不能满足要求,需要一些语言来处理用户请求。目前,生成动态网页的方法有CGI、ASP.NET、PHP和JSP。其中JSP是基于Java的。JSP是JavaServerPage的缩写。JSP用来创建动态Web应用程序的快捷方式,并继承了Java“一次编写,到处运行”的特点。[2]JSP具有以下特点:1.将内容的生成和显示进行分离2.强调可重用的组件3.采用标识简化页面开发4.健壮性与安全性5.良好的移植性6.企业级的扩展性和性能2.1.3SSH2简介SSH2(Struts2+Spring+Hibernate)是J2EE的最新流行框架。Spring是一个开源框架,它由RodJohnson创建。企业性应用的开发是十分复杂。开发周期长而且开发难度十分大。为了解决这些问题,RodJohnson创建了Spring框架。从前只能由EJB完成的事情,现在Spring需要使用JacaBean就可以了。从简单性、可测试性和松耦合的来说,所有Java应用都可以使用Spring框架中来开发。而不止是用来开发服务器端而已。[3]Hibernate是一个开放源代码的对象关系映射框架,Java程序员可以使用它自己的编程思想来操纵数据库。在任何需要使用JDBC的场合下Hibernate都可以完美胜任。程序员不仅可以在Java的客户端程序中运用Hibernate,也可以在Servlet/JSP的Web应用中运用,最革命的是,Hibernate可以替换在CMP,完成数据持久化的重任。[4]Struts2框架是以WebWork基础上发展起来的。从某种意义上来说,Struts2不是Struts1的继承。应该认为是WebWork衍生出了Struts2,因为Struts2是在WebWork的基础上进行了升级,并不是一个独立创造的全新框架。正因此Struts2在稳定性、性能等各方面都可以得到。很好的保证:Struts2是结合了Struts1和WebWork两者的优势创造出来的。[5]它是一个十分令人期待的框架。SSH2框架结构如图2-1所示。图2-1SSH2框架结构图2.2MyEclipse介绍MyEclipse达到了企业工作台水平,是EclipseIDE扩展,用户可以用它来大大提高效率的数据库和JavaEE开发、释放、和应用程序服务器的集成。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是适合用来开发Java,J2EE的Eclipse插件集合。MyEclipse的功能特别强大,支持面广泛,特别是对各种开放源产品的支持效果很是不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。在结构上,MyEclipse的特征可以被分为7类:1.J2EE模型2.WEB开发工具3.EJB开发工具4.应用程序服务器的连接器5.J2EE项目部署服务6.数据库服务7.MyEclipse整合帮助以上所有功能,在Eclipse中都可以找到对应功能部件。这些功能的实现是利用一系列的插件。MyEclipse的结构上是模块化的,这样可以在不影响其他模块在任何单个模块扩展和升级。简单来说,MyEclipse的是Eclipse插件,J2EE的集成,支持代码编写,配置,测试和调试功能强大的开发环境。[6]2.3Oracle数据库Oracle是一个开发性的关系型数据库管理系统。它将数据存储在不同的表,并不是简单的将所有数据都放在一个大型的仓库。它是可以提高数据读取的速度和灵活性的RDBMS。[7]Oracle的SQL语言是用于访问数据库的最常用标准化语言。Oracle软件拥有社区版和商业版两大版本。因为Oracle体积小、速度快、总成本低,尤其是开放源码这一特点,所以得到了大小型网站开发者的青睐,他们都十分愿意选择Oracle作为数据库。[8]一般对于个人使用者来说Oracle的功能已经十分全面了。在多次比较了Oracle、DB2、SQLserver之后,本论文还是选择了Oracle作为企业客户关系信息管理系统的数据库。2.4B/S结构介绍B/S结构就是只安装和维护一个服务器,客户端是利用浏览器来运行软件。随着Internet技术的兴起和发展。C/S结构已经无法满足人们的要求。于是人们开始变换的C/S,这产生了B/S结构。B/S比C/S的维护工作量大大减少了。[9]C/S结构的每个客户端都必须安装和配置软件。B/S能够降低总体拥有成本。随着计算机技术的发展,目前大多数科技公司都不约而同的对数据提出了实时性、一致性和安全性等这些要求。传统类型C/S结构根本达不到这些要求,迫切的需要做出改变。但是B/S结构则不同,它可以清楚正确的看到系统正在处理的业务,这样有利于管理人员快速的做出决策,有效地避免了企业经济上的亏损。B/S结构的软件,因为在数据集中在数据库服务器,客户端不持有任何业务数据和数据库连接信息,也无需进行数据同步,所以安全性可以大大提高。B/S结构中的数据采取了集中式管理模式。当客户端的业务产生数据时,这些数据都直接被存入中央数据库。这样的做法避免了数据一致性的问题。这些优点很好更好的迎合了人们的需要。[10] 以当下技术水平来说,利用B/S结构来开发网络应用,并通过Internet/Intranet模式下数据库应用,是容易把握的而且成本也是比较低的。这样的开发模式实现了不同的人,从不同的地点,不同的接入方式访问和操作共同的数据库;它可以有效地保护和管理数据访问平台,服务器数据库也是非常安全的。尤其是在这样一种跨平台语言JAVA之后出现,B/S体系结构管理软件是更方便、更快捷、更高效。2.5本章小结第二章主要介绍了企业客户关系信息管理系统开发时期所选择的开发工具。对这些优秀的开发语言和开发环境进行了介绍,并详细说明为什么选择它们,它们的适用性体现在哪里。第三章需求分析及设计在软件设计与开发过程中,需求分析是必不可少的。当接到一个系统开发任务时,不应该直接进行开发工作,而是应该先对所需要开发的系统进行一番了解。开发人员需要知道这个系统将来是要干什么的,为什么样的人群服务。从这些入手一步一步了解系统,才能明确系统所需要的功能。这样,开发人员便可以找到开发的方向。把握住开发方向,才能设计出人性化的系统,而不是那些粗制乱造不切和实际的系统。3.1预期目标通过客户关系管理系统全面、切实了解茶叶公司发展运营过程,以及在业务流程和发展中遇到的各种繁琐和复杂问题,利用信息化管理系统切实有效的、有针对性的解决问题,使业务流程更具信息化、专业化、系统化,同时通过整个业务数据的统一分析,了解整个业务及客户需求的现状,在适当的时机选择相应的决策,在有突发的事件发生时,能够做出正确的判断并制定合理的解决方案,加速企业发展,使企业管理更具信息化、规范化、科学化。CRM作为管理企业与客户关系的主要管理系统平台,不仅要处理企业与客户之间的业务,还要处理企业内部相关部门的业务。CRM中不仅包含客户的信息资料,还包括了企业进行营销、销售及支持服务所需的各种数据。客户与企业、部门与部门、业务与业务、销售与市场及服务间复杂关系,导致CRM中的数据不论是结构、类型还是彼此间的关联都是复杂多变的;对这种数据进行的处理也是多种多样的。因此,要实现对数据的及时、准确的处理和有效利用,就需要对数据的分析和预测能力。只有通过预测客户的消费习惯和消费趋势,才能实现“一对一”的营销,才能为企业获得最大的利益和赢得更多的客户。3.2需求分析3.2.1系统功能详细说明基于J2EE的企业客户关系信息管理系统主要服务人群是公司的管理层人员和底层的操作员。系统主要功能有:营销管理、客户管理、服务管理、统计报表和基础数据五个功能模块。另包括权限管理模块用于系统的用户、角色和相关权限。其中各个模块包含的功能如下:营销管理:销售机会管理,客户开发计划。客户管理:客户信息管理,客户流失管理。服务管理:服务创建,服务分配,服务处理,服务反馈,服务归档。统计报表:客户贡献分析,客户构成分析,客户服务分析,客户流失分析。基础数据:数据字典管理,查询产品信息,查询库存。图3-3系统功能模块图3.3可行性分析系统的可行性分析可以从经济可行性、技术可行性、管理可行性等几个方面进行可行性分析。3.3.1经济可行性整个系统尚未运行之前,需要一笔投资,花费相对而言比较多。其中我们需要配置一些电脑、还有服务器及相关的网络设备。一旦整个系统投入运行之后,相关的成本便可以大大的减少。3.3.2技术可行性技术可行性分析,考虑使用的硬件和软件技术,旨在满足用户的要求(如计算机的容量,速度等)。此外,该系统并不难,涉及的是有限的机构,如中小型企业或人才服务中心,这样的技术能力已经达到了系统的开发。3.3.3管理可行性从管理的角度来分析系统的可行性来讲,作为一个系统,必须有系统的管理员来对系统的一些基础数据进行管理。从系统的维护角度来可以,必须有专门的维护人员来对系统进行维护。3.3.4操作可行性企业客户关系信息管理系统操作简单易懂,对于操作人员而言只需要学习简单的电脑操作即可熟练使用本系统。3.3.5法律可行性企业客户关系信息管理系统以个人为单位,仅供个人所用,没有侵犯任何版权,也没有违反国家相关法律法规及相关方面的规定,与业界有关规定也无矛盾之处,所以法律方面可行。3.4性能需求企业客户关系信息管理系统必须实现可以安全、稳定、可靠、高效、长期的运行。所以企业客户关系信息管理系统应满足以下几个性能需求。3.4.1系统处理的精确性和准时性系统处理的精确性和准时性是企业客户关系信息管理系统的必要性能。在系统设计和开发过程中,应当充分的考虑到系统当下和将来可能承载的工作量。开发完成的系统在处理能力和响应时间性能方便必须要满足公司对信息处理的需求。3.4.2系统的开放性和系统的可扩展性在开发过程中,应该充分考虑系统投入使用以后的可扩充性。比如说查询功能可以需要完善或者可以实现更多信息的查询下。所有这些都需要系统提供调整和扩大的适当手段。为了实现这一目标,应通过系统的开放性来完成,两个系统应该是一个开放的系统,只要符合一定的规格,只需加入和减少系统的模块,配置系统上的硬件。3.4.3系统的易用性和易维护性企业客户关系信息管理系统服务的人群往往并不会深入了解计算机技术,他们大多数只掌握了基本电脑操作技术。所以系统需要提供良好的用户接口,简单易懂的人机交互界面。要实现这一目标,它要求该系统应能使用的用户界面熟悉术语和中文信息;当用户在进行一些操作时应给出相应的提示。比如某些数据删除后不能恢复,这时在删除操作前必须提示用户警惕操作。3.4.4系统的标准性系统在设计与开发使用过程中肯定要涉及到很多计算机软硬件。系统必须符合相应的标准。3.4.5系统的先进性目前计算机技术发展的相当迅速,在企业客户关系信息管理系统的生命周期中尽量保障系统的先进,可以胜任公司信息处理的要求而不至于提前被淘汰。系统开发时所考虑的可扩展性便可以发挥作用,利用这点可以对系统进行升级和完善从而延长系统的使用寿命。在系统开发时,应选用当下流行且先进的开发工具这样才能开发出先进的系统。3.4.6系统的响应速度企业客户关系信息管理系统系统对日常处理中的响应速度要求十分苛刻。为了不耽误公司正常运行,系统必须做到不会因为速度问题而影响工作效率。如果一个简单的查询工作需要数小时才能完成,那么制作这个系统就会失去意义。3.5可靠行和可用性需求系统可用并且在一个月内不能出现2次以上故障。3.6出错处理要求系统出错以后必须给出相应错误信息,同时提醒用户采取相应操作手段来解决故障。在使用本系统时可能出现如下系统故障:1.当系统提示输入用户名密码错误则说明需要检查输入的用户名密码的正确性。2.当管理员进行操作时,未明确需要进行操作的目标:说明未选中需要进行操作的数据,应该做出提示3.当用户操作可能导致不可恢复的损失应给出警告。3.7接口需求第一,硬件接口方面主要日常所用的移动硬盘与U盘,基本没有其他与外界硬件的联系。第二,软件接口方面主要是考虑到软件与操作系统的接口,考虑到文档处理的需求可能包括办公软件和常用接口。例如Microsoft的office系列。软件界面和用户和用户需求,这些应该明确在用户需求定义。3.8系统操作系统选择本论文选择Windows7操作系统。系统运行时,服务器端配置需要选择CPUPentium以上,内存128mb以上;操作平台为WindowsNT4.0Server,数据库系统为ORACLE;客户端配置选择主机586/100以上,内存4G;操作平台Windows9.x或Windows3.2。3.10本章小结本章先对系统进行了需求分析。在需求分析过程中,首先明确了系统的主要服务人群以及系统主要任务。从这两方面逐步开始进行需求分析工作。通过需求分析,论文基本确定了系统的主要功能。

第四章系统实现4.1SSH2配置企业客户关系信息管理系统使用的是SSH2框架。Struts2框架实现了MVC模式,层次结构清晰,程序员只需要注重业务逻辑的实现就可以了,这样一来大大的提高了开发的效率;Struts2只要有配置文件,就可以把握住整个系统各个部分之间的关系;Spring框架在没有程序员的情况下就可以自己实现singleton模式。Hibernate框架的可移植性非常好。在开发过程中简洁的HQL语句,减少了JDBC与SQL操作数据库的代码量,使开发难度降低。[14]所以,SSH2十分适合本系统的开发。在配置SSH2时首先需要创建工程,然后添加struts支持,紧接着进行分包。紧接着添加spring支持和spring配置文件。下面给出具体配置详细分布过程。第一步,在web.xml文件中配置初始化读取参数(spring的配置文件),代码如下: <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param>第二步,配置spring监听器,代码如下:<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>第三步,在struts-config.xml文件中配置请求处理器,将struts请求委托给spring代理,达到控制反转的目的,代码如下:<controllerprocessorClass=“ org.springframework.web.struts.DelegatingRequestProcessor"></controller>第四步,添加hibernate支持,配置好hibernate以后,在applicationContext.xml文件中会自动生成“数据源”,“sessionFactory”,代码如下:<beanid="dsid"class="mons.dbcp.BasicDataSource"><!--方法注入--><propertyname="driverClassName"value="com.microsoft.jdbc.sqlserver.SQLServerDriver"></property><propertyname="url"value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs"></property><propertyname="username"value="sa"></property><propertyname="password"value="sa"></property></bean><!--将hib中的sessionFactory封装--><beanid="sfid"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!--引用实例化好的数据源--><propertyname="dataSource"><refbean="dsid"/></property><propertyname="hibernateProperties"><props><!--设置数据库方言--><propkey="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop><propkey="show_sql">true</prop></props></property></bean>第五步,通过表,反向生成“实体类”,添加配置文件。在当正确添加实体后,appilcationContext.xml文件中会自动添加实体类的映射。详细配置过程如下。<!--将hib中的sessionFactory封装--><beanid="sfid"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!--映射表对象--><propertyname="mappingResources"><list><value>com/alex/ssh/entity/Root58.hbm.xml</value></list></property></bean>第六步,完成上面步骤之后需要修改DAO类的位置,修改配置文件属性值。第七步,添加service类,反转serviceClass,添加struts部分(添加jsp,form,action)。第八步,将struts-config.xml文件中action节点的type属性去掉。第九步,在acpplicationContext.xml文件中代理action类,也是一种控制反转的实现。具体实现操作如下。 <!--反转actionname属性的取值与struts配置中的path="/root"一致--> <beanname="/root"class="com.alex.ssh.action.RootAction"> <propertyname="service"> <refbean="rootService"/> </property> </bean>SSH2的生命周期如图4-1所示。图4-1SSH2生命周期4.2MVC设计模式4.2.1MVC介绍MVC的英文全称是Model-View-Controller,就是把一个应用的输入、输出和处理流程按照模型、视图、控制的方式进行分离,这样一个应用就会被分成三个层次——模型层、控制层、视图层。如图4-2为MVC模式的基本分层图。[15]图4-2MVC模式基本分层图视图(View)视图代表人机交互界面,就是用户可以清楚看到内容,同时可以参与交互的界面。主要功能实现数据的传输和输出功能,然后在相关页面显示出来,这样用户便可以从视图层获取到有用信息。不同的视图利用不同的方法来呈现需要反应给用户的信息。每一个视图组件都会有一个更新函数,当模型层发生变化的时候这个函数就会被激活。在这个函数被激活以后视图层就会进行更新操作。通过状态查询函数,视图层可以从模型获取数据。模型(Model)模型层的另一个名字是业务逻辑层,它主要用来封装业务逻辑和业务产生的数据。业务逻辑是软件的核心。用户是无法看到业务逻辑层的,业务逻辑层独立于特定输出表示或者输入模式。用户只能利用控制器来控制业务逻辑层。控制(Controller)控制层可以理解起到控制整个业务流程的作用,实现View层跟Model层的协同工作。每个视图有一个与之对应的控制器组件。一旦控制器组件接受到某个事件,就会将这个事件翻译成为对模型或者视图的请求。如果控制器的行为取决于模型的状态,那么控制器需要进行变更的时候也需要向模型发出变更请求通知。例如:用户点击确定按钮,确定按钮的事件响应函数将会做出相应的反应来处理用户要求。本论文在实现系统时,系统架构使用了MVC设计模式。所以它拥有以下几点优势。第一,企业客户关系信息管理系统拥有多个视图对应一个模型的能力。这样做可以减少本系统代码量,在进行维护时也减少了工作压力,同时也便于维护。其次,该模型还没有数据显示格式,因此,这些模型可以直接应用到接口。第二,因为应用程序被分成三个图层,所以有时候改变其中之一将能够满足应用程序的更改。第三,系统控制层的概念也很有效,因为它把不同的模型和不同的视图组合在一起完成不同的要求,因此,控制层可以说是包含用户请求的权限的概念。第四,本系统采用的设计模式有利于软件的工程管理。由于每层都有着不同的功能,而每一层不同的应却具有某些相同的特征。利用这样的特点程序员可以工程化、工具化产生管理程序代码。4.2.2模块设计1登陆模块设计登录模块是整个系统的其实位置,只有被验证成功的用户才可以登陆系统。页面如图所示:代码如下://数据库判断 Membermember=userManager.login(username,password); if(member!=null){//登录成功 session.put("id",member.getId());//写入用户原始注册信息 session.put("name",username);//写入用户原始注册信息 session.put("type",userType);//写入用户原始注册信息 return"success";//进入信息修改界面 }else{//登录失败 addActionError(getText("login.failure")); returnINPUT;//登录失败,返回登录界面 }2列表模块设计列表模块设计,主要是显示数据的集合列表,主要是用来进行数据的显示工作,比如用户列表,服务端列表,等。页面如图所示:代码如下:getHibernateTemplate().setCacheQueries(true); List<Dingdan>memberList=this.getHibernateTemplate().executeFind( newHibernateCallback(){ publicObjectdoInHibernate(Sessionsession) throwsHibernateException,SQLException{ if(queryStr!=null&&queryStr.trim().length()!=0){ returnsession .createQuery( "fromDingdanawherelike?orderbya.id").setParameter(0,"%"+queryStr+"%") .setFirstResult((pageNo-1)*pageSize) .setMaxResults(pageSize) .list(); }else{ returnsession .createQuery( "fromDingdanaorderbya.id") .setFirstResult((pageNo-1)*pageSize) .setMaxResults(pageSize) .list(); } } }); PageModelpageModel=newPageModel(pageNo,pageSize,memberList); //查询记录总数 LongtotalRecords=0l; if(queryStr!=null&&queryStr.trim().length()!=0){ totalRecords=(Long)this .getHibernateTemplate() .find( "selectcount(*)fromDingdana" +"wherelike?", newObject[]{"%"+queryStr+"%"}).get(0); }else{ totalRecords=(Long)this.getSession().createQuery( "selectcount(*)fromDingdana").uniqueResult(); } pageModel.setTotalRecords(totalRValue()); returnpageModel;3新增模块设计在整个设计中,数据的产生就是新增,只有通过系统提供的新增功能,才能进行相应数据的新增功能。页面如图所示:代码如下:Custcust=newCust(); cust.setId(custidd); member.setCustid(cust); manager.add(member);//成员信息写入数据库 returnlist();//管理员则转到人员围护界面4删除模块设计删除功能,系统中包含大量的删除功能,比如用户的删除,服务的删除等。页面如图所示:代码如下:for(inti=0;i<memberIdList.length;i++){ Dingdanmember=getHibernateTemplate().load(Dingdan.class, memberIdList[i]); getHibernateTemplate().delete(member); }5修改模块设计修改功能,修改功能是对数据的修改,纠正一些错误。页面如图所示:代码如下:try{ getHibernateTemplate().update(member); }catch(RuntimeExceptionre){ throwre; }4.3本章小结本章主要介绍系统实现的具体操作方法。首先介绍了SSH2的配置方法,然后介绍了程序的MVC模式。本章主意介绍了关键功能的实现方法,展示了主要界面的显示页面,给出了部分程序代码。

第五章系统测试5.1测试目的与目标在此系统功能大部分实现可以运行之之时,便需要开始考虑进行系统测试工作了。通过对系统进行测试可以找出系统中隐藏的一些错误。在发现错误以后需要及时进行修正,以保障系统的长期稳定运行。这个过程必不可少。测试的软件模块的基本功能,可以继续进行,尽可能提高软件的鲁棒性。5.2测试方法系统的测试有黑盒测试和白盒测试两种方法。黑盒测试也称作功能测试。黑盒测试是在程序接口进行。它只检查程序功能是否可以运行并符合设计时所提出的要求。黑盒测试检查当有数据进行输入的时候程序是否能及时作出反应,而且还能够保持外部信息的完整性。白盒测试也叫结构测试。白盒测试要求测试人员完全了解程序的结构和程序的处理过程。白盒测试会依照程序内部的逻辑顺序来进行测试,检验程序是否都能按照指定的要求去完成工作。[16]本系统开发过程进行了模块测试、验收测试等测试。模块测试也可以称为单元测试,目的是保证程序每一个单独模块作为一个独立单元可以正常的运行。模块测试常常可以发现编码和详细设计方面发生的错误。它主要用来评价模块的接口,局部数据结构,重要的执行路径,出错处理通路。模块测试主要是由代码审核和软件测试两部分组成。[17]验收测试是为了验证软件的有效性和可靠性。其目的是为了说明软件可以向设计的那样正确的运行,也是对用户的一种保障措施。验收测试主要用黑盒测试法,验收测试有可能出现两种的结果。第一种是系统的功能与特性无法满足用户的要求;另一种可能是系统功能和性能十分完善,用户十分满意。平行运行。所谓平行运行就是同时运行。就是将新开发出来的系统与原有的旧系统同时执行同样的任务,比较它们之间的差异。这样做的目的是可以发现新系统的并为改善的缺点,同时也可以让用户熟悉新系统,便于以后得运用与操作。5.3实际模块测试在模块测试时应该主要从以下几个方面开始入手:模块接口,局部数据结构,重要执行通道,出错处理通道,影响上述方面的边界条件。测试时进行代码审查测试,从数据类型,变量声明,数据结构进行审查,然后功是能测试。改变测试计划改造另一个角度测试,发现错误并记录,修改代码,测试条件通过多分支使程序,判别结果,以完成模块的测试。[18]5.4本章小结本章节主要介绍了系统的测试工作。本章首先强调了系统测试的重要性。系统测试是保障系统运行的基本要求。系统测试从理论上入手,做到理性而有目标性的进行测试,然后根据实际给出了几个实际测试案例。第六章结论通过这次的毕业设计使我对系统分析和设计有了更为深刻的了解。经过很长时间的努力,这个系统总算是初步成型。显然这个系统还是有很多不成熟、不完善的地方。由于时间和能力有限,系统只完成了基本的一些功能,一些真正实用的本质功能还来不及完善,特别是客户预测和分析这部分没有按老师的要求实现,美工方面也不够漂亮。但这毕竟是自己独立完成的第一个运行正常的系统,从敝帚自珍的角度来讲,还是颇觉欣慰的。系统的实现有一定的利用价值,它将减轻中小企业管理人员的负担。并能为公司领导的决策提供支持。如果每个企业可以很好的吸收CRM的管理理念,企业肯定会在利润、客户忠诚度和客户满意度多方面有明显的提高,对未来整体性的电子商务时代的来临也就更有准备和实力,同时也向网络经济靠前进了一大步。本论文实现企业客户关系信息管理系统有几大优点:系统操作简单易懂,对于操作人员来说,只需要学习简单的电脑操作即可实现对此系统的操作。系统能够长期、安全、稳定、可靠、高效的运行。系统前期投资并不大,但是后期回报可观。系统真正实现了公司日常工作的统一化,数字化管理。但是,目前系统也存在一些缺点,如操作界面美观方面需要进一步改进。参考文献[1]孙卫琴.Java面向对象编程.[M]电子工业出版社.2006.7.[2]杨学全.JSP编程技术.[M]北京:清华大学出版社.2009.4.01.[3]孟琼.Spring框架事务处理技术研究.[J/OL]江西省计算机研究所.2012.10.05.[4]董袁泉.基于Hibernat框架的J2EE应用开发.[J/OL]沙洲职业工学院学报.2011-03-15.[5]余银山;胡正华.基于Struts2框架的Web应用开发研究.[J/OL]电脑知识与技术.2009-06-05[6]肖炜.基于MyEclipse开发环境的移动图书馆系统设计.[J/OL]网友世界.2012-10-15.[7]陈刚.基于Oracle存储引擎的融合查询方法[P].杭州求是专利事务所有限公司.2008.04.09.[8]JaroslawSkaruz.ApplicationsofEvolutionaryComputingSpringer.[B]海德堡出版社.2009.[9]李云云.浅析B/S和C/S体系结构[J/OL].科学之友.2011.01.15.[10]张淑荣;苏兵.C/S与B/S两种软件体系结构[J/OL].电脑学习.2010.12.01. [11]崔楠.车辆违章信息管理系统的实现.[J/OL]山东:山东大学.2012.[12]刘国艳.家庭财务管理的设计与实现.[J/OL]].山东:山东大学.2012.[13]仲丽维.Web版交通车辆违章查询系统.[J/OL]现代技术制造与装备.2010.07.15.[14]戴马.基于J2EE架构的SSH2组合框架的Web应用.[D]苏州大学.2010.10.01.[15]李庆敏.基于MVC架构的RIA分层框架的接口模型.[P]广州市深研专利事务所.2008.7.30[16]陶幸辉;宋志刚.软件系统测试类型及测试用例设计.[J/OL]科技经济市场.2011-06-15. [17]陈鑫.Spring框架的分析和研究.[J/OL]电脑知识与技术,2009.7.08[18]李亚伟.Oracle的存储安全的研究与实现.[J/OL]华中科技大学,2011.

附录I文献翻译1、英文原文JAVAthreeframeworksusedtomakeWENapplications.ShowstrutsprimarilyresponsibleforthepresentationlayerspringIOCandAOPuseittoprocesscontroloperations(responsiblefortheoperationofthedatabase)hibernatemainlypersistentdatatothedatabaseIntheservletjsptodowithwebdevelopmentwhenthereisaweb.xmlmappingfile,whichhasalabelthatisusedformappingfilemapping.WhenyouentertheURLinthebrowserwhenthefilewillbewrittenbasedonyournamecorrespondingtoajavafile,thebrowserisawebpage,sojustwritethepagenameisbasedonthecontentsofthedocumentwritteninjavadisplay,justfromthename,whetheryouarefrom.php.jsp.doorwhatothercorrespondstothejavafile,thejavacodefilewhatactiontodo,displayawordoraconnectiontoadatabaseorjumptootherpagesothatthejavafilethedatapackagetoplaytheroleofsecurityandeaseofmanagement.Infact,thisjavafilescompiledover是.Classofabytecodefile,notasasimilarhtmlcodetoembedtagsandwebdocuments.Heandthedifferenceisjspjspfilestoembedhtmlcodelabel.Thereservletorstrutsactionintheformofhtmlsubmitajavafilenamecorresponds,strutsgenerally.Do,andaremappedasabove.One,SpringSpringisapowerfulframeworktosolvemanyofthecommonJ2EEdevelopmentissues.Springprovidesaconsistentwaytomanagebusinessobjectsandtoencouragetheinjectionoftheprogramminginterfaceratherthantheclassofgoodprogramminghabits.Spring-basedarchitectureisbasedontheuseofJavaBeanpropertiesInversionofControlcontainer.However,thisisonlypartofthecompletepicture:SpringIoCcontainerinuseasaframeworktobuildcompleteattentiontoallaspectsofacompletesolutionlayerisunique.Springprovidesauniquedataaccessabstraction,includingasimpleandefficientJDBCframework,whichgreatlyimprovestheefficiencyandreducesthepossibilityoferrors.Spring'sdataaccessarchitecturealsointegratesHibernateandotherO/Rmappingsolutions.Springalsoprovidesauniquetransactionmanagementabstraction,whichcaninavarietyofunderlyingtransactionmanagementtechniques,suchasJTAorJDBCtransactionprovidesaconsistentprogrammingmodel.SpringprovidesalanguagewritteninstandardJavaAOPframework,itgivesPOJOsprovidesdeclarativetransactionmanagementandothercorporatematters-ifyouneedto-canimplementyourownaspects.ThisframeworkisstrongenoughtomakeanapplicationtosetasidethecomplexityofEJB,whileenjoyingcriticalservicesandassociatedtraditionalEJB.SpringIoCcontainerandalsoprovidesapowerfulandflexibleintegrationMVCWebframework.Two,STRUCTSStrutsisanMVCframeworkSunJ2EEplatformbasedmainlyusedServletandJSPtechnologytoachieve.SinceStrutscanfullymeettheneedsofapplicationdevelopers,easytouse,quickquick,popularattentioninthepastyear.StrutstheServlet,JSP,customlabelsandinformationresources(messageresources)intoaunifiedframework,developersdonothavetousetheirowncodingMVCmodeltoachieveitsfulldevelopment,greatlysavingtime,sothatStrutsisaverygoodapplicationframework.Three,HibernateHibernateobject-relationalmappingframeworkisanopensource,ithadaverylightweightJDBCobjectpackagesothatJavaprogrammerscanusearbitraryobjectprogrammingthinkingtomanipulatethedatabase.HibernatecanuseJDBCinanyapplication,eitherprograminJavaclientutilitycanalsobeusedinServlet/JSPWebapplication,themostrevolutionaryis,HibernatecanreplacetheEJBCMPJ2EEapplicationarchitecturetocompletethetaskofdatapersistence.,HibernatecanreplacetheEJBCMPJ2EEapplicationarchitecture,datapersistencetocompletethetask.

2、中文译文JAVA三大框架用来做WEN应用。struts主要负责表示层的显示spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)hibernate主要是数据的持久化到数据库在用jsp的servlet做网页开发的时候有个web.xml的映射文件,里面有个mapping的标签就是用来做文件映射的。当你在浏览器上输入URL地址的时候,文件就会根据你写的名称对应到一个java文件,根据java文件里编写的内容显示在浏览器上,就是一个网页,所以网页名字是随便写的,随便起的名字,不管你起的是.php.jsp.do还是其他的什么都对应这个java文件,这个java文件里的代码进行什么操作就干什么,显示一句话还是连接数据库还是跳转到其他页面等等,这个java文件把数据进行封装起到安全和便于管理的作用。其实这个java文件编译过来是.class的一个字节码文件,没有那么一个类似html嵌入标签和代码的网页文件。他与jsp文件区别就是jsp把代码嵌入到html标签中。还有servlet或者struts中html表单的action中的提交名称对应一个java文件,struts一般是.do的,都和上面一样是映射。一、SpringSpring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBea

温馨提示

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

评论

0/150

提交评论