软件工程中数据挖掘技术的运用实践探寻

2022-12-14 04:08陈桥芳祝秀芬
信息记录材料 2022年2期
关键词:事务代码页面

陈桥芳,祝秀芬

(广州城市理工学院 广东 广州 510800)

0 引言

在当今网络时代,网络通信技术广泛使用,大量的数据信息都需要合适的软件进行整合。在传统的软件工程中,数据处理还存在一些缺陷,无法保证信息的稳定性,所以,引进数据挖掘技术,能很大程度满足用户需求。数据挖掘技术的使用不仅能进行数据信息的整合、过滤,也能维护信息的安全[1]。

1 概述分析

数据挖掘是在大量的数据信息中集中挖掘,并能发现其中存在的有价值信息。软件工程数据挖掘技术是在软件工程行业中使用的一种数据挖掘技术,对现有的软件工程进行利用和开发,该技术通过分析、提取等挖掘出开发者需要的信息。如今,软件工程数据挖掘技术被广泛应用在人工智能、软件工程等多个行业,且软件工程中数据挖掘技术和传统数据挖掘技术也比较相似,能对软件工程中的数据进行处理,也能通过有效算法给软件开发者提供需要的信息。一般在软件开发过程中会产生大量的数据信息,主要为设计的文档、软件的代码、软件版本以及测试的数据和结果、用户的反馈信息等。因为软件工程数据是为软件开发人员提供信息的主要途径,如果软件的开发规模更大,软件工程中的数据复杂性和数量也将不断增加,如果软件开发者通过代码、文档的浏览还不能挖掘到有效的信息,将无法满足对软件的开发需求。因此,为了解决目前软件工程开发中存在的各项问题,可以充分利用数据挖掘技术,有效弥补传统技术使用中的缺陷,在为软件工程开发工作提供基础条件的同时,也能够为开发者的后期工作奠定坚实保障。

2 软件工程中数据挖掘的意义

将数据挖掘技术应用到软件工程中具有重要作用。随着现代科学技术水平的提升,新技术的使用为软件工程建设提供重要条件。利用数据挖掘技术能够对数据信息充分理解,增强数据信息的处理能力,也能够加强对数据信息的利用。

2.1 能加强对数据信息的理解

每个人对信息的理解不同,如果利用人力对数据信息进行采集和理解,不仅会浪费大量时间,也将增加更多成本,并且受到人主观意识的影响,不具备一定的权威性,而数据挖掘技术能有效解决该方面的问题。数据挖掘技术的形成是在现代科学信息条件下,结合不同的数据分析目的,实现数据信息的有效分类和目标的细化,保证能获得更准确的信息。将数据挖掘技术应用到软件工程中具有重要作用,不仅能进行数据信息的采集,也能对大量的数据进行整合,从而为软件开发提供完整的查询和管理体系。企业通过对技术的使用,能快速地查找信息,也能加强对数据信息的应用。

2.2 促使数据处理质量的提升

在现代社会发展中,随着科学技术水平的提升,数据挖掘技术中数据功能也更加专业,特别是在数据运算过程中,能更准确地整合资源,对企业中大量的数据进行计算。数据挖掘技术还能对复杂的数据进行短时间筛选和处理,能有效保证数据的处理质量,有效减少数据丢失情况,避免企业造成较大损失。

2.3 加强对数据的充分应用

在软件工程中应用数据挖掘技术,能促使企业数据应用效率提升。对于一些比较混乱、无用的数据信息,能在多个角度上进行数据信息整合,从而获得准确结果。并且也可以将获得的整合结果应用到实际工作中,并结合具体工作效果选择适合的数据,加强数据的充分使用。企业基于数据挖掘技术的使用也能优化策略选择,保证数据作用的充分发挥。同时,数据挖掘技术也能将企业中的抽象数据转换为能够理解的数据信息,能为企业决策提供重要条件。

3 Web访问模式挖掘分析

3.1 Web访问模式挖掘的体系结构

Web访问模式挖掘的体系结构可以分成两个方面:(1)将Web访问数据转化为适当格式。该方面包括预处理、事务识别、数据合并。(2)数据挖掘引擎,也就是数据挖掘和模式匹配技术。而该体系也基于网站结构挖掘。

在Web访问模式挖掘中,首先要进行的是数据清理。对基础资料进行汇总和整理,也需要在此阶段进行。在进行了资料整理以后,这些记录就会被归入了一系列的事务中。事务识别的目的在于为每一个访问者创建一个有价值的数据聚集。然后,基于数据挖掘的工作,将事务数据转换为相应的数据模型。在对数据挖掘和分析的过程中,还必须给使用者一个适当的查询机制来展示这些挖掘和分析的结果。

3.2 数据清理

数据清理是第一项预处理任务。清除服务器中记录的技术,对Web数据挖掘和其他的Web数据分析十分重要。只要服务器记录可以精准地显示出Web站点上的用户访问模式,其关联规则和统计报表才能够有利用价值。对URL的后缀名称进行分析是一种很好的方法,比如GIF、JPG等都可以删除。

