1、 硕士研究生学位论文题目:基于 Android 平台的 CRM 系统客户端软件的研究与实现专 业: 计算机科学与技术摘 要社会信息化进程的推进,信息在社会中的更新传播速度也越来越快,客户的需求也在时刻的变化。这也就使得传统的客户关系管理方式对信息的处理能力、响应速度相对滞后,影响企业的发展。针对当前客户关系管理的不足,并结合移动互联网技术,本文设计并实现了一款基于 Android平台的 CRM(Customer Relationship Management,客户关系管理)系统客户端软件,以满足快速高效为企业客户提供服务的需求。本文首先针对某企业 CRM系统进行了需求分析,提出系统所支持的九项
2、业务:客户管理、联系人管理、销售机会管理、订单管理、产品管理、线索管理、行动管理、知识库管理和日程管理等,并进行了需求功能的分解。其次,本文采用了 C/S模式和 MVC相结合的模式,对 CRM系统进行了结构设计,将系统划分为表示层、业务逻辑层、基础服务层和数据层四层体系结构;并进行了功能模块的划分,研究了功能模块的业务处理流程,并对其进行了详细设计与实现。最后,对 CRM客户端软件进行了功能和性能测试,测试结果表明客户端各个功能模块运行良好并且业务处理高效。本文通过对当前诸多企业移动应用的分析,对共有界面元素以及底层功能进行开发设计,为其他功能提供了规范性的开发模式,使应用开发周期大大减少,减
3、轻了开发工作量,同时也使软件质量得以保证,方便后期维护。综上所述,本文研究、设计并实现的 CRM系统客户端软件,具有高效性、移动性、便捷性等特点,在有效解决当前客户关系管理缺陷的同时,帮助用户开展各项业务活动,提高业务处理效率,保证企业经营管理的正常进行。关键词:CRM Android MVC 对象序列化ABSTRACTWith the advancement of social informatization, the speed of updating information and information dissemination in society is getting faste
4、r, so the demand of customers changes all the time. For this reason traditional customer relationship management is lagging behind relatively for the information processing capacity and the speed of response, this hinder the development of enterprises. In view of the current lack of customer relatio
5、nship management, and connecting with the mobile Internet technology, we designed and realized a CRM (Customer Relationship Management) client software based on the Android platform. This software can provide timely service for the enterprises customer rapidly and efficiently.Firstly, in view of the
6、 demand analysis of the CRM system of a certain enterprise, we proposes nine services that the system supporting for, they are customers management, contacts management, sales opportunity management, orders management, products management, clues management, actions management, the knowledge base man
7、agement, schedule management and so on, and at the same time decomposes the demand function. Secondly, we design the structure for the CRM system, using the model that combining C/S model and MVC. The system is divided into four-layer structure: the presentation layer, business logic layer, basic se
8、rvices layer and data layer; and we also divides function module, analyzes each module business processing procedure of its five function modules, and designs and implementations each module in detail. Finally, based on the function and performance test on the CRM system and the client, it verifies
9、the good operation of each functional module and the efficiency of business processing.To sum up, the CRM system client software that we discussed, designed and implemented is of high efficiency, mobility and convenience. It can not only solve the current defects of the customer relationship managem
10、ent effectively, but also help the user to carry out various business activities, improve the processing efficiency, and ensure the enterprise management working regularly.KEY WORDS: CRM, Android, MVC, Object Serializat第一章 绪论随着信息技术的飞速发展,企业之间的竞争越来越激烈,同时,企业客户的需求每时每刻也都发生着变化,而传统的企业管理系统越来越难以适应信息和需求的瞬息万变。
11、如何及时准确地获取及处理客户信息已成为当今企业急需解决的重要问题。近几年,移动智能终端的出现,使得传统互联网产生了重大的变革,移动互联网的流行已成为一大趋势。而随着智能终端的不断发展,人们也不再仅仅满足于人与人之间简单的沟通交流,如打电话、发短信,而开始关注强大的移动终端带来的丰富多彩的个性化服务。当前,智能终端已成为这个时代每个人不可或缺的生活物件。与传统手机相比,智能终端具有便携性、智能性、应用丰富等优势,这些优势使得智能终端在社交、娱乐、商务等应用上能够为用户带来更加个性化、多样化的体验。因此,将移动互联网与客户关系管理相结合,即在移动智能终端上开发一款企业客户关系管理系统的客户端,能够
12、将移动终端的优势最大化的发挥,为企业带来更大的效益和价值。1.1课题研究背景CRM(Customer Relationship Management)即客户关系管理,CRM 是以“客户”为中心,以信息技术为手段,以企业业务活动为对象,以客户信息为指导,与客户进行高效地沟通,及时更新并反馈客户信息,从而帮助企业实现对客户信息的管理,在维系并稳定企业客户的同时又扩大客户群,最终实现企业经济效益的提升 1。CRM 强调企业应该与客户保持持久不间断的沟通,企业能够基于此来了解客户不断变化的需求,并在此基础上指导企业的各项业务活动,改善管理方式,提高产品或服务的质量,提高客户的满意度,从而实现客户的稳定
13、化和持续增长。对于企业信息化飞速发展的今天,客户以及客户的需求也在时刻的变化当中,如何更有效地维系老客户的关系、挖掘新客户,这些问题依然成为众多企业关注的目标。而传统的 CRM系统却也存在一定的缺陷:1) 实时性差。当今社会上,消费者或客户的消费行为会因为一些因素(如媒体)的影响而瞬息万变,传统的 CRM其基于的是所收集的历史数据以及一些传统的通信方式,无法适应这种信息的快速变更。2) 获取信息的不及时。虽然随着企业信息化的发展,CRM 也与计算机、互联网进行了一定程度上的融合,但是,由于企业中业务人员必须坐在办公桌电脑前才能进行相应的业务处理和操作,缺少机动性,客户信息的获取及处理无法随着业
14、务人员的工作随时随地地进行,这就大大限制了信息的获取速度和范围,降低客户管理的效率。3) 耗时长。对于基于数据仓库和分析的 CRM方式,所花费的时间较长,这种方式也无法适应当今社会信息飞速增长变化的需求,也大大影响了企业客户管理的效率。目前越来越多的中国网民选择使用移动终端接入互联网,而“移动化”带来的便捷性也逐渐融入到人们的生活、工作当中。在移动终端的推动下,移动互联网产业得以飞速发展,移动化也已然成为当今全球互联网的发展趋势 2。而智能终端其移动性、便捷性的特点能有效地弥补传统 CRM方式的不足。1.2 课题研究目的和意义在移动互联网飞速发展与企业经营方式向“客户”转型的背景下,为了解决传
15、统 CRM系统实时性差、获取信息不及时以及耗时长等缺陷,本课题以某企业项目为依托,设计并实现一款基于 Android平台的 CRM系统的客户端软件。将 CRM与移动智能终端相结合,使终端移动性、便捷性的特点得以最大限度的发挥,企业的业务人员将不再受时间地点的限制,能够随时随地地对客户需求进行处理和反馈,提高客户关系管理的实时性。另外移动智能终端拥有一些 PC机上所没有的功能,包括通话、短信、通讯录、位置服务等等,将这些功能与 CRM相结合,能为 CRM的功能扩展提供一个良好的平台,使得业务人员可以通过更加快捷便利的方式与客户沟通,提高与客户交互的频率和深度。相比于 PC机,智能终端的存储容量要
16、小得多,处理能力也相对弱,移动 CRM客户端应提供最核心的功能、精简的界面。另外,移动 CRM客户端将不关注对大批量客户数据的挖掘和处理,取而代之的是依靠企业业务人员自行管理客户、挖掘客户、维系客户关系。将每一个客户作为一个单独的个体,以一对一的方式实施客户关系维护和管理。这种方式能够有效地发现和保存客户的行为方式和偏好,从而依据每个客户的个别状况提出相应的应对策略或方案,增加客户关系管理的灵活性。本系统客户端软件结合了移动智能终端的优点,在提供客户关系管理基本功能的基础上,使管理的各项操作不受时间地点的限制,并且将客户关系管理的主动权交由企业业务人员,使得管理具有针对性、灵活性,能大大提高客
17、户关系管理的效率,使得企业能够更有效地维系老客户、挖掘新客户,对企业的整体发展具有重要的现实意义,对移动互联网产业的发展、企业信息化进程的推动提供巨大动力。1.3 课题研究现状当前,移动技术被广泛应用,CRM 也紧随移动办公进入移动领域,并且成为了不少业务人员必备的办公用品。在以前,地域、时差、人员等诸多客观因素会使得企业原本优质的服务能力下降,或者由于办公条件、通信传输、数据分析等的局限性而导致无法及时响应客户的需求。随着企业之间竞争的激烈化和客户个性化需求的与日俱增,企业必须能够提供具有实时性、不受限制的办公环境和办公能力,让业务人员在任何时间任何地点都能与客户进行沟通,了解客户需求,及时
18、反馈市场信息等。因此,将 CRM与移动互联网相结合,使 CRM具备移动性、便捷性等特点,这将是客户关系管理将来的主要发展方向。而随着 CRM系统的不断完善,在技术实现上也有了一定程度的发展,当前 CRM系统在技术实现上主要体现在以下几个方面:1)信息分析技术。CRM系统作为企业核心资源的管理系统,需要处理大量的客户信息,如何分析和利用这些信息成为了 CRM系统的关键。利用数据仓库、数据挖掘等关键技术可以建立量化的、有效的评估体系,帮助企业更合理的指定经营策略。2)集成多种客户信息交换渠道。随着网络的发展,新的信息交流技术不断涌现,作为企业的常用企业管理软件,CRM系统应该集成电话、电子邮件、手
19、机短信、VoIP 和网络会议等多种新的通信方式,从而能够更加及时高效的为企业客户提供服务。3)网络应用技术企业业务信息处理,网络功能越来越发挥着重要的作用。CRM 为企业带来了实现电子商务的平台,企业也因此由传统企业模式转化为电子商务为基础的现代化企业模式。随着 CRM管理理念以及实现技术的进一步发展,CRM 系统也将不断实现技术和应用的最新结合,进一步成为企业不可或缺的前端业务支撑系统。1.4 课题研究内容及主要工作本课题的主要研究内容及工作可以划分为以下几点:1) 对基于 Android平台的 CRM系统的客户端进行需求分析。本课题将首先对系统客户端软件进行需求分析,深入描述其功能和性能,
20、确定相关约束条件,以及服务器与客户端通信等方面的接口细节。2) 对设计开发本系统客户端进行技术调研、积累与分析。将依据需求阶段所提出的相关需求,确定开发本客户端所涉及的相关技术,对其进行调研、分析与对比,进行技术积累与储备。3) 设计并实现客户端共用界面元素以及底层功能。本课题将设计并实现客户端共用界面元素以及底层功能,其中底层功能主要包括数据封装/解析、加密/解密、压缩/解压缩、与服务器的交互等。在设计过程中,将尽可能地涵盖开发同类或类似应用所具有的共有的特征及功能;针对不同应用功能上的区别性,设计易修改、易扩展的接口,满足各个应用、功能的特性要求,从而减少开发工作量,节省开发时间 3。4)
21、 设计并实现客户端各个功能模块。本课题将基于需求分析及设计阶段的成果进行客户端功能的开发。各个功能模块的设计与开发将基于之前完成的共用界面元素以及底层功能进行,保证风格的统一性,同时减少开发工作量。本课题所要实现的功能模块包括:客户、联系人、线索、销售订单、日常安排(行动) 。5) 对客户端进行测试及部署。本客户端的测试工作将分为以下几个阶段进行:单元测试,将针对软件内部各个方法、功能点等“单元”进行测试。该测试工作将随着各个功能模块的开发而进行;集成测试,针对子系统内部以及子系统之间的交互进行测试;系统测试,将客户端与系统其他部分结合起来,在实际环境下运行,进行测试,同时包括性能测试;验收测
22、试,让用户也参与的测试,使用真实的数据进行测试。在完成上述工作后,确定客户端版本以及相应版本管理工作,交付客户端,发布在相关网站上。1.5 论文结构本论文的结构和主要内容安排如下:第一章 介绍本论文的课题背景,阐述当前 CRM系统的研究现状,说明本课题的研究目的和意义,并介绍本文的组织结构。第二章 介绍客户关系管理方面的理论知识,介绍 CRM系统中所使用到的核心技术。第三章 介绍 CRM系统的需求分析,包括客户管理、联系人管理、线索管理、销售订单管理以及行动等功能需求,同时论述业务处理响应时间、安全性、易用性等非功能需求。第四章 在需求分析的基础上对系统进行概要和详细设计。说明本系统的各个功能
23、模块的划分;分析 CRM系统的体系架构、层次结构、业务流程以及数据库表的设计。第五章 论述了客户端各个功能模块的实现。主要针对客户端共有界面元素以及底层功能模块、客户模块、联系人模块、线索模块、销售订单模块、日常安排(行动)模块,并给出上述各模块的流程图、类图以及时序图。第六章 论述系统测试工作,介绍测试用例,说明各个测试阶段的具体工作,根据测试结果分析客户端完成情况。第七章 论文工作总结。对本论文工作进行总结,提出下一步改进和完善的建议。第二章 相关技术介绍2.1 客户关系管理相关概念2.1.1 客户关系管理当前关于客户关系管理,不同的研究机构或企业、公司有着不同的定义,但是这些不同的定义对
24、客户关系概念的理解具有共同之处,即客户关系包含了企业与客户之间的所有关系,如买卖、咨询、售后等,是一种长期、紧密、互利互惠的关系4。CRM 系统将企业内部各个业务人员和各个部门的关于客户的所有信息进行整合、分析,统一保存和管理,并以此为基础,向企业各部门提供良好的访问接口,使得企业对于客户信息的管理具有高度的统一性、规范性。同时 CRM系统结合了先进的管理思想,采用信息产业的最新成果,为客户关系管理构筑信息平台。该平台整合了数据挖掘、数据仓库等信息技术,能够为企业提供多方面多领域的自动化解决方案,大大减轻了业务人员的工作强度和难度。2.1.2 客户关系管理移动应用系统解决的问题及思路CRM整合
25、了企业内部各个业务人员、各部门资源,并对这些资源进行有效、规范地组织、整理和分析,从而提高了企业中整个客户关系生命周期的管理效果。移动终端下的 CRM系统为企业办公提供了一个新的平台,带来了信息时代全新的运营理念,业务人员能够在客户关系生命周期中更加及时有效地了解相关的资源,同时也简化、优化了业务人员的相关业务工作流程,从而提高企业的业务活动效率。移动终端客户关系管理系统为企业解决四个方面的问题,如图 2-1所示。客 户 关 系 管 理客 户 获 取客 户 维 系 客 户 选 择客 户 价 值怎 样 用 最 有 效 率 的方 法 获 取 客 户如 何 判 断 谁 是 我 们 最有 价 值 的
26、客 户如 何 尽 可 能 久 的 维系 老 客 户如 何 获 取 最 大 客 户效 益从图 2-1中可以看出,移动终端客户关系管理所重点关注四个问题的解决。企业绝不希望自己的客户群时时刻刻都在发生巨大的变化,一个相对稳定的客户群能够为企业创造一个平稳良好的盈利和发展空间。因此,企业必须及时获取并快速响应客户的需求(这些需求有可能时刻都在变化) ,并提升产品服务质量,提供良好便捷的产品购买渠道或服务获取渠道,同时提供良好的售后服务等。CRM 移动应用系统应该为企业提供与客户进行沟通交流的快速方便的渠道和方式,增加企业业务人员与客户沟通的频率和效率。同时,企业也需要对其所有客户进行评估和衡量,分析
27、客户的潜在效益,使得客户关系管理具有针对性和侧重性。CRM 移动应用系统能帮助企业在营销活动中转被动为主动,主动地去找寻客户、主动地获取需求、主动为客户提供产品和服务。本课题将依照移动终端客户关系管理理念及其所关注的四个问题,进行CRM系统客户端的设计和开发。2.2 Android操作系统介绍随着移动互联网概念的普及和推广,移动终端正朝着智能化的方向飞速前进,智能手机也逐渐的融入人们的日常生活工作当中,成为人们工作生活娱乐不可或缺的设备或工具。自 2008年 Google公司发布了 Android操作系统至今,Android 的版本已由当初的 1.1上升至如今的 4.2,而 Google公司也
28、将于明年 5月份正式发布 Android 5.0版本。随着版本的更新,Android 操作系统也逐步趋于完善,运行效率大幅提升,所提供的功能也更加丰富,用户体验也好。在我国,Android 终端的销量逐年攀升,已占领大部分终端市场,并且每年每季度均能保持至少一成的增长幅度 6。由此可见,Android 已成为当前市场上主流的移动终端操作系统,对其的研究具有重大的现实意义。因此,本课题选用 Android作为 CRM系统客户端的开发平台。2.2.1 Android 系统的特点Android操作系统之所以受到用户和开发者的青睐,因为其具有以下几大优势 78:1) 开放性。开放性是 Android操
29、作系统相比于其他终端操作系统所具有的最大的优势。开发者可以随意地对 Android系统进行个性化的修改,有利于开发出更具差异性的应用;另一方面,厂商能够根据自己的硬件设备的性能来自行修改 Android操作系统底层的源代码,使得系统与硬件设备更加适配,从而发挥硬件的最佳性能,提高用户体验。2) 应用程序平等性。Android平台不需要区分核心应用和第三方应用。开发者可以随意的开发或扩展任意的应用程序,大大拓宽了开发者的开发范围。另一方面,对用户而言,用户可以随意替换移动设备上的应用程序,即便是拨号程序或者主屏幕这样的核心应用,也在很大程度上满足了用户的个性化需求 9。3) 易于开发。Andro
30、id应用程序基于 Java语言进行开发,开发人员只要掌握基本的 Java编程技能就能够轻易的学习和上手 Android应用的开发 10。4) 无缝结合的 Google应用。Google应用平台为用户提供诸多优秀稳定的物联网产品,如 Google地图、Gmail、Google 搜索等,而 Android平台能够非常好的与这些应用无缝结合,为用户提供更好的服务 11。2.2.2 Android的系统架构Android操作系统的系统结构图如图 2-2所示。A p p l i c a t i o n ( 应 用 层 )H o m e C o n t a c t s P h o n e B r o w
31、s e rA p p l i c a t i o n F r a m e w o r k ( 应 用 框 架 层 )A c t i v i t y M a n a g e rW i n d o w M a n a g e rC o n t e n t P r o v i d e rV i e w S y s t e m N o t i f i c a t i o n M a n g e rP a c k a g e M a n a g e rT e l e p h o n y M a n a g e rR e s o u r c e M a n a g e rL o c a t i o n M
32、 a n a g e rX M P P S e r v i c eL i b r a r i e s ( 系 统 运 行 库 层 )S u r f a c e M a n a g e rM e d i a F r a m e w o r kS Q L i t eO p e n G L / E S F r e e T y p e W e b k i tS G L S S L L i b cA n d r o i d R u n t i m e ( A n d r o i d 运 行 时 )C o r e L i b r a r i e sD a l v i k V ML i n u x K e
33、r n e l ( L i n u x 内 核 )D i s p l a y D r i v e rC a m e r a D r i v e rB l u e t o o t h D r i v e rF l a s h M e m o r y D r i v e rB i n d e r ( I P C ) D r i v e rU S B D r i v e r K e y p a d D r i v e r W i - F i D r i v e r A u d i o D r i v e r sP o w e r M a n a g e m e n t图 2-2 Android系统结
34、构图 12从图 2-2中可以看出,Android 系统总共分为四层,从上至下分别是应用层(Application) 、应用框架层(Application Framework) 、系统运行库层(Libraries)和Linux内核层。1) 应用层Android平台上,一切可操作行为的载体即为应用程序,换句话说,Android 操作系统的基本单位为应用程序(Application) 。应用层一方面包括 Android系统中自带的应用程序,如主屏幕、联系人、短信、设置等核心应用程序;另一方面,还包括开发人员所开发的第三方应用。2) 应用框架层应用框架是一个应用程序的核心和基础,它为开发人员的开发行为
35、提供了详尽的规范和约定。一方面,开发人员必须基于应用开发框架进行应用程序的开发,以保持主体结构的一致性;另一方面,应用框架允许开发人员在遵守框架相关规范的基础上,对其开发的应用程序进行必要的扩展,以满足各个应用程序的差异性、个性化需求。Android应用框架提供了访问所有核心 API的方法。该框架提高了组件的重用性,减少项目开发的工作量;同时,在遵循这个框架的相关原则的前提下,开发人员可以在这个框架上尽情地扩展应用。Android 应用框架层所提供的相关组件如表 2-1所示。组件 功能视图(View) 提供构建应用程序界面的各种控件。内容提供器(Content Providers) 允许应用程
36、序开放接口,让其他程序访问其数据。资源管理器(Resource Manager)对资源的管理,包括本地字符串(String) 、图片(drawable)和布局文件(Layout file)等等。通知管理器(Notification Manager) 对状态栏的管理,可以设置并显示状态栏信息。活动管理器(Activity Manager) 对应用程序基本元素 Activity的管理。窗口管理器(Window Manager) 对所有窗口的管理,如对话框(Dialog)等等。包管理器(Package Manager)对 Android应用程序(apk 包)的管理,包括系统本地自带的应用以及第三方应用。3) 系统运行库层Android应用框架层为上层的开发提供了良好的平台和接口,为支持 Android对硬件设备的调用,系统运行库为上层提供了各种组件调用使用的支持。系统运行库层包括系统库和 Android运行时环境。系统库各个部分的功能如表 2-2所示。