1、系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,基于JavaEE的客户管理系统的设计与实现,答辩人:,指导老师:,学院:,计算机学院,专业:,软件工程,班级:,论文绪论,系统开发技术,系统分析与设计,系统功能模块实现,系统测试,论文总结,CONTENTS,论文绪论,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文总结,论文绪论,论文绪论,1、,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,“,论文总结,论文绪论,1.1、 系统开发背景,随着市场经济的发展,各种企业雨后春笋迅速建立,企业之间愈发竞争激烈,同时各个
2、企业之间信息交互增多、对不同情况的异常的解决方案,第一个是对数据的动态管理,第二个是对各种资料的静态管理,对于一般的企业来说,它更加倾向于把各种杂乱无章的资料进行分类管理,所以该javaEE的客户关系管理系统在这种市场的冲击下诞生了。,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,系统开发 技术,2、,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,2.1、Tomcat服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apach
3、e、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。,2.2、Oracle数据库,ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE数据库是目
4、前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,2.3、JavaEE,JavaEE是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用.随着WEB和EJB容器概念诞生,使得软件应用业开始担心SUN的伙伴们是否还在Java平台上不断推出翻新的标准框架,致使软件应用业的业
5、务核心组件架构无所适从,从一直以来是否需要EJB的讨论声中说明了这种彷徨。JavaEE是为开发企业环境下的应用程序提供的一套解决方案,是一个开发分布式企业级应用的规范和标准。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。,2.4、JQuery,jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaS
6、cript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,2.5、Ajax,AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新,可使因特
7、网应用程序更小、更快,更友好。传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。,2.6、SSM框架,SSM框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架。对比SSH框架具有简化开发代码量、提高开发效率的特点。,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,系统开发 技术,论文绪论,1、,2、,3、,Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEful
8、l-stack(一站式) 轻量级开源框架。具有轻量、控制反转、面向切面、容器、架构、MVC等特征。,Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。,MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foun
9、dation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),SSM,系统分析 与设计,系统功能 模块实现,系统测试,系统分析 与设计,论文总结,论文绪论,系统分析与设计,3、,系统开发 技术,系统功能 模块实现,系统测试,论文总结,论文绪论,CRM系统的宗旨是:为了满足企业以及每个客户的特殊需求,同每个客户建立联系,通过同客户的联系来了解客户的不同
10、需求,并在此基础上进行“一对一“个性化服务。CRM 管理系统通常由客户信息管理、销售过程自动化(SFA)、营销自动化( MA )、客户服务与支持( CSS )管理、客户分析( CA )系统 5 大主要功能模块组成。,3.1系统需求分析,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,3.2系统功能分析与描述,系统功能用例图,图3.2客户开发计划页面,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,管理登录,系统管理员拥有查看并使用系统所有功能的权限,其中包括为普通用户注册帐号并设置其权限的功能,普通管理员只能用于部分管理功能;更改或
11、删除其他用户权限的功能;删除普通管理员的功能等。,营销管理主要功能是针对指定客户在线填报营销策划方案,由客户管理部门负责人审批通过并分配给特定的业务员,业务员根据策划方案执行计划,完成填报营销结果。,标客户管理主要包括客户信息管理和客户流失管理两部分。,服务管理主要包括服务创建和服务分配。,研究方法,论文绪论,服务管理,客户管理,营销管理,统计报表和数据字典,统计报表主要包括客户贡献分析和客户组成分析。数据字典主要包括数据字典管理,查询产品信息以及查询库存信息。,系统开发 技术,系统功能 模块实现,系统测试,论文总结,论文绪论,3.3数据库设计,数据库E-R图,图3.3系统E-R图,系统开发
12、技术,系统分析 与设计,系统功能 模块实现,系统测试,customer (客户表),Acustomer_drains (客户流失表),Ausers (系统用户表),sales_chance(营销机会表),论文总结,论文绪论,sales_plan (营销计划表),orders (订单表),product (产品表),系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,系统功能 模块实现,论文总结,论文绪论,系统功能模块的实现,4、,系统开发 技术,系统分析 与设计,系统测试,论文总结,论文绪论,4.1管理登录,通过用户提交表单的方式将用户输入的登录用户名、用户密码作为请求发送给对应的
13、Handler,对应的Handler接收到用户的登录请求的数据,然后从用户表中查询用户的访问请求数据是否存在,若查找结果为空,则返回当前户名不存;若查询结果不为空,则当前对象存在,然后再对用户输入的密码进行验证是否和数据库中密码字段的值相匹配,若不匹配则登录失败,从新输入密码,若密码验证成功,页面跳转到系统主页并把用户信息存到session域中。,图4.1用户登录页面,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,4.2营销管理,4.2.1 销售机会管理普通用户进入销售机会管理页面,可以管理销售机会,包括:销售机会的新建、编辑和删除;客户部领导进入销售机会
14、管理页面,可以将已有的销售机会分配给指定员工执行。4.2.2 客户开发计划用户进入客户开发计划页面,能够查看上级分配给自己的客户开发计划,并能够针对分配给自己的客户开发计划添加计划项并执行,最后根据开发计划的执行结果设置计划执行成功或失败。,图4.2.2客户开发计划页面,图4.2.1销售机会管理页面,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,4.3客户管理,4.3.1 客户信息管理用户进入客户信息管理页面,可以查看所有信息并能够按照附加条件进行查询,客户信息包括联系人、交往记录和历史订单,并能够编辑和删除客户信息。4.3.2 客户流失管理当用户长时间未
15、没有交易记录时,用户可以在客户流失管理页面查看出现流失预警的客户信息,并且能够针对提示流失预警的客户创建暂缓措施。,图4.3.2客户流失管理页面,图4.3.1客户信息管理页面,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,4.4服务创建,4.4.1 服务创建用户进入服务创建页面,能够针对客户请求新建相应服务满足客户的请求。4.4.2服务分配用户进入服务分配页面,可以将任务分配给指定的业务人员。,图4.4.2服务分配页面,图4.4.1服务创建页面,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,4.5统计报表,4.5.1客
16、户贡献分析用户进入客户贡献分析页面,可以通过客户名称和ID编号等条件查询客户订单金额等信息。4.5.2客户构成分析用户进入客户组成分析页面,可以通过客户登记查询普通客户、合作伙伴、战略合作伙伴的数量,通过信用度查询不同信用度等级的客户数量,通过满意度查询不同满意度等级的客户数量。,图4.5.2客户构成分析页面,图4.5.1客户贡献分析页面,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,4.6基础数据管理,4.6.1 数据字典管理用户进入数据字典管理页面,可以新建和查询数据字典信息,并能够通过类别、条目、值等条件查询数据字典信息。4.6.2 查询产品信息用户
17、进入查询产品信息页面,可以添加、编辑和删除产品信息,并能够通过名称、型号、批次等条件查询产品信息。,图4.6.2 查询产品信息页面,图4.6.1 数据字典管理页面,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,系统测试,论文总结,论文绪论,系统测试,5、,系统开发 技术,系统分析 与设计,系统功能 模块实现,论文总结,论文绪论,5.1 测试目的,软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(compl
18、eteness)和质量(quality)的软件过程。 软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,个人复查是指程序员自行设计测试用例,对源代码、详细设计进行仔细检查,并记录错误、不足之处等。,个人复查,黑盒测试即功能测试,这种方法是把软件看成一个看不见里面内容
19、的黑盒,在完全不考虑程序内部结构和特性的情况下,测试软件的外部特性。,黑盒测试,会审是指测试人员在会审前仔细阅读软件的有关资料,根据错误类型清单填写检测表,提出根据错误类型要提出的问题。会审时,由程序设计人员讲解程序的设计方法,由程序编写人员逐个讲解程序代码的编写,测试人员需要逐个审查,提问,讨论可能出现的问题。,会审,白盒也称结构测试,这是将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。,白盒测试,5.2 测试方法,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文绪论,成功,失败,5.3.1登录
20、测试,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文总结,论文绪论,用户注册时会对输入的用户名、密码进行验证,向数据库添加数据的时候会检查输入的用户名是否存在,若用户名存在前端页面会弹出提示信息提示用户输入的用户名已存在,否则注册成功。,图5.3.2用户注册失败页面,5.3.2用户测试,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,用户创建服务时,需要对用户输入内容进行验证,若输入内容为空时弹出提示信息。,图5.3.3输入内容为空时的页面,5.3.3服务创建测试,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试
21、,论文总结,论文绪论,用户创建数据字典项时,若没有输入内容点击保存按钮会弹出保存失败提示信息。,图5.3.4数据字典项创建失败的页面,5.3.4数据字典项创建测试,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,用户在修改密码时,如果输入的旧密码不相同,则不能修改密码并提示相应的错误信息。,图5.3.5密码修改失败的页面,5.3.5修改密码测试,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,论文总结,论文绪论,论文总结,6、,系统开发 技术,系统分析 与设计,系统功能 模块实现,系统测试,问题讨论,论文总结,论文绪论,经过了一个学期的学习和
22、实践,在指导老师的悉心指导和严格要求下,我终于完成了基于JAVAEE的客户关系管理系统的设计及论文。从课题选择、方案论证到具体设计,我都认真思考然后独立完成。在整个毕业设计过程中,我学会了java的web编程及Oracle数据库的设计。本系统模块已经通过多次调试运行,功能中的大部分已实现。基本上可以满足用户需求。该系统通过初步审核,系统稳定,界面友好,使用方便,能良好的管理用户文章及基本信息。 通过这次毕业设计,使我对系统开发的整个流程也有了进一步的认识,在实践中,通过对系统开发语言和数据库技术的运用,加深了我对理论知识的理解,也丰富了我的实践经验,为将来走向工作岗位和进一步学习奠定了良好的基础。,系统开发 技术,系统分析 与设计,系统功能 模块实现,