APP下载

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

2019-02-10贾淑滟

山西广播电视大学学报 2019年4期
关键词:数据挖掘软件故障

□贾淑滟

(山西旅游职业学院,山西 太原 030031)

纵观近些年来软件工程的发展,随着“互联网+”时代的飞速发展和技术革新,软件工程在此良好的科学技术和经济发展大环境下技术进步明显,在社会各行各业的领域中应用愈加成熟,价值日益提升。软件工程的飞速发展,离不开近些年来信息通信技术的飞速发展,更离不开数据挖掘技术的日益提高。在软件工程中,软件在开发、应用及维护过程中也会出现大量的信息和数据,如何在大量的数据里找到有用的数据、相关联的信息就显得尤为重要,因此应用数据挖掘技术恰好能解决这一问题,该技术不仅能够使得软件工程的应用越来越广泛,如在银行、保险、交通、电商及娱乐等行业,而且能使得软件工程中的软件项目管理、程序代码分析、软件故障检测、用户体验等方面大大提升。因此,在软件工程的发展过程中,数据挖掘技术的应用势在必行。

一、数据挖掘技术和软件工程的概述

近二十年来,计算机软件发展迅速,不再仅仅局限于研究和解决一些工程问题,更多的是服务于一些管理部门、生产机构和服务行业,与人们的日常生活息息相关。软件工程是指通过工程化的方式方法来构建和维护软件的实效性、稳定性和高质量性,最后生产出具有正确性、能够满足用户需求、遵循软件工程原则并且达到工程目标的软件产品。

数据挖掘技术是指挖掘存储于数据库中的庞大体量的信息数据中有用的部分数据,最终形成有用的知识的操作过程。软件工程中的数据挖掘主要包括以下三个程序:第一,数据挖掘首先要对数据进行收集、分类、汇总的预先处理。第二,对数据进行深入挖掘,应用科学合理的方法进行总结,确定应用的挖掘算法。第三,数据模式评价,即最终对于数据结果进行评价与知识表示[1]。

二、数据挖掘技术应用于软件工程的历史变革

数据挖掘技术的发展是一直伴随着互联网和大数据技术、云计算技术等新科技的进步的,数据挖掘技术从本质上来说,其主要功能是通过各种先进计算机技术和逻辑算法来提取信息数据库中重要信息的数据资源。数据挖掘技术从其概念和定义的提出到逐渐投入行业实践,再到逐渐走向多样化、多功能化以及高价值化,其在人类社会中的重要应用越来越广泛。

在软件工程的发展过程中,数据挖掘技术的应用理念首次提出是在一九六七年,自从数据挖掘技术的应用理念提出之后,软件工程的发展如虎添翼,具有了更加适用于社会各行各业的本领,不仅在应用过程中更加稳定和高效[2],也在很大程度上减少了人力的反复工作量,让工作效率大大地提高。数据挖掘技术在软件工程的发展过程中,以多样化的视角来看,在软件工程的各个领域中具有更加深刻的价值,其应用范围越来越广泛,深入到人们生活的方方面面,为生活提供了极大的便利和快捷;以多功能化的视角来看,数据挖掘技术在软件工程中的应用使得软件工程的功能逐渐拓宽,为人类社会的生产和生活提供了更加广阔的应用意义;以高价值化的视角来看,数据挖掘技术的应用使得软件工程在很多方面打破了原有的生产和生活模式,有相关的替代品来简化和提高人们的生产和生活,从而提高了软件工程的应用价值。但是数据挖掘技术在软件工程的应用过程中,必须以需求引导应用方法和应用范围的升级,从而促进软件工程的发展。

三、数据挖掘技术引入软件工程中的主要内容

在被大数据充斥着的时代背景下,传统的信息处理技术已经不能精确地处理和存储大量的数据了,但是数据挖掘技术却可以非常高效地解决这一问题。近几年内,软件工程行业也获得了较快的发展,这与数据挖掘技术在软件工程中的应用密不可分,在软件工程中数据挖掘的有效应用有以下几个方面:

(一)数据挖掘技术引入软件工程中的数据需求和设计阶段的应用需要

数据挖掘技术在软件工程的应用过程中,首先应用到的是数据需求和设计阶段。数据需求和设计是指通过对软件工程设计的发展需求进行深入分析,应用数据挖掘技术能够确定一个科学合理的数据概念方案。软件工程中数据需求和设计阶段,软件工程的发展需求一直处于一个动态变化的过程中,具有一定的发展性。当软件工程中的数据发展需求发生变化时,数据需求和设计阶段应用数据挖掘技术的方式方法以及概念模型方案都需要进行变革。这就要求软件工程中数据挖掘技术人员需要具有较高的专业素质和技能水平,能够根据软件工程的需求变化采用适宜的数据挖掘方法,促进软件工程行业的长远发展。

