面向错误探测与修复决策的过程建模方法研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:lichangsong3
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
为了更迅速地响应市场需求,从而获得最大的商业价值,软件开发组织需要进行快速的迭代开发,并频繁发布产品。这种轻量级的敏捷过程强调人、过程和工具之间需要进行频繁交互。这导致软件过程所涉及的相关人员,及其所关注的内容更加复杂,过程的执行更加难于控制。得益于自动化技术的发展,设备的可靠性得到了很大的提高,这使得在过程执行中,直接由机械故障导致的事故比例越来越低。而人的操作行为造成的错误对过程的影响越来越凸显,尤其是在软件过程这一体现人的智慧的生产过程中。据Gartner称,“到2015,80%影响到关键任务服务的中断是由执行者和过程引起的”。  能够或有可能引发不期望事件的,所有人的行为或疏忽被称为错误。在过程中,一个错误的执行操作将无法按照预期把输入转换成输出,而使得步骤输出有缺陷的工作产品。软件过程执行中的错误,有的会导致直接可被识别的问题(失效),有的则会一直潜伏在过程中直到后续步骤的执行才被暴露或探测到。潜在的错误在过程中不断传递,直到某些步骤的失效而使过程偏离期望的路径,从而暴露出来。为了处理过程中发现的错误,需要额外的步骤对其进行诊断和修复。不同的错误探测和修复策略所需要的花费的时间和获得的效果也各不相同。受到时间和资源的限制,项目团队需要权衡修复方案的成本和效果来进行过程决策。  针对上述问题,本文以面向错误探测与修复的过程决策的建模分析和优化作为研究目标,从过程的决策现状分析、面向错误探测与修复的过程建模、影响分析以及决策优化四个方面展开研究。主要贡献如下:  1)调研了软件开发过程决策管理现状。软件项目开发过程中存在着多类任务,主要分为三类:满足客户和市场需求的功能开发任务;修复功能缺陷等显式错误的修复任务;移除代码臭味等潜在错误的重构任务。本研究通过问卷调研,获取人们对各类任务的认知、偏好和决策方法,并通过对比分析了解软件开发过程中不同的角色对各类任务的看法和认知的差异。结果表明,在开发过程的决策中,团队对需求开发任务和缺陷修复任务都进行了很好的规划,但是对于重构任务并没有做一致认同的决策方法;团队各类角色对重构任务的认知存在较大差异,对各类任务的优先级有不同的偏好。对于目前的过程决策,重构任务在实际过程决策中并没有得到应有的重视。研究建议在软件开发过程中需要为重构这类修复潜在缺陷的任务进行决策的支持。  2)提出了面向错误探测与修复的过程模型。建立了面向错误探测与修复过程模型,用以描述过程中的错误及其处理策略。模型包含两部分内容,即错误探测与修复活动的过程模型和过程资源的行为模型。基于滚动升级过程,给出了建模场景并介绍了过程模型中的定义。  3)提出了错误探测与修复策略对过程的影响分析和仿真模型。基于面向错误探测与修复的过程模型,利用离散事件仿真的方法,以错误的注入、影响、探测和修复为基础,建立了仿真模型,模拟过程中不同的错误探测及修复策略对过程的影响。基于云平台应用的连续部署和滚动升级过程进行案例研究,给出了仿真场景、影响分析并与实际环境中的实验结果进行比较验证。结论显示本模型可以准确地仿真错误探测及修复策略对过程执行的影响。  4)提出了软件开发过程中潜在错误修复任务的决策优化模型。利用工作产品之间的依赖关系,描述了对重构任务与其他任务之间的关系以及修复潜在错误的工作量的变化。通过对任务之间的约束及影响进行分析,建立了任务调度模型,从任务完成进度和推迟潜在错误的修复而造成的工作量的变化两个方面对过程决策进行优化。基于开源软件项目和仿真模型,对比分析了调度方法的有效性以及不同的重构决策对过程的影响。结果显示,本模型能够为项目管理者提供有效的决策方案。
其他文献
随着嵌入式系统的广泛应用,新的嵌入式设备层出不穷,为这些设备快速编写正确的驱动程序因而越来越困难。一方面,设备寄存器相关的操作代码(如:位操作代码)编写繁琐且容易出错
条码作为一种高效、快速的信息存储和传递技术,从诞生之时就受到了国际社会的关注。随着人们对条码技术的需要层次不断提高,尤其是需要在有限的面积上表示更多的信息量,二维
无线传感器网络(WSN,Wireless Sensor Network)被人们用于对所关心的场地进行监测和控制,在军事国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、反恐、危险区域远程控
当前,数据中心普遍利用虚拟化技术来提高部署灵活性、降低操作成本、提高资源利用率。虚拟机具有封装性,可以避免重复安装操作系统、中间件、应用软件等软件栈,虽然方便了数据中
随着服务逐渐向智能化和自动化发展,计算机已经渗透到人们生产和生活的各个方面,计算机中最重要的软件,协助计算机在软硬件中交互的操作系统,也受到的广泛的关注。操作系统在计算
随着网络技术的蓬勃发展,在互联网上出现了越来越多的音乐下载服务以及在线音乐播放服务,而在这背后是海量的数字音乐。一个问题是当用户在接受这些服务的时候,往往面对过多的资
传统的主存储器DRAM由于制造工艺的束缚,其集成度已经很难再攀新高。另外,DRAM又受限于能耗高等问题,给计算机系统带来了巨大的挑战。新型存储器PCM(phase change memory,相变存储
近些年来,家庭网络技术迅猛发展,多种家庭网络技术共存。由于不同家庭网络技术之间存在广泛的异构性,致使不同家庭网络的设备无法互操作。本文围绕异构家庭网络互操作问题进行了
频繁模式挖掘是许多数据挖掘问题的核心任务,并有广泛的应用。人们对数据隐私和信息安全的关注,往往限制和阻碍正常的挖掘任务。如何在基于隐私和安全考虑的环境中,很好地实施频
随着企业信息化应用的深入,大型企业产生需要将各部门的遗留系统集成为企业应用。EAI技术的出现就是用来解决企业内部的应用程序和商业过程的集成问题。由于各部门的遗留系统