CRM(Customer Relationship Management)客户关系管理系统是企业为增加客户满意度,提高忠诚度、拓展市场,增强其核心竞争力的重要手段。基于Internet的CRM系统,将市场拓展、维系客户与企业的品牌创建有机结合,实现企业与客户联系的信息化与网络化。
现代企业信息系统多数以ERP(Enterprise resource plan)为核心构建综合平台,销售与客户支持服务大多是通过内部网服务企业职能部门,而面向社会开放式服务则很少。资源信息化、信息共享化及系统平台化已成为企业信息化建设的基本条件。新环境下的CRM系统开发必须满足企业信息化的这些要求,这样系统在功能规模建设、开发效率与质量、系统组织管理、复杂性控制等方面就面临着新的挑战。
虽然一些国外软件开发商在面对上述挑战时,提出了一些针对性的解决方法,如RUP、XP,Catalysis方法,UML构件方法,Kobra方法及业务构件工厂方法等,不过,在处理遗留系统、控制复杂性、提高复用和解决变化的需求等问题上,缺乏一致的解决方法。对此,本文在对已有解决方案分析消化的基础上,给出一种基于业务构件化设计的面向CRM系统的开发方法,解决在系统开发中存在的一系列问题。
1 基于信息整合的构件化系统开发思想
实现企业营销过程、销售过程和客户业务流程中的信息整合与集成问题是应用CRM的关键。在现有信息系统中,大量的业务数据还是散列在企业不同位置的服务器上,共用的客户信息和需求信息分散在部门级的应用数据库中,难以实现企业整体数据共享与业务的一体化。其原因主要是由于不同渠道的信息汇集与调用缺乏统一的集成标准和应用服务接口。
构件化软件设计思想是解决信息整合和接口服务的理想选择。企业业务处理可以通过信息收集处理并封装为构件化的模块,建立可供各种业务复用的功能构件模块库,按照业务层次和粒度的不同要求,完成软件复用与系统功能的重构,实现统一的业务信息输入和输出接口规范,达到整合来自企业不同渠道信息融合与共享的能力,以提高整个企业信息系统的应用能力。
所以,在开发集成的CRM系统时,可把系统业务处理与客户数据的收集、存储、加工及传递等事务性活动抽象为对企业不同业务功能单元的执行过程,不同事务的处理单元经过集成后,对应不同业务的功能模块,它由低层向模块拼装组合应用,实现业务处理的功能化与业务流程重构的模块化和便利化,从而实现CRM系统开发过程在业务、功能、事务上的高效率,也很好地解决了系统集成与信息集成问题。层次划分如图1所示。
2 面向业务的构件化设计
面向业务的构件化设计核心思想是以事务层构件为基础,构建完成不同事务的功能,通过组装功能层构件,再封装为业务层构件,形成业务构件库,再动态组合复用这些构件,整个构件体系结构是一个层次型迭代递进的关系架构。在这个框架中,通过组装自治功能的各个业务构件,实现构件的大粒度复用,使不同粒度的构件,在应用管理与控制上更加安全可靠。
如何实现“关注点”分离是上面构件化设计的关键,主要包括三点:一是产品和过程相分离,也就是生产什么和如何生产分开处理,以此简化开发过程;二是业务与细节相分离。业务概念和实现业务细节处理相分离,尽量抽象出系统需求。三是设计与实现相分离。高层抽象设计与具体实例化相分离,按责任分解问题域,依赖问题的抽象分析共性和可变性,了解所有对象后再考虑对象的实例化问题。
开发集成的CRM系统,对企业业务流程和事务处理的整体支持是极其重要的功能。该功能的实现,取决于对“关注点”的分离,以形成独立的自治构件,包括纵向分离和横向分离这两大类,形成面向技术的功能构件。在系统集成时,构件化设计是通过构件封装标准信息,依据过程组织大粒度业务构件应用,依据实际需要组装和运行对应的构件模块来实现系统集成和信息集成。分割矩阵如图2所示,图2中X轴为面向服务业务的横向分离,即业务构件系统;y轴为面向技术功能的横向分离,也就是功能构件;C为分割出的业务构件。
(1) 业务构件和构件类型
所谓业务构件指的是实现自治业务概念或业务过程的软件载体。业务功能模块具有在问题空间内相对自治且不分离的特点。在CRM系统问题空间内的业务构件并不是独立存在的,需要与其他自治的业务构件保持关联和互操作,只有这样,才能完成每个具体的业务处理。
业务构件是由功能构件组合而成的,功能构件实现业务构件中相对自治的具体事务,功能构件处理业务逻辑中划分更细的事务逻辑。不同的功能构件可被拼装成为完成不同业务逻辑的业务构件,并可封装到业务构件库,被系统复用。
而功能构件则能进一步分解细化为多个完成某项具体操作的事务构件, 具有关联业务的不同业务构件可 组成实现具体服务业务的构件系统,业务构件系统之问联合组成系统级构件联邦,以满足不同的用户对系统的信息需求。
基于业务构件化的系统开发根据构件的类型,将设计好的构件封装在对应粒度层次的标准构件库中,再按照业务和系统重构的需求,从构件库中挑选合适的构件,在构件虚拟机上进行组装和运行,完成整个构件系统的开发应用。
(2) 关键问题的解决
第一是遗留系统接口。通过寻找分离点、封装和重构系统等工作,实现对构件的应用和管理,以解决老系统遗留的接口问题。
第二是复杂性控制。对于开发者和用户而言,只需要关注自己负责的部分,将“关注点”分离好,理清各自的处理逻辑和控制目标。对于系统维护和管理来说,当某个构件出现问题的时候,只需替换或者修复对应的构件,就可以轻松实现控制。而通过对标准构件库中不同粒度构件的统一管理与应用,开发人员和客户则可以非常方便地通过构件虚拟机所提供的开发功能和管理机制,完成对构件的组合、拼装、运行、管理和应用。
第三是应变适应能力。通过对需要改造的构件适当的替换、重构,能够实现系统的快速更新与升级,以适应新业务、新需求对系统的应变要求。
(3)系统构建开发过程模型
面向业务的构件化开发过程模型吸取了软件工程的设计思想的优点,为重新安排整个软件生命周期的活动内容的建模提供了便利,具体表现在:①交流。识别业务构件,业务构件系统,系统级构件联邦。②计划和设计。识别功能构件并归纳功能构件。③分析和构件选择。选择事务构件,功能构件和业务构件组建业务构件系统。④工程和测试。开发,测试,提交功能和业务构件。⑤应用管理和维护。对运行的构件进行管理和替换。
上一篇:移动CRM重要的四大理由
下一篇:中国物流企业建立重点客户关系管理的实施保障
|