APP下载

基于计算机软件工程的数据挖掘技术实践分析

2023-03-27李佳

电脑迷 2023年24期
关键词:软件工程数据挖掘

李佳

【摘  要】 文章详细探讨了数据挖掘在软件工程领域中程序代码克隆、文本分析挖掘、代码构件挖掘、软件故障检测和数据程序切片等方面的应用。数据挖掘可以对源代码进行深入理解和分析,以及构建有效的软件开发方案,实现快速准确的进度安排。总而言之,无论是在代码克隆、文本分析、代码构件挖掘、软件故障检测还是数据程序切片中,数据挖掘技术都发挥了重要的作用,提升了软件开发的效率和质量,是软件工程实践中不可或缺的一部分。

【关键词】 软件工程;数据挖掘;技术实践

数据挖掘技术(Data Mining,简称DM),代表从海量杂乱无章的数据中,发现新颖的、有价值的、模糊的潜在可利用信息的过程。其涉及对数据库中的大量数据进行抽取,转换,分析以及模型化处理,从中提取辅助决策的关键性数据,数据挖掘可以帮助决策者寻找规律,发现被忽略的要素,预测趋势,进行决策,是对数据内在和本质的高度抽象与概括,也是对数据从理性认识到感性认识的升华。数据挖掘技术主要包括分类技术、聚类技术和关联规则。分类是一种重要的数据分析方法,通过扫描数据,再根据不同的特征将数据划分为不同的类;聚类分析就是将数据对象划分为不同子集的过程,每一个子集都是一个簇,簇中的对象特征相似,并且和其他簇中的对象不相似;关联分析其实就是关联规则挖掘其在大量杂乱无章的数据中,通过分类、整合与分析找到其中的联系或关联。对数据挖掘模型的一般步骤主要包括:定义问题、建立数据库、准备数据、过滤数据、输入数据、分析数据、建立模型、评估模型和得出结论。

计算机软件工程中的数据挖掘技术主要包括源代码开发、软件管理信息、程序代码和软件故障检测等环节。在计算机软件工程领域,应用数据挖掘技术可以提高对数据信息的理解正确率、提升数据处理质量并增加信息利用率,还可帮助软件开发人员提高工作效率,提升软件质量,并在软件运行出现问题时提供有效的解决方案。

一、源代码开发中的数据挖掘

数据挖掘已成为计算机软件工程领域源代码开发过程中的一种重要技术,其目标是根据软件开发的需求和目标,对源代码进行深度分析和理解,以提升软件开发的效率和质量。源代码开发需要对项目进行细分,并理解其应用范围、标准和执行路径等核心要素。数据挖掘技术通过挖掘源代码中的隐藏信息,可帮助工程师更好地理解和掌握这些要素。数据挖掘技术提供了各种不同的方法帮助项目构建专业的数据系统用于源代码的分析、提取和建模。基于数据挖掘技术开发的系统能够处理大规模的开发任务,而且当面对那些含有多项具体应用功能的软件系统时,它能够展示出强大的应用价值。例如,开发团队可以从旧的代码库中提取出成功的设计模式,并将其应用到新的项目中。

二、软件管理信息中的数据挖掘

数據挖掘的应用对提升项目管理的效率和质量具有重要的作用。由于软件开发和管理过程中涉及的数据量大且复杂度高,数据挖掘技术可以帮助项目有效地整理和规范这些信息,提升信息流动和使用的效率。

在人员信息方面,开发团队需要进行高效地协作,并及时有效地交换开发进度、任务分配等信息。数据挖掘技术可以帮助人们从大量信息中提取和分析出关键信息,以支持团队的协作和决策。例如,开发人员可以根据自己的工作需求,在电子邮件、文档和表格等数据中,快速准确地找到与其工作相关的信息,避免开发过程的混乱和效率低下。同时,数据挖掘技术的应用也能够帮助项目更好地识别和管理软件的各个版本,从而提升后续的维护能力。

随着软件功能的完善和漏洞的修复,软件的版本信息会不断变化,数据挖掘技术可以快速定位找到版本的各种信息,如版本号、更新时间、更新内容以及修复记录等。软件项目信息可以被组织和展示出来,使开发人员可以更全面地了解软件系统,从而在实际开发中避免出现BUG。

三、程序代码中的数据挖掘

(一)克隆程序代码

现阶段,数据挖掘技术已被广泛应用于开发过程中进行代码克隆。在实际项目开发过程中,大量的程序代码具有相似的逻辑构成,用代码根据自身项目进行克隆可以大幅度节省开发时间和程序员工作内容。

克隆程序代码的过程并不是简单地复制和粘贴,项目中需要确保复制的代码符合软件工程的实践要求,为提高克隆程序代码的准确性,需要在数据挖掘过程中强化各种数据检测流程和标准。例如,在原有挖掘基础上,可以增加数据识别标志或者程序语言索引等,以提高数据挖掘的效果。数据挖掘技术在克隆程序代码中最关键的步骤是对源代码进行深入理解和分析,包括被提取代码的属性、特征和标准等信息。为此,通过数据挖掘技术分析这些信息,构建一个能够自动进行代码扫描和复制的克隆系统,可以快速扫描大量的源代码,识别并提取出符合特定特征的代码放入项目使用。

(二)文本分析挖掘

每种语言的计算机程序代码都以其特有的文本形式呈现,为数据挖掘提供了不同的应用场景。现阶段数据挖掘在文本分析挖掘方面研究非常深入,已经可以帮助项目深入理解和掌握代码的内在结构和逻辑,从而提升软件开发的效率和质量。数据挖掘运用于文本分析挖掘需要明确目标是从大量的数据中发现有价值的信息和知识。

程序代码信息主要包括代码的语言结构、类型、功能等特征。因此,进行文本数据挖掘时要建立关注点并将作为程序代码的重要标记,以帮助项目定位和理解代码中的关键部分,从而确定数据挖掘的目标,从而更精准地进行数据处理。对每个不同类型项目需求可以选择合适的数据挖掘技术来处理这些代码文本。

考虑到代码文本存在的各种差异性,需要根据具体的情境和需求来选择最合适的数据挖掘技术。例如,当代码文本内容存在较高的耦合性时就可以选择使用聚类技术。对数据的高维度、复杂度、噪声等问题。需要采取有效的策略进行处理。如可以通过降维技术来处理高维度的数据,通过数据清洗和预处理技术来处理复杂和噪声数据。

(三)代码构件挖掘

数据挖掘技术可帮助项目快速提取和理解代码的关键结构和逻辑,从而提高软件开发的效率和质量。代码构件是一种对程序代码的结构进行檢索的模式。在计算机程序编辑中,程序代码主要为字符格式。因此,项目可以根据代码构件建立代码关键词检索功能,帮助人们快速定位到代码的关键部分,从而进行深入分析和理解。

为实现代码构件的提取和掌握,可通过数据挖掘技术对代码中检索到的代码关键字进行分析,了解具体代码程序的编辑逻辑结构,并使用的计算机程序语言,以及软件工程师对代码的注释等,从复杂的代码中提取出有价值的信息,从而进行有效的代码构件挖掘。

实际上现有各种搜索引擎,如百度、谷歌等已经具备了数据挖掘规则和方法。用户只需要掌握一些关键字,或者对检索目标有一定的了解,就能通过数据挖掘获取更多的相关软件内容。这不仅提高了用户的检索效率,也为用户提供了更多的信息和知识。

四、软件故障检测中的数据挖掘应用

(一)数据逆向建模

数据逆向建模是一种有效的软件故障检测方法。通过对故障程序进行深入的数据分析和挖掘可以更准确地定位故障的根源,从而提高软件的稳定性和可靠性。在软件工程的日常实践中,故障检测是一项关键任务,而数据挖掘技术则为故障检测提供了强有力的工具。

数据逆向建模是一种独特的数据处理方法,它与传统的计算机建模逻辑思路相反。在传统的建模中通常是基于软件程序数据,通过逻辑关系建立模型,最终得到建模结果。而在逆向建模中是以软件故障为对象,通过数据挖掘技术对故障进行全面分析,从数据程序的角度找到故障的根源并予以修复。

在软件故障检测中,数据逆向建模的主要步骤如下:首先,定义故障检测的目标,即确定需要解决的故障类型和范围;其次,收集和预处理与故障相关的数据,这可能包括故障代码、运行日志、用户反馈等;再次,利用数据挖掘技术对这些数据进行深入分析,找出故障的可能原因和规律;最后,根据分析结果,对故障进行定位和修复。

(二)数据程序切片

