一种基于问题框架的敏捷需求拆分方法技术

技术编号:17406269 阅读:21 留言:0更新日期:2018-03-07 04:23
本发明专利技术公开了一种基于问题框架的敏捷需求拆分方法,包括如下步骤:1)用户故事分解;2)用户故事建模;3)模型验证;4)模型变换;5)模型匹配;6)模型拆分。这种方法使得原始的用户故事运用问题框架方法进行建模与分析,将用户故事模型更巧妙的进行拆分、匹配,可操作性强、实用性好,有助于从大量的用户故事中提取有价值的需求,提高需求分析效率和软件的开发效率。

An agile requirement resolution method based on problem framework

The invention discloses an agile demand split method based on problem framework, including the following steps: 1) user story decomposition; 2) user story modeling; 3) model validation; 4) model transformation; 5) model matching; 6) model resolution. This method makes use of the original user story framework approach for modeling and analysis, the model of user story more ingenious split, matching, strong operability and practicability, can help to extract valuable demand from a large number of users in the story, improve development efficiency and efficiency demand analysis software.

【技术实现步骤摘要】
一种基于问题框架的敏捷需求拆分方法
本专利技术涉及需求工程领域,具体是一种基于问题框架的敏捷需求拆分方法。
技术介绍
2001年,MartinFowler,JimHighSmith等17位软件开发专家通过研究多个案例并结合软件开发管理过程发表了《敏捷宣言》,希望以此来帮助开发团队更快地响应需求变更。这个宣言首次将“敏捷”作为管理思想提了出来,并且与整体软件研发过程相结合,在软件项目管理的发展历程中具有里程碑的意义。敏捷需求工程采用用户故事卡片索引的方式记录需求,提高敏捷开发迭代过程中的开发效率。基于用户故事的验收测试,综合运用轻量的故事描述,围绕故事进行对话,在功能测试中对故事细化,使用单元测试增强对故事的验收以及测试的自动化,这些是敏捷团队在迭代过程中保证质量的秘诀。敏捷需求是通过短小的敏捷会议面对面获取,在项目开发过程中不断地迭代开发,从而交付可靠的软件系统。2003年,DanNorth提出了一种敏捷开发方法即行为驱动开发方法,Carvalho等人提出使用该方法自动校验软件产品源代码中是否完全覆盖了所有的功能需求,同时也提出了需求人员相对于文本描述的需求来说更喜欢使用图表的形式进行需求建模,并给出了一种通过UML状态图生成用户场景从而辅助该方法的设想。有研究将基于UML的敏捷需求分析模型应用于PMES系统的需求分析,以快速、准确地获取PMES系统的软件需求,但是UML仅仅是一种标准的建模语言,并没有给出统一的建模方法,敏捷分析模型有待完善。敏捷需求工程发展的过程中产生了一些敏捷需求分析方法,但是如何将敏捷需求在迭代前进行细化分析这一问题有待解决。问题框架需求工程研究方法(ProblemFrames,简称PF)最早由英国开放大学MichaelA.Jackson教授提出的,主张将软件开发过程反复出现的软件问题通过问题图描述,使得软件过程中软件框架得到复用,加快开发效率。问题框架方法是软件工程中重要的软件需求分析方法,该方法是将软件需求定义为软件系统与实现世界问题领域进行交互的集合,将软件需求视为特定环境作用下的上下文中的问题描述,实现需求所对应的软件系统就是围绕该问题进行求解的过程。不同的问题可能会有相似的子问题,这些子问题可以归入相同的一些类中去。问题框架是一种模式,它捕获并定义了普遍被发现的简单子问题的类。五个基本问题框架是需求式行为、命令式行为、信息显示、简单工件以及变换。每种基本问题框架中的问题领域具有不同的领域特性和问题涉及面,每个基本问题框架对应于问题类的一个直观的思想,有它自己的独特的要在问题分析中解决的框架关注点。问题框架方法对问题进行分析时,将一个复杂问题分解为若干功能单一的子问题,一个好的分解标识出的子问题,要比实际中的问题简单得多,我们可以逐个解决这些子问题,最后将他们组合形成整个复杂问题的解决方案。传统的敏捷需求分析中还存在一些尚未解决的难题,例如如何将敏捷需求在迭代前进行细化分析,如何将需求模型分解、检验模型的完整性等。
技术实现思路
本专利技术的目的是正对现有技术的不足,而提供一种基于问题框架的敏捷需求拆分方法。这种方法使得原始的用户故事运用问题框架方法进行建模与分析,将用户故事模型更巧妙的进行拆分、匹配,可操作性强、实用性好,有助于从大量的用户故事中提取有价值的需求,提高需求分析效率和软件的开发效率。实现本专利技术目的的技术方案是:一种基于问题框架的敏捷需求拆分方法,包括如下步骤:1)用户故事分解:根据敏捷过程中的用户故事按照业务和功能进行分解;2)用户故事建模:对步骤1)中分解后的用户故事采用问题框架方法进行建模,得到用户故事模型;3)模型验证:对步骤2)所建的用户故事模型采用问题图完整性校验规则和问题图完整性检查方法进行验证,如模型验证正确则执行步骤4);如模型验证不正确,则返回步骤2);4)模型变换:采用两种模型变换方法中的一种或两种方法将步骤2)中的用户故事模型进行变换,得到变换后的用户故事模型;5)模型匹配:按照模型匹配方法将步骤4)变换后的用户故事模型与基本问题框架相匹配,找到满足基本问题框架的路线;6)模型拆分:对步骤4)变换后的用户故事模型进行删除简化操作,只保留步骤5)中可与基本问题框架匹配的部分,得到最终子问题图,完成敏捷需求的拆分。步骤2)中所述用户故事模型为:问题框架方法通过构造问题图来对软件需求问题进行建模和描述,问题图中不同的符号和标注表示不同的含义,带有双竖线的矩形框是机器领域,表示待开发的软件系统,一个问题图中一般只有一个机器领域;不带竖线的矩形框是问题领域,表示现实世界中与机器产生交互的实体;每个问题领域都用其右下角的单个字母代码进行标注,表明它是哪种领域,其中受控制的领域用C标注,表明它是因果领域,X表示词法领域,B表示操作者;领域之间的实线表示领域接口,是共享现象的集合,实线上面的注解表示共享事件、状态和取值;连接领域的虚线矩形框是领域的属性框,代表领域的事件存在的因果关系;虚线椭圆代表用户需求,表示期望在问题领域中产生的效果,因而是对问题领域的约束或引用;带虚线的箭头链接到领域上,表示需求与问题领域之间的需求约束,规定了一些指定的关系或者约束这些关系的行为,意味着需求不仅仅引用现象,还要约束它们;需求与问题领域之间不带箭头的虚线,表示需求对现象的引用,意味着领域不能被这个需求所约束,问题图描述了通过机器构建的软件系统在问题域中产生期望的效果,使需求得到满足。步骤3)中所述问题图完整性校验规则包括同时满足的4个规则:规则(1):问题图中必须有需求即R≥1,其中R为需求的数量;规则(2):问题图中必须有且只有一个机器领域;规则(3):问题图中必须要有领域模块与需求相连,所述领域模块包括问题领域和机器领域;规则(4):问题图中必须要有需求或者问题领域与机器相连。步骤3)中所述问题图完整性检查方法为:首先获取画布上的所有元素,检查是否有需求,然后获取与需求相连的所有元素,判断是否有机器领域或者问题领域与需求相连;接着判断是否有且只有一个机器领域,并获取与机器领域的相连的所有邻居元素,最后判断是否有需求或者问题领域与机器相连。步骤4)中所述两种模型变换方法包括:方法(1):因果替换方法,即查找领域,该包括机器领域和问题领域中所有事件,如果存在因果关系,“原因”导致“结果”的产生,则可以用“结果”替换“原因”或者用“原因”替换“结果”,实现事件的因果替换;方法(2):视角转换方法,即如果连接需求的领域,该包括机器领域和问题领域和该领域相邻的领域之间的共享的事件相同,则可以把需求连接到与它的相邻领域里,实现需求视角的转换。步骤5)中所述模型匹配方法为:问题框架中每个问题领域都用其右下角的单个字母代码进行标注,表明它是哪种领域,其中受控制的领域用C标注,表明它是因果领域,X表示词法领域,B表示操作者,包括:(1)需求式行为框架匹配法:即优先查找机器领域,获取与机器领域相连的对象,检查与机器领域相连的问题领域的类型是否为C,如果是则检查类型为C的问题领域是否与需求相连,如果是则找到一条满足需求式行为框架的路线;(2)命令式行为框架匹配法:即优先查找机器领域,获取与机器领域相连的对象,检查与机器领域相连的问题领域1的类型是否为C,且与机器领域相连的问题领本文档来自技高网
...
一种基于问题框架的敏捷需求拆分方法

