本站小编为你精心准备了数据挖掘技术的软件工程论文参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
1数据挖掘技术
常见数据挖掘技术包括:分类树技术、关联发现技术、聚类技术、人工神经网络、最优集合规约技术以及可视数据挖掘技术等。软件度量数据往往具有多维度、高耦合性,软件工程数据挖掘中会采用一些特殊处理技术,包括统计分析、回归建模、分类树以及神经网络等。在具体软件工程实践中,选择何种挖掘技术,其决定性因素为想要达成的目标。
2数据挖掘实现过程
通常,数据挖掘过程包括4个步骤,即选择数据、预处理、实施挖掘以及吸收数据。数据挖掘整个过程具有交互性,有时数据需要重新选择,有时也要对数据预处理进行改进,也可能出现算法反复被调整现象,基于这种特征,数据挖掘时要设置反馈环。挖掘数据第1步是将管理和目标反映到1个(或多个)挖掘任务中,整个过程可主要划分成为六种:1)评估、预测。评估包括对软件产品、过程以及资源的属性进行相应检查就是整个评估过程,同时也需要根据这些属性,赋值给未知属性,当然这些未知属性需要进行量化。评估工作完成后,要对属性值进行预测。2)分类。检查1个特定实体属性,根据结果将其划分到另1个类别或范畴(事先定义好)中。3)关联发现。关联发现能够识别出特定内容中互相存在关联某些属性。如,可将找出在软件开发属性和产品属性相互关联的内容找出来。4)聚类。将1个结构不相同的群体划分到另1个具有相同结构的子群集合中,这个过程叫做聚类,它的划分依据是成员之间具有高度相似性。5)数据可视化。数据可视化是利用可视化描述方法来定义复杂信息。6)可视数据探察。可视化数据探察是对描述工作的相应拓展,可利用数据可视化交互控制来分析和检视海量数据[3]。它应用具有可视化功能和数据挖掘技术来对数据进行处理。
3挖掘技术在软件工程中应用
上文提及到软件工程度量,部分可利用信息已在海量数据中被提取出来,但普遍认为更为有效且数量众多的数据依然在软件工程相关数据库中隐藏,而没有被发现。实际上,数据挖掘就是1种被公认为提升软件工程度量的技术。图1为数据挖掘在软件工程中的应用。
3.1数据挖掘繁荣原因1)计算机硬件系统和软件系统的基础设施建立具备发现驱动、分析数据等功能;2)每种技术都在实际应用中不断得到改进,其使用能力不断提升。如,模式识别、神经网络等有明显进步趋势;3)数据存储、贮藏、集成成本不高,海量数据可轻松获得。数据挖掘技术被人们认识,并在实践中逐渐被重视,同时也给研究和进一步提高数据挖掘技术提供了便利条件。
3.2面临挑战软件工程自身存在很多数据上的特殊性,给数据挖掘领域研究工作带来制约和影响,主要表现在以下三个方面:1)数据复杂。软件工程数据主要分为两个组成部分,即结构化数据、非结构化数据。结构化数据主要包括缺陷报告、版本信息等内容,而非结构化数据则包含数据代码、相应注释以及文档等内容。结构化数据、非结构化数据并不能同时适用一种算法,而且两种数据间还存在对应联系。如,1个缺陷报告中往往包括缺陷代码段。而结构化数据里常常涵盖部分非结构化信息,非结构化数据中亦是如此,这也是今后工作中需要重点解决的问题之一。2)非传统分析存在局限。数据挖掘最终想实现的目标就是将转化而来的信息传达给用户,实现信息共享。传统数据挖掘技术在使用过程中,信息手段比较单一,如文字、图表等表达形式。其实,软件开发商对信息的要求很高,1个统计结果根本不能满足其工作需求。为促进软件开发不断向上发展,开发人员需要相关信息作为参考依据,包括开发实际案例、编程所需模板、系统缺陷定位以及软件结构设计等。研究数据挖掘技术,提升其实际使用功能,需要不断提交新信息、新知识,并改进相应手方法。3)挖掘结果评价标准不够具体。软件工程数据挖掘尚未形成完善的结果表示体系,其评价体系也有待加强。人员在软件开发过程中需要大量信心,这些信息非常具体且复杂,表示方法不尽相同,互相之间难以做出对比,也很难用定量方法去分析挖掘结果。
4结束语
“数据挖掘”是在发展过程中被人们定义的,但软件工程中对此类数据的研究早就存在。数据挖掘技术能够为研究软件工程数据提供方便,具有重要应用价值。因此,笔者认为将两者充分结合是计算机信息技术发展的必然趋势。若以过程角度来看,软件工程涉及到数据挖掘各个周期、阶段,甚至是具体实施步骤;以技术角度看,数据挖掘在软件工程中应用广泛。数据挖掘技术虽然在实践中取得一定应用效果,但还有更广阔的空间没有内充分挖掘出来,为广大从业人员提供创新空间。
作者:贺玮单位:同济大学软件学院