论文部分内容阅读
作为软件工程中的核心要素之一的软件过程技术,近年来如雨后春笋般发展,出现了诸如著名的瀑布模型、增量模型、螺旋模型、极限模型等,这些过程的出现为软件项目的开发起到了重要的指导作用。然而随着市场竞争的越发激烈,软件规模的不断扩大,消耗了大量人力、物力、财力的软件项目却日益经不起进度、成本的压力,发布的推延、项目的夭折、竞争力的流失成了软件企业杀手。学者们开始思考,传统的软件过程遇到了什么问题。Barry Boehm等人认为:是价值中立的思想导致了软件企业生产出了不符合人们需要的软件产品。由此,基于价值的软件工程孕育而生,作为软件工程的核心要素的软件过程自然也出现了“价值优先”的版本。
基于价值的软件质量保证模型(Value-Based Software Quality Assurance,VBSQA)是基于价值的软件过程中较有代表性的一个,它统筹考虑了参与过程的各个涉众(stakeholders)、过程间的决策、成本、质量属性冲突平衡、投资回报率(Return OnInvestment)等多种重要因素,通过过程仿真来为项目管理者提供活动计划建议,使最终的产品能满足多赢的软件质量需求。在这种情况下,对VBSQA框架的继续研究与完善是在基于价值的软件过程领域中的一个较有前景的方向。然而,目前对VBSQA框架的研究还不够完善,工作的重点偏向了VBSQA过程建模,而导致了过程模型只体现出了流程上的特征,对价值的表达较少。其后果就是无法在建立的模型上直接进行价值评估,导致了模型只成为过程的空架子,实用性较低。
基于以上分析,本文的工作动机就是针对上述问题,试图提出一种统一的模型与方法对VBSQA过程进行建模与价值定量分析。前人的工作已经显示:对象Petri网对VBSQA过程具有良好的表达能力,且Petri网是一种数学工具,具有可扩展性。本文以前人的工作为依据,拟采用Petri技术作为基础。具体来说,本文的主要研究成果如下:
·为了增加对象Petri网的定量分析能力,提出随机对象Petri网(Stochastic Object PetriNets,简称SOPN)模型,它是对象Petri网(OPN)与随机Petri网(SPN)的子类。该模型是为基于价值的软件过程的价值评估提供数学理论基础。它既有对软件过程的建模表达能力,又有对动态系统或者离散事件系统的分析能力。另外,我们还证明了SOPN与SPN的等价性,从而可以使用马尔可夫理论对SOPN模型进行定量分析。
·为了解决软件过程复杂度的提高导致价值定量分析的难度骤增的问题,提出了针对SOPN的状态空间压缩方法以及与之相关的结构定义,如对象网的可约子网、等延时间替代等,在一定程度上帮助解决使用SOPN时出现的状态空间庞大的问题。通过实验展示了状态空间压缩后定量分析结果(近似解)与原始值(精确解)之间的误差,并分析了产出误差的原因以及在何种条件下压缩后仍然是精确解。
·为了引入VBSQA软件过程的价值相关因素,在SOPN的基础上提出了基于决策的随机对象Petri网(Decision-Based Stochastic Object Petri Nets,DBSOPN),该模型专门用于VBSQA框架的建模与价值评估分析。
·提出了价值评估函数对DBSOPN建立的软件过程模型进行价值评估,这个函数考虑到了VBSQA过程中各个涉众的重要性(即权重)、项目活动上选取的决策、不同决策所体现的活动成本与进度的变化、项目总进度的变化对最终产品的市场价值的影响等因素。每次价值评估都是针对每一组决策集,不同决策集导致不同的价值结果。对多个决策进行评估后进行权衡分析,最终得出最佳决策。