3.3 用户标识

大部分Web中的知识发现系统都仅限于服务端,缺少清晰、高效的客户端(比如捕捉单独的Web用户行为)。了解个体使用者的活动对提供个性化服务、改善Web网页的组织架构、制定合适的定价战略等都有着举足轻重的意义。

另外,还有一个问题,就是存在着很多没有被存档的访问数据。而某些本地缓存机制和代理服务器则会遮蔽或歪曲使用者的网站存取通路。现在,人们可以用cookies来登记这些问题,并在屏幕上展示这些信息。例如,cookies是可以被使用者删掉的,但是也会有使用者使用虚假资料进行登记的情况。

3.4 用户浏览行为模型(UserBrowsing BehaviorModel)

要把一个使用者的会话分成有意义的事务,就必须有一个可以支撑它的基本模型。通常情况下,使用者可以通过以下两种方式来访问Web页面:一是用于导航,二是需要它的内容信息。我们将他们命名为用户的导航页面和内容页面。虽然可以很轻易地从网页上的链接数量判断出一些网页的属性,但是大部分网页都不能用这种方式明确地分类。比如,如果一个网页只有一个标题和一系列的链接,那么它就会被认为是导航页面。但是,由于他们的网页属性会随着使用者的不同而有所改变,所以一个含有文本信息和链接的页面就不能只根据其本身信息来判断它是导航页面还是内容页面。

从导航页面和内容页面的角度出发,我们可以提出事务的定义。事务的定义依据不同的使用可分成两类,一般事务的定义是指一个用户在访问网页过程中,从一系列的导航页面到内容页面的参考。通过挖掘这样的导航-内容事务,能够获得一条通往特定的网页的普通的途径。另一类事务的定义是指某一用户在特定的站点进行一次访问时,引用全部的内容页面,就是说,在一个使用者的一个对话中,所有的导航页面被移除了之后,将会生成一个页面序列;通过挖掘这样的内容事务,能够获得Web站点上内容页面之间的联系,这样的联系和这些内容页面之间的路径信息没有关系。其中,基于对内容事务的挖掘与导航-内容事务挖掘的事务进行研究。由于该方法可以忽略掉导航信息,所以能够获得一些导航-内容事务挖掘获取不到的用户特征。不管什么类型的事务定义,最重要的问题就是怎样可以动态地决定一个服务器记录是否用于导航或进行内容浏览。

3.5 一般模型

对于初始用户,访问过程可用以下两方面理解:该行为可能是通过多页面访问形成的事务,也可能是通过不同单页面操作组成的一系列事务的集合。标识的目的是对用户访问行为进行具有一定后续效果的分割,标识工作就相当于把一个整体的事务划分成多个小的事务,或者将一些有规律的小事务总结为大事务。

3.6 具体分析模型

上面的事务定义并没有给出具体分割的方法,即缺少约束条件,下面在讨论各种标识模型中将分别把各自判别事务的约束条件加上,以形成完整的事务定义。

现在假定初始的事务是由某个用户的所有访问页面所组成的一个大事务,下面就讨论这个大事务的分解过程。这里介绍3个事务标识模型,前两个事务标识模型:引用长度模型和最大向前引用模型,是建立在前面所讨论的用户浏览行为模型的基础之上的;而第3个模型是时间窗口模型,并未建立在其基础之上。

3.7 引用长度模型

引用的模型主要建立在下面的假设上:在页面上,用户花费的时间主要取决于该页面的属性属于导航型还是内容型,这是许多家研究机构分析诸多大型网站得出的结论。

3.8 常用访问模式挖掘

在Web系统内,了解用户日常访问方式和习惯,对于增加站点实际使用效果有较强的促进作用。如在关联页间设置较为恰当的联系。该方式也有益于为市场部门提供更好的决策依据,例如在页面的哪些位置添加新功能,如何适应用户的既有使用习惯等。

常用的访问方法是根据事务集合,挖掘数据后得出的,它以用户访问过程中内容频率为基础,按规律生成访问序列。所以,挖掘访问数据的方法和了解访问行为关联规则工作有许多重合内容。而后者的重点更倾向于集合在超集中出现的频率次数。两类工作中的区别是:访问收集更倾向于序列,而关联规则单纯对条目进行收集,所以后者不适用于Web访问挖掘。

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

软件工程和软件开发关系紧密,软件工程能为软件开发提供重要条件。在对软件开发的各个阶段,都需要利用相关信息为工作的开展提供支持。但是,开发者在实际研发中,还未掌握信息数据获取的主要方法,导致开发的软件出现明显卡顿问题,所以,将数据挖掘技术应用到软件工程中十分重要[2]。接下来对来源软件数据挖掘技术、软件项目数据挖掘技术、代码中数据挖掘技术以及软件故障数据挖掘技术做出探讨。

4.1 开源软件数据挖掘技术

