数据挖掘技术在软件工程中运用思考

数据挖掘技术在软件工程中运用思考

摘要:在简要概述数据挖掘技术和软件工程内涵的基础上,介绍了数据挖掘技术在软件工程中的实际应用和应用方法,以期促进我国软件研发和项目管理水平的全面提升,帮助企业获得经济效益和社会效益双丰收。数据挖掘技术应用于软件工程,可以根据软件操作目的自动搜索有效信息数据,搜索过程需要按照一定的算法进行数据分类和排序,并建立与之匹配的分析模型,探究不同数据之间的内在联系和发展规律,从而为后续软件开发和运行维护管理提供可靠的数据支持。

软件工程与数据挖掘技术的内涵

1. 软件工程的内涵

软件工程是基于工程理念,采用先进的科学技术和合适的数学方法进行的软件开发和运行维护管理。在软件开发过程中会根据实际需要对相关数据进行运算,运算过程所产生的数据称为软件工程数据,这种利用数学方法运算获得的庞大而安全、完整的软件工程数据常被用来进行软件系统测试,可为软件运行维护管理提供可靠的数据支持。

2. 数据挖掘技术的内涵

数据挖掘技术是一种基于大数据建立的综合性现代信息数据处理技术,能够根据工作实际需要对数据进行转化、处理和分析,不但可以提升信息数据处理效率和处理质量,而且还能挖掘数据背后蕴涵的价值,具有程序复杂度高、运算计算量大等特点。数据挖掘是数据收集的动态过程,通过借助人工智能、数据库、机器学习、知识工程、统计学、信息检索、数据可计算等多种技术实现从海量数据中筛选出符合条件的信息数据,然后通过数据分析挖掘出有应用价值和研究价值的数据。数据挖掘流程主要包括数据的预处理、挖掘、整合三个环节。其中,数据预处理主要是对原始数据采用合适的数学计算方法进行整体脉络梳理和识别、转化,同时剔除无效数据,并对预处理后获得的数据进行抽样检测 ;数据挖掘主要是对预处理后的数据和系统新生数据采用系统算法和对应的分析模型进行分类和预测处理 ;数据整合主要是对得到的结果数据进行评价,用户可以根据自身实际需要对数据进行选择性应用,彰显数据最终价值,提升用户体验效果。

数据挖掘技术应用于软件工程的意义

1. 有利于信息数据正确录入

软件工程原始数据种类繁多、分布混乱,有效数据与垃圾数据共存。数据挖掘技术具有自主选择功能,能够实现对原始数据自动处理和清洗,根据需要筛选、过滤出有价值的目标数据,且后台运算能力非常强,不但能够提高系统运行效率,而且还能有效避免数据运算混乱或数据破损、丢失等问题,提高了数据处理的完整性、有效性和准确性,从而可以保证信息数据正确录入。另外,通过对提取的目标数据真实性进行反复验证,也能够为软件开发和项目管理提供可靠的数据支持。

2. 有利于增强信息数据理解

数据挖掘技术通过对原始数据进行有效识别、权威分类、特征分析和细化处理,从而建立完善的数据管理平台进行数据分类管理,为用户提供方便、快捷的数据查询服务。在软件工程领域应用数据挖掘技术,不但提高了工作效率,节省了时间成本和人力成本,而且能够充分发挥数据挖掘技术的技术优势,实现信息数据有效整合,有利于增强企业对信息数据的深入理解。

3. 有利于提升信息数据利用率

软件从开发到应用整个过程将会产生大量数据,首先利用数据挖掘技术对数据从多个角度进行分类和整理,然后再通过各种算法筛选和提取目标数据,最后对目标数据进行深度挖掘和应用,可有效提升信息数据利用效率。企业利用数据挖掘技术可以将混乱、抽象的数据转化为有序、易于理解的数据,便于进行数据分析和直接应用,同时也可以根据实践需要选择数据,挖掘数据背后蕴涵的价值获得商机,进而及时调整运营策略抢占市场先机,推动企业可持续发展。

数据挖掘技术在软件工程中的实际应用

1. 软件版本信息挖掘

