客户关系管理系统教程,软件项目实训及课程设计指导
客户关系管理系统教程,软件项目实训及课程设计指导1) 提供对现有客户资料数据的分析(1) 市场管理(Marketing)子系统客户关系管理系统主要是通过对企业的客户生命周期的有效管理,帮助企业管理和处理各种类型客户的资源信息、控制销售过程、缩短销售周期和提高销售成功率。客户关系管理系统通过对企业客户相关信息的分析与挖掘,帮助企业的经营管理者识别客户的消费规律和客户价值,并指导企业的有关部门的工作人员有针对性地进行市场运作和实施市场规划,从而提供更加快捷和周到的优质服务,帮助企业提升客户满意度和忠诚度,最终提高企业的市场竞争力以获得更高的经营业绩。3、正方商业集团CRM系统中的各子系统的部分功能性需求
软件项目实训及课程设计指导的项目示例——正方商业集团客户关系管理系统1.1.1 正方商业集团客户关系管理系统1、课程设计待开发的项目立项背景说明
国内某著名的正方商业集团(Square Business Group),为了能够在国内迅速地开展连锁加盟机构以扩大其商业销售渠道,急需开发一套适合本企业经营和管理要求的客户关系管理(CRM,Customer Relationship Management)系统。
正方商业集团的高层管理人员期望该客户关系管理系统能够以"客户"为中心,将本集团下属的各个企业的市场、销售和服务等有机地整合起来,并形成跨部门的统一业务管理的平台,使其所销售的产品能够更好地满足客户的需要。下图所示为Subversion开源版本管理和控制系统的官方网站局部信息截图。
2、什么是客户关系管理系统
客户关系管理系统主要是通过对企业的客户生命周期的有效管理,帮助企业管理和处理各种类型客户的资源信息、控制销售过程、缩短销售周期和提高销售成功率。
客户关系管理系统通过对企业客户相关信息的分析与挖掘,帮助企业的经营管理者识别客户的消费规律和客户价值,并指导企业的有关部门的工作人员有针对性地进行市场运作和实施市场规划,从而提供更加快捷和周到的优质服务,帮助企业提升客户满意度和忠诚度,最终提高企业的市场竞争力以获得更高的经营业绩。
3、正方商业集团CRM系统中的各子系统的部分功能性需求
(1) 市场管理(Marketing)子系统
1) 提供对现有客户资料数据的分析
在本子系统中需要提供识别每一个具体客户、并按照共同属性对客户资料信息进行分类管理,还需要对已分类的客户群体信息进行分析和评估。在这个功能模块中,通过对客户资料中的诸如地域、消费层次,消费习惯与方式、潜在需求、忠诚度、已购买产品列表等等有价值的信息来从不同的角度彻底地进行市场的策略分析。
2) 提供个性化的市场分析结果信息
在对现有客户的资料数据分析的基础上,发掘出最有潜力的客户并对不同客户群体制定出有针对性的市场宣传与促销手段,提供个性化的和在价格方面具有吸引力的产品介绍;同时还可以评估和跟踪目前已经进行或者正在进行的营销策略,以及通过对企业自身和竞争对手企业的数据进行详细的分析,策划出更加有效的销售策略。
3) 提供销售预测功能
本客户关系管理系统需要提供在对市场、客户群体和历史数据进行分析的基础上,预测出产品和服务的需求状况、并将分析预测的结果以各种形式的二维图表显示输出。
(2) 销售管理(Sales)子系统
1)提供有效、快速而又安全的交易方式
一般的客户关系管理系统均会提供电话销售(Telesales)、移动销售(MobileSales)、网上销售(E-commerce)等多种销售形式。并在每一种销售形式中考虑实时的订单价格、确认数量和交易安全等方面的问题。本客户关系管理系统在销售管理子系统中也希望能够提供有这些方面的功能。
同时本客户关系管理系统还需要提供个体的销售方式与过程参考,灵活进行产品配置、报价、打折、生成销售订单等方面的功能。
2) 提供订单与合同的管理
在该功能模块中需要记录多种不同的交易形式——包括订单和合同的建立、更改、查询等方面的功能。系统还可以根据客户、产品等多种形式进行信息搜索,从而能够使销售人员可以不受地域限制及时地掌握资源以及企业最新的产品价格信息,并可以向客户提供最新的和最感兴趣的商品列表以及价格信息。
(3) 管理客户信息
收集企业所感兴趣的各种客户信息,并将这些信息存储在统一的数据库表中以帮助企业对客户的各种信息进行深入的分析和挖掘——如客户利润率、客户购买的选择标准以及客户细分等方面的信息。
(4)客户资料信息分析子系统
本客户关系管理系统在客户资料信息分析子系统中需要提供如下方面的客户资料信息的分析处理结果,并将分析的结果以二维图表的形式显示输出。
1) 客户概况分析(Profiling)——包括客户的层次、风险、爱好、习惯等。
2) 客户忠诚度分析(Persistency)——客户对某个产品或商业机构的忠实程度、持久性、变动情况等。
3) 客户利润分析(Profitability)——不同客户所消费的产品的边缘利润、总利润额、净利润等方面的信息。
4) 客户性能分析(Performance)——不同客户所消费的产品按种类、渠道、销售地点等指标划分的销售额。
5) 客户未来分析(Prospecting)——包括客户数量、类别等情况的未来发展趋势、争取客户的手段等。
6) 客户产品分析(Product)——包括产品设计、关联性、供应链等。
7) 客户促销分析(Promotion)——包括广告、宣传等促销活动的管理。
(5)销售支持与服务(Service)管理子系统
1)呼叫中心服务(Call Center Service)。
呼叫中心服务需要提供计算机电话集成技术(CTI),通过对已拨号码识别服务(DNIS),自动号码识别(ANI),交互式语音应答系统(IVR)等形式的功能模块。本CRM系统一旦具有这些功能模块,将可以帮助工作人员实现在客户拨叫的过程中,工作人员就可以获得该客户的有关资料数据,并灵活地进行相关的业务处理。
2) 订单与合同的处理状态及执行情况跟踪
订单处理功能模块需要完成从订单采集,订单处理、分发,到仓库依据出库单调书,派送到管理中心,由管理中心分配给各个物流公司的整个流程。
3) 提供产品的保修与维修处理记录
记录客户的维修或保修请求,记录执行维修和保修过程中所发生的服务费用和备品备件服务情况,并在维修服务完成后,开出服务发票。
4) 实时的发票处理、记录产品的索赔及退货情况
(6)电子商务(E_Business)管理子系统
该子系统需要为系统的使用者用户提供一个人性化、个性化、高度集成以及易于使用的图形用户操作界面。在这个图形用户操作界面上,用户可以进行诸如购买、付款、寻求服务支持、查询产品与服务目录、查询订单状态等方面的功能操作。
1)电子商店
此功能模块使得企业能建立和维护基于互联网的店面,从而在网络上销售本企业的各种产品和提供在线服务。
2) 电子营销
与电子商店相联合,电子营销允许企业能够创建个性化的促销和产品建议,并通过Web浏览器向客户发出诸如降价等方面的促销信息。
3) 电子支付
通过与商业银行进行合作,它使得企业能配置自己的支付处理方法,客户可直接在网上浏览和支付账单。
4、正方商业集团CRM系统部分非功能性需求
(1)简洁友好的用户操作界面
该客户关系管理系统希望能够提供易于使用的界面与工具,使操作人员能够彻底地分析市场、客户信息,分析竞争对手的市场策略等等,以便更加有效地拓展市场。
(2)在时间特性方面的要求
响应时间、更新处理时间、数据的转换和传送时间、解题时间应该要保持在终端用户可以容忍的范围之内——要求响应时间<=10秒、页面更新处理时间<=15秒、数据的转换和传送时间<=20秒。
(3)系统本身应当要具有灵活性、稳定性、高度安全性和可扩充性等方面的要求,还要有合理的执行效率,以及全天候的可靠和安全稳定地运行。对于本系统在灵活性方面的具体要求如下:
1) 灵活的操作和使用方式;
2) 兼容多种Web浏览器的运行环境;
3) 提供多种不同形式的操作界面、并允许操作者自由地配置选择。
(4)对数据管理能力方面的要求
客户关系管理系统中的各种形式的数据可以按照市场、销售和服务部门的不同用途分为三类:客户数据、销售数据和服务数据。目前正方商业集团市场销售量年增长50%,因此要求系统的数据库容量可年扩增50%,系统显示商品的数量也能够便于动态地增加。
(5)客户关系管理系统体系架构设计方面的设计约束
客户关系管理系统中的销售支持与服务管理子系统可以做成客户/服务器(C/S)体系架构模式,其他子系统和功能模块都应该做成Web浏览器/服务器(B/S)体系架构模式。
(6)其他方面的要求
请读者参考蓝梦教育集团信息化系统的非功能性需求描述,在此加以省略。
5、对各个项目组在项目开发实现中所应用的技术要求
由于上面计划开发的各个软件系统项目,即可以相互独立、但又紧密关联,因此需要在开发中对具体的技术及平台等进行一定的限制和规定,目的是能够将各个子项目进行系统集成,构成蓝梦教育集团总体的信息化系统。
(1)J2EE Web轻量级应用平台,并有如下的技术应用的要求
1) 持久层应用Hibernate框架或者采用标准的JDBC技术实现;
2) 应用层最好应用Spring框架技术、并利用Spring AOP分离"业务功能实现"和"技术问题的实现";
3) 表示层应用Struts框架技术或者Struts2 框架技术;
4) Web页面中最好能够应用AJAX技术和对应的DWR框架技术,以提高系统的用户交互的友好性;
5) 统一各个子系统中的Web页面风格、并尽可能在表示层中应用各种模板技术。
蓝梦教育集团内部信息系统为一套页面模板,外部信息系统为另一套页面模板,宣传和推广信息系统为第三套页面模板,企业门户网站则采用自己独立的一套页面模板。但四套页面模板最好能够协调色彩、并在页面布局方面保持一致性。Logo图片和其它的宣传图片、Flash动画等也需要统一协调和保持一致性。
下图所示为作者指导某大学软件学院05级本科生课程设计中某个项目的CRM管理系统的前台用户登录页面模板的局部截图。
(2)项目中的各个类的设计应该遵守面向对象设计中的五大原则
项目中的各个类的设计不仅要遵守面向对象设计中的五大原则,同时在对象的创建方面也应该要考虑应用GOF设计模式中的工厂模式或者Builder模式、或者采用Spring框架中的控制反转(IoC)模式实现。
(3)充分应用Java技术平台中的各种核心技术
在项目的功能代码编程实现方面,各个项目组的开发人员应该要充分地应用Java技术平台中的各种核心技术——如多态、Java反射技术、代理、序列化及GOF设计模式中的模板模式实现更加灵活和高重用性的功能模块。
(4)利用Java属性配置文件或者XML配置文件分离项目中的各种工作参数
应该要将各种可变化的业务工作参数从业务功能实现的代码中分离出来,并放在配置文件(可以为Java属性配置文件或者XML配置文件)中并在业务功能类程序代码中进行解析,以进一步提高项目的灵活性和可配置性,便于项目后期的扩展和移植。下图所示为银行账户信息管理系统中的各种配置文件及某文件内的配置信息的局部截图——其中的classNameConfig.xml文件为系统中的数据库连接的参数配置文件。
(5)在技术实现方面还应该要考虑如下的非功能方面的要求
应用系统应该要具有身份验证、访问权限控制等安全性方面的要求,并要应用事务处理技术保证项目中的各种业务数据访问操作的一致性、同时还要为应用系统提供业务操作过程中的日志记录文件并将日志信息保存到磁盘文件(或者数据库表)中。
(6)课程设计项目开发中的其它通用方面的要求
1) 要求提供需求分析、总体设计等报告文档;
2) 选择合理的技术和设计高效的数据处理的算法;
3) 提供友好的人机交互界面;
4) 遵循良好的编码规范;
5) 对程序进行认真地测试和分析以提高代码质量;
6) 编写和组织项目开发过程中所需要的各种形式的文档、并编写系统使用说明书。
6、关于项目组中的各个项目之间的互联
由于每个项目自身可以独立,但又能够相互集成在一起。而为了能够达到这样的功能目标,可以利用Web服务(Web Service)技术进行系统之间的互联。具体的技术实现可以应用XFire开源框架所提供的对Web Service技术的支持实现;目前在课程设计的第一阶段中不需要实现,但需要在系统设计和数据库表结构设计方面考虑以后的系统总体集成和扩展的要求,而具体开发工作则留待下学期的课程设计的第二阶段中加以实现。
下图所示为XFire开源框架的官方网站局部信息截图,读者可以在该网站(https://cwiki.apache.org/confluence/display/SM/XFire)上获得与XFire开源框架有关的技术文档及系统库程序,根据自身的学习能力独立地学习和掌握它。
7、各个项目组所应用的数据库系统要采用统一的数据库
开发过程中采用MySQL数据库、并且采用JDBC数据库连接池形式的数据库连接方式——不能使用JDBC-ODBC桥的连接方式,主要的目的是简化开发过程、并有助于开发和演示环境的搭建;以后再改变为采用Oracle数据库系统。
8、各个项目组的开发工具同样也采用统一的开发工具
1) 系统后台的开发工具应该采用Eclipse MyEclipse插件工具;
2) 系统前台页面设计推荐采用Macromedia Dreamweaver页面可视化的设计工具以提高页面的开发效率;
3) 项目的系统需求分析和系统设计的UML工具建议采用Rose2003,请见下图所示所示的各种工具程序的局部截图;
4) 应用服务器采用开源的Tomcat6.0版;
5) 版本管理和控制可以采用开源的CVS或者Subversion,下图所示为Subversion开源版本管理和控制系统的官方网站局部信息截图,读者可以在该网站上(http://subversion.apache.org/packages.html)获得与Subversion有关的技术文档帮助及系统程序文件,学习和掌握对它的应用方法。
Windows平台下的系统包文件下载的页面局部截图如下图所示: