数据挖掘技术在软件工程中的应用分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据挖掘技术在软件工程中的应用分析

黎庆剑

中国软件与技术服务股份有限公司,北京 102200 摘要:信息大爆炸的新时期,人们所需要处理的信息越来越多,如何利用信息技术帮助人们处理这些复杂的数据,挖掘出对人们有帮助的信息是非常有意义的。本文对数据挖掘技术在软件工程中的应用进行了分析。

关键词:数据挖掘;软件工程;应用

现如今随着经济的迅猛发展,社会各方面物质文化水平都在一定程度上得以提升,从而使得人们的生活状态也较以前发生了翻天覆地的变化。近年来,信息技术的发生更是进一步推动了社会的进步,复杂而又充实的信息环境使得人们所接触的事物也更加清晰,但是在这些信息里面需要认真加以辨别,只有从中获取有益的信息才能给自己带来更大的益处。

因此有必要对现有的数据进行整合处理直接为人们所使用。在这个信息爆炸的时代里,人们获取的信息量是非常惊人的。对信息数据的挖掘在软件工程中的地位也逐步提升。

1 软件工程数据挖掘技术概述

1.1数据挖掘技术在软件工程中的应用发展

所谓的数据挖掘技术还有一个比较常用的称呼,就是数据库中的信息资源提取,该技术与数据库相互依存,不可割舍。从刚开始的提出,到最后的实践应用,该技术渐渐地走向更为多向化和多功能化,并且在该项技术中融入了相当多的重要领域技术。而对于软件工程来说,其最原始的意义起源于一九六七年,该项工程自提出以后就一直受到重点研究和关注,就其功能将其进行定义为采用工程化的途径或者是方法对具有实用意义的并且高质量的和存在一定功能效用的软件内容进行构造和创建,这样的软件构建预期的目标是在一定的背景条件下以及成本基础上,所研究开发出的软件产品能够满足使用者的大部分需求。在二十世纪后期的时候,这一领域的研究人员就意识到了单纯的数据挖掘技术其实意义不大,需要结合实际的数据特性将工程类软件与之结合在一起,从而相互攫取双方的优点,从而在极大程度上提升数据挖掘技术的作用。这一理念同时也得到了相关学者的一致认同,从而使得这一想法进一步融入了实际生产运作过程中,使得如今的数据挖掘技术变得越发完善。

1.2数据挖掘技术分析

在数据挖掘技术的这一领域中,无论是分析还是聚类等过程都占据着至关重要的地位与作用,这样能够缩小我们所需信息的范围,从而迅速便捷的获得我们最终需要的数据,从而得到具体实用的信息。

1.3数据挖掘的主要内容

对于一个完整的数据挖掘过程来说,它是分多个阶段进行的,具体而言,其中包括了选择、提前处理以及吸收等过程。同其他过程类似,选择作为首要阶段占据着至关重要的作用,这一阶段需要结合实际情况从庞大的具有交互性的数据中进行筛选,在实际工作进程中,任何信息数据都是处于不断更新过程中的,随着这些数据的不断更新交替,需要对数据集合进行重新的筛选,从而达到自己预期的目的;对于数据预处理过程而言,它是提前将数据进行必要的转换,从而使其达到我们所需要的形式,由于数据本身所具有的特征以及格式都具有一定的差异性,因此我们需要站在适当的角度对需要加工处理的数据进行必要的分析,采用恰当的技术来对所需的数据进行整理;而至于吸收这一过程而言,它在整个系统的工作进程中主要属于后处理的工作范畴,它通过一系列繁琐的工作使得前几项工作具有更加合理的意义。

2软件工程中数据挖掘技术的应用

2.1在软件项目中的应用

软件项目管理中的数据挖掘主要体现在两个方面,一个是对组织关系的挖掘一个是对版本控制信息的挖掘。其中,软件项目的管理是一个复杂的工程,对人员组织关系的挖掘主要是对人力资源进行协调和分配。例如,一个工程项目可能有成百上千人参与,在参与过程中人员之间的电子邮件、文档等都会产生交互,交互中极易造成秩序混乱,而数据挖掘技术的使用则可以很好的将工作人员的组织关系进行区分,有利于软件项目管理的顺利进行。

此外,数据挖掘技术还体现在对版本控制信息的挖掘。版本控制可以记录文件内容的变化,以方便用户查看版本的修订情况。将数据挖掘技术引入到版本控制信息中可以减少系统后期的维护成本。

2.2在开源软件中的应用

对于开源软件来说,它其实就是指代源代码属于开放式的应用,这类软件相

较于其他软件类型来说更受大众欢迎,这主要是由于其属于免费软件的范畴,但是凡事既有利也有弊,这类软件在迎来广大使用人群的同时,也加大了各个进程管理的难度,因此,需要结合实际情况恰当的引进这类数据挖掘技术来对开源软件的整体质量进行提升。举例而言,大阪大学中的某一学生就据此就开发出了一类数据挖掘系统,它在具有基本数据处理功能的基础上,还能对大规模的多类数据软件实施挖掘处理,从而获得预期所需的数据。

2.3在机构代码中的应用

这里所说的程序代码指的是克隆代码,所谓克隆代码就是通过简单的复制和粘贴进行再次使用的代码。对克隆代码的检测也是数据挖掘中应用最早的,目前对克隆代码的检测主要有以下几种方式,基于文本对比方法、基于标识符对比方法、基于度量的方法、基于程序结构表示的方法及运用潜在语义索引等方法。

其次,是对横切关注点(Aspect)的挖掘,对Aspect进行挖掘主要是因为有些关注点在程序中的代码非常相似甚至是同一代码段。

最后是在数据库中挖掘有用的代码或构件。目前,常用的方法有通过记录输入-输出关系检索、通过关键词进行索引和挖掘、寻找相似的代码源和语义、基于构建交互关系图的方法及对所需构件进行形式化描述等等,如我们使用的Google、百度等搜索引擎都可以进行数据的检索。

2.4软件故障中的应用

对于数据挖掘技术来说,它除了能够完成必要的挖掘任务外,还能够根据实际的程序执行记录来对其具体说明进行挖掘,通过这些程序可以对软件所出现的故障进行必要的判断和测定。

在对程序的挖掘过程中,需要首先明确挖掘的初衷和目的,并且对所需了解的信息实施一定程度的跟踪,然后结合实际信息情况进行建模处理,这样一来能够在极大程度上加深对程序得出了解以及便于进行后续工作。在如今广泛使用的挖掘方式中,挖掘方式种类较为繁多,其中基于规则以及自动化两类更是得到了广泛的使用。就前者而言,是依据具体的程序行为来探索必要的规则,然后采用合适的逻辑表达式来进行表达。而后者这类处理方式多为抽象处理以及抽象挖掘方法。

在软件正常的运行过程中,由于各类因素的相互作用,总会存在一定的几率

相关文档
最新文档