软件版本信息具有控制、维护软件系统的作用和功能,因此软件版本信息挖掘管理属于软件工程的关键性工作。软件开发过程中涉及的程序代码类型多种多样,而且每次更新都会产生新的代码,面临着软件版本信息管理混乱的问题。将数据挖掘技术应用于软件版本信息挖掘,能够实现软件版本各种信息资源同步更新、全方位管控。通过对比分析软件历史变更信息,可以有效挖掘不同版本、各个模块之间的内部联系,直观体现软件内部结构,快速找出软件存在的结构问题并采取有效措施予以解决 ;可以及时更新相关数据,提高程序代码融合效率,帮助软件开发人员实现对程序代码的统一控制,确保软件开发质量,推动项目目标任务顺利达成。

2. 软件执行记录挖掘

对软件执行记录进行数据挖掘,可以发现不同代码之间的关联性,对于深入理解代码的作用、功能和更好地开展软件维护管理具有重要意义。数据挖掘技术在软件执行记录中的应用,主要是通过插装、跟踪、记录、分析等几个步骤实现对软件执行记录数据挖掘,其实质是利用对软件跟踪来逆向建模的过程。①在目标测试代码中插装跟踪模型,完整记录软件执行过程。②对预处理后的软件执行记录信息采用分类、类聚、关联等方式展开分析,加深对软件作用、功能理解。③根据分析结果提取关键信息,再次进行跟踪分析,探究不同系统模块程序代码之间的关联性。④绘制系统整体结构,建立系统功能模块,方便软件开发人员管理和维护软件系统。

3. 开源软件数据挖掘

开源软件是给用户提供的免费试用软件,其中克隆代码检测应用非常普遍,主要包括文本对比、程序结构对比、标识符对比、语义应用和索引对比等四种检测方法,在软件工程中的应用需要根据实际需求选择相应的检测方法。克隆代码技术能够根据软件开发相关标准实现代码快速拷贝和复制,然后根据软件开发目标和要求对拷贝的代码进行修改、完善和进一步检测,避免错误代码传递,确保系统正常运行。克隆代码技术不但改善了复制与粘贴的效率,提高了克隆代码检测速度,同时可以规避代码漏洞对软件系统影响,为开源软件开发和系统后期维护管理提供更多便利条件。但是,克隆代码技术的应用会受到环境开放性与动态性、数据多样性、Web 软件开发大众化等因素影响,给用户使用带来管理和安全方面的问题。随着数据挖掘技术的不断进步与完善,其中对软件应用情况、错误报告、开发者详细信息等都会进行有效跟踪和自动记录,有助于软件开发人员构建出典型的社会网络,详细了解和准确把握网络动态变化,从而提高开源软件开发质量,提升开源项目管理整体效果。

4. 软件故障检测数据挖掘

通过软件故障检测数据挖掘,能够预判软件故障的发生,可以提前采取预防性措施排除隐患,提高软件管理的针对性,确保软件系统安全运行。数据挖掘技术的应用能够对与软件漏洞或缺陷有关的项目进行全面检测和对数据的真实性进行反复验证,并利用对比排查的方式实现代码有效识别、准确定位和详细描述,帮助软件开发人员快速找到故障原因,并采取针对性措施修复漏洞或缺陷。例如发动机的稳态故障检测,数据挖掘技术的运用可以构建引发发动机稳态故障所有因素的参数集合,技术人员通过观察参数变化可以准确判断发动机是否存在故障,故障发生的具体位置以及发生的原因等,从而快速进行针对性处理。

数据挖掘技术在软件工程中的应用方法

1. 关联法。通过深入分析挖掘已掌握的数据,进而探究不同数据之间的隐含关系,如相互关系、因果关系等。为了提升数据挖掘技术在软件工程中的应用效果,需要软件开发人员高度重视二者的关联性,利用数据挖掘技术的优势提高信息数据支持度和置信度,从而为软件工程顺利发展提供基础保障。

2. 分类法。首先通过构建分析模型,将概念集、数据类集引入模型以准确描述信息数据特征,然后预测数据库中分类标号、离散值的执行动作,进而实现对采集的目标信息数据进行系统分类 ;其次通过对比不同类型数据的应用差异,进一步了解和掌握各种类型数据的发展规律。

3. 聚类法。按照种类、性质、簇将原始数据进行划分,然后再根据实际需要对目标数据细化处理,确保同类型、同性质、同簇数据之间具有较高的相似度,反之则具有较大的差异性。

作者:韩建友 单位:浪潮通信信息系统有限公司