(二)数据挖掘技术引入软件工程中迭代开发的应用需要

软件工程中,迭代开发阶段是数据挖掘技术应用最为频繁的阶段,在此阶段中,数据挖掘技术的合理应用对于软件工程的发展至关重要。数据挖掘技术在软件工程的迭代开发阶段的应用分为以下几种:

1.软件工程的程序代码开发。数据挖掘技术在软件工程的迭代开发阶段,对于程序软件编发过程,主要是根据软件工程迭代开发的主要需求,对于对象数据程序进行记录和储存,进而分析程序代码和软件之间的关系[3]。而程序代码开发是软件工程中的一项主要工作,因为在开发代码时会用到较多的数据信息,因此,应用数据挖掘技术可以精准、高效地挖掘出在代码开发过程中所需的数据信息,这样不仅降低了开发代码的难度,同时也提高了效率和准确率。

2.软件工程的数据调试。软件工程的迭代开发阶段,数据调试一般要依靠相关的软件开发人员来完成。软件工程中数据调试一般工作量巨大,需要软件开发人员花费大量时间和精力在此阶段,当数据调试难度增大时,调试的进度会更加难以推进。因此,在软件工程的数据调试中应用数据挖掘技术,对于软件工程中的数据能够进行针对性分析,能够及时发现数据错误信息,帮助软件工程数据调试人员高效修复数据中心的漏洞,加快数据调试阶段的进程。

3.软件工程的故障检测。软件工程的发展和应用过程中,错误和故障出现是在所难免的。软件工程中的数据若有故障出现,往往会引发严重的后果,甚至可能会导致整个系统面临崩溃,给用户带来巨大的损失。因此,将数据挖掘技术引入到软件工程的故障检测中进行应用实践,能够从软件源代码中推断和分析出错误数据,并且对可能出现的故障和错误进行检测,此外,在检测故障和错误时,数据挖掘技术还能够搜集与分析故障和错误信息,并详细准确地描述出软件中存在的故障和漏洞,从而帮助软件工程相关工作人员针对不同的故障和错误开展不同的补救措施,及时修复故障、修正错误,从而使问题的错误及修复的工作效率得到很大提高,降低甚至避免给用户带来一切损失,确保软件系统的稳定运行。

4.软件工程的执行记录。在软件工程的执行记录的过程中,通过对软件系统的运行数据、程序在工作时的交互方式、安装位置等信息进行挖掘,并且使用合理的数据分析方式来分析这些信息,从而掌握软件的整体运行情况并做出评价。此外,还可以应用数据挖掘技术对软件的执行记录进行挖掘分析,有助于软件管理人员更加高效准确地开展工作,维护软件系统。

5.软件工程的系统维护。在长期的使用过程中,对于软件的系统维护是一个非常重要的环节。在软件工程的系统维护中,应用数据挖掘技术精准的搜集和分析用户使用数据,以此能够帮助维护工作人员及时发现和修正软件系统程序中出现的错误信息,并且改进程序运行环境,同时还能根据用户应用需要对系统进行程序增设、删改等,从而不仅能够维护系统的安全稳定运行,还能极大地提高用户的使用率和良好的体验感,也能减少后期维护管理人员的人工成本。

四、软件工程中应用数据挖掘技术的具体方法

数据的挖掘无异于一项大海捞针的工作,而完整的数据挖掘过程一般由以下四个阶段组成:选择、预处理、挖掘和吸收。选择是对软件库里的数据进行选择,由于数据的更新往往需要对数据重新做出选择;预处理是将被选择的数据格式化成适合挖掘的形式;挖掘是将处理后的数据进行分类、聚类和异常检测等工作,使得在大量的数据里找出最能反映本质的信息与知识;吸收即结果评估,将有用的信息数据进行整合展示给用户。

在软件工程中应用数据挖掘技术就是使“大海捞针”变得更加容易,能够在大量的数据中快速找到有用的信息并反馈给软件系统是二者结合的最终目的。因此,在软件工程的各个领域运用恰当的数据挖掘技术来完成软件工程任务成了重中之重。常用的挖掘技术有关联发现、分类方法、聚类分析等,此外还有统计分析、回归建模等以下介绍几种常用的方法。

(一)通过关联方法应用数据挖掘技术