对大型复杂的软件系统开发项目需要经常使用数据挖掘技术来定位和修复错误。数据程序切片,是指将复杂的软件系统切分为多个独立的程序单元,以便对每一个单元进行单独的分析和处理。这一过程能够帮助人们更加直观地理解和定位软件故障,从而提高故障检测和修复的效率。在实际操作中,数据程序切片首先需要确定一个合理的切片标准,即如何划分程序单元。这通常需要根据程序的特性和故障类型来确定。例如,一个软件系统的故障主要出现在某些特定功能模块,就可以以功能模块作为切片的单位。然后利用数据挖掘技术深入分析每个程序单元的执行情况、检查代码质量、寻找可能的故障原因等。在这个过程中,可以利用关联挖掘、分类、聚类等数据挖掘方法更好地定位和处理数据。随后再对整个系统进行测试以验证切片和分析是否正确。如果在测试中发现新的故障,就需要回到前面的步骤重新进行切片和分析。

五、数据挖掘信息管理实例分析

在一个体育赛事软件开发过程中,通过Python数据挖掘分析场均进球、场均助攻、进球耗时、助攻转换率、进球转换率等信息,通过可视化框架Vue.js展示顶级球员的基本信息和关键数据,为球迷提供详细可视化的技术参数。该案例在软件工程中可以开发后通过API接口方式让更前端程序进行调用,减少了集成软件的体积,同时可以降低前端软件的错误概率问题。

数据从EA SPORTS旗下的FIFA23中选取了它所收录的1000名球员的基础能力值(速度、传球、射门、防守等)。选取了21—22欧冠射手榜前21位球员的出场次数、出场时间、进球数、助攻数、射门次数和关键传球数,选取了2022年卡塔尔世界杯人气排名前二十的球员的出场次数、出场时间、进球数、助攻数、射门次数和关键传球次数。数据分析部分通过固定公式得出结果,可为后期调用。

实例设计球员基本信息的查询模块用于连接前端网页中的球员基本信息文本框与数据面板,在此处,对数据球员的查询进行了筛选,在收到前端的查询信号之后,会将输入的球员姓名在数据库中的三个表进行依次查询,若球员仅存在于其中两个表中,则不显示定义那一个表的数据为空。经过查询之后,返回球员的基本信息(文本框)和欧冠及世界杯具体效率值(数据面板)。

后续再次进行开发时仅需要调用相关的球员得分最终数值即可,而非在新的软件重新设计数据管理内容。因此,将数据挖掘技术运用到运动软件开发中,可以帮助软件项目更加快速地调用相关接口,减少后期二次开发的时间和成本,同时可以有效降低故障问题。此外,在实例中通过数据挖掘运动员隐含的规律并加以总结,使球员技术分析的方法方式能够更加多样化,给教练或者媒体提供更便捷、更稳定、更高效的技术平台,可以弥补我国目前足球方面的空缺。

六、结语

数据挖掘的核心目标是通过全面收集和处理数据信息,以提取知识和见解,其主要方法包括聚类算法、决策树、神经网络和关联规则挖掘等。现阶段数据挖掘技术被广泛应用于源代码开发、软件管理信息、程序代码和软件故障检测等环节并应用在实际项目中。文章以体育赛事软件开发进行了举例,但数据挖掘还可以运用到更多项目中,例如通过分析项目开发日志分析项目的弱势并加以弥补;通过数据挖掘学生每日的朋友圈信息关注学生热点动态并在校内平台推广。总之,数据挖掘为软件开发提供了更便捷、更稳定、更高效的技术,可加大其在实际项目中的运用。

参考文献:

[1] 徐东. 数据挖掘技术在计算机软件工程中的运用[J]. 数字技术与应用,2023,41(06):137-140.

[2] 阿迪娅·扎曼别克. 计算机软件工程中的数据挖掘技术应用研究[J]. 电子技术与软件工程,2022(10):183-186.

[3] 卢珊. 数据挖掘技术在软件工程中的应用分析[J]. 长江信息通信,2022,35(04):113-115+118.

[4] 隋国政. 计算机软件工程中数据挖掘技术的应用研究[J]. 软件,2023,44(05):127-129.

猜你喜欢

软件工程数据挖掘
探讨人工智能与数据挖掘发展趋势
基于并行计算的大数据挖掘在电网中的应用
数据挖掘技术在中医诊疗数据分析中的应用
依托工作室的软件工程实践教学研究
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨
一种基于Hadoop的大数据挖掘云服务及应用
数据挖掘的分析与探索