论文部分内容阅读
软件需求具有易变性,需求变更使得软件开发过程在技术、经济和管理上面临诸多问题,并被公认为软件开发风险的重要来源。需求变更的复杂性及高风险性决定需求变更管理应在软件开发过程的早期展开。本文针对软件开发的早期阶段,以风险管理的研究视角,对需求变更、软件体系结构适应性,以及需求变更对软件体系结构设计的影响等几个主要问题进行了讨论。首先,回顾了国内外对软件需求变更风险的相关研究,分析了存在的主要问题,介绍了软件需求变更风险两大理论基础—软件需求变更和变更传播分析。其次,以软件需求与设计的关系为基础,分析了需求变更的传播过程以及需求变更风险的两个维度:可能性和影响性,讨论了需求、软件体系结构和风险三者结合的软件体系结构适应性的研究框架,构建了基于QFD和DSM的需求与软件体系结构复合关系矩阵,分析了从需求变更风险角度评估软件体系结构适应性的两个方面。第三,从变更传播风险角度讨论了软件体系结构的适应性。以变更传播概率和变更影响概率为基础定义了变更传播风险,构建了基于DSM的变更传播风险分析模型,对软件体系结构内各组件的变更传播风险进行了估算和比较;通过划分运算重组了软件体系结构的设计模块,分析了不同设计模块对变更传播的影响形式。另外,根据敏感性分析结果讨论了不同组件、不同概率变化强度对软件体系结构总体变更传播风险的影响。最后,模拟了由变更导致的设计迭代对软件开发成本及工期的风险影响,实验结果表明软件体系结构的划分可以有效降低需求变更风险。第四,针对需求变更对软件体系结构的多次影响过程,从动态决策角度分析了软件体系结构的适应性。以系统动力学为基础,引入变更控制的决策变量,将需求变更对软件体系结构的多次影响过程转化为动态序列决策问题,结合条件期望和无条件期望,构建了动态需求变更成本风险评估模型。采用蒙特卡洛方法对模型进行了模拟,从“成本—风险”权衡角度解释了软件开发早期阶段、在多次需求变更影响下,不同变更控制策略组合对软件开发成本风险的影响,使得软件项目管理者从经济效益角度对软件需求变更风险有了更清楚的了解。