客户关系管理系统-很完整_第1页
客户关系管理系统-很完整_第2页
客户关系管理系统-很完整_第3页
客户关系管理系统-很完整_第4页
客户关系管理系统-很完整_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录 TOC o 1-2 h z u HYPERLINK l _Toc249089820 第一章 绪论 PAGEREF _Toc249089820 h 1 HYPERLINK l _Toc249089821 背景 PAGEREF _Toc249089821 h 1 HYPERLINK l _Toc249089822 目的 PAGEREF _Toc249089822 h 2 HYPERLINK l _Toc249089823 意义 PAGEREF _Toc249089823 h 2 HYPERLINK l _Toc249089824 第二章 需求分析 PAGEREF _Toc249089824

2、 h 3 HYPERLINK l _Toc249089825 2.1 需求陈述 PAGEREF _Toc249089825 h 3 HYPERLINK l _Toc249089826 2.2 需求分析 PAGEREF _Toc249089826 h 4 HYPERLINK l _Toc249089827 第三章 关键技术分析 PAGEREF _Toc249089827 h 11 HYPERLINK l _Toc249089828 3.1 系统使用的技术 PAGEREF _Toc249089828 h 11 HYPERLINK l _Toc249089829 系统架构设计 PAGEREF _To

3、c249089829 h 13 HYPERLINK l _Toc249089830 第四章 系统设计 PAGEREF _Toc249089830 h 15 HYPERLINK l _Toc249089831 4.1 总体设计 PAGEREF _Toc249089831 h 15 HYPERLINK l _Toc249089832 详细设计 PAGEREF _Toc249089832 h 18 HYPERLINK l _Toc249089833 第五章 系统编码 PAGEREF _Toc249089833 h 29 HYPERLINK l _Toc249089834 第六章 系统测试 PAGER

4、EF _Toc249089834 h 35 HYPERLINK l _Toc249089835 测试的作用和意义 PAGEREF _Toc249089835 h 35 HYPERLINK l _Toc249089836 测试方法 PAGEREF _Toc249089836 h 35 HYPERLINK l _Toc249089837 测试内容 PAGEREF _Toc249089837 h 35 HYPERLINK l _Toc249089838 测试结果 PAGEREF _Toc249089838 h 37 HYPERLINK l _Toc249089839 测试总结 PAGEREF _To

5、c249089839 h 37 HYPERLINK l _Toc249089840 第七章 总结 PAGEREF _Toc249089840 h 38 HYPERLINK l _Toc249089841 心得体会 PAGEREF _Toc249089841 h 39 HYPERLINK l _Toc249089842 致 谢 PAGEREF _Toc249089842 h 40 HYPERLINK l _Toc249089843 参考文献 PAGEREF _Toc249089843 h 41摘 要本系统采用B/SBrowser/Server结构,Java为开发语言,SQL Server 200

6、5为数据库来进行设计与开发。该系统主要基于SSH框架和Extjs框架即Struts+Hibernate+Spring+ExtJs框架进行开发RIA即富客户端的桌面版的客户关系管理系统应用,使得我们的B /S应用更加具有活力和生命力,使得整个系统在用户体验具有更加好的效果!该系统主的功能是帮助现代企业处理与外部客户的关系。根本功能包括营销管理、客户管理、效劳管理、根底数据、系统管理等。本论文,简要阐述了此次毕业设计题目“客户关系管理系统的开发背景与开发环境,且对系统的构架进行分析,并由此划分出各个模块,有系统管理员模块、销售主管模块、客户经理模块、高管模块。详细介绍了系统各个模块与功能的实现原理

7、,本文详细介绍了客户关系管理系统的需求分析、功能设计和系统设计等,并通过流程图和文字加以解释说明。在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况,同时附有运行界面图,最后总结开发阶段与测试阶段所遇到的问题与解决方法。关键词 :客户关系管理系统;SSH框架;Extjs框架;B/S结构; 第一章 绪论背景Internet最早在美国出现,如今,世界各国纷纷参加到这个行列,使Internet成为全球化的网际网络。随着用户的不断增加,其规模迅速扩大,它的领域也走向多元化。除了原先的科学技术和教育外,Internet已进入了文化、经济、政治、新闻、体育、

