APP下载

基于数据挖掘技术在软件项目风险管理决策系统的研究

2010-09-07宋承继

中国新技术新产品 2010年2期
关键词:项目风险数据挖掘决策

宋承继

(陕西工业职业技术学院,陕西 咸阳 712000)

1 引言

数据挖掘技术作为一种产生于应用且面向应用的数据分析处理技术,可以快速、有效、深入的分析海量软件项目风险信息,挖掘大量影响软件项目风险决策数据中隐含的决策模式。数据挖掘技术挖掘项目管理风险决策系统的各种实时决策模型和综合决策模型,可以用于项目风险的管理和控制,提高决策系统的风险评估水平。

2 SRMDS 的数据分析

2.1 风险数据的特点

软件项目风险决策系统的数据来源广泛、形式多样,包括动态的项目风险因子和项目风险管理决策子系统的管理控制数据,以及静态的项目风险评估数据等。软件项目风险决策系统管理和控制的对象是项目风险因子,项目风险因子数据是按项目进度采样得到的一系列数值型数据序列,是软件项目风险决策系统中最重要的数据。

2.2 风险因子

风险因子是促使或引起风险事件发生的条件,以及风险事件发生时,致使损失增加、扩大的条件。风险因子是风险事件发生的潜在因素,是造成损失的间接和内在的原因(如图1)。

风险因子通常可以分成实质风险因子(Physical Hazard)、道德风险因子(Moral Hazard)和心理风险因子(Morale Hazard)三种。实质风险因子是指增加风险事件发生机会或扩大损失严重程度的物质条件,它是一种有形的风险因子。例如,缺乏合适的开发、测试环境对于项目进度的危害,关键技术不熟悉对于产生率降低等,都是实质性风险。道德风险因子实质与人的不正当社会行为相联系的一种无形的风险因子。常表现为由于恶意行为或不良企图,故意使风险事件发生或损失扩大。心理风险因子也是一种无形的风险因子,但与道德风险因子不同。它是由于人的主观疏忽或过失,导致增加风险事件发生机会或扩大损失程度。

图2 风险因子数据挖掘功能图

3 SRMDS 的数据挖掘系统结构

3.1 系统模型

数据挖掘过程分为数据准备、模式发现、结果表达和解释三个主要阶段,图2 给出了软件项目风险管理决策系统数据挖掘的系统模型。

ETL 及数据预处理为项目风险信息的模式发现提供一个干净、一致、集成、归约(reduction)的数据集-风险信息数据仓库。数据挖掘任务管理在数据挖掘算法集中选择完成挖掘任务的算法,在风险信息数据仓库中选择挖掘算法应用的数据,执行相应的挖掘操作,将挖掘得到的模式保存到风险因子模型库。模型分析管理是项目风险数据挖掘系统与其它项目风险决策系统的应用接口,并接收应用系统的反馈信息对风险因子模型库的模式进行解释与评价。

3.2 风险因子集成

软件项目风险因子种类繁多,分布在各种智能决策应用系统中,具有异构、层次的特点,风险数据挖掘需要将各种风险因子数据从操作数据库中抽取出来,经过清洗、转换、装载等一系列处理,集成到一个统一的本地项目风险决策信息数据仓库。数据仓库为数据挖掘提供有效的数据处理平台,许多数据挖掘功能,如分类、关联、聚类等,都可以与各种粒度的多维数据分析OLAP 操作集成,在多个抽象层上交互数据挖掘。

3.3 多层体系结构

风险因子挖掘系统的系统模型提供了一个多层的应用体系结构,将数据挖掘功能的实现分为应用层、分析逻辑层、算法工具层和数据层。应用层是用户调用分析逻辑所设立的分析功能的入口,分析逻辑则表现了应用系统的分析能力。多层体系结构能够在跨平台、网络环境下应用,应用系统可以根据需要采用灵活的方式,如 B/S、C/S 等。

在风险因子数据挖掘中,分析功能的抽取及响应、数据挖掘算法的选取、设计是一个难题,需要利用决策系统知识和数据挖掘技术的紧密结合。分析逻辑层将分析模型从实际分析需求中提取出来,完成一定的独立分析功能,由一个或多个数据挖掘算法具体实现,每个分析模型都是独立的功能单位。

算法工具层集中了项目风险流分析需要的算法及相关计算工具,如挖掘各种模型的数据挖掘算法、统计方法、相似性度量方法等,是各个独立的算法工具的集合。在算法工具层,除了数据挖掘算法外,还应当由数据挖掘算法所需要的辅助工具,如对于聚类算法,相似性度量或距离函数是关系到聚类质量的核心问题,不同的相似性独立或距离函数针对不同的数据或分析目标,在算法中可以根据需要来选择配置。

4 挖掘模型

4.1 预测模型

风险预测包含多个层次:基础数据层的项目风险数据的预测;基于特征属性层的风险性质预测、风险事件及事件类型预测;基于状态描述层的风险标识预测、进度预测和风险评估预测等。在软件项目风险决策系统中,标识和预测风险因子的状态可以对软件项目进度进行有效的监控和管理,对于软件项目的进度控制、资源分配、版本控制、人员培训,风险回避等具有非常重要的意义。

4.2 分类模型

风险因子可以有不同的分类特征P,因此风险评估模型的建立也需选择不同的相关属性,删除训练过程中与分类任务不相关的属性。不同的分类算法也会建立不同的风险因子评估模型,已有研究利用神经网络的方法和模糊逻辑的方法建立了数据流数据的分类模型。模糊逻辑的方法可以得到一组容易理解的分类规则;而采用神经网络方法进行训练,得到的是一个优化的神经网络模型,这个优化的神经网络模型可以对新的数据进行分类,但其分类规则是不可理解的。

4.3 关联模型

风险因子是和进度相关的,具有时空特性,空间数据是主要指人力资源变更、进度控制、需求变更等领域大量出现的与空间有关的数据,包含的空间信息有进度、拓扑结构等。对空间数据的关联分析可能会得到“软件开发人员的心理因素决定着软件项目进度的60%”的规律。时空数据的数据挖掘模型包括时空元规则、时空范化、时空聚类和关联、演化规则等,空间关联规则是根据空间谓词而不是根据项来定义的。风险因子时空规则的挖掘对软件项目风险管理决策系统的预测具有重要的应用价值。

5 结束语

软件项目风险管理的数据挖掘在大量的软件项目信息中发现有价值的模式,以数据驱动的方式分析软件项目风险的决策状况,建立软件项目风险决策系统的分析、评价及预测模型,用于软件项目风险管理的实时实时监控,提供软件项目风险管理决策支持信息,可以极大改善软件项目实施的风险管理和控制水平。

[1]何文炯著.风险管理[M],北京:东北财经大学出版社,1999.

[2](加)JIAWEI HAN MICHELINE KAMBER著,范明,孟小峰,等译.数据挖掘概念与技术[M].北京:机械工业出版社,2006.8.

[3](新西兰)IAN H.WITTEN,EIBE FRANK 著,董琳,邱泉,于晓峰,等译.数据挖掘实用机器学习技术[M].北京:机械工业出版社,2006.2.

猜你喜欢

项目风险数据挖掘决策
为可持续决策提供依据
决策为什么失误了
基于并行计算的大数据挖掘在电网中的应用
基于概率分布的PPP项目风险承担支出测算
一种基于Hadoop的大数据挖掘云服务及应用
联锁项目风险应对措施制定与实施
基于GPGPU的离散数据挖掘研究
代建项目风险管理
关于抗美援朝出兵决策的几点认识
湘赣边秋收起义的决策经过