刍议软件工程中数据挖掘技术实践运用.docVIP

刍议软件工程中数据挖掘技术实践运用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
刍议软件工程中数据挖掘技术实践运用

刍议软件工程中数据挖掘技术实践运用   摘 要:计算机软件规模不断扩大,想要完全通过手工方式实现软件开发、维护与获取信息,具有非常大的难度。为全面满足实际发展需求,需要对软件开发方式进行更新,例如数据挖掘技术的应用,可以有效提高软件开发的速度,并且能够有效的在软件工程众多数据中自动寻找所需数据。文章对数据挖掘技术进行了简要分析,并对其在软件工程中的应用方式进行了简单探讨。   关键词:软件工程;数据挖掘技术;软件开发   面对软件需求不断增加的背景,基于软件系统规模和复杂性不断增长的现状,想要进一步提高软件开发效率,就需要对传统定性法和统计技术进行更新,利用数据挖掘技术,来有效解决软件工程所需数据的问题。将数据挖掘技术应用到软件工程中,通过寻找数据、文档以及相关数据集中规律,为软件工程的开发提供指导。   1 数据挖掘技术   1.1 神经网络   数据挖掘技术即通过科学、有效的算法,在大量数据信息中第一时间获取有用信息的筛选过程。而神经网络为主要的数据挖掘技术操作方法,具有良好的鲁棒性,可以实现并行处理和高度容错,在数据挖掘方面具有较强的优势,且不同操作模型对应的适用范围不同[1]。常见的操作模型如离散模型、koholon模型、连续模型等,分别对应联想记忆、聚类自组织映射、优化计算。   1.2 统计分析   数据库字段项间存在函数关系与相关关系,通过统计分析操作方法,可以对各类信息进行有效分析,如常见的相关分析、回归分析与差异分析。   1.3 决策树   应用决策树操作方法,可以对大量数据进行整理和分类,然后从中选择对软件工程有价值的信息。在实际应用中数据分类效率高,能够在短时间内获得所需信息,可用于大规模数据信息的处理。   1.4 遗传算法   以生物自然选择和遗传激励随机搜索算法为基础,具有隐含的并行性,可以与其他模型建立联系,可用于大部分开发工程。   2 数据挖掘技术在软件工程中的应用分析   软件工程度量过程中,其中已经从大量数据中提取部分信息,但是仍然存在大量的数据隐藏在软件工程数据库内,而数据挖掘技术的应用,能够有效支持和提高对软件度量。数据挖掘技术的应用,即从数据库中提取全新、重要且有用的信息,在软件开发时可以从大量数据中寻找所有相关信息。随着软件开发需求不断的提高,数据挖掘技术在实际应用中的优势逐渐被体现出来[2]。并且软件与硬件基础设施已经具备处理发现驱动的数据分析所需的密集计算能力,且各种技术在持续更新,具有良好的实际应用效果,例如神经网络、模式识别、决策树等。另外,数据存储与贮藏集成可以为软件开发组织提供大量的数据,同时也进一步促使数据挖掘技术在软件开发中的应用。   3 数据挖掘技术在软件工程中的应用技术   3.1 结构与数据代码挖掘   3.1.1 克隆代码检测   以复用目的为基础,进行拷贝、粘贴的数码段,部分情况下还会对代码进行修改,一般情况为软件系统代码总数量7%~23%。对克隆代码进行检测,主要就是避免出现故障拷贝传播情况,同时又可以促进软件的维护,为软件工程中数据挖掘技术应用最为广泛的部分,常见基于文本对比、标识符对比、程序结构等方法。其中,文本对比即针对程序代码内部分语句,对其进行判断,以及后期改进,利用专业技术与工具,来提高字符串匹配率。例如通过Hash函数技术,以及相对应Duploe工具进行辅助,来提高字符串匹配率。基础识别符对比,常见的即在构造分词形成标识符序列前缀树完成后进行对比,此项技术所对应的工具为Dup或CCFinder等[3]。   3.1.2 代码检索   复用原则在软件开发中具有十分重要的地位,软件复用一直专业研究要点,即在本地以及面向WEB代码库中检索出与现阶段项目符合的代码之类的议题。目前应用比较广泛的,如分类存储并检索、基于构件形式化描述、基于输入-输出映射检索、基于代码相似性等,主要应用到分类、聚类、语义分析等专业技术[4]。其中,就软件开发现状来看,Web应用范围越来越大,不仅仅只存在于文档内,逐渐有Mica以及Google Cod等代码搜索引擎可用于软件工程。   3.1.3 Aspect挖掘   软件开发核心目的是争取可以更好的实现数据关注点关于散列和缠结问题的处理,并提出新程序开发范型,Aspect挖掘与重构可以有效实现对遗留系统改造成面向方面软件间问题的解决。原有应用的克隆代码检测技术,会在不固定时间内在程序中呈现相同或者相近代码段,在软件工程数据挖掘中仍然具有较大的应用优势。其中,横切关注点挖掘即Aspect挖掘,对于针对性比较强的方法,如基于度量分析和形式概念分析等,具有良好的应用效果。应用此种算法得到的横切代码候选集一般都比较大,对于候选集指导来开展面向方面重构,为现阶段需要重点研究解决的

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档