免费论文查重: 大雅 万方 维普 turnitin paperpass

数据挖掘与软件工程-

最后更新时间:2024-03-24 作者:用户投稿原创标记本站原创 点赞:30333 浏览:143030
论文导读:集识别有效与新颖的,潜在有用的,最终可理解的模式过程。KDD过程常指多阶段处理,包括数据准备与模式搜索,知识评价及反复修改求精;该过程要有智能性和自动性。有效性指发现新数据仍保持可信度,新颖性要求模式应是新的,潜在有用性指发现的知识将来有效用,最终可理解性要求发现模式能被用户所理解,几项综合在一起称为数据的科学
摘 要 数据挖掘面对海量数据信息进行选择与运用,在软件工程快速发展的潮流中具有举足轻重的作用。数据挖掘应对数据丰富而知识匮乏的挑战,着眼于数据实用性对软件工程知识库的数据进行深度挖掘。关键词 数据挖掘 软件工程 技术:A
计算机领域新技术应用使各行业生成、收集和存储了大量数据。大量信息数据给社会带来方便也带来大堆问题:信息过量,难以消化;信息真假难以辨识;信息安全难以保证;信息形式不一致而难以统一处理。一般数据库系统可高效实现数据录入、查询与统计等功能,却无法发现数据存在的关系和规则。如何辨析信息和如何不被信息淹没已经成为现实问题。

一、数据挖掘直面数据丰富而知识匮乏的挑战

面对信息社会带来的“数据丰富而知识匮乏”的现实挑战,数据挖掘(Data Mining,DM)和知识发现(Knowledge Discovery,KD)技术应运而生,伴随计算机新技术和新理论的出现而发展,在电信与银行,生物及大型超市等领域运用效果显著。数据挖掘有时又称作数据库知识发现(KDD),此术语出现于1989年,从数据集识别有效与新颖的,潜在有用的,最终可理解的模式过程。KDD过程常指多阶段处理,包括数据准备与模式搜索,知识评价及反复修改求精;该过程要有智能性和自动性。有效性指发现新数据仍保持可信度,新颖性要求模式应是新的,潜在有用性指发现的知识将来有效用,最终可理解性要求发现模式能被用户所理解,几项综合在一起称为数据的科学性豍。
数据挖掘的界定。数据挖掘是从存放在数据库与数据仓库或其它存储信息库中的海量数据挖掘有趣知识过程。一般的定义是:数据挖掘是从大量、不完全、有噪声、模糊、随机的数据中抽取隐含其中,事先不为人所知、潜在、有效、新颖、有用和最终可理解知识的过程。研究人工智能学术人员和计算机技术专家通常所说数据挖掘名称各异但实质一样。自然世界数据以多种多样形式存放,除最常见数字与字符等类型,还有许多复杂数据。复杂类型数据挖掘包括:空间数据挖掘和多媒体数据挖掘,时序数据挖掘和文本数据挖掘,Web数据挖掘与流数据挖掘等。数据挖掘与传统数学统计分析有区别,数据挖掘在没有明确假设前提下自动建立方程,可采用不同类型如文本、声音、图片等的数据挖掘兴趣模式;统计数据分析工具侧重被动分析,需建立方程或模型来与假设吻合,最终面对数字化数据;数据挖掘是主动发现型与预测型数据分析工具,分析重点在于预测未来未知潜在情况并解释原因。

二、软件工程的产生与数据实用性

软件工程概念源自软件危机,20世纪60年代末的“软件危机”这个词语频繁出现计算机软件领域,泛指计算机软件开发和维护所遇到的系列严重问题。在软件开发和维护过程中的软件危机表现为软件需求的增长得不到满足,软件开发成本和进度无法控制,软件质量难保证,软件维护程度非常低,软件成本不断提高,软件开发生产率赶不上计算机硬件发展和各种应用需求增长等。软件危机产生的宏观原因是软件日益深入社会生活,软件需求增长速度超过软件生产率提高,具体软件工程任务的许多困难来源于软件工程所面临任务和其他工程之间各种差异以及软件和其他工业产品的差异,即特殊性。软件开发和维护过程存在的问题,与计算机软件本身特点有关,软件开发过程进度很难衡量,软件质量难以评价,管理和控制软件开发过程困源于:7彩论文网免费论文查重www.7ctime.com
难等。计算机软件专家认真研究解决软件危机方法,逐步形成软件工程概念,开辟工程学新领域即软件工程学。软件工程用工程、科学和数学原理与方法研制与维护计算机软件有关技术及管理的方法。
软件工程针对数据的处理具有系统的规范的系列办法。1993年IEEE(电气和电子工程师学会)给软件工程综合定义为:将系统化、规范和可度量的方法应用于软件开发、测试、运行和维护全过程,即将工程化应用于软件数据等设计中。软件工程包括方法、工具和过程三个要素,方法是完成软件工程项目技术手段;工具支持软件开发、管理与文档生成;过程支持软件开发各个环节控制与管理。软件工程的发展伴随计算机与数据等相关技术的发展而进步。

三、软件工程的知识库应用数据挖掘技术

蕴含数据的特殊软件的生命周期也是一个极其复杂演变过程,各个阶段都会产生大量软件数据。在设计文档与程序源代码,交流历史与Bug报告,软件运行日志等方面产生的大量数据,必然存在着对软件开发和维护具有重要价值的信息。如能充分利用数据挖掘技术发现这些数据隐藏的知识,可提高开发效率并避免错误,增强软件系统运行稳定性和可信性。利用数据挖掘技术处理软件产生大量数据想法在上世纪70年代就出现,但直到最近软件数据挖掘领域才受到越来越多学者关注豏。软件工程国际会议出现关于软件数据挖掘研究工作组,许多数据挖掘会议与期刊陆续出现多篇高质量与软件工程相关学术论文,软件数据挖掘已成为越来越关注热点的研究领域。
软件数据挖掘针对软件工程版本控制,设计文档及程序源代码演化历史等进行挖掘,同时,我们也可设计软件工程数据仓库来统一存储这些可利用的大量软件的数据。应用传统数据挖掘的经典算法来处理存放在软件知识库的各种数据,提取有用信息来辅助软件设计、开发与维护。会为开发人员提供有效的帮助。通过利用关联规则挖掘算法寻找那些经常被一起改变的实体如类、变量、函数、数据类型与控制语句等;或者利用关联规则挖掘源代码修改模式,挖掘存放在代码库软件修改历史模式;或者应用关联规则挖掘实体间依赖性,改进系统架构相关研究;或者通过对用户操作日志与系统运行状态日志研究,建立基于用户操作模式系统稳定性预测模型等等。
总之,软件工程数据集软件知识库包含的关于软件工程演化历史大量有价值的信息数据,为研究和利用这两类优质数据,数据挖掘技术大有可为。□ 注释:连一峰等.基于模式挖掘的用户行为异常检测.计算机学报,第25卷第3期.2002,3.毛国君等编著.数据挖掘原理与算法.清华大学出版社,2007,1.王磊.基于用户操作模式的系统稳定性研究.广西师范大学硕士论文.2009,7.