客户关系管理系统的设计与研究

2011-12-31 00:00:00陈胜红
电脑知识与技术 2011年29期


  摘要:CRM(客户关系管理)是一种基于Internet的应用系统,是现代管理科学与计算机科学结合应用的产物,网络技术、数据库技术、通信技术的飞速发展推动CRM的不断变化。该文首先简述了MDA的重要性,然后详细介绍了客户关系管理系统实现过程中使用的技术和实现方法。
  关键词:CRM;MDA;UML
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)29-7068-03
  近些年来,经济的不断发展,使越来越多的企业上了CRM系统,从而造就了这一市场的繁荣,而这个过程形成中形成的大大小小的CRM系统提供商,却面临着和中国软件业同样的问题,就是客户的需求层次不一,差异很大,从而导致软件系统的定制费用和售后服务方面的费用过高,众多企业又不愿在技术上花费太多的时间与精力,从而导致这一软件行业难做的现象。在面临这种情形,众多企业己经开始寻找应对的办法,在软件工程领域和企业管理领域共同寻找解决问题的办法,其中在软件工程领域里面,MDA模型驱动架构出现的,为这一问题的解决提供了一个有效的方法。
  1 MDA的重要性
  软件产业在IT产业中历来占有重要的地位,进入21世纪,这种地位继续得到巩固和凸现。纵观软件产业的发展历史,计算技术经历了“以机器为中心→以应用为中心→以企业为中心”的变化,同时,我们不难得出这样的结论:软件开发方法的进步有助于维持软件产品质量、全寿命期、生产成本的平衡。以企业为中心的计算主要包括以下方面:基于组件开发,设计模式,中间件,说明性规约,企业构架,企业应用集成,契约式设计。作为将这一系列新的趋势性技术整合到一起的开发方法,MDA的出现,为提高软件开发效率,增强软件的可移植性、协同工作能服和可维护性,以及文档编制的便利性指明了解决之道。也正因为如此,MDA被面向对象技术专家预言为未来几年里最重要的方法学。
  2 系统研究总体概述
  2.1 客户资源管理系统的MDA解决方案
  2.1.1 体系结构
  MDA开发的一个特点是,开发人员只关注业务需求,而关于系统的体系结构,实现技术则由模型转换或是代码生成工具来负责。但是,由于现在的MDA工具的不完善性,现阶段用MDA来开发系统还不能完全的屏蔽下层的系统的体系结构和实现技术,因为还要在相应的组件内部用3GL实现或是加强核心的业务逻辑。
  现代的企业应用程序大部都采用组件的方式进行开发,每个组件实现特定的一个功能,并且组件与组件之间相互交互共同完成系统的整体功能。具有类似功能的组件一般地都被组合到同一个层(layer)中。层与层进一步的组成了一个栈,在高一层之中的组件应用在低一层之中的组件提供的服务。
  图1展示的流行的企业应用系统的分层体系结构。
  2.2 系统设计特点
  1) 实用性
  本系统要在企业中应用,使用者的计算机技能水平可以不作过高的要求,因此在设计中首先要考虑系统的实用性和可操作性,需要选择技术成熟的设备,同时要考虑到对现有设备和资源的利用。
  2) 先进性
  客户资源关系系统是基于模型驱动架构技术开发的,是一个集成构件化技术的高科技系统。因此,在设计时,应充分考虑到系统的可定制性以及开发的灵活性方面,让系统的实现建立在一个较高的起点上,体现技术应用的先进性。
  3) 高效性
  由于系统的应用服务中有大量的客户群体,数据量大,处理繁多,响应时间要求很高。因此整个系统的设计要充分体现这种应用特点,满足应用的需求,保证系统具有较小的延迟和较大的吞吐能力。高性能表现在系统具有高度的自动化的特性,如客户信息的自动显示等。
  4) 开放性
  建立一个基于通用操作系统和开放关系数据库管理系统的应用软件,应独立于具体的硬件平台,具有很强的适应性和先进性,并且可以进一步推广和使用。
  网络的互连能力也体现在网络的开放性及异种网络互联的支持两方面。一个开放的网络,通常是指符合国际标准和事实工业标准的网络,这使得建立的网络能为大量的各类计算机访问,这种访问很少需要增加额外的软硬件,并且为大多数用户所熟悉。
  由于TCP/IP网络协议在多种主机互联的实用性,以及在用户接口方面的标准化、可用性,用户接口的一致性,采用TCP/IP协议,为应用软件独立于网络系统提供保证。
  5) 安全性和可靠性
  作为基于企业使用的客户资源关系系统,有着大量的客户信息和业务营销记录数据,系统的安全性和高可靠性显得尤为重要。具体体现在主机、排队机、网络硬件设备和数据库、应用系统的各个方面,并且应能够进行集中式的管理和控制,因而要求整个系统有完整的故障对策,以保证主机系统、网络系统和排队机工作的连续性,以及数据库的完整性和安全性。
  6) 可扩展性
  系统的设计应能最大限度地保护用户现有的投资。主机、网络、排队机及应用系统除能满足目前及若干年业务发展规模外,还能随着业务的进一步发展而扩充,这就要求目标系统应具有很强的扩充能力,相应的主机、网络、排队机、应用软件都能平滑升级和扩充,即:要求系统有较大的容量,并且可以容易地增加座席和中继线;随着业务的进一步发展,业务范围会不断拓宽,要求系统在功能上是可以扩充的,并且这种扩充以不影响现有功能为前提。
  2.3 系统数据库设计基本过程
  2.3.1 数据库设计需求分析
  需求分析是对现实世界深入了解的过程,数据库能否正确地反映现实世界,主要决定于需求分析。这一阶段主要是与系统用户打交道,了解用户对系统的需求,包括数据需求和围绕这些数据的业务需求,并把这些需求的描述写成需求规范,作为下一阶段概念设计的基础。
  在客户资源关系系统设计过程中,对用户的需求进行分析,并且不断地根据用户反馈的信息进行需求的调整。用户需求主要归纳如下:
  1) 从企业客户数据库中取得客户档案数据。
  2) 确立客户所以属的不同行业,以及其它属性信息。
  3) 客户日常的的活动记录情况。
  4) 客户日常的业务联系情况
  5) 客户日常的电话记录情况。
  6) 对客户进行售前售后服务的情况。
  7) 对客户进行定期跟踪的情况。
  8) 对每次与客户的通话进行自动录音。
  9) 根据使用者的身份,分为管理员、经理和业务员,并赋于不同的操作权限。
  10) 查询和统计业务数据(不同使用者可以查询和统计不同的业务报表)。
  2.3.2 数据库设计流程
  数据库系统是整个客户资源关系系统内数据存储与共享的基础。对于系统参数、客户信息以及业务员客户,或是自动语音应答客户的相关资料与记录都存储在数据库中,因此数据库的设计关系到整个系统能否正常运作。
  数据库设计的任务是在系统分析的基础上,根据系统的信息需求、处理需求和数据库的支撑环境,构造最优的数据模型与处理模型,确定数据库存储结构与存储方法,建立起既能反映现实世界信息和信息的联系,满足用户信息要求和处理要求,又能被某个DBMS所接受,实现系统目标并有效存取数据的数据库。信息需求定义未来系统在数据库中需要存储哪些数据,对这些数据将作如何处理,描述数据本质上和概念上的联系,描述信息的内容和结构以及信息间的联系等。处理需求定义未来系统对数据处理的操作功能,描述操作的优先次序、包括操作执行的频率和场合,操作与数据之间的联系等。
  数据库设计的基本步骤如图2,它包括四个阶段的内容。
  
  3 MDA模型驱动架构的设计原理
  3.1 传统的数据建模所面临的问题
  我们当今在开发复杂系统时主要使用UML建模方法。但它对互操作系统集成关键技术合的不是非常好,它为基于组件的开发、设计模式和分布式计算、企业应用集成、契约式设计等技术提供了一个统一的设计标准,但没有为实现这些技术,把设计和编码阶段结合起来带来一个可实施的平台,因此在建模设计和系统构建的过程中带来了许多复杂性问题。传统的开发模式带来了以下的困难有:
  1) 建模阶段和编码阶段相互独立,建模无法直接产生效益。
  软件设计人员都有类似的经历,在开发一个复杂的系统时,常常在建模与编码之间徘徊,我们非常急切的需要UML工具来进行系统的规划、设计和分析,来描述系统的构架,但我们花很多的精力建立的模型,只不过是一些例图、交互图、活动图等纸件工件,这些工件只是作为一种指南和说明书,大多数人只是把它作为一种技术文档保留,或是作为描述系统总体结构的一个框图。
  当编码开始的时候,建模前期产生的文档和相关图片就迅速失去了它们的价值。随着编码阶段的进行,图表和代码之间的关联逐渐减弱甚至消失,我们往往是修改了代码,而设计文档却放在了一边。因此我们通常并不愿意把过多的精力放在建模上,模型并不严格。
  然而在构建复杂系统的时候需要进行建模,我们不可能从代码上来维护一个复杂的系统。设计阶段和开发阶段的脱离使得UML设计变得不是那么关键和重要,软件开发过程的问题并没有得到有效的解决。
  2) 投资的效益问题。
  软件的发展速度令人吃惊。新技术发明并迅速流行起来的周期很短。电子政务前期投资巨大,因此不可能为适应新的技术,而抛弃以前的投资,电子政务应用系统的建设必须是可以包容不同系统,不同技术的开放性的系统。
  现存的一些系统要么提供接口与新技术开发的系统连接,要么转向新技术。
  系统如果和某种技术紧密绑定,那么注定这个系统在跟随技术发展的道路上是非常艰难的。
  电子政务系统架构需要基于这样的思想,其业务系统和技术平台是无关的,改变技术平台,而不需改变业务,业务系统和技术平台是分开实现的。我们的建模必须是独立于具体技术的实现。
  3) 元数据管理和互操作的问题
  电子政务系统系统是个互连互通的系统,“联合”是电子政务系统建摸的首要原则。基于组件、分布式的电子政务系统,使用Web Service来实现这种分布式应用的服务:同时系统本身往往要使用多种技术来实现,它们之间也存在互操作的问题。
  传统的建模存在的另一个问题是这些技术都是基于一个统一的标准的,它的前提是假定所有的系统都使用该统一的标准进行构建。但现实情况是,基于相同的标准是很难得到,文档性结构的数据和关系型数据都有其合适的使用环境,我们不能期望完全的统一。
  不同的工具对于元数据的管理均有自己的策略,这就给元数据的共享形成了障碍,也降低了不同软件的互操作性。为了提高系统的效率,我们提倡使用统一的数据结构和数据定义,但还需要考虑到异构数据源的系统中的交互问题。
  从以上对传统建模方法的分析上可看出传统的建模方法对支持电子政务互操作系统的建模还是有许多缺陷。但是可庆幸的是电子政务目前的应用环境,己经和十年前大不相同了,特别是近几年,企业级的分布式应用飞速成为主流,大量分布式系统的出现,大量异构平台的整合需求,中间件技术的相对成熟,人们已经把更多的精力用于搭建合理、可扩展构架系统上,以及可以实现变化多端的业务逻辑模型上,模型驱动的建模(MDA)开始渐渐的引起了人们的关注。
  3.2 模型驱动的建模思想
  模型驱动的数据库和GUI开发方法己在软件设计中根深蒂固,MDA以此为基础,使用UML,UML profile以及MOF,CWM组成可扩展的MDA建模语言环境。MDA技术的核心概念均是OMG的一系列标准:统一建模语言UML(Unified Modeling Language)、元对象设施MOF(Meta Object Facility)、XML元数据交换XMI(XML Metadata Interchange)、公共数据仓库元模型CWM(Common Warehousemetamodel)。 MDA的核心标准组成了创建模式驱动的一致性系统纲要的基础,这个系统纲要完成授权、发布和管理模型的功能。
  作为OMG组织的一个发展进程,MDA代表了OMG组织定义的互操作性规范的一个革命性进步。很长一段时间以来,互操作性一直基于CORBA标准和服务,不同种类的软件系统在标准的组件接口层次上实现互操作。而在MDA中,它从系统模型层次上来解决互操作的核心问题。它使用平台无关的语言进行描述,使得模型和具体的平台以及实现技术分离,同时可以根据各种具体平台的映射关系来生成各种实现模型。
  MDA另一各重要的意义就是设立了元模型的规则。元模型在建立规范、建模技术和元数据管理中都是核心,异构系统之间的互操作最终都是通过全面共享和理解元数据策略来实现的。这些策略包括:自动化部署、发布、管理和翻译模型,具有动态转换行为等。MDA的扩展定义机制和映射机制支持元数据在不同层次之间进行动态的管理和交换。
  4 结束语
  该文主要对MDA模型驱动架构的详细描述,以及相应的在本系统的实现,主要包含了内容核心引擎的实现以及相应文法的表述。后部分主要针对客户资源管理系统,提出了在MDA模型驱动架构之下的实现方法,展现了如何利用MDA内容的模型语言进行系统的描述。
  参考文献:
  [1] 常浩浩,覃征. 基于EMF和OCL的MDA软件工程方法研究[J]. 计算