8、娱乐、商业和效劳业。可以预见,Internet将为我们构筑未来崭新的生活方式。另外客户关系管理系统开展在世界范围内都是刚刚开始,其开展速度极为迅速,传统的商业模式正不断地被新的商业模式所代替,无论什么模式都不具有固定性和成熟性。对于任何国家来说,都有一个探索与创新的问题,这也为我国加快和跨越开展提供了难得的机遇。我们要大胆进行创新,积极探索符合实际的商业模式,壮大企业的市场竞争能力,以适应全球化的剧烈竞争。客户关系管理系统就是大环境下开展的产物,近几年在我国开展迅猛,如同一些超市纷纷在各地开设分店以博取最大的利益一样。随着科学技术得分速开展,Internet这个昔日只被少数科学家接触和使用的科

9、研工具已经成了普通百姓都可以触及的群众型媒体传播手段。随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快。人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习,21世纪是网络的时代、信息的时代,时间是非常珍贵的,由于现代企业的诸多环境因素,企业在处理与外部客户关系时,越来越感觉到没有信息技术支持的客户管理力不从心,网上客户关系管理系统应运而生,客户关系管理系统对企业业务流程的重组整合用户信息资源,以便有效的管理客户关系,在企业内部实现信息和资源的共享。客户关系管理系统很好的解决了这方面的问题,我们向企业推出的是一种全新的网上信息效劳,旨在企业与客户之间架起

10、了一座高速、便捷的桥梁,我们的目的是节省您的时间、方便您的管理,使您永远走在时代的前沿。做好客户关系管理的网络平台的搭建与效劳。让所有企业能够方便快速管理客户关系,同时也可以节省大量的时间和金钱。以帮助企业的主管人事管理的部门提高工作效率,实现企业客户的信息管理以及管理的系统化、标准化和自动化,让企业通过网络方便快捷管理客户关系,让企业在网上能以全新的模式管理客户关系, 在有效控制本钱的同时, 大幅提升工作效率,并且不受地域与时间的限制。作为一个网上的客户关系管理系统,与传统的客户关系管理有很多新的特性,以下这些是它的优势:其营业本钱完全有理由比传统意义上的客户关系管理低得多:不需花费浩大的人

11、力和物力来管理客户关系;不需为繁琐的数据而烦恼。同时,帮助企业在全球经济一体化的剧烈市场竞争环境中,建立以市场、客户为中心的管理体系,有效管理企业和客户之间的关系,提高客户忠诚度,实现客户价值的最大化。从而提高企业的核心竞争力。更重要的是,利用网络管理,使企业在提高效率、拓展市场和保存客户三方面大大改良,对于提升竞争的优势,有着重大的意义。这些特性使网上客户关系管理充满生命力,也是它开展的源动力。第二章 需求分析2.1 需求陈述 系统功能 本系统用于管理与客户相关的信息与活动,但不包括产品信息、库存数据与销售活动。这三类数据将由XX公司X销售系统进行管理。但本系统提供产品信息查询功能、库存数据

12、查询功能、历史订单查询功能。该客户关系管理系统的功能共分为6大功能模块:营销管理模块、客户管理模块、效劳管理模块、统计报表模块、根底数据模块、系统管理模块。各模块之间并非各个独立,而是相互联系,相互关联在一起的,从而使本系统能够很好的完成所设计的功能。在系统中分为四种用户类型:系统管理员、销售主管、客户经理、高管。系统管理员:管理系统用户、角色与权限,保证系统正常运行。销售主管:创立销售时机、修改销售时机、删除销售时机、指派销售时机。对特定销售时机制定客户开发方案、执行开发方案开发结果。对客户效劳进行分配、查看效劳归档。分析客户奉献、客户构成、客户效劳构成和客户流失数据,定期提交客户管理报告。

