论文部分内容阅读
随着软件产业的快速发展,软件工程越来越受到重视,软件需求分析是软件开发过程中非常重要的步骤,需求分析的质量对后续软件开发各阶段有着深远的影响,将直接影响整个项目进度和最终软件产品的质量。面对用户需求没有理解到位或者理解错误,变更用户需求会导致对软件以及文档的频繁变动,如何才能敏捷地获取用户故事,从用户故事中得到有价值的需求,这是敏捷需求中建立完善地、无二义性敏捷需求模型开发过程中的重点。但是在软件开发过程中,用户与需求人员、开发人员存在知识落差,用户无法将软件产品需求描述清楚,而软件项目人员对软件产品业务不熟悉,还有在软件开发过程中新增的需求,几乎所有项目都无法摆脱需求不确定性带来的影响,怎么样从用户故事中获取最有价值的需求,挖掘出客户的潜在需求,对软件成本、质量起决定性作用,所以需求分析成为软件开发过程中极其重要的首要工作。因此,面向问题框架的敏捷需求方法具有一定的理论和实际意义。问题框架(Problem Frames,PF)需求工程研究方法,是软件工程中重要的软件需求分析方法,也是需求工程重要的研究领域之一。该方法是将软件需求定义为软件系统与现实世界问题领域进行交互的集合,将软件开发过程中包含的需求看成是特定环境作用下的上下文中的问题描述,并用问题图来刻画是其软件开发过程中需求的解决方案。而敏捷需求实践的过程模型是一种新的、敏捷的、更精益而且完全可伸缩的软件需求模型过程,在这个过程中是采用用户故事卡片索引的方式记录需求,使得在敏捷开发迭代过程中能高效地开发。敏捷原则是拥抱变化,即使是在开项目开发后期,要善于利用需求变化,帮助客户获得竞争优势。在软件项目开发过程中,开发环境中需求上下文反复出现的问题通过问题图描述,进而对问题图各领域进行因果关系分析,通过问题渐变进行因果关系链路径搜索后的问题图与原子问题框架进行匹配,获取有价值的需求,在迭代过程中使得软件框架可以复用,保证软件质量,加快开发效率。本文提出基于问题框架的敏捷软件需求方法,用户故事卡片记录需求转换为用问题图的方式进行需求提取和需求分析,将敏捷方法中需求的载体用户故事墙通过辅助工具平板等移动设备成为可移动的电子故事墙,以便高效地进行需求收集和需求跟踪。同时为了解决在软件迭代开发过程出现的用户故事数量较大及用户故事难跟踪的情况,且故事墙内容太多且不易保存对跟踪用户故事造成一定的困难。该方法是将用户故事用问题图表示,工作流程首先进行问题图建模,然后对模型进行变换、拆分并与基本问题框架进行匹配,得到各子问题解决方案之后再进行问题组合。在问题图拆分过程中运用三套规则自动进行因果关系路径搜索,获取用户故事相匹配的子问题框架,对于敏捷过程中复合用户故事分解后得到优先级高的子用户故事加入迭代开发过程中。在开发完成后通过组合用户故事进行验收测试,保证软件产品的质量,采用问题框架方法进行敏捷需求建模对需求工程的发展具有重要的意义。基于问题框架敏捷需求方法,本人开发了一个问题框架建模需求拆分辅助支持工具(简称PFST工具),在其设计上着重了人机交互的设计理念,做到以用户为中心,提高工具用户可用性和增强体验性。针对实际项目中的需求用工具对敏捷需求中用户故事建模,并对用户故事问题图中各领域进行关系说明,运用工具自动设定的需求约束规则进行搜索,获取最基础的问题框架与基本子问题框架匹配,得到迭代过程中需求开发的优先级,最后进行接口验收测试,达到需求人员进行需求分析的目的及保证产品满足需求的完整性。