【技术保护点】
一种基于问题框架的敏捷需求拆分方法,其特征是,包括如下步骤:1)用户故事分解:根据敏捷过程中的用户故事按照业务和功能进行分解;2)用户故事建模:对步骤1)中分解后的用户故事采用问题框架方法进行建模,得到用户故事模型即问题图;3)模型验证:对步骤2)所建的用户故事模型采用问题图完整性校验规则和问题图完整性检查方法进行验证,如模型验证正确则执行步骤4);如模型验证不正确,则返回步骤2); 4)模型变换:采用两种模型变换方法中的一种或两种方法将步骤2)中的用户故事模型进行变换,得到变换后的用户故事模型;5)模型匹配:按照模型匹配方法将步骤4)变换后的用户故事模型与基本问题框架相匹配,找到满足基本问题框架的路线;6)模型拆分:对步骤4)变换后的用户故事模型进行删除简化操作,只保留步骤5)中可与基本问题框架匹配的部分,得到最终子问题图,完成敏捷需求的拆分。

【技术特征摘要】
1.一种基于问题框架的敏捷需求拆分方法,其特征是,包括如下步骤:1)用户故事分解:根据敏捷过程中的用户故事按照业务和功能进行分解;2)用户故事建模:对步骤1)中分解后的用户故事采用问题框架方法进行建模,得到用户故事模型即问题图;3)模型验证:对步骤2)所建的用户故事模型采用问题图完整性校验规则和问题图完整性检查方法进行验证,如模型验证正确则执行步骤4);如模型验证不正确,则返回步骤2);4)模型变换:采用两种模型变换方法中的一种或两种方法将步骤2)中的用户故事模型进行变换,得到变换后的用户故事模型;5)模型匹配:按照模型匹配方法将步骤4)变换后的用户故事模型与基本问题框架相匹配,找到满足基本问题框架的路线;6)模型拆分:对步骤4)变换后的用户故事模型进行删除简化操作,只保留步骤5)中可与基本问题框架匹配的部分,得到最终子问题图,完成敏捷需求的拆分。2.根据权利要求1所述的基于问题框架的敏捷需求拆分方法,其特征是,步骤2)中所述用户故事模型为:问题框架方法通过构造问题图来对软件需求问题进行建模和描述,问题图中不同的符号和标注表示不同的含义,带有双竖线的矩形框是机器领域,表示待开发的软件系统,一个问题图中一般只有一个机器领域;不带竖线的矩形框是问题领域,表示现实世界中与机器产生交互的实体;每个问题领域都用其右下角的单个字母代码进行标注,表明它是哪种领域,其中受控制的领域用C标注,表明它是因果领域,X表示词法领域,B表示操作者;领域之间的实线表示领域接口,是共享现象的集合,实线上面的注解表示共享事件、状态和取值;连接领域的虚线矩形框是领域的属性框,代表领域的事件存在的因果关系;虚线椭圆代表用户需求,表示期望在问题领域中产生的效果,因而是对问题领域的约束或引用;带虚线的箭头链接到领域上,表示需求与问题领域之间的需求约束,规定了一些指定的关系或者约束这些关系的行为,意味着需求不仅仅引用现象,还要约束它们;需求与问题领域之间不带箭头的虚线,表示需求对现象的引用,意味着领域不能被这个需求所约束。3.根据权利要求1所述的基于问题框架的敏捷需求拆分方法,其特征是,步骤3)中所述问题图完整性校验规则包括同时满足的4个规则:规则(1):问题图中必须有需求即R≥1,其中R为需求的数量;规则(2):问题图中必须有且只有一个机器领域;规则(3):问题图中必须要有领域模块与需求相连,所述领域模块包括问题领域和机器领域;规则(4):问题图中必须要有需求或者问题领域与机器相连。4.根据权利要求1所述的基于问题框架的敏捷需求拆分方法,其特征是,步骤3)中所述问题图完整性检查方...

【专利技术属性】
技术研发人员:李智付昌兰张晓张平赵子岩
申请(专利权)人:广西师范大学
类型:发明
国别省市:广西,45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1