13、客户经理:创立销售时机、修改销售时机、删除销售时机。维护负责的客户信息:编辑客户信息、管理客户联系人、管理客户交往记录。接受客户效劳请求,在系统中创立客户效劳。处理分派给自己的客户效劳。对处理的效劳进行反应、查看效劳归档。对特定销售时机制定客户开发方案。执行客户开发方案过程。客户流失管理对负责的流失客户采取“暂缓流失或“确定流失的措施。查看客户奉献、客户构成、客户效劳构成和客户流失数据。高管:审查客户奉献数据、客户构成数据、客户效劳构成数据和客户流失数据。 性能描述作为一家在互联网上管理客户关系的企业,用户可以在任何时间进行操作与浏览,这就要求系统首先必须满足7*24小时不间歇的效劳模式,就像

14、ATM自动受货机一样,因此稳定性是客户关系管理系统的根底。客户效劳是一个涉及多个部门,存在一定流程的工作。客户效劳水平的上下决定着公司的核心竞争力。该客户关系管理系统应提供一个客户效劳在线平台,使客户效劳处理过程中相关人员可以在线完成效劳的处理和记录工作。互联网技术使在企业能够极其方便轻松地管理与客户之间的关系。2.2 需求分析 CRM作为管理企业与客户关系的主要管理系统平台,主要处理企业与客户之间关系。根据分析,可以画出系统用例图如图2-1所示:图 2-1 客户关系管理系统用例图2-1展示了系统的功能模块以及各用户相应的权限。营销管理模块:包含销售时机的管理和对客户开发过程的管理,子用例图如

15、图2-2所示。图2-2 营销管理功能模块用例营销的过程是开发新客户的过程。对老客户的销售行为不属于营销管理的范畴。客户经理有开发新客户的任务,在客户经理发现销售时机时,创立新的客户信息同时也应在系统中录入该销售时机的信息。销售主管也可以在系统中创立销售时机。所有的销售时机由销售主管进行分配,每个销售时机分配给一个客户经理。客户经理对分配给自己的销售时机制定客户开发方案,方案好分几步开发,以及每个步骤的时间和具体事项。制定完客户开发方案后,客户经理按实际执行请跨功能填写方案中每个步骤的执行效果。在开发方案结束的时候,根据开发的结果不同,设置该销售时机为“开发失败或“开发成功。客户管理模块:包含客

16、户信息管理和客户流失管理的子用例图如图2-3所示。 图2-3 客户管理功能模块用例客户信息是公司资产的构成局部之一,应对其进行妥善保管、充分利用。每个客户经理有责任维护自己负责的客户信息,随时更新。在本系统中,客户信息将得到充分的共享,从而发挥最大的价值。有调查说明,公司的大局部利润来自老客户,开发新的客户本钱相对较高而且风险相对较大。因此我们有必要对超过6个月没有购置公司产品的客户应予以特殊关注,防止现有客户流失。效劳管理模块:包含效劳创立、效劳分配、效劳处理、效劳反应、效劳归档的子用例图如图2-4所示。 图2-4 效劳管理功能模块用例效劳管理的处理流程如2-5图 2-5 效劳管理处理流程统

17、计报表模块:包含客户奉献分析、客户构成分析、客户效劳分析和客户流失分析的子用例图如图2-6所示。 图2-6 统计报表功能模块用例根底数据模块:包含数据字典管理、查询产品数据、查询库存的子用例图如图2-7所示。图2-7 根底数据功能模块用例系统管理模块:包含用户管理、角色管理、权限管理、我的权限的子用例图如图2-8所示。图2-8 系统管理功能模块第三章 关键技术分析3.1 系统使用的技术本系统采用Microsoft SQL Server数据库,使用Java EE进行开发,采取B/S架构。数据库设计原那么上符合第三范式,且标准,易于维护。程序需使用MVC模式,采用三层架构,保证系统的可维护性和可扩

18、展性。主要基于Struts+Hibernate+Spring+ExtJs框架进行开发RIA即富客户端的桌面版的客户关系管理系统应用。Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。Hibernate 是一个开放源代码的

19、对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Spring 是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构根底是基于使用JavaBean属性的 Inversion of

