基于事件日志的软件过程挖掘方法研究
文献类型:学位论文
作者 | 阮利 |
学位类别 | 博士 |
答辩日期 | 2009-01-12 |
授予单位 | 中国科学院软件研究所 |
授予地点 | 软件研究所 |
关键词 | 软件过程挖掘 数据包络分析 软件过程时间序列分析 |
其他题名 | Research on Software Process Mining based on Event Logs |
中文摘要 | “21世纪是软件世纪(Software Century)”。随着网络和信息技术的飞速发展,作为信息技术载体的软件产品日益渗透到21世纪社会生活的各个领域。 一方面,日益增长的软件需求催使软件产业作坊式的生产模式逐步向规模化、产业化和过程化的方式转变。另一方面,随着重用、面向对象和组件等技术的进步,软件的规模、复杂度迅速提高,软件的可靠性、可扩展性和易用性等质量需求不断上升。基于“质量形成于产品生产过程”的重要理念,软件过程技术在 过去20年取得了巨大的成功。软件过程技术的成功,很大程度归功于它显示的过程建模、监控和改进理念。现有的软件过程管理系统大多由预先建立的软件过程模型所驱动,即首要前提是建模,在企业实际运用中还面临着大规模实施的困难。一方面,大量的软件组织在多年的项目实施过程中,并没有严格遵循先建模后实施再改进的规范化过程管理流程。在实施过程改进时,首要任务和主要手段就是由过程模型专家通过经验和访谈方式建立模型。因此,所建模型具有较强主观性,易出现遗漏和偏差;另一方面,为了在急剧变化的动态环境中保持竞争力,过程改进人员需要及时地监控软件过程动态运行状况并持续地进行过程改进。然而,现有分析技术执行成本高、易出错,难以适应软件过程的高动态性、演化性和不确定性等特点。针对现有软件过程技术在建模客观性和动态监控能力上的不足,软件过程挖掘技术日益成为软件过程领域的一个重要研究课题。针对现有软件过程挖掘技术在事件日志关联的任务数据挖掘和时序数据挖掘方面(主要是对具有多变元和可变规模收益特性的任务数据挖掘能力,以及时序数据趋势预测能力)的不足,本文提出了一种基于事件日志的软件过程挖掘方法。核心思想是从软件过程的实际执行的历史过程事件日志出发,挖掘出软件过程实际运行的行为模式(高性能任务、时序趋势和过程模型),为软件过程建模、监控和改进提供决策支持。本文所完成的主要工作和贡献包括: 1. 详细综述了过程挖掘技术的研究现状、发展趋势和存在问题。 对软件过程技术和软件过程挖掘技术进行了详细综述,尤其从研究团队出发对各团队在软件过程挖掘技术的研究侧重点、技术特点、贡献和工具研发情况等进行了对比分析,总结出了软件过程技术和过程挖掘技术的发展趋势和存在问题。见第二章。 2. 提出了一种基于事件日志的软件过程挖掘方法SoftProMiner。 基于对软件过程事件日志结构的分析,提出了一种基于事件日志的软件过程挖掘方法SoftProMiner。介绍了SoftProMiner的三维(任务维、时间维和 过程维)框架、挖掘流程和核心子方法(面向任务数据挖掘的askBeD和面向时序数据挖掘的SoPTSA)。见第三章。 3. 提出了一种基于数据包络分析的软件过程高性能任务挖掘方法TaskBeD。 TaskBeD是面向SoftProMiner任务维挖掘的核心子方法。针对任务数据的多变元和可变规模收益挖掘问题,把数据包络分析(DEA)方法引入到高性能任务挖掘。建立了基于DEA的任务性能评价模型、高性能任务挖掘算法、任务性能改进参考集建立算法、敏度分析算法等。见第四章。 4. 提出了一种基于ARIMAmmse的软件过程时序数据挖掘方法SoPTSA。SoPTSA是面向SoftProMiner时序维挖掘的核心子方法。总结了软件过程时序数据的特点,对现有的自回归求和移动平均(ARIMA)时序分析模型进行了改进,提出了基于ARIMAmmse的时序挖掘方法SoPTSA。介绍 了SoPTSA 时序模型、分析流程及分析算法等。见第五章。 5. 对SoftProMiner的核心子方法TaskBeD和SoPTSA进行了实例研究。对SoftProMiner,重点是其核心方法(TaskBeD和SoPTSA)进行了实例研究和结果分析。见第六章和第七章。 理论证明和实例研究结果显示:一方面,SoftProMiner有效刻画了软件过程挖掘技术的事件日志、任务、时序和过程特性,满足了实际的应用需求;另一方面,尤其是SoftProMiner 的两个核心子方法(TaskBeD 和SoPTSA),有效 地增强了现有软件过程挖掘技术对具有多变元和可变规模收益特性的任务数据挖掘和时序数据挖掘方面的能力。小结可知,基于事件日志的软件过程挖掘方法SoftProMiner为组织的软件过程建模、度量、监控和改进提供了决策支持。 |
英文摘要 | “21st century is Software Century”. With the rapid development of information technology, software products gain popularity in all fields of social lives in 21st century. On the one hand, increasing software requirements change the crafting-based software production style to process-based industrial style. On the other hand, with the progress on the reuse, object oriented and components technologies, the scale and complexity of software are increasing, together with the quality requirements of reliability and usability soaring. Based on the quality notion of“Quality is produced by the process”, software process technology achieves great achievements during the past 20 years. The success of software process technology is mainly due to its idea of explicitly process modeling, monitoring and improvement. Existing software process management systems are mostly driven by pre-defined software process model which encounters difficulties during large-scale industrial application. Firstly, many software organizations do not run their projects according to the recommended modeling-enactment-improvement process during their yearly historical projects. To perform process improvement in such organizations, the ¯rst task is to establish process models by experts' experience and interviewing. The established models tend to be subjective, prone to error and omission. On the other hand, to remain competitive in rapidly changing dynamic environments , process improvement group needs to monitor the status of software process and then improve it in a timely manner. However, the existing analysis techniques have the problems of high-cost, prone to mistakes, difficult to adapt to the high evolution and uncertainty, etc.. To coping with the shortcoming of existing software process techniques in modeling and monitoring abilities, software process mining gains increasing interest and becomes a hot topic in software process field. To deal with the problems of mining task data and time series data of existing software process mining technologies, this thesis proposes an software process mining approach named SoftProMiner based on event logs. The main work and contributions of this thesis include: 1. A survey of software process and process mining technologies is introduced. 2. A software process mining approach, SoftProMiner, based on event logs is proposed. A software process mining framework SoftProMiner based on event logs, which consists of task-dimension TaskBeD, time-dimension SoPTSA and process-dimension, is proposed. Based on the framework, a software process mining process is introduced. 3. A high performance task mining approach, TaskBeD, based on Data Envelopment Analysis is proposed. TaskBeD focuses on the task-dimension of SoftProMiner. To solve the multi-variants and variable return to scale problems of task data related to logs, Data Envelopment Analysis is applied to mine high performance tasks. Algorithms of task performance evaluation, high performance tasks mining, task reference sets establishment and sensitivity analysis based on Data Envelopment Analysis are introduced. 4. A software process time series analysis approach, SoPTSA, based on ARIMAmmse is proposed. SoPTSA focuses on the time-dimension of SoftProMiner. Software process time series models, analysis process and algorithms are introduced. 5. Case Studies on TaskBeD and SoPTSA which are the kernel of SoPTSA are performed. Based on the proposed method SoftProMiner, case studies on its kernels of TaskBeD and SoPTSA are performed to verify SoftProMiner's effectiveness. |
语种 | 中文 |
公开日期 | 2011-03-17 |
页码 | 142 |
源URL | [http://124.16.136.157/handle/311060/5582] ![]() |
专题 | 软件研究所_基础软件国家工程研究中心_学位论文 |
推荐引用方式 GB/T 7714 | 阮利. 基于事件日志的软件过程挖掘方法研究[D]. 软件研究所. 中国科学院软件研究所. 2009. |
入库方式: OAI收割
来源:软件研究所
浏览0
下载0
收藏0
其他版本
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。