摘要:随着网络科技的快速发展,软件需求也在逐渐的增大,但由于软件系统的规模不断的扩大,软件开发的难度也越来越高。本文针对数据挖掘技术的应用历程进行阐述,并探讨数据挖掘技术在软件工程中的常见应用方式。
关键词:数据挖掘技术;软件工程;应用
数据挖掘就是一种被认为可能支持和提高对软件度量及其和软件质量关系理解的技术。它是从数据库中提取新的、重要且有用的信息的过程。在科技的发展下,人们在数据挖掘技术的研究上,也取得了突出的成就,获取了大量的研究理论与结果,目前,我国也将数据挖掘技术列入了重点研究项目,在研究的深入下,这一技术的发展也越来越成熟。
1 数据挖掘技术的应用历程
数据挖掘技术与数据库之间是相互依存的,两种是一个有机整体,目前,数据挖掘技术中融入了多种技术,开始朝着多功能化、多元化的方向发展。在上世纪末期,研究人员提出将工程软件与数据挖掘技术结合起来,这一理论受到了当时学界的一致认可,利用数据挖掘计算保护来查找软件工作中的代码,实现了两者的合二为一。
传统的数据挖掘技术包括四个流程,即选择软件库数据、对被选择数据进行预处理,并形成格式化数据、挖掘格式化信息、吸收利用其中的信息。而软件工程中的数据挖掘技术则分为三个流程,即交互式可视数据的挖掘与探查、自动模式的提取、模型的构建。在软件工程中应用数据挖掘技术,可以采用分析、预测、统计的方式来查找出有用的资源与信息,并将相关信息反馈至软件系统之中。
2 数据挖掘技术在软件工程中的具体应用
虽然数据挖掘技术在软件工程中的应用历史还不长,但是在技术的发展与进步下,已经扩展至交通、零售、银行、保险等多个领域中,有效提高了系统运行的安全性与稳定性。常用的数据挖掘技术包括:分类树、关联发现、聚类、人工神经网络、最优集合规约、贝叶斯信念网络和可视数据挖掘等。我们已经清楚地认识到软件度量数据常常是具有多维度的,并且有着的高度耦合和冗余。软件工程数据挖掘中用到的特殊技术包括统计分析、回归建模、分类树和神经网络等。在具体的软件工程实践中,选用哪种数据挖掘技术取决于软件工程专家的目标和为达成这些目标而想完成的任务。数据挖掘技术在软件工程中的具体应用体现在几个方面:
2.1 在软件项目管理中的应用
将数据挖掘技术应用在软件项目管理中,可以将复杂的工程简单化。如,某个工程项目,其参与人数可能多达成百上千,参与者需要通过文档、电子邮件等进行交互,很容易发生混淆,而借助于数据挖掘技术,便可以区分出组织关系差别,促进软件项目管理目标的是实现。此外,数据挖掘技术还可以应用在版本信息挖掘领域,可以有效降低系统维护成本,提高软件管理水平。
2.2 在软件故障检测中的应用
利用数据挖掘技术,还可以对软件故障进行定位、检测,为后续程序的维护提供信息支持,目前常用的挖掘技术有基于规则的挖掘技术与基于自动化的挖掘技术。前者可以根据程序行为发现规则来表达,后者则采用API规则挖掘方式来表达。(来源,代写论文网 SHLUNWEN.COM)在传统的软件检测中,多采用程序切片法,但该种技术较为复杂,会影响定位的准确性,通过对定位方式的改进,执行轨迹开始应用在软件故障检测中,通过差异对比来判断出故障来源,有效提高了软件检测的准确性与效率。
2.3 在程序代码中的应用
本文提出的程序代码是指克隆代码,克隆代码可以采用简单的复制、粘贴方式来使用,常用的克隆代码检测法有文本对比法、标示符对比法、度量法、程序结构表示法、潜在语义索引法,目前,克隆代码数据挖掘技术还处于初级发展阶段,技术并不成熟,还有待进行深层次的研究和应用。
近年来,诞生了一种新型挖掘技术,即Aspect挖掘,其关注点主要基于相似的代码,挖掘方式多种多样。如,对于代码文本的分析,可以基于文本类型进行分析、基于聚类进行分析、基于自然语言进行分析、基于概念进行分析;在分析调用关系时,可以使用Page Rank度量法或者扇入分析软件探查法。
2.4 在软件学习组织中的应用
从以往的软件项目中汲取知识与经验,可以有效提高软件组织的质量,由于很难分析出传统技术与方法是否适用于当前问题,因此,可以借助于数据挖掘技术,融入继承层次的问题,开发出专用的通用联结规则,发现库重用模式,从而提高软件项目的开发、管理效率。
3 结语
数据挖掘技术的使用范围非常广泛,将其应用在软件工程中,能有效提高软件工程的控制与管理质量,就目前来看,数据挖掘技术在软件工程中的应用已经取得了突出的成果,但是,我们应该清醒的认识到,数据挖掘技术的应用中,还有诸多问题尚未解决,需要进一步加强对现有技术的深入研究。
参考文献:
[1]庄建东,曾勇进. 教师教学考核系统中数据挖掘技术的应用研究[J]. 心智与计算. 2010(04)
[2]孙振国. 公共管理中的数据挖掘技术应用之研究[J]. 环渤海经济瞭望. 2017(11)
[3]孙津. 数据挖掘技术在企业客户关系管理中的应用[J]. 统计与管理. 2017(12)
[4]孙福利. 大数据时代的数据挖掘技术与应用[J]. 电子技术与软件工程. 2018(01)