20、 Control容器。然而,这仅仅是完整图景中的一局部:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改良了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务-如果你需要-还能实现你自己

21、的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键效劳。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架新技术以及新概念介绍:富因特网应用程序Rich Internet Applications,RIA,集成桌面应用的交互性和传统 Web应用的部署灵活性;RIA开发必备三个要素:富客户端技术、效劳器技术和开发工具。几种富客户端技术:1、Macromedia FlexAdobe公司的RIA解决方案,在Flash运行时环境中运行(MXML)。 2、JavaFxSun的RIA解决方案,在Java虚拟机(1.5)上运行(V

22、RML)。3、WPF/SilverLightMicrosoft的RIA解决方案,在浏览器端的.Net运行时插件中运行 (XAML) 。4、 Ajax使用标准W3C技术,不需要额外的运行环境支持,如Backbase及Extjs。Ajax概念:Ajax不是一项技术。它其实是几项技术,每项技术自身都很繁荣,它们以强有力的全新方式结合起来。Html、xhtml、DOM、CSS、XML、XSLT、XML Request、javascript。常用的Ajax框架有:Prototype,YUI,JQuery,Dojo,Echo2,Ext等。Ext简介:Ext是一个Ajax框架,用于在客户端创立丰富多彩的we

23、b应用程序界面,是在Yahoo! UI的根底上开展而来的。可以用来开发具有绚丽外观的RIA应用,它是一个用JavaScript编写的与后台技术无关的Ajax框架。官方 HYPERLINK :/ extjs / t _parent 。Extjs的几个特点:1、使用标准的W3C技术;2、庞大的组件模型及控件库;3、丰富绚丽的界面元素;4、强大实用的工具封装;5、开源GPL。Extjs是一个用于WebUI开发的Ajax框架,可以用他来轻松开发丰富多彩的应用程序界面;Ext主要用于企业级应用中的前端界面开发,Ext还可以应用网站系统中的后台管理模块。Extjs通常简称为EXT,它是一个非常优秀的Aja

24、x框架,可以用来开发具有炫丽外观的富客户端应用。它是一个用JavaScript编写的与后台技术无关的Ajax框架,更加是是一个跨浏览器的框架。基于以上原因,以及Ext界面的华美性和易用性,所以本系统采用ExtJs技术。系统架构设计该客户关系管理系统的功能在系统的需求分析已确定,共分为6大功能模块。各模块之间相互联系,相互关联,从而使本系统能够很好的处理企业与客户的关系。在系统中四种用户类型相应的权限如下:系统管理员的权限:数据字典管理、用户管理、角色管理、权限管理、我的权限。销售主管的权限:销售时机管理、客户开发方案、效劳分配、效劳归档、客户奉献分析、客户构成分析、客户效劳分析、客户流失分析、

25、我的权限。客户经理的权限:销售时机管理、客户开发方案、客户信息管理、客户流失管理、效劳创立、效劳处理、效劳反应、效劳归档、客户奉献分析、客户构成分析、客户效劳分析、客户流失分析、查询产品数据、查询库存、我的权限。高管的权限:客户奉献分析、客户构成分析、客户效劳分析、客户流失分析。根据分析,可以画出该客户关系管理系统的功能模块如图3- SEQ 图表 * ARABIC 1所示:营销管理销售时机管理客户开发方案客户关系管理系统客户管理客户信息管理客户流失管理效劳管理效劳分配效劳处理效劳反应效劳创立效劳归档用户管理我的权限统计报表客户奉献分析客户构成分析客户效劳分析客户流失分析根底数据数据字典管理查询

26、产品数据查询库存系统管理权限管理角色管理图3-1 系统功能模块该系统中的不同用户的有不同的职责,同时又是紧密联系的,缺一不可。第四章 系统设计4.1 总体设计为了用B/S设计模式的三层体系结构实现本客户关系管理系统的设计,本团队用windowsxp+MyEclipse6.5+SqlServer2005+tomcat6.x+GuiDesigner(Ext UI设计工具)+Spket(MyEclipse插件,用作Ext开发)+Firefox(firebug插件,Ext调试)。本系统主要使用Struts+Hibernate+Spring即大名鼎鼎的SSH框架当今最流行的框架之一来搭建,再加上ExtJ

