APP下载

基于决策树的旅游CRM系统的分析和设计

2018-10-15张献忠

现代计算机 2018年24期
关键词:用例决策树数据挖掘

张献忠

(常州工学院计算机信息工程学院,常州213032)

0 引言

随着社会经济的发展和人们生活水平的提高,旅游已经成为人们享受节假日时光的一种很重要的方式。因为旅游不仅能够让人们亲密接触大自然,欣赏江山河川带来的自然美景,而且也是人们远离工作压力、享受休闲时光的大好机会。正因为如此,旅游公司的数量也在逐年增长,规模也越来越大。每个旅游公司都希望能抓住这良好的发展机会,取得更好的经济效益。然而,一个行业从事的人多了自然就会产生竞争,旅游公司之间也不例外。旅游公司的竞争关键还是在于对客户的竞争,客户是决定旅游公司发展前景的核心因素。因此,旅游公司只有搞好和客户的关系,想客户之所需,就能获得客户的信任和青睐。同时,旅游公司要想持续地获得更多的利益,需要保持一个稳定的客户群体。因为,只有稳定的客户群体才会给旅游公司带来稳定可靠的收入。但实际情况是,旅游公司营销团队在发掘新客户时,没有充分考虑不同客户之间的差异性,而是盲目地向其推销旅游产品。有些客户虽然参与了其中,但很难成为该公司的忠诚客户。因此,旅游公司需要从客户的角度出发,通过旅游公司CRM系统和客户建立良好的合作机制。

1 系统开发技术

1.1 数据挖掘

数据挖掘是一种针对众多数据的处理和分析活动过程,从这个分析过程中得到对人们的行为有用的结果。数据挖掘对象是具有各种表现形式的数据,这些数据之间从表面上看没什么不同,但其实在其内部之间可能会存在某种不为人知的规则或知识。目前几乎可以对任何类型的数据进行数据挖掘工作,这需要通过不同的技术和处理手段才能完成。例如,对于文本型数据的挖掘和对于数值型数据的挖掘肯定存在较大的区别。数据挖掘从学科的角度看,它是一种集统计学、运筹学、计算机科学与一体的综合性学科。数据挖掘已经从传统的服务于科研机构外,现在已经服务于社会经济建设的各个领域,而且正发挥着越来越大的作用。

1.2 决策树

决策树是一种根据对象若干属性特征来判断其所属类别的分类技术。属性是表示对象某一个方面的特征,一般而言,只要是对象都会拥有多个属性。不同的是,这些属性各自的地位和重要性却各不相同。在基于属性的分类过程中,不同的属性所起作用也大不相同。对于决策树而言,如何确定对象的主要属性就显得十分重要。事实上,决策树算法本身的实现过程就是和找出对象在分类过程中的主要属性有关。为了更好地发现对象的主要属性,一般使用信息增益的方法来找出最主要的对象属性。这就是产生决策树根节点处对应的属性项目的由来。而决策树ID3算法可以找出根节点对应地属性项目,同时也可以进一步找出属于不同分支中的属性项目。

1.3 W eb开发技术

(1)ASP.NET技术。ASP.NET是属于典型的面向对象开发工具,它继承了所有的面向对象开发的优点。使用ASP.NET构建一个Web应用系统的过程就像是一个搭积木的过程,系统的模块化特征明显。ASP.NET技术可以很好地实现业务功能逻辑和显示逻辑的分离,它通过一个网页包含两个文件(ASPX文件和ASPX.CS文件)的方式实现。

(2)SQLServer2008数据库。SQLServer系列数据库产品是目前使用最多的Web数据库系统。它存储规模适中,管理功能强大,因此很受中小企业的青睐,也成为许多中小企业架构数据库服务器的首先产品。对于本系统来说,旅游公司CRM系统中信息规模并不庞大,使用SQLServer 2008数据库已经可以满足旅游公司管理人员的管理需要。

(3)RUP和UML

