Page 65 - 《软件学报》2020年第11期
P. 65

康燕妮  等:软件需求变更管理的系统动力学仿真建模                                                       3381


                 processes. In this study, the system  dynamics method is first used to model the process of open source software requirements change
                 management which refers to the agile processes. Then, the models are tested to find out the errors and correct them. Next, taking the
                 Spring Framework as an empirical case study, the system dynamics simulation of the software requirement changes management process
                 of the project 3.2.x branch is carried out. According to the simulation results, the improvement of the requirement change management
                 processes is simulated.  By  comparing the baseline simulation results  with the improvement simulation results,  it shows that  all the
                 improvements effectively reduce the software defect rate and improve the software quality. In addition, based on the cost and schedule of
                 the software project, the process improvement suggestions are provided.
                 Key words:    system dynamics; agile process; open source software; software process simulation; software process improvement


                    在当前软件需求急剧增长和迅速变化的时代背景下,要求用户一次性提出所有需求且不再改变是不现实
                 的,可以说,软件需求变更的发生不可避免.然而,对于软件行业的大多数组织来说,在软件生产过程中,软件需求
                                                  [1]
                 变更的频繁发生使项目组面临重大的困难 ,需求变更给软件的进度、质量及成本等因素造成威胁                                   [2−4] ,如不能
                 对其进行有效管理,可能会给软件带来诸多负面影响,甚至造成软件失败.因此,能否对软件需求变更进行有效
                 管理,是关乎软件成功与否的重要因素之一.
                    随着软件需求变更管理研究的逐步深入,使用系统动力学方法(system dynamics,简称 SD)对软件需求变更
                 管理过程进行研究的优势逐渐显现出来.使用系统动力学方法将软件需求变更管理过程视为具有多阶反馈回
                 路的系统,从全局角度,通过因果反馈机制动态分析并预测软件需求变更产生的原因以及变更对软件进度、成
                 本以及质量造成的影响,能够帮助软件项目团队进行有效的需求变更管理,降低需求变更给软件项目带来的风
                                                        [5]
                 险,最终可以为各软件组织节约可观的时间和成本 .另外,使用系统动力学方法还可以仿真软件需求变更管理
                 过程改进.基于软件需求变更管理过程所建立的系统动力学仿真模型,是现实软件需求变更管理过程的抽象,通
                 过调整模型中的变量和方程,可以模拟现实中软件需求变更管理过程改进的一系列策略,并根据模型所得的仿
                 真结果来分析改进效果,以达到辅助软件组织进行需求变更管理过程改进的目的.故本文使用系统动力学方法
                 对需求变更管理过程进行建模分析,并对需求变更管理过程改进进行仿真.
                    当前,大多数学者基于传统软件过程模型进行软件需求变更管理系统动力学仿真研究,基于敏捷过程进行
                                [6]
                 仿真研究相对缺乏 ,而采用敏捷方法进行软件需求变更管理,可以快速、灵活且有效地进行软件需求变更管
                                                        [7]
                 理,因而是仿真研究领域一个有价值的新研究方向 .正是基于此,本文参考了敏捷过程模型作为软件需求变更
                                                                               [8]
                 管理过程的系统动力学建模基础.另外,由于开源软件面向公众开放其开发环境 ,对开源软件进行研究可以将
                                                         [9]
                 研究成果移植到软件组织项目以帮助提升软件质量 .因此,本文按照图 1 所示的 7 个步骤,基于可获取的开源
                 软件项目数据,参考敏捷过程,进行软件需求变更管理过程的系统动力学仿真建模研究.
                    •   首先,收集整理系统动力学在软件过程和软件需求变更领域的相关研究文献,对文献进行总结,为后续
                        研究工作提供基础支持.
                    •   其次,确定模型的范围以及模型需要分析的行为,抽取并标识开源软件过程关键因素,并据标识出因素
                        之间的因果关系,绘制系统动力学因果图.
                    •   并基于因果图对元素建立的定量和定性描述,建立定量的系统动力学模型,即存量-流量图.
                    •   在明确模型变量后,定义速率方程,并设置所选变量的初始值,对所建模型进行系统动力学检测,纠正发
                        现的模型错误.
                    •   在模型建立以后,以开源 Spring Framework 项目为研究案例,对其版本分支 3.2.x 的需求变更管理过程
                        进行仿真和分析,建立过程改进基线.
                    •   最后进行过程改进仿真,并对仿真结果与基线结果进行对比.根据对比分析,给出需求变更项目管理过
                        程的改进建议.
   60   61   62   63   64   65   66   67   68   69   70