27、s框架堪称完美。设计了一个名为“Desktop_CRM的客户关系管理系统的工程,如图4-1所示。图4-1 客户关系管理系统工程结构、com.aftvc.dao.jb_crm_team0.Inf为本系统的与客户相关的信息和活动数据访问层的实现类和相应的接口。sale.Imp、sale.Inf为本系统提供产品信息查询功能、库存数据查询功能、历史订单查询功能数据访问层的实现类和接口。、为本系统的实体,负责数据的传递。为过滤器、为HibernateSessionFactory、l,这三个包为总称为“工具包,主要提供一些本系统使用到的常用工具类。为效劳层。、.action、.form和WebRoot文件

28、夹下的一些资源和Jsp页面为表现层。为Spring的配置文件,H为hibernate的配置文件、Struts的配置文件在WEB-INF文件夹下。为Log4j的属性文件。系统的登录页面设计如图4-2所示: 图4-2 登录页面系统主页面的设计如图4-3所示: 图4-3 系统主页面本系统包括:CRM主窗体、CRM帮助、桌面设置。CRM主窗体:营销管理、客户管理、效劳管理、统计报表、根底数据和权限管理六个功能模块。如图4-4所示: 图4-4功能模块CRM帮助:CRM主窗体的使用说明,提供用户帮助信息以及参考,尽可能的使用户更好的系统掌握本系统的使用方法。如图4-5所示: 图4-5 CRM帮助页面桌面设

29、置:更换主题和背景。如图4-6所示: 图4-6 桌面设置页面4.2详细设计营销管理模块设计略。客户管理模块设计略。效劳管理模块设计效劳创立:使用者:客户经理系统客户效劳是客户管理的重要工作。通过客户效劳我们的销售团队可以及时帮助客户解决问题、消除顾虑,提高客户满意度。还可以帮助我们随时了解客户的动态,以便采取应对措施。当客户收到客户效劳请求的时候,要创立一条效劳单据。效劳单据录入界面如图4-7所示:图4-7 效劳创立界面编号由系统自动生成;效劳类型由数据字典维护,选择输入;创立人为当前登录用户;创立时间为当前系统时间。效劳添加成功后仍返回效劳创立页面,显示空表单准备填写下一条效劳。添加成功的效

30、劳数据,状态为“新创立。效劳分配:使用者:销售主管销售主管对状态为“新创立的效劳单据进行分配,专事专管。分给的对象通过选择输入,候选项包括所有状态为“正常的系统用户。效劳分配界面如图4-8所示: 图4-8 效劳分配界面选择一条状态为“新创立的效劳单据,分配给专人。效劳分配给专人后,效劳单据的状态修改为“已分配。需要记录分配时间。效劳处理:使用者:客户经理被分配处理效劳的客户经理负责对效劳请求做出处理,并在系统中录入处理的方法。填写处理的方法,系统自动记录处理人和处理时间。效劳处理界面如图4-9所示: 图4-9效劳处理界面查询得到状态为“已分配的效劳单据,选择一个进行处理。填写处理方法后提交。处

31、理完成的效劳单据状态改为“已处理。效劳反应:使用者:客户经理对状态为“已处理的效劳单据主动联系客户进行反应,填写处理结果,并选择客户对效劳处理的满意度。客户满意度为15的值。效劳反应界面如图4-10所示: 图4-10 效劳反应界面查询得到状态为“已处理的效劳单据,选择一个进行反应。填写处理结果和满意度后提交。根据客户满意度不同,效劳单据的流转也不同。如果客户满意度大于等于3,效劳单据状态改为“已归档。如果效劳满意度小于3,效劳状态改为“已分配,重新进行处理。效劳归档:使用者:销售主管、客户经理系统可以对已归档的效劳进行查询、查阅。便于参考解决类似问题。可以根据客户、概要、效劳类型、创立日期进行

