本科毕业论文---基于j2ee的客户关系管理系统设计与实现.doc
-
资源ID:92916897
资源大小:1.79MB
全文页数:71页
- 资源格式: DOC
下载积分:12金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
本科毕业论文---基于j2ee的客户关系管理系统设计与实现.doc
基于JAVAEE的客户关系管理系统的设计与实现学士学位论文基于J2EE的客户关系管理系统的设计与实现Design and implementation of customer relationship management system based on J2EE基于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 开发环境与运行环境设计263.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 基于年龄分布统计分析测试用例585.3.13 基于性别统计分析测试用例595.4 测试结论59结 论61参考文献62致 谢63III基于J2EE的客户关系管理系统的设计与实现摘 要本系统在开发前调研了一些应用级的客户关系管理系统,由此了解到客户关系管理系统在这个竞争异常激烈的市场环境中是非常必要的。现存的客户关系管理系统软件能帮助企业管理客户的信息,进而防止了公司客户的流失;管理者也可以随时了解每位销售人员的工作进展,还可以根据销售订单分析出新的销售机会。但是,多数的系统都没有将数据进行图表化的显示,本系统对此进行了相应的改进。本系统的开发主要基于JavaEE开发语言,采用了MVC架构模式,分层次的将本设计开发完成。除此之外,本系统应用了Oracle数据库以及Tomcat应用服务器,数据显示应用了jQueryEasyUI以及jQuery,数据传输也多次应用了ajax技术。本文主要介绍了客户关系管理系统的项目背景、项目的实现目标,然后详细描述了系统需求、系统的总体设计方案、详细设计方案以及功能实现。最后,对本次的设计按照各功能模块进行了系统的测试,分析出了存在的问题和需要改进的方面。关键词:MVC架构模式;jQueryEasyUI;客户;销售活动;客户关系管理系统AbstractThis system has some research on the customer relationship management system before the development, and it is necessary to realize the customer relationship management system in this highly competitive market environment. The existing customer relationship management system software can help enterprises to manage customer information, and to prevent the loss of customers of the company; managers can keep abreast of the progress of each sales personnel, they also according to the sales order analysis of the new sales opportunities too. However, most of the system does not display the data in a chart, and the system is improved accordingly. The development of the system is based on the JavaEE language, and the MVC architecture pattern is adopted, and the design and development of the system is completed. In addition, this system has applied Oracle database and Tomcat application server, data display application of jQueryEasyUI and jQuery, data transmission has also applied Ajax technology.This paper mainly introduces the customer relationship management system of the background of the project and achieve the goal, and a detailed description of the demand of the system, the overall design scheme and detailed design and function realization. Finally, on the design according to the functional modules were test system, analyzes the existing problems and issues that need to be improved.Keywords: MVC framework; jQueryEasyUI; Customer; Sales Activity;CRM前 言进入21世纪以来,全球经济的飞速发展使得各企业间的竞争日趋激烈。为了能够更好的维护客户资源,建立稳定的、良好的客户关系,就必须利用先进的现代技术手段,通过重新组合业务流程等方法,进而将企业与客户紧密的联系起来。客户关系管理系统就是这样一种提供维护客户资源新方法的管理工具。本系统在现存的客户关系管理系统基础上,实现了产品样例图的显示以及数据图表化的显示,除此之外,对具有分级的部门信息和具有分层的产品信息用树形结构做了显示,还提供了初始化企业相关信息的功能。现如今,web服务端的应用开发大多离不开JavaEE,JavaEE也能够帮助企业级应用开发解决一系列的问题。JavaEE的核心技术有13种,但是在本系统中,主要用到了JSP、Java Servlet、JavaBean、JDBC。在结合了MVC架构后,JSP应用到了MVC的表现层,Java Servlet和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,除此之外,它的可移植性比较高,代码的逻辑比较清晰,能够让开发者轻易的就能改变应用程序的数据层的结构以及业务的规则。但是将一个应用程序分离成三个方面,也加大了开发者需要管理和维护的文件的数量,这也是MVC架构模式的一大缺点。(2) jQueryEasyUI:它能够帮助web开发者打造出更丰富更美观的界面,简化了对复杂的javaScript的编写,也使得开发者不用再去深入的研究css样式5。但是在另一方面,对它的过度使用,也会削弱开发者在css样式以及javaScript方面的编写能力6。(3) Oracle关系型数据库的应用:在数据库领域,Oracle数据库算是经典中的经典了。它能够持久性的保留大量的数据,数据的共享性和可靠性比较高。在应用的过程中,有许多规范会不同于MySql数据库,所以在语句的写法上要注意很多7。1.4.2 经济可行性分析本系统的开发用到的设备比较简单,在设备的使用和管理方面的开支比较小,人员的开支成本比较低,开发的工期也比较短。鉴于对客户信息进行管理可以使企业更方便的发现新的销售机会,从而制定调整企业的生产计划,由此带来经济效益远远超出我的开发成本,所以在经济方面,开发这个系统是可行的。63第二章 需求分析第2章 需求分析2.1 任务概述2.1.1 目标本次的“客户关系管理系统”课题要求实现一个Web网站,首先能够定义一个公司的基础数据,其中包括销售部门的组织结构、销售人员的个人信息、销售团队中的人员汇报层级关系以及公司所包含的产品信息,这些信息统一由系统管理员进行维护;其次,也是最重要的部分就是对企业的客户资料进行系统的管理,每对一个客户发起一次销售活动,就要实时跟进销售的进度并且记录销售结果;最后,根据客户的年龄、性别、销售结果等维度进行数据分析,并图表化显示出来,以至于能够迅速的找到销售机会。2.1.2 用户的特点应用本系统的相关用户包括:系统管理员:需要管理系统用户的权限,维护系统的基础数据。为了能够处理一些数据异常,系统管理员需要具备查看日志、修改数据库的能力8。销售人员:需要维护自己记录的客户资料,针对不同的客户进行销售计划的制定,最后会根据销售结果生成图表,因此需要该用户具备比较高的分析能力进而发现新的销售机会。2.1.3 运行环境1、软件平台(1)服务端:Windows 7操作系统,Oracle数据库管理里信息系统,Tomcat6.0,jdk1.6。(2)客户端:Windows 7操作系统,Windows XP操作系统。2、硬件平台(1)Windows系统硬件要求Intel(R) Core(TM) i5-2410M 2.30GHz 或更快的处理器, 6GB 的 RAM。推荐配置:Intel(R) Core(TM) i5-2410M 2.30GHz 或更快的处理器, 4GB 的 RAM。2.1.4 条件与约束技术要求:使用JSP制作网页,使用Servlet和JavaBean编写代码逻辑,使用Oracle数据库管理系统作为数据维护工具。2.2 系统需求说明 本系统需要首先定义好基础数据,其中包括公司销售部门的整体组织结构的定义,销售人员的个人信息初始化,销售团队中的各层级人员之间的汇报关系,以及公司的产品基本信息的定义;其次要对公司里的客户的各项资料进行系统的处理及维护,设计客户信息的访问权限;再次,允许销售人员针对客户发起销售活动,并提供跟踪进度的功能,以便销售人员能够估算活动的完成率,记录结果;最后提供图表化显示功能,在特定的时间段内针对客户的年龄、客户的性别以及销售的结果进行数据分析,并且用图表化的方式显示出来。2.3 系统业务功能说明2.3.1 基本数据管理模块1、需求描述在此模块中,需要实现的需求有以下三项:(1)系统管理员需要初始化部门信息,拥有对部门信息的添加、删除、修改、查看等操作;(2)系统管理员还需要初始化销售部门所有员工的个人信息,拥有对员工信息的查看、删除、添加、修改等操作;(3)系统管理员需要初始化公司的产品信息,能够查看和删除产品目录以及子产品,并能够定时、及时的更新和修改产品信息。2、用例图基本数据信息模块的用例图主要描述了系统管理员对基本数据的维护等操作,其中包括系统管理员对部门信息的添加、修改、删除、查看等操作;对员工信息的添加、修改、删除、查看等操作;对产品信息的添加、修改、删除、查看的操作。具体的初始化基本数据信息的用例图如图2.1和2.2所示。图2.1 初始化部门和员工信息用例图图2.2 初始化产品信息用例图3、用例文档(1)部门信息用例文档a.用例编号UC1:初始化部门信息。b.参与者系统管理员。c.前置条件系统管理员登陆系统。d.后置条件所有普通用户能够查看部门的基本数据信息。e.基本路径用例描述:系统管理员添加部门信息,如表3.1所示。表3.1 添加部门信息参与者的动作系统响应系统管理员点击部门信息转入部门信息列表页面系统管理员点击新增一级部门页面弹出添加一级部门的弹出框系统管理员填写部门名称和职责描述,然后点击提交验证输入项是否有空值,没有空值则将数据存入数据库中,然后返回至部门列表在部门信息列表页面选择一个一级部门点击添加二级部门按钮页面弹出添加二级部门的弹出框输入部门名称和职责描述,然后点击添加验证输入项是否有空值,没有空值则将数据存入数据库中,然后返回至部门列表用例描述:系统管理员修改部门信息,如表3.2所示。表3.2 修改部门信息参与者的动作系统响应系统管理员点击部门信息显示部门列表系统管理员点击要修改的一级部门,然后点击修改按钮弹出修改部门信息的弹出框系统管理员填写要修改的信息,包括部门名称和职责描述,然后点击提交将修改过后的信息存入数据库中然后返回至部门列表在部门信息列表点击要修改的二级部门,然后点击修改按钮弹出修改部门信息的弹出框用例描述:系统管理员删除部门信息,如表3.3所示。表3.3 删除部门信息参与者的动作系统响应系统管理员点击部门信息显示部门列表系统管理员点击一个一级部门,然后点击删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至部门列表系统管理员点击一个二级部门,然后点击删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至部门列表g.补充说明 一级部门和二级部门包含的相关信息有:部门名称、部门的职责描述。(2)员工信息用例文档a.用例编号UC2:初始化员工信息。 b.参与者系统管理员。c.前置条件系统管理员登陆系统。d.后置条件所有普通用户能够查看员工的基本数据信息。e.基本路径用例描述:系统管理员添员工信息,如表3.4所示。表3.4 添加人员信息参与者的动作系统响应系统管理员在员工信息列表页面点击新增人员跳转至添加员工页面系统管理员输入员工编号,员工姓名,密码,电话,角色,选择主管,部门名称等信息,然后点击提交。添加相应信息至数据表中,然后返回至员工信息列表用例描述:系统管理员修改员工信息,如表3.5。表3.5 修改人员信息参与者的动作系统响应系统管理员进入员工的详细资料列表跳转至详细资料页面点击修改按钮跳转至修改员工信息页面系统管理输入要修改的数据,包括员工姓名,密码,电话,角色,选择主管,部门名称等信息。根据员工编号找到对应员工并进行修改,然后返回至员工信息列表用例描述:系统管理员删除员工信息,如表3.6。表3.6 删除员工信息参与者的动作系统响应系统管理员点击员工信息子菜单显示员工信息列表系统管理员点击要删除的数据对应的删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至部门列表g.补充说明 员工信息涉及到的相关信息有:员工姓名、登陆名、密码、电话、主管ID、角色、部门名称。(3)产品信息用例文档a.用例编号UC3:初始化产品信息。b.参与者系统管理员。c.前置条件系统管理员登陆系统。d.后置条件所有普通用户能够查看产品目录以及目录中的所有产品。e.基本路径用例描述:系统管理员添加产品,如表3.7所示。表3.7 添加产品参与者的动作系统响应在产品目录列表页面中点击新增目录按钮页面弹出添加产品目录信息填写框填写目录名称,点击提交产品目录信息存入数据库,返回到产品信息页面点击一个产品目录,然后点击新增产品按钮页面弹出添加产品信息填写框在添加产品页面选择产品样图,输入产品名称,单价、计量单位和库存数量,然后点击提交自动生成产品编号并添加新的产品信息至数据表中,然后返回至产品信息列表用例描述:系统管理员修改产品,如表3.8所示。表3.8 修改产品参与者的动作系统响应系统管理员在产品信息列表中点击要修改的产品目录或产品,然后点击修改按钮页面弹出修改信息填写框在修改产品信息页面中重新输入产品目录名或者重新选择产品样图,输入产品名称、单价、计量单位和库存数量,然后点击提交根据产品编号或产品目录编号找到对应的信息并修改,然后返回至产品信息列表用例描述:系统管理员删除产品,如表3.9所示。表3.9 删除产品参与者的动作系统响应系统管理员在产品信息列表中点击要删除的的产品目录或产品,点击删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至产品信息列表g.补充说明 产品目录涉及到的相关信息有:产品样图、产品名称、单价、计量单位、库存数量。4、活动图添加基本数据活动图如图2.3所示。图2.3 添加基本数据活动图2.3.2 客户信息管理模块1、需求描述在此模块中实现的功能有:销售人员可以维护自己记录的客户资料,拥有添加客户信息、修改客户信息、查看客户信息、删除客户信息等操作,同时还能查看该客户的交易记录。此外,有“销售主管”权限的用户可以查看其下属管理的客户的所有资料,但是不具备其他的操作权限。每个登陆系统的用户也可以修改个人资料。2、用例图客户信息管理模块用例图如图2.4所示。图2.4 客户信息管理模块用例图3、用例文档(1)客户信息管理用例文档a.用例编号UC4:管理客户资料。b.参与者销售团队中的工作人员。c.前置条件系统管理员在系统中创建了销售人员的个人信息以及登陆信息。d.后置条件拥有“销售人员”角色的用户可以登陆系统对客户信息进行维护。e.基本路径用例描述:销售人员添加客户信息,如表3.10所示。表3.10 添加客户信息参与者的动作系统响应销售人员在客户资料列表页面中点击新增客户资料按钮跳转至新增客户资料页面销售人员输入要添加的数据,包括联系人,客户年龄,客户性别详细地址,联系电话,选择客户性质和客户类别,然后点击提交。自动生成客户编号,添加客户的新资料至数据表中,然后返回至客户信息列表用例描述:销售人员修改客户信息,如表3.11所示。表3.11 修改客户信息参与者的动作系统响应销售人员在客户详细资料页面中点击修改信息按钮跳转至修改客户资料页面销售人员输入要修改的数据,包括客户性质,联系人,客户性别,客户年龄,联系电话,详细地址,客户类别,然后点击提交。根据客户编号找到对应的客户信息并可以给予修改,然后返回至客户信息列表用例描述:销售人员删除客户信息,如表3.12所示。表3.12 删除客户信息参与者的动作系统响应续 表3.12销售人员在客户资料列表中点击要删除数据对应的删除按钮弹出对话框,询问是否确认删除选择确认删除删除该条数据,然后返回至客户资料列表用例描述:销售人员修改个人的个人资料,如表3.13所示。表3.13 修改个人资料参与者的动作系统响应销售人员点击TOP域的个人资料修改按钮跳转至个人资料修改界面销售人员可以输入员工姓名,电话以及密码,然后点击提交根据员工编号找到对应的员工信息并给予修改,然后跳转回主界面(2)主管审查用例文档a.用例编号UC5:主管审查客户资料。b.参与者销售团队中的主管领导。c.前置条件系统管理员在系统中创建销售主管的个人信息以及登陆信息。d.后置条件拥有“销售主管”角色的用户可以登陆系统对查看下属员工维护的客户资料。e.基本路径用例描述:用户以销售主管的身份登录,点击主管审查,查看自己下属员工的信息,然后查看员工记录的客户资料,如表3.14。表3.14 主管审查参与者的动作系统响应用户以销售主管的身份登录,输入用户名和密码检验用户名和密码,匹配正确,允许进入系统销售主管点击进入上级审查页面显示销售人员信息及对应的客户资料列表点击查看详细资料按钮跳转至客户详细资料页面点击查看历史购买记录按钮跳转至历史购买记录页面4、活动图添加客户信息活动图如图2.5所示。图2.5 添加客户信息活动图2.3.3 营销管理模块1、需求描述在此模块的设计中,需要能够让销售人员发起针对于一个客户的销售活动,并且能够随时跟踪记录这个销售活动的进度,估算完成率。当这项活动成交后,将销售结果记录下来并且结束这项活动;如果最终这个交易没成功,则取消此次的销售活动。最后还要定期的生成销售结果的统计表。2、用例图营销管理模块用例图如图2.6所示。图2.6 营销管理模块用例图3、用例文档(1)创建销售活动用例文档a.用例编号UC6:创建销售活动。b.参与者销售团队中的销售人员。c.前置条件销售人员登陆系统。d.后置条件创建的销售活动都会被记录下来。e.基本路径用例描述:销售人员登录该系统,创建一个新的销售活动,如表3.15所示。表3.15 创建销售活动参与者的动作系统响应销售人员登录系统,输入用户名和密码检验用户名和密码,匹配正确允许进入系统销售人员点击进入创建销售活动跳转至创建销售活动界面添加销售人员姓名,进行客户选择,选择产品名称,填写计划销售数量,填写开始时间和计划终止时间,然后点击提交将相应的信息添加至活动记录表中(2)销售活动记录用例文档a.用例编号UC7:记录销售活动。b.参与者销售团队中的销售人员。c.前置条件有销售活动被创建。d.后置条件根据一条活动记录可以进行活动的追综。e.基本路径用例描述:销售人员查看进行中的销售活动记录并修改一条记录,如表3.16所示。表3.16 修改销售活动记录参与者的动作系统响应销售人员点击进入销售活动记录跳转至销售活动记录界面选择其中一条记录点击修改按钮跳转至修改销售活动记录界面在页面中修改相应的信息,包括客户的选择,产品名称选择,填写计划销售数量,填写开始时间和计划终止时间,然后点击提交信息。修改相应的信息,并写入销售活动记录表中(3)销售活动追综用例文档a.用例编号UC8:销售活动追综。b.参与者销售团队中的销售人员。c.前置条件销售活动已被创建,并且没有被终结。d.后置条件能够根据最后的销售结果生成统计表。e.基本路径用例描述:销售人员进行进度追踪并查看添加追踪信息,估算完成率,如表3.17所示。表3.17 追踪销售活动参与者的动作系统响应销售人员点击进入销售活动追踪跳转至活动追踪列表页面,显示当前可追踪的活动点击其中一条的追踪按钮跳转至追踪界面,显示订单信息及历史追踪信息填写进度追踪表,包括已交易数量,更新时间,交易状态,完成率,问题总结等,然后点击添加将添加的追踪信息添加到上方的追踪信息记录列表里用例描述:销售人员进行活动终结,如表3.18所示。表3.18 终结活动参与者的动作系统响应用户将活动状态修改为终结后跳转至活动终结页面终结状态中没有相关的总结。点击添加销售活动总结页面跳转到添加活动总结界面选择终结状态,添加对应的总结,点击提交活动总结添加到数据库中,页面跳回到终结活动界面选择终结状态,填写活动总结若状态为失败,则将失败原因写入数据库中,然后跳转回追踪记录列表(4)销售数量统计用例文档a.用例编号UC9:销售数量统计。b.参与者销售团队中的销售人员。c.前置条件销售活动已经有大部分的完成了,并且结果有记录。d.后置条件统计结果会生成相应的统计表。e.基本路径用例描述:销售人员销售数量总计,如表3.19。表3.19 销售活动总结参与者的动作系统响应销售人员点击查看销售数量总计跳转至产品数量总计页面界面,显示产品的信息,并通过计算显示出每种产品的总销售数量和总销售金额选择一个时间范围,点击查询销售数量跳转至时间范围查询结果界面,显示在时间范围内的数据信息4、活动图创建销售计划活动图如图2.7所示。图2.7 创建销售计划活动图2.3.4 报表分析管理模块1、需求描述此模块用图表化的形式,根据客户的性别、年龄以及销售的结果进行数据分析和显示。2、用例图报表分析管理模块用例图见图2.8。图2.8 报表分析管理模块用例图3、用例文档(1)基于销售结果分析的用例文档a.用例编号UC10:基于销售结果的分析表。b.参与者销售团队中的销售人员。c.前置条件每次的销售活动对销售结果都有记录。d.后置条件可以分析销售结果,进而规划新的销售计划。e.基本路径用例描述:销售人员登录该系统,可以查看所有根据销售结果统计制定的购买分析表,还可以查看某一时间段内基于销售结果制定的购买分析表,如表3.20所示。表3.20 销售结果分析表参与者的动作系统响应用户以销售人员的身份登录,输入用户名和密码检验用户名和密码,匹配正确,允许进入系统销售人员点击查看基于销售结果的分析表跳转至基于销售结果的分析表界面选择一个时间段,点击查询显示根据销售结果制作的图表(2)基于年龄分布的分析表的用例文档a.用例编号UC11:基于年龄分布的分析表。b.参与者销售团队中的销售人员。c.前置条件已经有部分销售活动完成。d.后置条件可以根据年龄的分布情况以及购买率分析出新的销售计划。e.基本路径用例描述:销售人员登录该系统,查看某一时间段内基于年龄分布的购买分析表,如表3.21所示。表3.21 年龄分布分析表参与者的动作系统响应销售人员点击查看基于年龄分布的分析表跳转至基于年龄分布的分析表界面选择一个时间段,点击查询显示根据年龄分布制作的图表(3)基于性别分析的用例文档a.用例编号UC12:基于性别的分析表。b.参与者已经有部分销售活动完成。c.前置条件销售活动已被创建,并且没有被终结。d.后置条件可以根据不同性别的购买率分析出新的销售计划。e.基本路径用例描述:销售人员登录该系统,查看某一时间段内基于性别的购买分析表,如表3.22所示。表3.22 性别分析表参与者的动作系统响应销售人员点击查看基于性别的分析表跳转至基于性别的分析表界面显示根据销售结果制作的图表选择一个时间段,点击查询显示根据性别制作的图表4、活动图查看基于销售结果的分析表、基于年龄分布的分析表、基于性别的分析表的相关活动的总体活动图如图2.9所示。图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 系统安全性本系统在设计时,只拟定了一个系统管理员,可以进行基础数据的维护、用户角色的设置,保证了系统的安全性。除此之外,本系统的数据库采用Oracle数据库管理系统,能够支持大量的数据存储,并且只有系统管理员可以操作数据库,这保证了数据的安全性9。第3章 系统概要设计第3章 系统概要设计3.1 系统体系结构本系统采用了MVC架构模式,分层次的进行项目的设计。其中主要将系统分成了三层:业务逻辑层、数据访问层、表现层。业务逻辑层主要控制业务的跳转以及程序对数据访问层的调用。数据访问层主要与数据库进行交互,能够实现数据的添加、查询、修改、删除。表现层主要将业务流程展现在Web页面上,实现系统与用户的交互。本系统的实现基于JavaEE技术,应用到了Servlet技术、JSP网页技术和JavaScript、jQuery等技术10。为了能够更高效的进行数据维护,本系统采用了Oracle数据管理系统。本系统架构如图3.1所示:图3.1 系统架构图3.2系统模块设计3.2.1 系统功能模块图本系统的系统功能模块图如图3.2所示。图3.2 系统功能模块图3.2.2 功能模块设计1、基本数据模块(1)需求说明此模块涉及到三个部分。第一部分:系统管理员对员工信息的维护,其中包括对员工信息的添加、查询、修改和删除等操作,普通用户对员工信息只有查询操作。第二部分:系统管理员对部门信息的维护,包括对一级和二级部门的添加、查询、修改和删除等操作,普通用户对部门信息只有查询操作11。第三部分:系统管理员对产品目录、产品信息的添加、查询、修改以及删除等操作,普通用户对产品信息只有查询操作。(2)表现层设计系统管理员登陆的员工列表页面中,在上部的高级搜索区包含了根据“员工姓名”和“员工编号”搜索的检索项,在下面列表中,每一条记录都包含了“查看”和“删除”的链接。系统管理员登陆的一级部门列表页面中每条记录都包含“编辑”、“删除”、“查看二级部门”等按钮,页面中也包含“新增一级部门”按钮。系统管理员登陆的产品表中,显示产品信息,也包含了“编辑”、“删除”、“新增产品”按钮。(3)业务逻辑层设计 系统应用Servlet类实现,该业务类实现了基础数据模块中提及到的所有需求,并做了更多的扩展。业务逻辑层接收用户的请求,并且根据不同的请求实现不同的动作,跳转到不同的数据访问层,实现员工信息、部门信息、产品信息的各项请求操作。(4)数据访问层设计 数据访问层使用了JDBC技术,将业务逻辑层传递过来的员工、部门、产品的各种属性信息拼接成查询语句到数据库中进行查询或其他操作,最后把结果返回给业务逻辑层12。2、客户信息管理模块(1)需求说明此模块中实现了销售人员对自己记录的客户信息的维护操作,其中包括对客户资料的添加、修改、查询、删除等操作,也提供查看客户的历史购买记录的功能。销售团队中的主管也具有查看其下属记录的客户资料和历史购买记录的权限。(2)表现层设计普通的销售人员的菜单