在软件工程的发展过程中,应用数据挖掘技术最为基本的方式方法就是关联的方法。关联方法的应用要点是通过数据挖掘技术发现庞大体量的信息数据之间的相互关系和数据与数据之间的微妙关联。而且不仅可以对现有的数据进行分析处理,还能对新的数据加以预测。

关联方法的应用特征主要有以下两个方面:第一,数据的支持度。当数据集合中数据子集A与数据子集B二者出现相交,即表明两个子集在本数据集合中出现和被检索到的概率是相同的。第二,数据的真实度。同样以数据集合中数据子集A与数据子集B之间的关系为例,当出现数据集合P(B|A),则表明数据子集A在数据集合中出现时,数据子集B也一定会出现,这一特征也称为数据的置信度。通过关联方法可以在大量的数据中找到某些数据之间所存在的关系,再对这些数据进行进一步的研究发现,可以得知其中所隐藏的相关关系或者因果关系,进而对软件开发过程起到一定指导作用。

(二)通过分类方法应用数据挖掘技术

在软件工程的发展过程中,应用数据挖掘技术的另一种重要方法是分类的方法。分类可以让杂乱无章的事务变得井然有序起来,应用到数据中也亦然。分类方法是指通过对数据库中离散值和各种分类标号进行汇总、分析和处理等数据挖掘操作,对数据库中的数据信息进行分类。

分类方法的应用过程中,一般在进行数据挖掘时,要先建立一个分析模型,然后才能根据模型对数据库中的信息数据进行描述,这样不仅可以使大量的数据分门别类系统化,还能在分类过程中掌握某些数据之间的规律,进而为软件工程的发展起到推进作用。

(三)通过聚类分析应用数据挖掘技术

聚类分析的用途非常广泛,数据挖掘技术中聚类方法在软件工程中的应用,对于软件工程的行业的进一步发展具有重要意义[4]。如在商业上,聚类分析可以从消费者数据中区分出不同的消费者群体,每一种群体有相似的消费习惯,而不同的群体之间消费习惯的差异较大,如此可以分析概括每一个群体的特点、喜好和模式,也可以针对其中的某一个或某几个群体做进一步的分析,辅助商业行为做出正确的决策。

数据挖掘技术中聚类方法的应用是指首先对数据库中的信息数据进行分组,将挖掘对象数据分成不同组别的簇或者类,每一个数据组别种类或者簇的对象数据都是高度相似的,不同簇或者不同类之间的对象数据具有相当明显的差异。选择合适的聚类算法循环多次使各类本身尽可能地紧凑,各类之间尽可能地分开。

(四)通过遗传算法应用数据挖掘技术

遗传算法相对于上文中的几种数据挖掘技术方法,具有一定的应用优势。遗传算法是指通过生物的自然选择和遗传激励的机理衍生出来的一种对数据进行随机检索的算法。遗传算法在软件工程中的应用优势是在数据模型之间能够通过此种方法找到平时难以检索到的相关性,在数据模型之间建立起联系,从而实现对象数据的深入挖掘。而且遗传算法覆盖面大,减少陷入局部最优解的风险,利于寻找全局最优解,但是遗传算法的效率通常比其他算法低。

五、结语

综上所述,随着近些年来计算机数据库技术升级和更新速度逐渐加快,应用于软件工程中的数据挖掘技术方式也应该与时俱进,不断变革使其更加符合人们的生活实际。但是在发展过程中也会遇到很多难题,比如数据信息量过大,并且过于复杂,在数据挖掘的初始阶段就会是最大的障碍,数据挖掘结果的不准确会直接导致后续一系列工作发生偏差甚至是错误。此外,没有统一的评价标准来公平的衡量和评价,尽管数据挖掘技术应用在人们的生活和工作的方方面面,但是在处理大量的复杂信息时,也会增加软件工程的复杂性。

数据挖掘技术应用于软件工程时,相关技术人员要在软件工程的数据需求和设计、迭代开发、故障检测以及系统维护等多个方面寻求数据挖掘技术的应用价值,让软件工程在数据挖掘技术的应用中变得更加高效,给用户使用带来更好的体验。同时,随着社会的不断进步和发展,二者结合所带来的经济效益的大大提升不仅是机遇,更是挑战。

猜你喜欢

数据挖掘软件故障
禅宗软件
探讨人工智能与数据挖掘发展趋势
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
故障一点通
软件对对碰
奔驰R320车ABS、ESP故障灯异常点亮
即时通讯软件WhatsApp
故障一点通
江淮车故障3例
高级数据挖掘与应用国际学术会议