这个题目的确是有点超出本科生能力,因为数据聚类算法很多,都不是很容易实现,更不用说在效果,效率上的分析,而且绝大多数算法的优缺点早就总结过了,也很难创新,我专业是数据挖掘,我在研究生期间都不做这样的论文
先做因子分析或者主成分分析然后再做聚类分析
数据挖掘在软件工程技术中的应用毕业论文
【 摘要 】计算机技术在发展,软件也发展的越来越复杂,而系统开发工作也显得更加重要。信息技术的广泛应用会产生大量数据,通过对数据进行挖掘,分析其存在的规律,对实现数据资源的有效利用意义重大。本文就数据挖掘技术在软件工程中的应用作简要阐述。
【 关键词 】数据挖掘技术;软件工程中;应用软件技术
随着信息技术发展而快速发展,但是其可控性并不是特别强。软件在应用过程中会产生大量数据,数据作为一种宝贵的资源,有效的利用可以带来价值增值。作为软件开发行业,数据挖掘技术应用则实现了数据资源的有效利用,通过对其中规律进行研究,为软件工程提供相应指导,并且对于系统故障能够有效处理,成本评估的有效性也能够提升。
1数据挖掘技术应用存在的问题
1.1信息数据自身存在的复杂性
软件工程所包含的数据可以分为两个类别,结构化与非结构化。在非结构化数据中软件代码发挥着重要作用。而对结构化数据产生影响的则是软件版本信息。结构与非结构化数据二者之间联系非常密切。实现数据有效利用就需要通过一定技术找出其中的规律。数据挖掘技术则刚好满足需求。利用该技术对结构与非结构化数据进行整合,提升其使用的有效性。
1.2在评价标准方面缺乏一致性
数据挖掘技术在生活中的应用比较广泛,通过该技术应用能够更好的对实际情况进行评价,从而对结果进行优化。但是由于没有统一标准,导致了软件信息复杂。而在表述方式方面自身又存有差异性。信息获取者无法有效的对信息进行应用及对比。而信息缺乏统一标准的原因就在于评价方式不一致。
2数据挖掘技术在软件工程中的应用
2.1数据挖掘执行记录
执行记录挖掘主要是对主程序的路径进行分析,从而发现程序代码存有的相关关系。其实质是通过对相关执行路径进行分析,并进行逆向建模,最终达到目的。作用在于验证,维护,了解程序。记录挖掘的过程通常是对被分析的系统进行初步插装,之后是记录过程,该过程在执行上一步程序后,对应用编程接口,系统,模块的状态变量记录,最后是对所得到的信息进行约简,过滤,聚类。最终得到的模型能够表达系统的特征。
2.2漏洞检测
系统或是软件自身都会存在漏洞,漏洞自身具一定的隐蔽性,由于人的思维存在某些盲区,无法发现漏洞的存在,就需要借助于某些软件。检测漏洞的目的就在于找出软件中存在的漏洞及错误,并对其进行修复,从而保证软件质量与安全。将数据挖掘技术应用于软件检测,首先要确定测试项目,结合到用户需要,对测试内容进行规划,从而确定测试方法,并制定出具体方案。测试工作环节主要是对数据进行清理与转换,其基础在于漏洞数据收集,通过对收集与采集的信息进行清理,将与软件数据有关联同时存在缺陷的数据筛选出来,而将剩余无数据清理,对丢失项目采取相应措施补充,将其属性转换为数值表示。之后是选择适当的'模型进行训练与验证,该环节要结合到项目实际的需要选择挖掘方式,通过对不同数据结果进行分析与比较找到最适合的方式。之后则是重复应用上述方法,对软件存在的漏洞进行定位与检测。并将与之对应的数据收集于软件库,在对漏洞进行描述的基础上分类,最后将通过挖掘得到的知识应用到测试的项目中.
2.3开源软件
对于开源软件的管理由于其自身的开放,动态与全局性,需要与传统管理软件进行区别对待,一般情况下,成熟的开源软件对于软件应用记录较为完整,参与的内容包括了错误报告,开发者活动。参与开发的工作人员会处在动态变化之中,存在动态变化的原因就在于软件的开放性。同时对于软件中动态性特征的挖掘,可达到对开源软件进行优质管理的目标。
2.4版本控制信息
为了保证参与项目人员所共同编辑内容的统一性,就需要对系统应用进行控制。软件开发工程应用中,开发工作管理与保护都会通过版本控制系统来实施。并且其应用方式主要是对变更数据挖掘,找出不同模块及系统存在关系,并对程序中可能会存在的漏洞进行检测。此类技术的应用,使得系统后期维护成本被有效的降低,而对后期变更产生的漏洞也有一定的规避作用。
3数据挖掘在软件工程中的应用
3.1关联法
该方法作用在于寻找数据中存在的相关联系与有趣关联。而体现的关联规则有两个明显的特征。①支持度;②信度。前者表示在某个事物集中,两个子集出现的概率是相同的。而后者则表明了某事物在事物集中出现的概率,而另一事物也会出现。
3.2分类方法
该方法主要是应用于分类标号与离散值的操作。该方法的操作步骤是,首先要建立相应的模型,对数据进行描述,并利用模型对其进行分类。在分类方法选择方面,常用的有判定树法,贝叶斯法,支持项量机法等。判定树法应用的基础是贪心算法。
3.3聚类方法
该方法常用的有划分方法,基于密度,模型,网格的方法与层次方法。聚类分析输入的是一组有序对,有序对中的数据分别表示了样本,相似度。其基本的应用理论是依据不同的对象数据予以应用。
4数据挖掘在软件工程中的应用
4.1对克隆代码的数据挖掘
在软件工程中最为原始的是对克隆代码的检查测试。就其方式而言有文本对比为基础,标识符对比为基础。前者是利用系统中程序代码包含的语句进行判断。该方法在后期改进过程中主要是对字符串匹配效率进行提升。实际应用过程中是通过相关函数匹配对效率进行优化。
4.2软件数据检索挖掘
该方法同样是软件工程中原始的挖掘需求之一。该方法在应用时主要有以下三个步骤。
①数据录入。其实质是对需要检索的信息录入,并结合到使用者需要在数据中查找使用者需要的数据。
②信息查找过程。确认了用户需要查找的信息后,系统将依据信息内容在数据库中进行查找,并分类罗列。
③信息数据导出与查看。用户可以依据自身需要将数据导出或者是在线查看。数据在导出时会形成相应的记录,客户再次进行查找时就会更加的方便与快捷。而将数据导出则需要利用到相关的软件。
4.3应用于设计的三个阶段
软件工程有许多关于软件的资料,资料通常是存放于代码库中。数据运用可以提升工作效率。软件工程每一次循环都会产生大量的数据。基于软件工程生命周期可以将其分为分析设计,迭代的开发,维护应用三个阶段。
4.4面向项目管理数据集的挖掘
软件开发工作到目前已经是将多学科集中于一体。如经济学,组织行为学,管理学等。对于软件开发者而言,关注的重点除过技术方面革新外,同时也需要科学规范的管理。除过对于版本控制信息挖掘外,还有人员组织关系挖掘。对于大规模的软件开发工作而言,对人力资源的有效分配与协调也是软件工作领域需要面对的问题。例如在大型系统开发过程中,往往会有许多人参与其中,人员之间需要进行沟通交流。交流方式包括了面对面沟通,文档传递,电子信息等。通过对人员之间的关系进行挖掘,有利于管理工作开展。员工群体存在的网络是社会网络。通过人员合理组织与分配,将会影响到项目进度,成本,成功的可能性。而对该方面实施研究通常采用的是模拟建模。
5结束语
软件工程技术在生活中许多领域都有广泛的应用,数据挖掘作为其中的一项技术,其重要性及作用随着技术发展而表现的越加明显。为了保证挖掘技术的可靠性与高效,与其它工程技术有一定融合性。数据挖掘在实际应用工作中体现出了巨大的经济效益,因此应该大力推进其应用的范围,并拓展其应用的深度与层次。
参考文献
[1]李红兰.试论数据挖掘技术在软件工程中的应用综述[J].电脑知识与技术,2016(34).
[2]雷蕾.关于数据挖掘技术在软件工程中的应用综述究[J].电子测试,2014(02).
[3]孙云鹏.数据挖掘技术在软件工程中的应用综述[J].中国新通信,2015(15).