时间:2024-05-04
范凯文
软件工程中数据挖掘技术的应用研究
范凯文
北京理工大学珠海学院,广东 珠海 519088
随着我国信息技术的不断发展,日常生活和工作中会不断的遇到大量的复杂的信息,如何把这些信息中隐藏的有价值的信息提取出来引发了人们的思考,以软件工程为例,介绍了软件工程和数据挖掘技术的历史、现今的发展,还说明数据挖掘技术的含义和流程;也阐述了数据挖掘技术在软件工程中的应用。
桥头跳车;城市道路建筑;路基处理;地基沉陷
数据挖掘技术是将大量的数据中将有用的信息部分挖掘出来,将隐藏在数据库中的有价值的信息挖掘搜寻出来,从而提高人们工作质量和效率,因此数据挖掘技术的应用在软件工程领域中显的十分重要。
1.1 据挖掘、软件工程的历史
数据挖掘在早些年被称为数据库中的知识发现,正式出现于20世纪80年代,数据挖掘的发展是以数据库为基础,起初研究的重点偏重理论的方法,但随着数据挖掘的发展重点转向了系统应用,并且多种学科相互渗透和结合,例如和软件工程的结合与渗透[1]。
软件工程的概念的提出是在1968年北约的科技委员会为了摆脱软件危机的会议上,软件工程专注研究用工程化的方法去维护和构建软件,使软件质量高、经济又安全,软件工程目标是既要满足给定的成本条件和要求的时间限度还要满足用户对软件成品的需求[2]。
1.2 发展现状
在上世纪九十年代初期,开始将数据挖掘技术应用于软件工程中,Allen K等人提出用数据挖掘的方式发现代码中的复用关系,在此之后数据挖掘技术在软件工程中发展迅速。2004年的挖掘软件资源库研讨会标志着数字挖掘技术已经成为软件工程的重要组成部分,它渗透到程序代码分析、漏洞检测、软件项目管理和软件开发等领域[3]。
1.3 数据挖掘技术的定义
很多有重要价值的信息隐藏在数据资料中,数据挖掘是采用一定的技术手段从大量的数据中挖掘出重要信息的方法,在软件工程中,数据挖掘技术可以挖掘出有价值的重要的信息来预测系统是否出现漏洞,从而定位出系统出现故障的位置,还可以寻找代码之间的相互关系、进行项目成本评估等等。
2.1 开源软件开发中的数据挖掘
开源软件其实是说源代码是开放的软件,由于目前对客户一般都是免费的,所以使得开源软件的控制和管理起来都不方便,但是把数据挖掘技术应用于软件工程中会提高开源软件的质量,例如在牛津大学设计出的数据挖掘系统中就实现了对系统的开发者和使用者的跟踪管理,在一定程度上提高了开源软件的质量减少了损失率。
2.2 软件项目管理中的数据挖掘
数据挖掘技术在软件项目管理中主要体现在两个方面,一是对组织关系的挖掘过程本质上是对版本控制信息的挖掘,管理软件项目的过程比较复杂,对人员组织关系的挖掘主要是协调和分配人力资源。
此外,在对版本控制信息的挖掘时也应用到了数据挖掘技术,版本控制时记录了文件内容的变化,方便了用户时刻了解版本修订情况,还减少了系统后期维修所需成本,系统修复记录中的错误可以通过数据挖掘技术查找出,设计者能通过查找出的错误来巧妙避开常见的错误,提高了软件项目的管理水平。
2.3 软件故障检测中的数据挖掘
在程序的执行记录中数据挖掘技术能挖掘到程序的说明和交互模式,通过此技术可以定位检测到软件的故障所在。对信息追踪然后进行逆向建模来实现对程序的说明挖掘,加强了对程序后期的维护。基于规则挖掘和基于自动化挖掘这两种挖掘方式是目前常用的数据挖掘,基于自动化挖掘方式比较成熟,通过利用自动机抽象技术表示出的API规则挖掘方法,而基于规则的挖掘方法通过程序行为方式发现规律以时态逻辑方式表达出来。
3.1 数据挖掘技术的流程
选择、预处理、挖掘和吸收是数据挖掘技术流程的四个步骤,在选择这个步骤中主要针对交互性强的数据,在工作过程中数据往往更新很快所以要及时对数据做出新的选择。预处理过程主要是对没有进行过加工处理的数据进行挖掘处理转化为合适的形式,采用LSA的技术整理好所需的数据。挖掘是将预处理过的数据通过计算方法输入进去,在大量的数据中搜寻出合适的最能反应本质的信息部分,最终完成工作任务。吸收是对数据的后处理,将有用的信息部分展现给用户,让之前的步骤的作用发挥到极致。
3.2 软件工程中数据挖掘技术的方法
数据挖掘技术常用的方法有:分类、关联、聚类。分类通常预测分类标号,首先建立一个模型,然后通过模型对预定的数据类集进行分类。在进行分类时长采用判定树法、贝叶斯分类法、神经网络分类法等,其中判定树法的基础是贪心算法,在形成构造树时通常采用自上往下的递归方式,类别符号和叶子节点相互对应,最终产生分类的结果。
3.3 关联
在大量的数据中项集之间的相互联系称为关联,关联规则有两个重要的属性:支持度和置信度。支持度是指项集A和B在事物集D中出现的概率之和,置信度是指在项集A出现的事物集D中,B也出现的概率。如果同时满足最小置信度和最小支持度那就是强规则。挖掘关联规则其实就是产生的置信度和支持度大于客户给的最小置信度和支持度的关联规则。
在软件工程的软件开发项目中急需可以精确测量的工具,然而将数据挖掘技术应用于软件工程中并将两者完美结合已经产生了可观的经济效益,提高了工作效率和工作质量。总而言之,伴随着软件工程的发展,数据挖掘技术也要不断创新和改善,数据挖掘技术将以成熟的全新技术形式应用于软件工程。
[1]毛澄映,卢炎生,胡小华.数据挖掘技术在软件工程中的应用综述[J].计算机科学,2009(05):130-131.
[2]赵丽坤;陈立文;张国宗.基于数据挖掘技术的软件项目管理体系[J].经营于管理,2012(12):122-123.
[3]李新;张晓静;米燕涛.软件开发过程中的数据挖掘[J].石家庄职业技术学院学报,2012(2):18-20.
范凯文(1993—),男,汉族,湖北松滋人,本科学历。
TP311.13
A
1009-6434(2016)05-0078-01
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!