数据挖掘技术是软件工程领域中一项新的应用技术,可以将数据信息转化成知识与信息的方式,能够满足人们对信息的大量需求.
在软件工程领域中,数据挖掘技术可以应用到漏洞数据库、源代码库、版本信息记录等数据库中进行大量数据信息的挖掘.因此,数据挖掘技术也称为数据库知识挖掘技术.
1 数据挖掘技术的发展历史与现状.
数据挖掘技术最早出现于 1989 年,是在数据库中的知识中发现的,并在数据库领域中得到很好的发展.随着信息技术的不断发展,数据挖掘技术从最早的理论研究转变为软件工程领域的应用,有效提高了软件工程的构建方法与系统的维护,有利于满足用户对软件产品的需求.
数据挖掘技术最早应用于软件工程领域是在 1990 年,并且得到很好的发展.目前,数据挖掘技术已成为软件工程领域的一项重要的技术,逐渐渗透到软件工程的漏洞数据检测、程序代码分析等软件开发领域当中.
2 数据挖掘技术在软件工程领域中的应用.
数据挖掘技术在软件工程领域中的挖掘对象、挖掘技术以及需要协助的软件工程目标三个方面,包含了版本控制信息的挖掘、漏洞检测、执行记录挖掘、开源软件挖掘等.
2.1 版本控制信息的挖掘.
版本控制信息的挖掘属于软件工程领域中的挖掘对象技术之一.版本控制信息系统的作用就是可以有效确保软件工程项目编程人员所编辑的档案得到统一的管理,进而实现全局数据的更新,是所有软件工程项目开发必须采用的一项技术,用来管理软件工项目开发活动.
数据挖掘技术在版本控制信息中的应用,主要是对软件变更历史进行数据挖掘,发现软件系统中不同程序模块之间的相互关系,进而可以预测出系统程序模块存在漏洞的引入方式以及程序未来的发展.通过对版本控制信息的挖掘,可以减少软件系统后期的维护工作,避免由于系统更新而引入缺陷与漏洞,从而提高软件系统的后期维护工作,有利于软件工程项目的后期管理.
2.2 软件漏洞检测.
软件漏洞检测是数据挖掘技术在软件工程领域中需要协助的软件工程目标之一.软件漏洞检测的目的就是要找出软件系统在开发过程中存在的错误与漏洞问题,对存在的问题进行及时的修改与修复,确保软件系统的质量与安全运行.通常情况下应用数据挖掘技术进行软件漏洞检测主要有五个部分:①要确立软件测试的项目.从用户的角度出发,了解用户都有哪些需求,然后决定软件要进行哪些方面的测试与怎样进行软件测试,制定出软件测试的计划与实施方案;②进行软件系统漏洞库数据信息的收集、清理与转换.采集软件系统的信息与数据,抽取出软件系统中存在漏洞缺陷的数据信息,清理掉系统中无用与多余的数据信息,补充系统中丢掉与缺少的项目数据信息,将系统数据信息转化成信息与知识方式;③选择合适的软件系统数据挖掘信息,然后进行数据信息的验证与训练.通过数据挖掘技术对软件系统数据的训练与测试结果,结合软件工程项目的需求,选择合理的数据挖掘方法;④对软件系统中存在的缺陷漏洞进行分类、定位与描述.将找出的软件系统漏洞运用数据挖掘技术,根据一定的规则进行软件系统漏洞的分类、定位与描述;⑤数据挖掘技术在软件测试项目中的应用.运行数据挖掘技术将挖掘出来的数据信息转化成知识,并将转化后的知识保存到数据库当中,然后对软件系统进行重新测试,确认漏洞现象是否存在,然后将测试后的结果应用到软件开发项目当中.
2.3 执行记录挖掘.
执行记录挖掘属于软件工程领域中的挖掘技术领域.执行记录挖掘目的就是通过对软件系统的程序执行路径进行分析,发现软件系统程序模块代码之间的相互关联.其运行实质是就通过跟踪软件系统的执行路径实现逆向建模,有利于软件系统程序的理解、跟踪、维护与以及验证.
2.4 开源软件挖掘.
开源软件挖掘属于软件工程领域中的挖掘对象领域.克隆代码检测是开源软件挖掘技术中常用的方法之一,普遍应用在大多数软件开发源文件当中,进行数据的拷贝与粘贴.采用克隆代码技术可以有效进行代码的拷贝与粘贴,然后运用克隆代码检测技术对代码进行检测,避免软件系统中出现漏洞代码,有利于软件系统的后期维护.
3 结语.
随着软件工程技术的系统化与复杂化发展,数据挖掘技术的应用给软件开发提供了精确的测量保障,并且取得了良好的效果.由于数据挖掘技术在软件工程领域中的应用处于初级发展阶段,通过对数据挖掘技术在软件工程领域应用的深入研究,有利于数据挖掘技术在软件工程领域的广泛应用,有利于提高数据挖掘技术的发展与创新.
参考文献:
[1]沈孙园,张丽帆,刘丽娟.浅谈数据挖掘技术在软件工程项目中的应用[J].电脑知识与技术,2009,120(109)。1软件工程需求分析综述.通常情况下一个完整的软件开发链条中包括前期的需求分析与软件综合设计与中期的软件代码编写以及后期的软件测试以及维护过程.而其中最重要的就是前期进行良好的软件工程需求分析,只有在深入、准确分析的基础之上才能有序、合理的进...
人们通过对人类智能行为的研究发现,绝大多数的人类活动一般都是由多人的社会群体来构成的,尤其是在处理一些大型的复杂问题的时候,就要求很多的专业人员来进行有效的组织和协作来共同完成.那么,在遇到这样的问题的时候,研究并建立多智能体系统就显得非常重要,...
计算机的发展以及应用,给予各行各业更多技术支持,提高了人们的工作效率,降低了工作强度,节约了人力资源,推动了国家建设和发展.在目前,计算机的存在十分普遍,相应的计算机工程开发工作也需要不断进步.软件作为计算机的一个重要组成部分,决定了一台计算机的整...
0引言.对于一个软件开发团队来讲,想要开发一个优秀的系统软件最重要的是软件需求的获取,并且需求不能单一地从一群客户或者银行操作人员中获取.应从软件涉众中得到软件需求.对于银行储蓄系统来讲涉众大致分为用户、银行系统操作人员和系统维护人员、系统管...