32、查询。对每条效劳单据还可以查看明细。效劳分配界面如图4-11所示: 图4-11 效劳归档界面统计报表模块设计客户奉献分析:使用者:客户经理、销售主管、高管对客户下单的总金额进行统计,了解客户对企业的奉献。可以根据客户名称或年份查询,默认列出全部客户和所有年份订单金额的总和。显示客户名称和该客户下单的总金额。客户奉献分析界面如图4-12所示:图4-12 统计报表界面客户构成分析:使用者:客户经理、销售主管、高管了解某种类型的客户有多少及所占比例。按客户等级统计、按信用度统计或按满意度统计。列出统计项,和该统计项下有多少个客户。客户构成分析界面如图4-13所示:图4-13 客户构成分析界面客户效劳

33、分析:使用者:客户经理、销售主管、高管根据效劳类型对效劳进行统计。可以输入年份,只统计该年的效劳数据。客户奉献分析界面如图4-14所示:图4-14 客户效劳分析界面客户流失分析:使用者:客户经理、销售主管、高管查看已经确认流失的客户流失记录。可以根据客户名称和客户经理名称进行查询。列出符合查询条件的已经确认流失的客户流失记录。客户奉献分析界面如图4-15所示:图4-15 客户流失分析界面根底数据模块设计略。系统管理模块设计略。数据库设计数据字典表:表名:bas_dict序号列名数据类型长度小数位标识主键允许空默认值说明1dict_idbigint80是是否编号|l2dict_typenvarc

34、har500否类别|sl3dict_itemnvarchar500否条目|sl4dict_valuenvarchar500否值|sl5dict_is_editablechar20否(1)是否可编辑|s1-可以;0-不可以 表4-1 数据字典客户经理表:表名:cst_manager序号列名数据类型长度小数位标识主键允许空默认值说明1man_idbigint80是是否2man_namenvarchar200否 表4-2 客户经理客户效劳表:表名:cst_service序号列名数据类型长度小数位标识主键允许空默认值说明1svr_idbigint80是是否编号|l2svr_typenvarchar20