开源软件数据挖掘技术是一种开放性的源代码应用,因为其具备开放性的特点,所以各个软件都是免费的,具备的用户群体更多。但是,在一定程度上也导致给管理工作带来很大压力,给软件的使用带来拖累。针对开源软件存在的问题,为了增强软件应用质量,保证该软件基本数据处理能力的增强,需要对数据挖掘技术充分使用,在该技术支持下,能对大量的数据信息进行整合,对复杂的软件积极处理,在软件实际应用效率得到提升的情况下,也有利于对用户的管理[3]。

4.2 软件项目数据挖掘技术

在软件项目中应用数据挖掘技术,能挖掘组织关系,也能对版本控制信息进行挖掘。软件工程中项目管理工作比较复杂,只有对各个人员组织关系进行挖掘,才能实现人力资源的充分协调。大多数情况下,大型的软件工程都需要大数量人员的参与,软件开发也会产生大量数据信息。特别是人员之间的沟通、交流信息,如果未经过整合和过滤将造成信息混乱现象,从而不利于软件项目的有效使用。所以,将数据挖掘技术应用到软件项目工程中十分重要,能有效分析出组织关系,进行数据整合,也能促使软件项目的有效开发[4]。

4.3 代码中数据挖掘技术

代码中数据挖掘技术的使用,主要作用是代码搜索和代码克隆。代码搜索工具主要是用户搜索关键词来实现的。目前,代码搜索引擎中的文本主要为代码和注释,每个程序文件都是一个文档,能将代码库作为主要搜索命令。很多软件的编程语言都是利用标识符号命名的,其中的注释和标识符号都发挥重要作用。但是,如果编程的风格是不同的,直接进行代码的搜索是无法获取信息的。数据挖掘技术通过代码搜索的使用,能更加有效地进行关键字搜索。对于克隆代码检测,是基于代码自身来实现的,当用户输入代码后,通过克隆代码能够检测是否相似[5]。

4.4 软件故障数据挖掘技术

数据挖掘技术使用过程中,不仅要促使挖掘任务完成,也要对具体的程序进行挖掘,保证挖掘的数据具备软件故障的预测作用。在数据挖掘过程中,要明确具体工作目标,并能及时跟踪信息,能结合实际问题给予信息的处理,从而为后期工作稳定开展提供重要条件。在大量、复杂的挖掘工具中,软件运行期间也会产生一些故障,如果使用传统定位技术对存在的问题解决,问题的解决效率一般比较低,且实际应用复杂,无法获得更精准定位[6]。所以,使用数据挖掘技术中的程序谱,能更好地定位程序运行轨迹,实现故障排查,整个故障检测效率也会提升。

5 数据挖掘技术在软件工程中的发展

将数据挖掘技术应用到软件工程中,可以促使软件质量的提升,提升开发效率。软件工程是一种单纯的脑力劳动,为了实现应用的目的,需要给软件的开发人员提供准确、高效信息。从当前实际情况看,软件工程中的数据挖掘技术还无法满足各个领域的发展需求。因为数据挖掘技术是随着现代科学技术发展不断更新的,比如:软件工程的方法、数据挖掘算法和方式等,都能为软件工程数据挖掘技术的应用提供重要保障。

(1)结合软件工程数据挖掘中存在的问题,进行高性能挖掘算法的分析。结合目前发展中存在的问题,在软件工程中应用数据挖掘技术要渗透高效软件,保证能进行检索和发现。在软件规则检测中,是基于关键词发展为自然语言或者模糊性检索方式。对于返回的检索内容,也能从简单的内容发展为完全文档形式。目前,存在缺陷的检测工具只能对一些违反程序的规则进行检测,在软件执行和结构统计中很容易产生问题。所以,研究一种能够检测更大范围、更复杂缺陷的工具十分重要。软件行为模型和程序规则之间存在一定关系,如果研究出具备自然语言的一种模型和程序,促使动态和静态软件的结合,将使软件的各个层次和行为信息都更加丰富,也增强其准确性。并且,应用更高效的软件设计,加强对工具的应用,在软件工程中也将实现信息的可视化表现。

(2)针对软件工程中的大量数据,还需要研发一种挖掘算法,保证能实现高效预处理。软件工程的规模更大,且对软件的需求也不断增加。软件工程的工具也不断细化,随着软件开发人员的增加,整个软件的开发周期也不断增加。为了对这些问题进行解决,软件工程数据挖掘人员、研发人员需要结合数据特征,为其开发出一种更高效的数据处理方式。并且,对于动态数据流、在线挖掘算法等,也要为其提供效率更高的挖掘算法,比如机器学习、人工智能等数据挖掘技术的使用,能促使软件的高效开发。

6 结语

综上所述,软件工程中加强对数据挖掘技术的使用,能对大量的数据信息进行收集,维护信息的安全性,避免安全隐患,有利于软件工程的智能化发展。

猜你喜欢
事务代码页面
北京市公共机构节能宣传周活动“云”彩纷呈北京市机关事务管理局
刷新生活的页面
答案
让Word同时拥有横向页和纵向页
河湖事务
基于改进乐观两阶段锁的移动事务处理模型
创世代码
创世代码
创世代码
创世代码