UML是一种通用的、可视化的统一建模语言。在面向对象开发时代,一个好的建模过程可以大大降低系统的开发难度和复杂性。在面向对象开发中,主要使用Rational统一过程(RUP)方法。RUP方法有一个很重要的特征就是需要在软件的各个开发阶段建立合适的开发模型。由于软件的开发过程涉及到需求分析、系统设计、代码编写等诸多过程,因此,使用RUP方法都需要为其建立相应的模型。UML在建模方面可以说是博采众长,它集中了许多建模工具的优点,把建模工作的可视化和文档化体现得淋漓尽致。可视化的建模效果可以帮助软件设计人员更好地把握系统的总体特征。文档化也可以帮助软件开发人员便于阅读和保存建模结果,以便今后的重复利用。

2 系统分析

2.1 建立用例模型

在进行功能需求分析之前,首先要找出系统的参与者。知道了参与者才能进一步确定系统应该给其提供的功能。经过对系统业务的初步了解后得知,系统的参与者有普通员工和经理(相当于系统管理员)。用例模型由系统用例和用例描述组成。系统用例是把业务用例经过细化之后的具体用例,其描述的用例也更精确且具体,用例图最终都需要借助系统用例才能进行表达。以经理这个参与者为例,经理用例图如图1所示。

图1 经理用例图

2.2 建立活动图

系统活动图是为了配合用例来进行说明的。用例描述无法说明这个用例在执行中与对象之间的交互关系,或者说可能会出现的一些并发活动无法在用例描述中给出。活动图可以解决用例描述中的不足问题,因为它可以清晰地反映出不同对象在同一个用例中的执行关系。以客户管理用例为例,其活动图如图2所示。

图2 客户管理活动图

3 系统设计

3.1 系统功能模块结构

系统功能模块结构如图3所示。

图3 系统功能结构图

3.2 部分模块执行流程

(1)客户管理模块

客户管理模块执行流程如图4所示。

图4 客户管理执行流程图

(2)客户分析模块

客户分析模块执行流程如图5所示。

图5 客户分析模块执行流程图

3.3 数据库设计

系统E-R图如图6所示。

图6 系统E-R图

3.4 客户分类预测

分类预测就是根据确定的分类特征,把客户划分到相应的类别中。为了便于说明问题,这里的类别就引用表1中的两种类别情况。对客户进行分类预测时,需要了解客户具体的特征。这里选择了年龄、性别、文化程度和消费档次四个属性。客户类别分为两类:好(H)和差(C)。为了便于处理,年龄用三个字母表示,A 代表"<=30"的青年人,B代表"30-50"之间的中年人,C代表">50"的老年人。性别男用M表示,女用W表示;表示文化程度时,用BK代表本科,ZK代表专科,GZ代表高中)。消费档次高用G表示,Z表示中,D表示低。分类预测的目的就是要找出什么样的客户需要提供什么样的服务,这样就可以减少向客户介绍旅游项目时的盲目性。因此,做好对客户的分类预测工作具有十分重要的意义。在本系统中,随机挑选了如下的客户资料作为训练样本。具体内容如表1所示。

表1 训练样本集

图7 决策树

获取了分类规则后,就可以预测客户属于的类别。例如,对于下属客户 U(age="<=30",edu="本科",cost="高",sex="男")而言,决策树的判断结果为“好”。这就说明对于如样本U中所示的客户而言,旅游公司应该向其推荐中等旅游消费项目,这样才能最大化的发掘客户价值。

4 结语

本系统在建模工具选择上,系统使用了UML建模方法,强化了系统开发的逻辑性,同时也提高了系统开发的效率和准确性。软件架构采用基于B/S模式的三层架构,每个层的功能明确,且只能进行单向调用,确保了软件系统的层次结构不被打乱。本文设计的CRM系统既具有传统操作型CRM的特点,又具有分析型CRM系统的优势,能把决策树技术运用到CRM系统的设计之中,并使其服务于公司的营销策略。

猜你喜欢

用例决策树数据挖掘
改进支持向量机在特征数据挖掘中的智能应用
探讨人工智能与数据挖掘发展趋势
基于事故数据挖掘的AEB路口测试场景
信息时代基于决策树对大学生情绪的分类
简述一种基于C4.5的随机决策树集成分类算法设计
资费拨测系统的研究与应用
决策树学习的剪枝方法
软件工程领域中的异常数据挖掘算法
用例规约在课程成绩管理系统需求分析中的应用研究
使用用例建模进行软件需求分析研究