35、0否效劳类型|ls3svr_titlenvarchar5000否概要|ls4svr_cust_nochar170是客户编号,外键5svr_statusnvarchar100否(新创立)状态|s6svr_requestnvarchar30000否效劳请求7svr_create_bynvarchar500否创立人|l8svr_create_datenvarchar200否(getdate()创立时间|ls9svr_due_tonvarchar500是分配给|l10svr_due_datenvarchar200是分配时间11svr_dealnvarchar30000是效劳处理12svr_deal_b

36、ynvarchar500是处理人13svr_deal_datenvarchar200是处理时间14svr_resultnvarchar5000是处理结果15svr_satisfynvarchar100是满意度 表4-3客户效劳销售时机表:表名:sal_chance序号列名数据类型长度小数位标识主键允许空默认值说明1chc_idbigint80是是否编号2chc_sourcenvarchar500是时机来源3chc_cust_namenvarchar1000否客户名称4chc_titlenvarchar2000否5chc_rateint40否(0)成功机率6chc_linkmannvarchar

37、500是联系人7chc_telnvarchar500是联系人 8chc_descnvarchar20000否时机描述9chc_create_bynvarchar500否创立人10chc_create_datenvarchar200否(getdate()创立时间11chc_due_tonvarchar500是指派给12chc_due_datenvarchar200是指派时间13chc_statuschar100否(1) 表4-4 销售时机开发方案表:表名:sal_plan序号列名数据类型长度小数位标识主键允许空默认值说明1pla_idbigint80是是否编号2pla_chc_idbigint8

38、0否销售时机编号|,外键3pla_datenvarchar200否日期|l4pla_todonvarchar5000否方案项|l5pla_resultnvarchar5000是执行结果|l 表4-5 开发方案系统角色表:表名:sys_role序号列名数据类型长度小数位标识主键允许空默认值说明1role_idbigint80是是否2role_namenvarchar500否3role_descnvarchar500是4role_flagint40是 表4-6系统角色系统角色权限关系表:表名:sys_role_right序号列名数据类型长度小数位标识主键允许空默认值说明1r_r_idbigint8

39、0是是否2right_idbigint80否3roles_idbigint80否 表4-7 系统角色权限关系系统用户表:表名:sys_user序号列名数据类型长度小数位标识主键允许空默认值说明1usr_idbigint80是是否2usr_namenvarchar500否3usr_passwordnvarchar500否4usr_role_idbigint80是5usr_flagint40否6usr_statusint40是表4-8 系统用户第五章 系统编码因为本系统结构比拟简单,程序亦无特别之处,代码大多数使用自动生成可以到Hibernate框架官方网站下载代码生成模板或使用Spring框架给

40、工程添加HibernateDaoSupport,程序的增加、删除、更新、以及根据实体类的各个字段查询为自动生成,需要自己编写的就是分页代码和复杂的业务逻辑处理,故大局部代码省略。业务逻辑上的处理请参照第四章系统设计,分页代码使用条件查询Hibernate查询有三类:HQL查询、条件查询即Criteria Queries和Native SQL查询,HQL和SQL容易出错,故使用条件查询。局部代码如下:客户数据访问层代码:public PageResult findAll(Map paramMap) PageResult pgr = new PageResult();/ 获得参数String st

41、art = (String) paramMap.get(start);String limit = (String) paramMap.get(limit);try Criteria c = getSession().createCriteria(CstManager.class);/ 总记录条数Projection entityProjection = (CriteriaImpl) c).getProjection();c.setProjection(Projections.rowCount().uniqueResult();int rowCount = (Number) c.uniqueR

42、esult().intValue();pgr.setRowCount(rowCount);c.setProjection(entityProjection);/ 分页if (start != null) c.setFirstResult(new Integer(start);if (limit != null) c.setMaxResults(new Integer(limit);List list = c.list();List fList = new ArrayList();CstManagerForm cstManagerForm = null;for (CstManager cstMa

43、nager : list) cstManagerForm = new CstManagerForm();cstManagerForm.setCustManId(cstManager.getManId();cstManagerForm.setManName(cstManager.getManName();fList.add(cstManagerForm);pgr.setData(fList); catch (RuntimeException re) throw re;return pgr;客户业务逻辑代码:/ 查询客户信息public PageResult findAll(Map paramMa

44、p) return custDao.findAll(paramMap);客户表现层代码:/ 查询客户信息public ActionForward doList(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response)throws Exception response.setContentType(text/html;charset=UTF-8);PrintWriter out = response.getWriter();System.out.println(查询客户信息)

45、;/ 获得参数LazyDynaBean ll = new LazyDynaBean();BeanUtils.populate(ll, request.getParameterMap();Map paramMap = ll.getMap();/ 查询PageResult pgr = custService.findAll(paramMap);System.out.println(总共有 + pgr.getRowCount() + 条客户信息);/ 转换成JSON格式String pgrStr = JSONSerializer.toJSON(pgr).toString();System.out.p

46、rintln(pgrStr);out.print(pgrStr);out.close();return null;Extjs代码:Espace(CRM.custManage);var custNo;var custName;var custInfoStore = new Ext.data.JsonStore(id : id,url : customer.do?actionType=doList,root : data,totalProperty : rowCount,baseParams : custNo : null,custName : null,custManName :

47、null,custLevel : null,custRegion : null,remoteSort : true,fields : custNo, custName, custRegion, custManagerName,custLevel, custSatisfy, custCredit, custAddr, custZip,custTel, custFax, custWebsite, custLicenceNo,custChieftain, custBankroll, custTurnover, custBank,custBankAccount, custLocalTaxNo, cus

48、tNationalTaxNo,operation);var custInfColm = new Ext.grid.ColumnModel(new Ext.grid.RowNumberer(), header : 客户编号,sortable : true,dataIndex : custNo,width : 120, header : 名称,sortable : true,dataIndex : custName,width : 193, header : 地区,sortable : true,dataIndex : custRegion,width : 150, header : 客户经理,s

49、ortable : true,dataIndex : custManagerName,width : 150, header : 客户等级,sortable : true,dataIndex : custLevel,width : 120, header : 操作,dataIndex : operation,renderer : function() var operation = ;operation += ;operation += ;operation += ;operation += ;return operation;);var custInfoGrid = new Ext.grid

50、.GridPanel(store : custInfoStore,cm : custInfColm,height : 300,stripeRows : true,pageSize : 15,tbar : text : 新建,id : add,pressed : false,iconCls : add,handler : function() var win = new custInfoPanel();win.create();,scope : this, -, 客户编号, xtype : textfield,name : custNo,width : 100,scope : this, 名称,

51、 xtype : textfield,name : custName,width : 130,scope : this, 客户经理, xtype : combo,name : manName,fieldLabel : 客户经理,width : 100,store : new Ext.data.JsonStore(url : sale.do?actionType=doFindAllCstManager,root : data,totalProperty : rowCount,fields : manName),displayField : manName,/pageSize : 15,force

52、Selection : true,triggerAction : all, 客户等级, xtype : combo,name : custLevel,fieldLabel : 客户等级,store : new Ext.data.SimpleStore(fields : level,data : 全部, 战略合作伙伴, 合作伙伴, 大客户, 重点开发客户, 普通客户),displayField : level,mode : local,forceSelection : true,editable : false,triggerAction : all,width : 90,scope : thi

53、s, 地区, xtype : combo,name : custRegion,fieldLabel : 地区,store : new Ext.data.SimpleStore(fields : region,data : 北京, 华北, 中南, 东北, 西部),displayField : region,mode : local,forceSelection : true,editable : false,triggerAction : all,width : 90,scope : this, , text : 查询,iconCls : search,pressed : true,handle

54、r : function() var panel = new custInfoPanel();panel.search();,scope : this,bbar : new Ext.PagingToolbar(pageSize : 15,store : custInfoStore,grid : custInfoGrid,displayInfo : true,displayMsg : 显示 0 - 1条记录共有 2 条记录,emptyMsg : 没有记录);第六章 系统测试6.1测试的作用和意义系统测试是管理信息系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审

55、查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和本钱占软件开发的很大比例。统计说明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的4050。而对于一些特别重要的大系统,测试的工作量和本钱更大,甚至超过系统开发其他各阶段的总和的假设干倍。6.2测试方法测试人员:测试队伍由四位成员组成。软件的设计者在测试整个过程中负责整体测试方案的制定和测试进度的掌握以及白盒测试的测试者。第二位成员由未参加软件制做者担任,主要责任是进行软件的黑盒测试以及软件环境,硬件要求和极限

56、测试工作。机器测试:通过在计算机上直接运行被测程序,来发现程序中的错误。机器测试包括黑盒测试盒白盒测试。黑盒测试也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,研究软件的外部特性。根据软件的需求规格说明书测试用例,从程序的输入和输出特性上测试是否满足设定的功能。白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查与测试是否相符。6.3测试内容登录功能模块。如图6-1:登录功能模块测试用例序号测试项功能点测试结果1登录输入用户名和密码登录通过2退出单击退出通过图6-1 登录功能模块用例CRM主

57、窗体:营销管理功能模块、客户管理功能模块、效劳管理功能模块、统计报表功能模块、根底数据功能模块、系统管理功能模块。如图6-2:CRM主窗体测试用例序号测试项功能点测试结果1营销管理功能模块销售时机管理、客户开发方案通过2客户管理功能模块客户信息管理、客户流失管理通过3效劳管理功能模块效劳创立、效劳分配、效劳处理、效劳反应、效劳归档通过4统计报表功能模块客户奉献、客户构成、客户效劳、客户流失分析通过5根底数据功能模块数据字典管理、查询产品数据、查询库存通过6系统管理功能模块用户管理、角色管理、权限管理、我的权限通过图6-2 CRM主窗体测试用例CRM帮助。如图6-3:CRM主窗体测试用例序号测试项功能点测试结果1查看营销管理模块销售时机管理、客户开发方案通过2查看客户管理

温馨提示

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

评论

0/150

提交评论