论文部分内容阅读
本文论述了新盘古CRM系统研发主要的目的与意义:是百度运营产品研发部专门研发的,与其商业模式相对应的CRM系统,该系统不仅负责维护已有的客户并保持长期关系,也负责不断发掘新客户,让更多企业主成为百度搜索的推广客户。本文说明了CRM系统的投入使用为公司带来多种优势,例如可以降低公司运营成本、提升客户满意度、提升品牌形象与提升销售绩效等。接着从技术角度论述了新盘古CRM采用的主要技术,系统使用J2EE体系结构,采用分模块分层的设计思想,分成多个模块包,各自负责不同的功能并且相互依赖。结合Spring、Struts2、Mybatis三种框架,Java、Velocity、XML和JS等语言进行编写。在系统的展现层利用缓存、多线程机制、REST约束和Ajax异步技术,提高了页面的响应速度。NoSQL与关系数据库结合使用增加了数据的可扩展性,在后台的稳定性层面采用了分布式存储Redis/Memcache以及分库分表的方式进行良好的数据库结构设计。使用远程虚拟机、Eclipse、SQLyog、 Maven等开发工具与Xmind、Visio等工具表达功能,测试使用公司内部的Hadson测试系统。本文在介绍了项目的背景与技术之后又着重介绍了新盘古CRM的需求分析。本文描述了新盘古CRM中的功能角色、角色的层级关系与相应的功能权限,例如IS销售,部门经理,售前审核员等。通过用例图描述了不同的角色所操作的主要模块,以及所具有的权限,例如IS销售主要操作的模块是销售管理、分析体系与辅助功能。接着通过销售活动的状态图描述了一条客户信息进入系统后所经历的一级状态与二级状态。本文也从负载性、安全性、易用性、可扩充性等角度也介绍了项目的非功能需求。体系结构设计也是本文重点介绍的部分,通过架构图介绍了系统各个部分的功能与关系,代码依赖图介绍了主要代码中的依赖与数据流向,ipangu-callout模块图与模块内部代码图介绍了主要模块里的各个小功能模块。本文还介绍了项目的部署图,组件分为负载均衡组件,多个web服务器与RMI远程服务器,CDN以及主从数据库等。最后介绍了系统的数据库设计,从主从数据库功能、数据库表关系说明了系统主要的数据库设计。本文在概述了新盘古CRM的需求分析与体系结构设计之后,重点介绍了callout模块的主要功能——商业机会模块,IS销售可以对商机进行创建、更新、转出等操作,是IS销售进行电话销售中主要的操作的业务对象。通过类图,可以清晰地看到不同类之间的调用关系,接着对该模块主要的类例如:OpportunityAction、OpportunityLogAction进行了详细的介绍。接着介绍了重要协作流程设计,以新增功能顺序图与搜索功能顺序图作为代表,可以了解从Action、Service、Dao到Mapper完成业务功能到数据库的修改与调用。在详细的代码与算法介绍中,贴出了initDataForQuery页面刷新、addOpportunity新增商机、queryList搜索请求三个功能的详细代码,让系统更加直观地呈现。然后给出了商业机会模块的ER图,介绍了该模块主要的数据库设计。最后以单元测试的介绍进一步表现项目的高要求与严谨性。