• 1.83 MB
  • 2022-05-17 10:56:13 发布

基于j2ee的客户关系管理系统的设计与实现学士学位

  • 71页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
基于JAVAEE的客户关系管理系统的设计与实现学士学位论文基于J2EE的客户关系管理系统的设计与实现DesignandimplementationofcustomerrelationshipmanagementsystembasedonJ2EE 基于J2EE的客户关系管理系统的设计与实现目录摘要IVABSTRACTV前言VI第1章绪论11.1项目背景和意义11.2实现目标11.3设计思想11.4可行性分析11.4.1技术可行分析11.4.2经济可行性分析2第2章需求分析32.1任务概述32.1.1目标32.1.2用户的特点32.1.3运行环境32.1.4条件与约束42.2系统需求说明42.3系统业务功能说明42.3.1基本数据管理模块42.3.2客户信息管理模块102.3.3营销管理模块132.3.4报表分析管理模块172.4性能与安全需求202.4.1数据精确度202.4.2时间特性202.4.3系统安全性20第3章系统概要设计223.1系统体系结构223.2系统模块设计223.2.1系统功能模块图223.2.2功能模块设计233.3开发环境与运行环境设计26III 基于J2EE的客户关系管理系统的设计与实现3.3.1开发环境263.3.2运行环境26第4章系统详细设计274.1系统数据库设计274.1.1数据库描述274.1.2系统E-R图274.1.3数据库逻辑设计274.1.4数据库物理设计304.2功能模块详细设计304.2.1用户登录304.2.2基本数据管理模块324.2.3客户信息管理模块394.2.4营销管理模块434.2.5报表分析管理模块45第5章系统运行与测试485.1测试环境485.1.1软件配置485.1.2硬件设备485.2测试方法485.2.1黑盒测试485.2.2白盒测试485.3测试用例495.3.1系统用户登陆测试用例495.3.2修改员工信息测试用例505.3.3添加员工信息测试用例505.3.4删除员工信息测试用例515.3.5修改部门信息测试用例525.3.6添加部门信息测试用例535.3.7添加产品信息测试用例535.3.8添加客户信息测试用例545.3.9创建销售活动测试用例555.3.10追踪销售活动测试用例565.3.11基于销售结果分析测试用例575.3.12基于年龄分布统计分析测试用例58III 基于J2EE的客户关系管理系统的设计与实现5.3.13基于性别统计分析测试用例595.4测试结论59结论61参考文献62致谢63III 基于J2EE的客户关系管理系统的设计与实现摘要本系统在开发前调研了一些应用级的客户关系管理系统,由此了解到客户关系管理系统在这个竞争异常激烈的市场环境中是非常必要的。现存的客户关系管理系统软件能帮助企业管理客户的信息,进而防止了公司客户的流失;管理者也可以随时了解每位销售人员的工作进展,还可以根据销售订单分析出新的销售机会。但是,多数的系统都没有将数据进行图表化的显示,本系统对此进行了相应的改进。本系统的开发主要基于JavaEE开发语言,采用了MVC架构模式,分层次的将本设计开发完成。除此之外,本系统应用了Oracle数据库以及Tomcat应用服务器,数据显示应用了jQueryEasyUI以及jQuery,数据传输也多次应用了ajax技术。本文主要介绍了客户关系管理系统的项目背景、项目的实现目标,然后详细描述了系统需求、系统的总体设计方案、详细设计方案以及功能实现。最后,对本次的设计按照各功能模块进行了系统的测试,分析出了存在的问题和需要改进的方面。关键词:MVC架构模式;jQueryEasyUI;客户;销售活动;客户关系管理系统V 基于J2EE的客户关系管理系统的设计与实现AbstractThissystemhassomeresearchonthecustomerrelationshipmanagementsystembeforethedevelopment,anditisnecessarytorealizethecustomerrelationshipmanagementsysteminthishighlycompetitivemarketenvironment. Theexistingcustomerrelationshipmanagementsystemsoftwarecanhelpenterprisestomanagecustomerinformation,andtopreventthelossofcustomersofthecompany;managerscankeepabreastoftheprogressofeachsalespersonnel,theyalsoaccordingtothesalesorderanalysisofthenewsalesopportunitiestoo. However,mostofthesystemdoesnotdisplaythedatainachart,andthesystemisimprovedaccordingly.ThedevelopmentofthesystemisbasedontheJavaEElanguage,andtheMVCarchitecturepatternisadopted,andthedesignanddevelopmentofthesystemiscompleted. Inaddition,thissystemhasappliedOracledatabaseandTomcatapplicationserver,datadisplayapplicationofjQueryEasyUIandjQuery,datatransmissionhasalsoappliedAjaxtechnology.Thispapermainlyintroducesthecustomerrelationshipmanagementsystemofthebackgroundoftheprojectandachievethegoal,andadetaileddescriptionofthedemandofthesystem,theoveralldesignschemeanddetaileddesignandfunctionrealization.Finally,onthedesignaccordingtothefunctionalmodulesweretestsystem,analyzestheexistingproblemsandissuesthatneedtobeimproved.Keywords:MVCframework; jQueryEasyUI; Customer; SalesActivity;CRMV 基于J2EE的客户关系管理系统的设计与实现前言进入21世纪以来,全球经济的飞速发展使得各企业间的竞争日趋激烈。为了能够更好的维护客户资源,建立稳定的、良好的客户关系,就必须利用先进的现代技术手段,通过重新组合业务流程等方法,进而将企业与客户紧密的联系起来。客户关系管理系统就是这样一种提供维护客户资源新方法的管理工具。本系统在现存的客户关系管理系统基础上,实现了产品样例图的显示以及数据图表化的显示,除此之外,对具有分级的部门信息和具有分层的产品信息用树形结构做了显示,还提供了初始化企业相关信息的功能。现如今,web服务端的应用开发大多离不开JavaEE,JavaEE也能够帮助企业级应用开发解决一系列的问题。JavaEE的核心技术有13种,但是在本系统中,主要用到了JSP、JavaServlet、JavaBean、JDBC。在结合了MVC架构后,JSP应用到了MVC的表现层,JavaServlet和JavaBean主要应用于MVC的业务逻辑层,JDBC则用于MVC中的数据访问层进行数据库的链接。JavaEE的应用提高了项目的安全性和可扩展性。在用户界面的显示上,不单单只应用了JSP。本系统抛开了传统的用CSS进行界面样式的设计,而是应用了基于jQuery的UI插件集合体——jQueryEasyUI。对它的应用很简单,但是功能十分强大,也节省了开发时的时间和资源,同时提供了更多丰富又美观的UI界面。总的来说,本论文主要描述了应用JavaEE开发语言和MVC架构模式,利用多种技术扩展客户关系管理系统的开发思路,同时简单介绍和论述开发过程中的设计思想和细节的设计。V 第一章绪论第1章绪论1.1项目背景和意义在近些年的发展中,各大企业的日常经营和管理通常会应用信息系统。对一些信息系统的应用极大地提高了企业内部的业务流程的运行处理效率。在此基础上,要想使企业能够在激烈又残酷的竞争环境中更好的发展,就必须紧紧抓住竞争市场中最重要的资源——客户[1]。如何将客户资源转化成整个公司层面的财富,从客户的身上挖掘更深层次的销售机会,是每个公司都会孜孜以求的目标,因此,本次将设计一个客户关系管理系统,进而能够更好地维系老的客户资源,发现更新的顾客资源,为每个客户量身制定销售计划,并从中分析出新的销售机会,最终为公司获得更多的利益[2]。1.2实现目标这个系统实现的目标主要包括这几方面:首先,定义一个公司的销售团队的基本信息以及这个公司的相关产品信息,系统管理员可以对这些信息进行维护操作。其次,销售人员需要维护自己的客户的信息,并针对不同的客户制定相应的销售活动同时记录活动的进度。最后,根据销售结果,多维度的进行分析,然后用图表化的形式展现出来,方便分析出新的销售机会。1.3设计思想本系统的开发主要采用了MVC的架构模式,将视图、控制层和持久化逻辑层分离,因此能更好的规划代码的风格,同时还能在改进和个性化界面以及在用户的交互的时候,不用再去编写业务逻辑[3]。在数据库方面,则采用了Oracle关系型数据库管理系统,它在数据库领域是比较受欢迎并且功能相对较强的产品[4]。1.4可行性分析1.4.1技术可行分析本系统在开发过程中用到了以下几种技术:(1)MVC架构模式:这是定义轻量级的项目最常用的架构模式,也是这个系统最可行的架构模式。它能够完全控制HTML、CSS以及JavaScript,除此之外,它的可移植性比较高,代码的逻辑比较清晰,能够让开发者轻易的就能改变应用程序的数据层的结构以及业务的规则。但是将一个应用程63 第一章绪论序分离成三个方面,也加大了开发者需要管理和维护的文件的数量,这也是MVC架构模式的一大缺点。(1)jQueryEasyUI:它能够帮助web开发者打造出更丰富更美观的界面,简化了对复杂的javaScript的编写,也使得开发者不用再去深入的研究css样式[5]。但是在另一方面,对它的过度使用,也会削弱开发者在css样式以及javaScript方面的编写能力[6]。(2)Oracle关系型数据库的应用:在数据库领域,Oracle数据库算是经典中的经典了。它能够持久性的保留大量的数据,数据的共享性和可靠性比较高。在应用的过程中,有许多规范会不同于MySql数据库,所以在语句的写法上要注意很多[7]。1.4.2经济可行性分析本系统的开发用到的设备比较简单,在设备的使用和管理方面的开支比较小,人员的开支成本比较低,开发的工期也比较短。鉴于对客户信息进行管理可以使企业更方便的发现新的销售机会,从而制定调整企业的生产计划,由此带来经济效益远远超出我的开发成本,所以在经济方面,开发这个系统是可行的。63 第二章需求分析第2章需求分析2.1任务概述2.1.1目标本次的“客户关系管理系统”课题要求实现一个Web网站,首先能够定义一个公司的基础数据,其中包括销售部门的组织结构、销售人员的个人信息、销售团队中的人员汇报层级关系以及公司所包含的产品信息,这些信息统一由系统管理员进行维护;其次,也是最重要的部分就是对企业的客户资料进行系统的管理,每对一个客户发起一次销售活动,就要实时跟进销售的进度并且记录销售结果;最后,根据客户的年龄、性别、销售结果等维度进行数据分析,并图表化显示出来,以至于能够迅速的找到销售机会。2.1.2用户的特点应用本系统的相关用户包括:系统管理员:需要管理系统用户的权限,维护系统的基础数据。为了能够处理一些数据异常,系统管理员需要具备查看日志、修改数据库的能力[8]。销售人员:需要维护自己记录的客户资料,针对不同的客户进行销售计划的制定,最后会根据销售结果生成图表,因此需要该用户具备比较高的分析能力进而发现新的销售机会。2.1.3运行环境1、软件平台(1)服务端:Windows7操作系统,Oracle数据库管理里信息系统,Tomcat6.0,jdk1.6。(2)客户端:Windows7操作系统,WindowsXP操作系统。2、硬件平台(1)Windows系统硬件要求Intel(R)Core(TM)i5-2410M2.30GHz或更快的处理器,6GB的RAM。推荐配置:Intel(R)Core(TM)i5-2410M2.30GHz或更快的处理器,4GB的RAM。63 第二章需求分析2.1.4条件与约束技术要求:使用JSP制作网页,使用Servlet和JavaBean编写代码逻辑,使用Oracle数据库管理系统作为数据维护工具。2.2系统需求说明本系统需要首先定义好基础数据,其中包括公司销售部门的整体组织结构的定义,销售人员的个人信息初始化,销售团队中的各层级人员之间的汇报关系,以及公司的产品基本信息的定义;其次要对公司里的客户的各项资料进行系统的处理及维护,设计客户信息的访问权限;再次,允许销售人员针对客户发起销售活动,并提供跟踪进度的功能,以便销售人员能够估算活动的完成率,记录结果;最后提供图表化显示功能,在特定的时间段内针对客户的年龄、客户的性别以及销售的结果进行数据分析,并且用图表化的方式显示出来。2.3系统业务功能说明2.3.1基本数据管理模块1、需求描述在此模块中,需要实现的需求有以下三项:(1)系统管理员需要初始化部门信息,拥有对部门信息的添加、删除、修改、查看等操作;(2)系统管理员还需要初始化销售部门所有员工的个人信息,拥有对员工信息的查看、删除、添加、修改等操作;(3)系统管理员需要初始化公司的产品信息,能够查看和删除产品目录以及子产品,并能够定时、及时的更新和修改产品信息。2、用例图基本数据信息模块的用例图主要描述了系统管理员对基本数据的维护等操作,其中包括系统管理员对部门信息的添加、修改、删除、查看等操作;对员工信息的添加、修改、删除、查看等操作;对产品信息的添加、修改、删除、查看的操作。具体的初始化基本数据信息的用例图如图2.1和2.2所示。63 第二章需求分析图2.1初始化部门和员工信息用例图图2.2初始化产品信息用例图3、用例文档(1)部门信息用例文档a.用例编号63 第二章需求分析UC1:初始化部门信息。b.参与者系统管理员。c.前置条件系统管理员登陆系统。d.后置条件所有普通用户能够查看部门的基本数据信息。e.基本路径用例描述:系统管理员添加部门信息,如表3.1所示。表3.1添加部门信息参与者的动作系统响应系统管理员点击部门信息转入部门信息列表页面系统管理员点击新增一级部门页面弹出添加一级部门的弹出框系统管理员填写部门名称和职责描述,然后点击提交验证输入项是否有空值,没有空值则将数据存入数据库中,然后返回至部门列表在部门信息列表页面选择一个一级部门点击添加二级部门按钮页面弹出添加二级部门的弹出框输入部门名称和职责描述,然后点击添加验证输入项是否有空值,没有空值则将数据存入数据库中,然后返回至部门列表用例描述:系统管理员修改部门信息,如表3.2所示。表3.2修改部门信息参与者的动作系统响应系统管理员点击部门信息显示部门列表系统管理员点击要修改的一级部门,然后点击修改按钮弹出修改部门信息的弹出框系统管理员填写要修改的信息,包括部门名称和职责描述,然后点击提交将修改过后的信息存入数据库中然后返回至部门列表在部门信息列表点击要修改的二级部门,然后点击修改按钮弹出修改部门信息的弹出框用例描述:系统管理员删除部门信息,如表3.3所示。63 第二章需求分析表3.3删除部门信息参与者的动作系统响应系统管理员点击部门信息显示部门列表系统管理员点击一个一级部门,然后点击删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至部门列表系统管理员点击一个二级部门,然后点击删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至部门列表g.补充说明一级部门和二级部门包含的相关信息有:部门名称、部门的职责描述。(2)员工信息用例文档a.用例编号UC2:初始化员工信息。b.参与者系统管理员。c.前置条件系统管理员登陆系统。d.后置条件所有普通用户能够查看员工的基本数据信息。e.基本路径用例描述:系统管理员添员工信息,如表3.4所示。表3.4添加人员信息参与者的动作系统响应系统管理员在员工信息列表页面点击新增人员跳转至添加员工页面系统管理员输入员工编号,员工姓名,密码,电话,角色,选择主管,部门名称等信息,然后点击提交。添加相应信息至数据表中,然后返回至员工信息列表用例描述:系统管理员修改员工信息,如表3.5。63 第二章需求分析表3.5修改人员信息参与者的动作系统响应系统管理员进入员工的详细资料列表跳转至详细资料页面点击修改按钮跳转至修改员工信息页面系统管理输入要修改的数据,包括员工姓名,密码,电话,角色,选择主管,部门名称等信息。根据员工编号找到对应员工并进行修改,然后返回至员工信息列表用例描述:系统管理员删除员工信息,如表3.6。表3.6删除员工信息参与者的动作系统响应系统管理员点击员工信息子菜单显示员工信息列表系统管理员点击要删除的数据对应的删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至部门列表g.补充说明员工信息涉及到的相关信息有:员工姓名、登陆名、密码、电话、主管ID、角色、部门名称。(3)产品信息用例文档a.用例编号UC3:初始化产品信息。b.参与者系统管理员。c.前置条件系统管理员登陆系统。d.后置条件所有普通用户能够查看产品目录以及目录中的所有产品。e.基本路径用例描述:系统管理员添加产品,如表3.7所示。63 第二章需求分析表3.7添加产品参与者的动作系统响应在产品目录列表页面中点击新增目录按钮页面弹出添加产品目录信息填写框填写目录名称,点击提交产品目录信息存入数据库,返回到产品信息页面点击一个产品目录,然后点击新增产品按钮页面弹出添加产品信息填写框在添加产品页面选择产品样图,输入产品名称,单价、计量单位和库存数量,然后点击提交自动生成产品编号并添加新的产品信息至数据表中,然后返回至产品信息列表用例描述:系统管理员修改产品,如表3.8所示。表3.8修改产品参与者的动作系统响应系统管理员在产品信息列表中点击要修改的产品目录或产品,然后点击修改按钮页面弹出修改信息填写框在修改产品信息页面中重新输入产品目录名或者重新选择产品样图,输入产品名称、单价、计量单位和库存数量,然后点击提交根据产品编号或产品目录编号找到对应的信息并修改,然后返回至产品信息列表用例描述:系统管理员删除产品,如表3.9所示。表3.9删除产品参与者的动作系统响应系统管理员在产品信息列表中点击要删除的的产品目录或产品,点击删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至产品信息列表g.补充说明产品目录涉及到的相关信息有:产品样图、产品名称、单价、计量单位、库存数量。4、活动图添加基本数据活动图如图2.3所示。63 第二章需求分析图2.3添加基本数据活动图2.3.2客户信息管理模块1、需求描述在此模块中实现的功能有:销售人员可以维护自己记录的客户资料,拥有添加客户信息、修改客户信息、查看客户信息、删除客户信息等操作,同时还能查看该客户的交易记录。此外,有“销售主管”权限的用户可以查看其下属管理的客户的所有资料,但是不具备其他的操作权限。每个登陆系统的用户也可以修改个人资料。2、用例图客户信息管理模块用例图如图2.4所示。图2.4客户信息管理模块用例图63 第二章需求分析3、用例文档(1)客户信息管理用例文档a.用例编号UC4:管理客户资料。b.参与者销售团队中的工作人员。c.前置条件系统管理员在系统中创建了销售人员的个人信息以及登陆信息。d.后置条件拥有“销售人员”角色的用户可以登陆系统对客户信息进行维护。e.基本路径用例描述:销售人员添加客户信息,如表3.10所示。表3.10添加客户信息参与者的动作系统响应销售人员在客户资料列表页面中点击新增客户资料按钮跳转至新增客户资料页面销售人员输入要添加的数据,包括联系人,客户年龄,客户性别详细地址,联系电话,选择客户性质和客户类别,然后点击提交。自动生成客户编号,添加客户的新资料至数据表中,然后返回至客户信息列表用例描述:销售人员修改客户信息,如表3.11所示。表3.11修改客户信息参与者的动作系统响应销售人员在客户详细资料页面中点击修改信息按钮跳转至修改客户资料页面销售人员输入要修改的数据,包括客户性质,联系人,客户性别,客户年龄,联系电话,详细地址,客户类别,然后点击提交。根据客户编号找到对应的客户信息并可以给予修改,然后返回至客户信息列表用例描述:销售人员删除客户信息,如表3.12所示。表3.12删除客户信息参与者的动作系统响应63 第二章需求分析续表3.12销售人员在客户资料列表中点击要删除数据对应的删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至客户资料列表用例描述:销售人员修改个人的个人资料,如表3.13所示。表3.13修改个人资料参与者的动作系统响应销售人员点击TOP域的个人资料修改按钮跳转至个人资料修改界面销售人员可以输入员工姓名,电话以及密码,然后点击提交根据员工编号找到对应的员工信息并给予修改,然后跳转回主界面(2)主管审查用例文档a.用例编号UC5:主管审查客户资料。b.参与者销售团队中的主管领导。c.前置条件系统管理员在系统中创建销售主管的个人信息以及登陆信息。d.后置条件拥有“销售主管”角色的用户可以登陆系统对查看下属员工维护的客户资料。e.基本路径用例描述:用户以销售主管的身份登录,点击主管审查,查看自己下属员工的信息,然后查看员工记录的客户资料,如表3.14。表3.14主管审查参与者的动作系统响应用户以销售主管的身份登录,输入用户名和密码检验用户名和密码,匹配正确,允许进入系统销售主管点击进入上级审查页面显示销售人员信息及对应的客户资料列表点击查看详细资料按钮跳转至客户详细资料页面点击查看历史购买记录按钮跳转至历史购买记录页面4、活动图63 第二章需求分析添加客户信息活动图如图2.5所示。图2.5添加客户信息活动图2.3.3营销管理模块1、需求描述在此模块的设计中,需要能够让销售人员发起针对于一个客户的销售活动,并且能够随时跟踪记录这个销售活动的进度,估算完成率。当这项活动成交后,将销售结果记录下来并且结束这项活动;如果最终这个交易没成功,则取消此次的销售活动。最后还要定期的生成销售结果的统计表。2、用例图营销管理模块用例图如图2.6所示。图2.6营销管理模块用例图63 第二章需求分析3、用例文档(1)创建销售活动用例文档a.用例编号UC6:创建销售活动。b.参与者销售团队中的销售人员。c.前置条件销售人员登陆系统。d.后置条件创建的销售活动都会被记录下来。e.基本路径用例描述:销售人员登录该系统,创建一个新的销售活动,如表3.15所示。表3.15创建销售活动参与者的动作系统响应销售人员登录系统,输入用户名和密码检验用户名和密码,匹配正确允许进入系统销售人员点击进入创建销售活动跳转至创建销售活动界面添加销售人员姓名,进行客户选择,选择产品名称,填写计划销售数量,填写开始时间和计划终止时间,然后点击提交将相应的信息添加至活动记录表中(2)销售活动记录用例文档a.用例编号UC7:记录销售活动。b.参与者销售团队中的销售人员。c.前置条件有销售活动被创建。d.后置条件根据一条活动记录可以进行活动的追综。e.基本路径用例描述:销售人员查看进行中的销售活动记录并修改一条记录,如表3.1663 第二章需求分析所示。表3.16修改销售活动记录参与者的动作系统响应销售人员点击进入销售活动记录跳转至销售活动记录界面选择其中一条记录点击修改按钮跳转至修改销售活动记录界面在页面中修改相应的信息,包括客户的选择,产品名称选择,填写计划销售数量,填写开始时间和计划终止时间,然后点击提交信息。修改相应的信息,并写入销售活动记录表中(3)销售活动追综用例文档a.用例编号UC8:销售活动追综。b.参与者销售团队中的销售人员。c.前置条件销售活动已被创建,并且没有被终结。d.后置条件能够根据最后的销售结果生成统计表。e.基本路径用例描述:销售人员进行进度追踪并查看添加追踪信息,估算完成率,如表3.17所示。表3.17追踪销售活动参与者的动作系统响应销售人员点击进入销售活动追踪跳转至活动追踪列表页面,显示当前可追踪的活动点击其中一条的追踪按钮跳转至追踪界面,显示订单信息及历史追踪信息填写进度追踪表,包括已交易数量,更新时间,交易状态,完成率,问题总结等,然后点击添加将添加的追踪信息添加到上方的追踪信息记录列表里用例描述:销售人员进行活动终结,如表3.18所示。63 第二章需求分析表3.18终结活动参与者的动作系统响应用户将活动状态修改为终结后跳转至活动终结页面终结状态中没有相关的总结。点击添加销售活动总结页面跳转到添加活动总结界面选择终结状态,添加对应的总结,点击提交活动总结添加到数据库中,页面跳回到终结活动界面选择终结状态,填写活动总结若状态为失败,则将失败原因写入数据库中,然后跳转回追踪记录列表(4)销售数量统计用例文档a.用例编号UC9:销售数量统计。b.参与者销售团队中的销售人员。c.前置条件销售活动已经有大部分的完成了,并且结果有记录。d.后置条件统计结果会生成相应的统计表。e.基本路径用例描述:销售人员销售数量总计,如表3.19。表3.19销售活动总结参与者的动作系统响应销售人员点击查看销售数量总计跳转至产品数量总计页面界面,显示产品的信息,并通过计算显示出每种产品的总销售数量和总销售金额选择一个时间范围,点击查询销售数量跳转至时间范围查询结果界面,显示在时间范围内的数据信息4、活动图创建销售计划活动图如图2.7所示。63 第二章需求分析图2.7创建销售计划活动图2.3.4报表分析管理模块1、需求描述此模块用图表化的形式,根据客户的性别、年龄以及销售的结果进行数据分析和显示。2、用例图报表分析管理模块用例图见图2.8。图2.8报表分析管理模块用例图63 第二章需求分析3、用例文档(1)基于销售结果分析的用例文档a.用例编号UC10:基于销售结果的分析表。b.参与者销售团队中的销售人员。c.前置条件每次的销售活动对销售结果都有记录。d.后置条件可以分析销售结果,进而规划新的销售计划。e.基本路径用例描述:销售人员登录该系统,可以查看所有根据销售结果统计制定的购买分析表,还可以查看某一时间段内基于销售结果制定的购买分析表,如表3.20所示。表3.20销售结果分析表参与者的动作系统响应用户以销售人员的身份登录,输入用户名和密码检验用户名和密码,匹配正确,允许进入系统销售人员点击查看基于销售结果的分析表跳转至基于销售结果的分析表界面选择一个时间段,点击查询显示根据销售结果制作的图表(2)基于年龄分布的分析表的用例文档a.用例编号UC11:基于年龄分布的分析表。b.参与者销售团队中的销售人员。c.前置条件已经有部分销售活动完成。d.后置条件可以根据年龄的分布情况以及购买率分析出新的销售计划。e.基本路径63 第二章需求分析用例描述:销售人员登录该系统,查看某一时间段内基于年龄分布的购买分析表,如表3.21所示。表3.21年龄分布分析表参与者的动作系统响应销售人员点击查看基于年龄分布的分析表跳转至基于年龄分布的分析表界面选择一个时间段,点击查询显示根据年龄分布制作的图表(3)基于性别分析的用例文档a.用例编号UC12:基于性别的分析表。b.参与者已经有部分销售活动完成。c.前置条件销售活动已被创建,并且没有被终结。d.后置条件可以根据不同性别的购买率分析出新的销售计划。e.基本路径用例描述:销售人员登录该系统,查看某一时间段内基于性别的购买分析表,如表3.22所示。表3.22性别分析表参与者的动作系统响应销售人员点击查看基于性别的分析表跳转至基于性别的分析表界面显示根据销售结果制作的图表选择一个时间段,点击查询显示根据性别制作的图表4、活动图查看基于销售结果的分析表、基于年龄分布的分析表、基于性别的分析表的相关活动的总体活动图如图2.9所示。63 第二章需求分析图2.9查看报表分析活动图2.4性能与安全需求2.4.1数据精确度本系统精确的提供了对数据的查询和存储功能,包括客户信息录入时涉及的交易金额要精确到分,交易时间要精确到秒。2.4.2时间特性1、响应时间要求报表分析管理模块的图表显示响应时间不超过1.5秒;其他功能模块的响应时间也应该小于等于1.5秒。2、更新处理时间要求更新数据时,每模块的时间不能超过1.5秒。3、数据的转换和传输时间要求本系统在数据的传输和转换过程中,处理时间应小于1.5秒。4、运行时间要求本系统在各功能的切换工程中,响应处理时间应小于等于1.5秒。2.4.3系统安全性63 第二章需求分析本系统在设计时,只拟定了一个系统管理员,可以进行基础数据的维护、用户角色的设置,保证了系统的安全性。除此之外,本系统的数据库采用Oracle数据库管理系统,能够支持大量的数据存储,并且只有系统管理员可以操作数据库,这保证了数据的安全性[9]。63 第3章系统概要设计第3章系统概要设计3.1系统体系结构本系统采用了MVC架构模式,分层次的进行项目的设计。其中主要将系统分成了三层:业务逻辑层、数据访问层、表现层。业务逻辑层主要控制业务的跳转以及程序对数据访问层的调用。数据访问层主要与数据库进行交互,能够实现数据的添加、查询、修改、删除。表现层主要将业务流程展现在Web页面上,实现系统与用户的交互。本系统的实现基于JavaEE技术,应用到了Servlet技术、JSP网页技术和JavaScript、jQuery等技术[10]。为了能够更高效的进行数据维护,本系统采用了Oracle数据管理系统。本系统架构如图3.1所示:图3.1系统架构图3.2系统模块设计3.2.1系统功能模块图本系统的系统功能模块图如图3.2所示。63 第3章系统概要设计图3.2系统功能模块图3.2.2功能模块设计1、基本数据模块(1)需求说明此模块涉及到三个部分。第一部分:系统管理员对员工信息的维护,其中包括对员工信息的添加、查询、修改和删除等操作,普通用户对员工信息只有查询操作。第二部分:系统管理员对部门信息的维护,包括对一级和二级部门的添加、查询、修改和删除等操作,普通用户对部门信息只有查询操作[11]。第三部分:系统管理员对产品目录、产品信息的添加、查询、修改以及删除等操作,普通用户对产品信息只有查询操作。(2)表现层设计63 第3章系统概要设计系统管理员登陆的员工列表页面中,在上部的高级搜索区包含了根据“员工姓名”和“员工编号”搜索的检索项,在下面列表中,每一条记录都包含了“查看”和“删除”的链接。系统管理员登陆的一级部门列表页面中每条记录都包含“编辑”、“删除”、“查看二级部门”等按钮,页面中也包含“新增一级部门”按钮。系统管理员登陆的产品表中,显示产品信息,也包含了“编辑”、“删除”、“新增产品”按钮。(3)业务逻辑层设计系统应用Servlet类实现,该业务类实现了基础数据模块中提及到的所有需求,并做了更多的扩展。业务逻辑层接收用户的请求,并且根据不同的请求实现不同的动作,跳转到不同的数据访问层,实现员工信息、部门信息、产品信息的各项请求操作。(4)数据访问层设计数据访问层使用了JDBC技术,将业务逻辑层传递过来的员工、部门、产品的各种属性信息拼接成查询语句到数据库中进行查询或其他操作,最后把结果返回给业务逻辑层[12]。2、客户信息管理模块(1)需求说明此模块中实现了销售人员对自己记录的客户信息的维护操作,其中包括对客户资料的添加、修改、查询、删除等操作,也提供查看客户的历史购买记录的功能。销售团队中的主管也具有查看其下属记录的客户资料和历史购买记录的权限。(2)表现层设计普通的销售人员的菜单栏中只包含“客户信息管理”子菜单在客户信息列表页面中,上部的高级搜索区域包含有根据“客户类别”进行查询的检索项,还有“新增客户信息”按钮;下部是客户信息列表,每一条数据对应有“查看”和“删除”链接。销售主管的菜单栏中除了“客户信息管理”子菜单,还包含了“主管审查”子菜单。主管审查页面中显示下属员工记录的全部客户列表信息,每条数据都包含“查看详细资料”链接。(3)业务逻辑层设计系统应用Servlet类实现,该业务类实现了客户信息管理模块中提及到的所有需求,并做了扩展。业务逻辑层接收用户的请求,根据不同的请求实现不同的跳转动作,跳转到不同的数据访问层,实现客户信息和主管审查的各项请求操作[13]。(4)数据访问层设计数据访问层采用了JDBC技术,将业务逻辑层传递过来的相关于客户信息的请求信息拼接成查询语句到数据库中进行查询或其他操作,最后把结果返回给业务逻辑层。3、营销管理模块(1)需求说明在此模块中主要实现了活动的创建、记录销售活动、针对于这条活动的进度追踪以及最后的销售结果的记录与统计。63 第3章系统概要设计(2)表现层设计在创建销售活动界面中,有“联系人”选择框、“产品名称”下拉选择列表、“计划销售数量”输入框和“日期”选择框,下部还有“提交信息”和“重置”按钮。销售活动记录页面显示的是活动记录的列表,每条记录都有“修改”和“删除”按钮。在销售活动追综页面,上半部分显示追综记录,下半部分显示添加进度追综的表单,并带有添加按钮。销售数量总计页面以列表的形式显示各种产品的销售情况。(3)业务逻辑层设计系统应用Servlet类实现,这些业务类实现了营销管理模块中提及到的所有需求,并做了扩展。业务逻辑层主要接收用户的请求,并根据不同的请求实现不同的跳转动作,跳转到不同的数据访问层,实现相关于销售活动的各项请求操作。(4)数据访问层设计数据访问层采用了JDBC技术,将业务逻辑层传递过来的相关于销售活动的请求信息拼接成查询语句到数据库中进行查询或其他操作,最后把结果返回给业务逻辑层。4、报表分析管理模块(1)需求说明在此模块中主要实现了针对于客户的年龄维度、客户的性别维度、销售结果等维度,在一定的时间内进行销售数量的图表化。(2)表现层设计在基于销售结果的图表化分析页面,上半部分列出了销售结果以及每种结果对应的订单数量和所占百分比;下半部分是销售结果的饼状图。在基于年龄分布的图表化分析页面,上半部分列出了不同年龄分布的销售数量以及其购买率;下半部分显示基于年龄分布的饼状图。在基于性别的图表化分析页面中,上半部分以列表的形式显示不同性别的不同购买率;下半部分显示基于性别差异的饼状图。(3)业务逻辑层设计系统应用Servlet类实现,这些业务类实现了报表分析管理模块中提及到的所有需求,并做了扩展。业务逻辑层接收用户发出的的请求,根据不同的请求跳转到不同的数据访问层,实现相关于图表化的各项请求操作。(4)数据访问层设计数据访问层采用了JDBC技术,将业务逻辑层传递过来的请求信息拼接成查询语句到数据库中进行查询或其他操作,最后把结果返回给业务逻辑层。63 第3章系统概要设计3.3开发环境与运行环境设计3.3.1开发环境1、开发环境操作系统采用Windows7操作系统。2、程序开发工具采用MyEclipse开发工具或Eclipse开发工具。3、数据库管理工具采用NavicatPremium。4、Web界面设计工具采用Dreamweaver。3.3.2运行环境1、网络环境可以在全国广域网和已经创建的局域网中运行,并且是基于TCP/IP传输协议的数据联网模式。2、数据库服务器应用Oracle11g的数据库。3、Web应用服务器操作系统及硬件要求Web服务器采用Apach/2.0.54,8G内存。4、客户机操作系统及硬件要求WindowsXP,Windows7,Windows8操作系统,1G以上内存。63 第4章系统详细设计第4章系统详细设计4.1系统数据库设计4.1.1数据库描述本系统应用Oracle数据库,利用其较强的安全性和稳定性、较高的可移植性来对系统中的相关数据进行维护。4.1.2系统E-R图本系统的系统E-R图如图4.1所示。图4.1系统E-R图4.1.3数据库逻辑设计本系统涉及到的相关数据表如表4.1-4.10所示。表4.1员工信息表cuser列名数据类型注释useridnumber主键用户IDusernamevarchar2用户的系统登录名unamevarchar2用户的真实姓名63 第4章系统详细设计续表4.1passwordvarchar2用户的登录密码mgridvarchar2主管编号utelvarchar2用户电话号码rolevarchar2用户角色deptnamevarchar2所在部门名称表4.2部门信息表cdept列名数据类型注释deptidnumber部门主键deptnamevarchar2部门名称describevarchar2部门职责描述mgrdeptidvarchar2上级部门编号表4.3产品目录表menu列名数据类型注释caidvarchar2产品目录主键IDchanamevarchar2产品目录名称表4.4产品信息表product列名数据类型注释pidnumber产品信息主键IDpnamevarchar2产品名称pricefloat产品单价unitvarchar2计量单位imagesvarchar2产品样例图inventoryvarchar2产品库存量caidvarchar2产品目录编号表4.5客户信息表customer列名数据类型注释cidnumber客户编号主键IDcpropertiesvarchar2客户性质csexvarchar2客户性别cagevarchar2客户年龄cphonevarchar2客户电话号clocationvarchar2客户的详细地址ctypevarchar2客户类别63 第4章系统详细设计续表4.5unamevarchar2销售人员姓名cnamevarchar2客户姓名表4.6销售活动记录表activity列名数据类型注释unamevarchar2销售人员姓名pnamevarchar2产品名称tasknumber计划销售数量finishtimeDate完成时间starttimeDate开始时间orderidvarchar2订单编号cnamevarchar2客户名称statevarchar2活动状态表4.7销售活动追综表activitytrack列名数据类型注释autoidvarchar2追综编号主键IDorderidvarchar2订单编号quantitynumber交易数量updatetimeDate更新进度时间reportvarchar2备注信息ratefloat完成率statevarchar2活动状态表4.8订单记录表record列名数据类型注释pnamevarchar2产品名称pidvarchar2产品编号pricefloat产品单价costfloat总共花费sumnumnumber总交易数量tracktimeDate追踪时间orderidvarchar2订单编号主键ID63 第4章系统详细设计表4.9销售结果报告表report列名数据类型注释cnamevarchar2客户名称rpidvarchar2报告编号主键IDpnamevarchar2产品名称quantitynumber总交易数量reasonvarchar2获得结果的原因resultvarchar2销售结果orderidvarchar2订单编号timeDate报告生成时间表4.10结果分类汇总信息表reason列名数据类型注释ridvarchar2销售结果主键IDresultvarchar2销售结果reasonvarchar2获得结果的原因4.1.4数据库物理设计本系统在数据库中生成的文件数量一共有十个。每个文件的最大容量是数据库中每个数据块的大小和最大可管理的数据块数量的乘积。正常情况下数据块的大小一般取值为8k,可管理的数据块的数量大约是4M个,所以一个数据文件最大容量是32G,目前本系统需要存储的数据量比较小,Oracle数据库的默认大小基本满足系统的需要。4.2功能模块详细设计4.2.1用户登录1、功能描述用户需输入用户名、密码,单击“登陆”按钮后,系统验证模块会自动进行判断。如果验证通过,系统会根据当前用户所具有的角色加载用户所拥有的菜单和工具栏,否则跳转回登陆界面。2、输入项目输入用户名和密码。3、输出项目(1)登陆模块会将用户的个人信息封成User对象后存储到request对象中,用户的真实姓名和其员工编号会放到Session中。63 第4章系统详细设计(2)若用户名与密码不匹配,则给出错误提示信息。(3)若不输入密码,则给出错误提示信息。4、算法描述当用户打开登录页面后,通过JSP页面输入用户名、密码,点击登陆按钮,系统调用登陆的Servlet,并由UserDao访问数据库进行信息匹配,如果匹配成功,将查询出用户的全部信息封装成user对象存入Requset对象中,并根据查询出的用户的权限进入到对应权限的后台管理系统[14]。销售主管跳转到first.jsp页面,销售人员跳转到first2.jsp,系统管理员跳转到first3.jsp。如果用户信息在数据库中不存在,则登陆Servlet类将向Request对象存入错误提示信息,显示该错误提示信息,并跳转到index.jsp页面。5、类图用户登录操作类图如图4.2。图4.2用户登录操作类图6、顺序图用户登录操作顺序图如图4.3所示。63 第4章系统详细设计图4.3用户登录操作顺序图7、程序逻辑用户登录操作流程图如图4.4所示。图4.4用户登录操作流程图4.2.2基本数据管理模块1、功能描述普通用户在这个模块中可以查看员工列表,查看员工的详细信息,63 第4章系统详细设计还可以根据员工的姓名和员工的编号进行查找;还可以查看部门列表、部门信息;普通用户也可以查看产品目录、产品的详细信息,全局搜索产品等。系统管理员还可以对员工信息、产品信息、部门信息进行添加、编辑、删除等各项操作。2、输入项目员工管理输入项:添加员工时要输入员工姓名、登陆名、密码、电话、主管ID、角色、部门名称;修改员工信息的时候可以选择输入员工姓名、主管ID、角色、部门名称;查询员工时可以选择输入员工姓名、员工编号。部门管理输入项:添加一级和二级部门时需要输入部门名称和部门职责描述;修改一级和二级部门可以选择性输入部门名称和职责描述。产品管理输入项:添加产品信息时需要选择产品样图,输入产品名称、单价、计量单位、库存数量等;修改产品时需要选择输入产品名称、单价、计量单位、库存数量等。3、输出项目员工管理输出项:当用户选择查看员工列表、添加或修改员工信息并提交时,系统会将员工信息封装成json,并最终返回到员工列表界面显示数据。删除员工信息时会弹出提示框询问是否删除该条记录,选择之后系统最终也会返回到员工列表界面。部门管理输出项:当用户选择查看部门列表、添加或修改部门信息并提交时,系统会将部门信息封装成对象存入Request中,然后跳转到一级部门的列表页面。删除部门时会弹出提示框询问是否删除该部门,选择之后系统返回到一级部门列表。产品管理输出项:用户选择查看产品列表、添加或修改产品信息并提交时,系统会将产品信息封装成对象存入Request中,最终跳转到产品列表界面。删除产品时,系统会弹出提示框询问是否删除该记录,选择之后系统跳转回产品列表界面。4、算法描述用户的每个请求都会通过业务逻辑层不同的Servlet类跳转到不同的数据访问层进行查询或添加、修改等一系列操作,最后将数据分别封装成实体类对象存入Request中,用于界面数据的显示。5、类图员工信息管理类图、部门信息管理类图、产品信息管理类图如图4.5、4.6、4.7所示。63 第4章系统详细设计图4.5员工信息管理类图图4.6部门信息管理类图63 第4章系统详细设计图4.7产品信息管理类图6、顺序图基本数据中涉及到的员工信息的添加、删除、修改操作以及部门信息和产品信息的添加、删除、修改操作相关的顺序图如图4.8-4.16。图4.8添加员工信息顺序图63 第4章系统详细设计图4.9修改员工信息顺序图图4.10删除员工信息顺序图图4.11添加部门信息顺序图63 第4章系统详细设计图4.12修改部门信息顺序图图4.13删除部门信息顺序图图4.14添加产品信息顺序图63 第4章系统详细设计图4.15修改产品信息顺序图图4.16删除产品信息顺序图7、程序逻辑添加基本数据流程图如图4.17所示。图4.17添加基本数据流程图63 第4章系统详细设计4.2.3客户信息管理模块1、功能描述此模块中,普通的销售人员可以对客户信息进行维护,还可以查看客户的交易记录。销售主管不仅能够维护自己记录的客户信息,还可以查看自己的下属维护的客户的信息。2、输入项目添加客户信息时必要的输入项为:联系人姓名、客户性质、联系电话、客户性别、客户的详细地址、客户年龄、客户类别等,编辑客户信息时,可选的输入项同添加时的输入项。3、输出项目用户查看客户列表或者是新增、编辑、删除客户资料并提交时,系统会将信息封装成json,并将结果返回到客户列表界面。4、算法描述用户发送相关于客户信息操作的各种请求,通过业务逻辑层的Servlet类调用数据访问层的不同的方法进行数据操作。数据访问层将数据封装成对象再返回到业务逻辑层,业务逻辑层再将数据进行封装,最后显示到JSP页面。5、类图客户信息操作类图和主管审查操作类图如图4.18、4.19所示。图4.18客户信息操作类图63 第4章系统详细设计图4.19主管审查操作类图6、顺序图查看客户信息、查看客户的历史购买记录、添加客户信息、修改客户信息、删除客户信息以及主管审查下属员工记录的客户信息的相关操作顺序图如图4.20-4.25所示。图4.20查看客户信息顺序图图4.21查看客户历史订单顺序图63 第4章系统详细设计图4.22添加客户信息顺序图图4.23修改客户信息顺序图图4.24删除客户信息顺序图63 第4章系统详细设计图4.25主管审查顺序图7、程序逻辑添加客户信息时,需要输入相应的客户信息,点击提交时,系统会判断是否有空的输入项,如果有空项,系统弹出相应的提示信息,如果没有,则将数据添加至数据库并返回至客户列表页面。添加客户信息流程图如图4.26所示。图4.26添加客户信息流程图63 第4章系统详细设计4.2.4营销管理模块1、功能描述此模块中,销售人员能够创建销售活动,查看销售活动的记录,还可以针对一项活动进行追踪,记录完成情况,终结已完成的活动,最后统计和记录销售结果。2、输入项目创建销售活动时,需要输入联系人姓名、产品名称、计划销售数量、计划终止时间等。追踪销售活动时需要输入已交易数量、交易状态和备注。3、输出项目用户创建完新的销售活动后,会将这条记录添加到销售活动记录列表中并在页面上显示。新添加的销售活动的追踪记录会自动添加到追踪页面上半部分的追踪记录列表中。4、算法描述用户发送相关于销售活动的各种操作请求,通过业务逻辑层的Servlet类调用数据访问层中不同的方法进行数据操作。数据访问层将数据封装成实体类对象再返回到业务逻辑层,业务逻辑层再将数据存入Request中,最后显示到JSP页面上。5、类图营销管理类图如图4.27所示。图4.27营销管理类图63 第4章系统详细设计6、顺序图相关于销售活动的顺序图如图4.28-4.31所示。图4.28创建销售活动顺序图图4.29添加进度追踪顺序图图4.30终结活动顺序图63 第4章系统详细设计图4.31查看销售统计顺序图7、程序逻辑创建销售活动流程图如图4.32所示。图4.32创建销售活动流程图4.2.5报表分析管理模块1、功能描述此模块中,销售人员能够查看在一定时间范围内基于销售结果、客户年龄分布、性别的数据分析图表。63 第4章系统详细设计2、输入项目输入起始时间和结束时间。3、输出项目根据用户输入的时间节点将查询到的各部分数据结果显示到页面上,并且保持所选时间不变。4、算法描述用户发送查看报表分析图的操作请求,系统通过业务逻辑层的Servlet类调用数据访问层中的方法进行数据操作。数据访问层将数据封装成实体类对象再返回到业务逻辑层,业务逻辑层再将数据存入Request中,最后用于JSP页面的显示。5、类图查看分析报表类图如图4.33所示。图4.33查看分析报表类图6、顺序图分析报表相关的顺序图如图4.34-4.36所示。图4.34查看基于销售结果分析表的顺序图63 第4章系统详细设计图4.35查看基于年龄分布分析表的顺序图图4.36查看基于性别分析表的顺序图7、程序逻辑查看分析报表流程图如图4.37所示。图4.37查看分析报表流程图63 第5章系统运行与测试第5章系统运行与测试5.1测试环境5.1.1软件配置1、Web应用服务器(Tomcat)配置在Tomcat的安装目录下找到conf文件夹,找到server.xml文件,使用文本编辑器打开,并且找到:其中path属性是指在运行时要请求的路径;docBase属性指项目的位置路径。2、数据库配置打开Navicateà点击链接à选择Oracleà输入链接名à输入主机的IP地址à输入端口号à输入服务名à输入用户名和密码à点击连接测试。连接成功,则能进入数据库中。5.1.2硬件设备服务器的处理器是Intel(R)Core(TM)i5-2410M2.30GHz处理器,6GB的内存容量,主硬盘应用希捷ST500LT012-1DG142。5.2测试方法5.2.1黑盒测试黑盒测试也被称为功能测试,这种测试方法不管程序的内部结构,只根据产品应该实现的实际功能以及已定义好的产品的规格说明书来验证产品中的功能是否都能正常实现[15]。本系统的所有模块都应用黑盒测试进行测试。5.2.2白盒测试白盒测试也被称为结构测试,这种测试方法是通过对程序源代码进行测试而不是使用用户界面进行测试,通过对代码语句的检测发现代码内部在算法或其他应用技术中的错误或者缺陷,进而能够得到改正。63 第5章系统运行与测试5.3测试用例5.3.1系统用户登陆测试用例1、测试方案用户登录系统时,需要输入用户名以及密码。测试过程中需要输入正确的用户名与密码、不匹配的用户名与密码以及不输入用户名或密码,从而进行程序的检验。2、测试用例用户登陆的测试用例如表5.1所示。表5.1用户登录测试用例编号输入数据预期结果实际结果结果分析1用户名:lili密码:123456进入系统与预期结果相同正常2用户名:li密码:123提示用户名或密码错误与预期结果相同正常3用户名:lili密码:789456提示用户名或密码错误与预期结果相同正常4用户名:密码:123456提示用户名不能为空提示用户名密码不匹配未设置单项空值检测5用户名:lili密码:提示密码不能为空提示用户名密码不匹配未设置单项空值检测6不输入用户名和密码提示用户名密码都不能为空与预期结果相同正常3、测试效果图系统登录测试效果图如图5.1所示。图5.1系统登录测试63 第5章系统运行与测试5.3.2修改员工信息测试用例1、测试方案在修改页面中不输入员工姓名、不选择主管ID就点击提交。2、测试用例修改员工信息的测试用例如表5.2所示。表5.2修改员工信息测试用例编号输入数据预期结果实际结果结果分析1不选择主管ID,点击提交页面提示请添加主管ID,并返回到修改界面与预期结果相同正常2不输入员工姓名,点击提交页面提示请输入员工姓名,并返回到修改界面与预期结果相同正常3正确输入所有信息,点击提交修改成功并且跳转回员工信息列表界面与预期结果相同正常3、测试效果图修改员工信息测试效果图如图5.2所示。图5.2修改员工信息测试5.3.3添加员工信息测试用例1、测试方案在添加页面中员工姓名、登录名、电话、密码都选择性不输入,点击提交。2、测试用例添加员工信息的测试用例如表5.3所示。63 第5章系统运行与测试表5.3添加员工信息测试用例编号输入数据预期结果实际结果结果分析1不输入员工姓名,点击提交页面提示请添加员工姓名,并返回到添加界面与预期结果相同正常2不输入登录名,点击提交页面提示请输入登录名,并返回到添加界面与预期结果相同正常3员工姓名输入的类型不正确文本框旁边显示错误与预期结果相同正常4不输入电话,点击提交页面提示请输入联系电话,并返回到添加界面与预期结果相同正常5不输入密码,点击提交页面提示请输入初始密码,并返回到添加界面与预期结果相同正常3、测试效果图添加员工信息测试效果图如图5.3所示。图5.3添加员工信息测试5.3.4删除员工信息测试用例1、测试方案在员工信息列表页面点击一条员工信息中的删除按钮。2、测试用例删除员工信息的测试用例如表5.4所示。63 第5章系统运行与测试表5.4删除员工信息测试用例编号输入数据预期结果实际结果结果分析1在员工信息列表点击该员工的删除按钮页面提示是否确认删除该员工与预期结果相同正常3、测试效果图删除员工信息测试效果图如图5.4所示。图5.4删除员工信息测试5.3.5修改部门信息测试用例1、测试方案修改信息时不输入部门名称或职责描述。2、测试用例修改部门信息的测试用例如表5.5所示。表5.5修改部门信息测试用例编号输入数据预期结果实际结果结果分析1不输入部门名称,点击提交页面提示请输入部门名称,并返回到编辑界面与预期结果相同正常2不输入职责描述,点击提交页面提示请输入职责描述,并返回到编辑界面与预期结果相同正常3、测试效果图修改部门信息测试效果图如图5.5所示。图5.5修改部门信息测试63 第5章系统运行与测试5.3.6添加部门信息测试用例1、测试方案添加信息时不输入部门名称或职责描述。2、测试用例添加部门信息的测试用例如表5.6所示。表5.6添加部门信息测试用例编号输入数据预期结果实际结果结果分析1不输入部门名称,点击提交页面提示请输入部门名称,并返回到添加界面与预期结果相同正常2不输入职责描述,点击提交页面提示请输入职责描述,并返回到添加界面与预期结果相同正常3、测试效果图修改部门信息测试效果图如图5.6所示。图5.6修改部门信息测试5.3.7添加产品信息测试用例1、测试方案输入框中任选一个不输入,查看用户页面是否有相应的提示信息,并且查看提示信息是否恰当。2、测试用例添加产品信息的测试用例如表5.7所示。63 第5章系统运行与测试表5.7添加产品信息测试用例编号输入数据预期结果实际结果结果分析1不输入产品样图,点击提交页面提示请输入产品样图,并返回到添加界面与预期结果相同正常2不输入产品名称,点击提交页面提示请输入产品名称,并返回到添加界面与预期结果相同正常3不输入单价,点击提交页面提示请输入单价,并返回到添加界面与预期结果相同正常4不输入计量单位,点击提交页面提示请输入计量单位,并返回到添加界面与预期结果相同正常5不输入库存数量,点击提交页面提示请输入库存数量,并返回到添加界面与预期结果相同正常6库存数量输入非数字的值,点击提交页面提示请输入数字,并返回到添加界面与预期结果相同正常3、测试效果图添加产品信息测试效果图如图5.7所示。图5.7添加产品信息测试5.3.8添加客户信息测试用例1、测试方案输入框中任选一个不输入,或输入异常类型。2、测试用例添加客户信息的测试用例如表5.8所示。63 第5章系统运行与测试表5.8添加客户信息测试用例编号输入数据预期结果实际结果结果分析1不输入联系人姓名,点击提交页面提示请输入联系人,并返回到添加界面与预期结果相同正常2不输入联系电话,点击提交页面提示请输入联系电话,并返回到添加界面与预期结果相同正常3不输入详细地址,点击提交页面提示请输入详细地址,并返回到添加界面与预期结果相同正常4不输入客户年龄,点击提交页面提示请输入客户年龄,并返回到添加界面与预期结果相同正常5客户年龄输入的为非数字,点击提交页面提示请输入数字,并返回到添加界面与预期结果相同正常3、测试效果图添加客户信息测试效果图如图5.8所示。图5.8添加客户信息测试5.3.9创建销售活动测试用例1、测试方案输入框中任选一个不输入,或者输入的类型不正确,查看用户界面是否有提示信息。2、测试用例创建销售活动的测试用例如表5.9所示。表5.9创建销售活动测试用例编号输入数据预期结果实际结果结果分析1不输入联系人姓名,点击提交页面提示请输入联系人,并返回到添加界面与预期结果相同正常2不输入计划销售数量,页面提示请输入计划销与预期结果相同正常63 第5章系统运行与测试续表5.92点击提交售数量,并返回到添加界面与预期结果相同正常3计划销售数量输入的不是数字,点击提交页面提示请输入数字,并返回到添加界面与预期结果相同正常4不选择计划终止时间,点击提交页面提示请输入计划终止时间,并返回到添加界面与预期结果相同正常5客户年龄输入的为非数字,点击提交页面提示请输入数字,并返回到添加界面与预期结果相同正常3、测试效果图创建销售活动测试效果图如图5.9所示。图5.9创建销售活动测试5.3.10追踪销售活动测试用例1、测试方案输入框中任选一个不输入,或者输入的类型不正确,查看用户界面中是否会显示异常提示。2、测试用例追踪销售活动的测试用例如表5.10所示。表5.10追踪销售活动测试用例编号输入数据预期结果实际结果结果分析1不输入交易数量页面提示请输入交易数量,并返回到修改界面与预期结果相同正常2交易数量输入的为非数字页面提示请输入数字,并返回到修改界面与预期结果相同正常3不输入完成率页面提示请输入完成率,并返回到修改界面与预期结果相同正常63 第5章系统运行与测试续表5.104完成率文本框输入的数字不在0和100之间页面提示请输入0~100的数字,并返回到修改界面与预期结果相同正常3、测试效果图追踪销售活动测试效果图如图5.10所示。图5.10追踪销售活动测试5.3.11基于销售结果分析测试用例1、测试方案进入基于销售结果的统计分析界面,选择一个时间范围查询相关数据。2、测试用例基于销售结果分析报表的测试用例如表5.11所示。表5.11基于销售结果分析测试用例编号输入数据预期结果实际结果结果分析1点击“基于销售结果”子菜单页面跳转到分析报表界面,显示各种结果销售比率及饼状分析图与预期结果相同正常2选择一个时间范围查询相关数据页面跳转到分析报表界面,显示各种结果销售比率及饼状分析图与预期结果相同正常3、测试效果图基于销售结果分析测试效果图如图5.11所示。63 第5章系统运行与测试图5.11基于销售结果分析测试5.3.12基于年龄分布统计分析测试用例1、测试方案进入基于年龄分布的统计分析界面,选择一个时间范围查询相关数据。2、测试用例基于年龄分布分析报表的测试用例如表5.12所示。表5.12基于年龄分布统计分析测试用例编号输入数据预期结果实际结果结果分析1点击“基于年龄分布”子菜单页面跳转到分析报表界面,显示不同年龄段的销售比率及饼状分析图与预期结果相同正常2选择一个时间范围查询相关数据页面跳转到分析报表界面,显示不同年龄段的销售比率及饼状分析图与预期结果相同正常3、测试效果图基于年龄分布分析测试效果图如图5.12所示。图5.12基于年龄分布分析测试63 第5章系统运行与测试5.3.13基于性别统计分析测试用例1、测试方案进入基于年龄分布的统计分析界面,选择一个时间范围查询相关数据。2、测试用例基于性别统计分析报表的测试用例如表5.13所示。表5.13基于性别统计分析测试用例编号输入数据预期结果实际结果结果分析1点击“基于性别”子菜单页面跳转到统计界面,显示不同性别的销售比率及饼状分析图与预期结果相同正常2选择一个时间范围查询相关数据页面跳转到统计界面,显示不同性别的销售比率及饼状分析图与预期结果相同正常3、测试效果图基于性别分布分析测试效果图如图5.13所示。图5.13基于性别分布分析测试5.4测试结论经过输入模拟数据进行测试,得到的结果如下:(1)用户在登陆时,没有单独对用户名和密码进行空值的验证,提示信息不是很恰当。在添加员工信息界面,对必输项都进行了输入验证,对异常的输入都有信息提示。在部门信息的添加中,也对部门名称和职责描述进行了验证,确保了数据的正确性。删除一级部门时,只是单独将该条一级部门信息63 第5章系统运行与测试删除,关联的二级部门的信息其实仍然存在于数据库中,这一个问题需要再仔细的研究一下。产品信息在添加和修改时,对输入的数据也做了验证,避免了异常情况的发生。(2)维护客户信息时,对输入项的验证做的比较全面,避免了异常情况的发生。(3)创建销售活动以及进行活动追踪时,验证了数据的类型以及是否为空。(4)在各种统计图中,基本需求都已经满足了,但是关于数据的精确度的问题可以再考虑一下,比如小数点的保留位数等。总的来说,项目的设计达到了项目最初步的需求,但是细节上还是希望能够设计的更完美。63 基于J2EE的客户关系管理系统的设计与实现结论本系统主要实现了的功能有:首先,进行基本数据的创建,其中包括员工的基本信息、产品的基本信息、部门的基本信息等,系统管理员对这些基本数据可以进行编辑和删除等操作;然后实现了销售人员对客户信息的维护以及销售活动的制定、追踪、总结等。最后,基于销售结果和不同维度的分析,图表化显示数据信息。在系统设计过程中,利用多种方法提高了项目运行的效率和安全性,具体如下:(1)对数据表中的主键字段以及其他的字段添加索引,提高了查询语句的运行效率。(2)通过查看执行计划、调整表连接方式、改变子查询语句的写法,进而对所有的查询语句进行优化。(3)利用仿真数据对系统的各个模块进行测试,从而能够发现问题并及时改正。本系统的设计目前满足了任务书的全部需求,但是基于应用的角度进行分析,发现还是可以增加一些新的功能,比如说创建实现员工向领导递交销售报告的平台和对话的平台,还可以扩展员工考勤填报等功能。除此之外,将客户关系管理系统制作成手机APP也是一种有前景的发展方向。总的来说,本系统的设计给企业维系客户资源提供了新的管理思路,也提供了相应的技术和模型,最终能够节省成本,减少公司不必要的消耗。63 基于J2EE的客户关系管理系统的设计与实现参考文献[1]田同.客户关系管理的中国之路[M].北京:机械工业出版社,2001:10-13.[2]陈明亮.客户关系管理理论与软件[M].杭州:浙江大学出版社,2004:109-125.[3]阎宏.Java与模式[M].北京:电子工业出版社,2002:68-76.[4]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006:57-58,266-274.[5]LiveDemo–jQueryEasyUI.http://www.jeasyui.com/demo/main/index.php.[6]袁建洲,尹喆.JavaScript编程宝典[M].北京:电子工业出版社,2006:46-63.[7]郑阿奇.Oracle实用教程[M].北京:电子工业出版社,2012:8-13,116-124.[8]陈明.软件工程导论[M].北京:机械工业出版社,2009:267-271.[9]胡燕,周松林,凌咏红.数据库技术及应用[M].北京:清华大学出版社,2005:134-147.[10]梁民,汪伟.基于AJAX技术开发web应用[J].电脑知识与技术,2006.[11]飞思科产品技术研发中心.JSP应用开发详解[M].北京:电子工业出版社,2002:33-56.[12]温超.JSP应用开发教程[M].北京:科学出版社,2011:122-136,203-214.[13]单东林,张晓菲.锋利的jQuery(第2版)[M].北京:中国邮电出版社,2012:4-18.[14](美)NatanyaPitts著,徐晓梅等译.XML技术内幕[M].北京:电子工业出版社,2002:78-85.[15]郑人杰.计算机软件测试技术[M].北京:清华大学出版社,1992:124-143.63 基于J2EE的客户关系管理系统的设计与实现致谢本系统能够开发完成要特别感谢我的指导老师张福生老师。在张老师的帮助下,我理清了我的设计思路,全面了解了我的任务需求,并且在此基础上,老师提出了很多任务书中没有提及,但是正常的应用系统会包含的功能,并且帮助我完善和修改各个功能,这使得我的设计更全面,更符合实际应用,也能让我从初级的课程设计思维模式中跳出来。我还要感谢开我的设计过程中给予我帮助的各位领导和实训老师。除此之外,还要感谢我在实习工作中,教会我应用jQueryEasyUI的王平,也感谢他在我设计的修改中,对我提出的问题耐心的解答。同时还要感谢我的实习公司的领导对我的逻辑思维和动手能力的培养。最后还要感谢我的父母这么多年对我的悉心培养和对我学习生活的大力支持。63