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

时间:2022-09-10 01:36:01

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

摘 要

随着人们生活水平不断的提高、信息技术不断的向前发展,人们在日常的生活中将会接触更多更复杂的信息量,如何从这巨大的信息库中抽取出重要且有用的信息,直接影响人们的工作效率和工作质量。因此有必要对现有的数据进行整合处理直接为人们所使用。本文主要针对数据挖掘技术在软件工程中的应用的相关问题,从软件工程的技术挑战、数据挖掘的应用以及应用领域和研究现状展开叙述。【关键词】软件工程 数据挖掘 技术 应用

1 前言

数据的挖掘可以说是一项类似于大海捞针的工作,它主要是指在大量的数据中找出适合使用的信息的过程。数据挖掘技术在软件工程领域的运用和发展被称为软件工程数据挖掘技术。

2 基本概念及数据挖掘的流程

所谓的软件工程数据是指在软件开发过程中各种所需积累的数据,其中主要包括了可行性分析和需求性分析的文档、软件的代码和相应的注释、测试的结果和使用案例、使用说明、设计的文档、以及用户反馈等。而且这些都是软件开发者获取数据信息独一无二的来源方式。

2.1 数据挖掘过程(图1)

一个典型而又完整的数据挖掘过程一般情况下划分为四个阶段:选择、预处理、挖掘和吸收。选择是针对具有高度交互性的大量的数据,在工作过程中由于信息数据的更新往往要对数据重新做出选择;而数据的预处理是为了把尚未加工过的数据转化为合适挖掘处理的形式,这是站在数据的来源不同、格式不同、数据是否格式化的角度出发,运用LSA技术整理好所需的数据;挖掘是通过运用科学的计算方法输入预处理过的数据,在海量的数据中搜索出最能反映本质的信息与知识,最终完成分类、聚类和异常检测的工作任务;吸收也称结果评估,即数据的后处理,它以展示有用的信息数据给用户作为目标,让数据的预处理和挖掘过程显得更有意义。

2.2 数据挖掘技术

在软件工程当中分析、聚类、预测和统计已经成为数据挖掘的主要技术应用开来,这样做的目的是使“大海捞针”变得容易即在众多的数据信息中快速的找到人们需要的信息并且对系统做出反馈给人们使用。在数据挖掘的工程中常用的技术有分类树、关联发现、课时数据挖掘等,此外还有统计分析、回归建模等几个特殊的数据挖掘技术。在软件工程中要做到的是正确选取数据挖掘技术来完成软件工程任务。

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

随着科学技术的发展,数据挖掘技术虽然在软件工程中才使用20余年,但是随着它应用范围的推广,已经涉及到了代码分析、软件的项目管理和软件故障的检测等领域。

3.1 开源软件

基于开源软件(OSS)免费向用户提供服务的情况,无疑对开源软件的管理控制增加了一定的难度,所以为了提高开源软件的质量问题有必要引进数据挖掘技术。例如由牛津大学设计的数据挖掘系统就很好的解决了这类问题,它不仅能够很好的对软件的开发者进行跟踪管理,对软件的使用也同样受用,开源软件的使用率和质量都得到了有效的提高。

3.2 软件项目管理

对于组织关系的挖掘和版本控制信息的挖掘是软件项目管理的两大复杂的工作,前者是对人力资源的协调与分配,后者是对文件内容的变化、对软件的维护而言。例如,在一个软件工程项目中,要处理的信息量已经不能用数据来形容,参与项目的人员也有可能达到了成百上千,此时信息的互动与交流很容易造成混乱的局面,不过在运用了数据挖掘这个技术之后,就能够使工作人员的组织关系、项目所负责的内容合理的区分开来,这样一来,软件工程的项目管理就相对的简单明了。

3.3 程序代码

数据挖掘技术最早应用于克隆代码即程序代码的检测,一般是运用文本对比、标识符对比、度量和程序结构表示的方法进行检测,但由于忽略了数据挖掘中语义导致了该技术不够成熟。其次是对于Aspect的挖掘是为了区分程序中非常相似或者说就是同一个代码的关注点,例如:在数据做调用分析的时候,巧用扇入分析技术对数据进行探查然后再结合耦合与Page Rank度量的方式进行软件工程数据的挖掘。或者采用在百度、谷歌等搜索引擎中通过输入-输出的检索来挖掘对软件项目有用的代码或者构建,然后再进行必要的形式化描述。

3.4 软件故障检测

首先是对信息数据做逆向建模方便日后程序的检测和故障的维护工作的展开。相对于传统的定位技术排查故障而言,目前通过数据挖掘分析处理的方式,对程序的运行轨迹运用科学的方法“描述出来”,然后再通过与数据源进行比较从而判定故障的来源以及发生的位置,从而把故障排除保证软件的正常运行。

4 结束语

随着计算机软件系统技术的不断更新、系统越来越复杂,因为数据挖掘能够更深入的探究与软件工程相关的数据信息,所以数据挖掘技术在软件工程中具有非常重要的地位。计算机软件领域的负责人也把工作的重心转移到新软件的研究设计与开发应用上,旨在完善和成熟我国在该领域上的相关技术,更好的促进我国在软件方面的开发和管理的技术水平。

参考文献

[1] 赵丽坤,陈立文,张国宗.基于数据挖掘技术的软件项目管理体系[J].经营与管理,2012(12):34~35.

[2] 李新,张晓静,米燕涛.软件开发过程中的数据挖掘[J].石家庄职业技术学院学报,2012(02):10~12.

作者单位

中南大学信息科学与工程学院物联网工程专业 湖南省长沙市 410000

上一篇:莫让农药垃圾毒了“美丽乡村” 下一篇:怎么看数字生活第一人