论文部分内容阅读
为了快速响应市场需求的变化,越来越多的软件开发团队采用了迭代增量式的敏捷开发作为软件开发模型,其本质是在简单的开发框架下,面对产品研发的中间过程进行逐层分解式的快速反馈和控制。敏捷开发具有协同工作、共同决策、快速反馈的特点,对时间高度敏感,强调自适应性。工作流建模与管理能够对过程对象进行分析、控制和管理,使得敏捷开发能降低时间风险,在应用中体现出轻量级开发的价值和意义。本文在理论研究和案例研究(Scrum方法)基础上,采用随机Petri理论(Stochastic Petri Nets, SPN)、广义随机Petri网(Generalized Stochastic Petri Nets, GSPN)和遗传算法,以PIPE (Platform Independent Petri Net Editor)为仿真工具,设计敏捷开发工作流并对其中的反馈控制、敏捷估算、任务调度进行具体建模和分析,从控制工程来说属于流程管理和系统科学的范畴。本文主要创新点和贡献如下:(1)将敏捷开发看做为一个自适应控制系统,基于GSPN设计敏捷开发工作流,在开环模型基础上,对反馈、协调、控制部分进行逐步深入地分析、建模和优化,最后构成了具有反馈、协调和控制能力的、具有自适应特性的闭环敏捷开发工作流。(2)基于SPN对敏捷估算过程进行建模和分析,定义并分析了决策过程中的参数与影响因素,目的是为敏捷团队在团队管理、计划会议时间设定、内容设计、决策环节设计、时间控制等问题提供改进建议和决策支持。(3)将敏捷开发工作流中任务调度环节转化为资源受限项目调度问题,定义调度计划的鲁棒性,采用改进的遗传算法分别实现时间最优和鲁棒最优策略。算法特点是将资源的绝对投入量转化为相对投入量,符合工作流在敏捷开发框架下的应用——给予协作自由度。并对实例进行仿真和说明,验证了鲁棒优化策略的可执行性。提出了敏捷开发工作流执行中异常情况的反馈模型,根据实例说明了对异常情况的控制方法。最后进行总结讨论,并对工作流在敏捷开发中的研究和应用作出展望。