一种需求变更波及效应分析方法

文档序号:6640309阅读:253来源:国知局
一种需求变更波及效应分析方法
【专利摘要】一种需求变更波及效应分析方法,属于软件开发【技术领域】,包括如下步骤:在软件问题分析过程中抽取需求依赖,采用需求依赖图建模需求依赖;使用需求追溯矩阵描述问题空间中现实世界领域、用户需求和机器规约到解空间中软件制品之间的追溯关系;通过基于需求依赖图的需求变更横向波及效应分析,识别受需求变更影响的软件需求制品;通过基于需求追溯矩阵的需求变更纵向波及效应分析,识别受需求变更影响的软件设计制品、代码制品;将需求变更影响的软件需求制品、设计制品及代码制品收集起来,形成受需求变更影响的软件制品集。优点:解决了由于未能有效界定需求变更波及效应而造成需求变更工作量难以估算、需求变更管理决策不当的问题。
【专利说明】一种需求变更波及效应分析方法

【技术领域】
[0001] 本发明属于软件开发【技术领域】,具体涉及一种需求变更波及效应分析方法,适用 于软件需求变更管理。

【背景技术】
[0002] 在软件生存周期过程中,软件需求经常发生变化。产生软件需求变更的原因很 多,包括因需求工程不充分而导致的软件需求中存在遗漏或错误、业务目标改变、软件使用 环境变化、用户或客户提出新需求等。对大多数软件项目而言,需求变更不可避免且无法预 测。为保护已有的软硬件投资市场和赢得更好的竞争优势,软件企业必须快速响应需求变 更,界定需求变更波及效应,以识别因需求变更而需要修改的软件制品,为需求变更管理决 策提供支持。
[0003] 需求变更波及效应分析要求在建模需求依赖和需求追溯关系(即软件系统与不 同抽象层次软件制品之间的跟踪关系)的前提下,先进行基于需求依赖的需求变更横向波 及效应分析以确定受需求变更影响的需求制品,然后再进行纵向波及效应分析,即沿着需 求制品向更低抽象层次软件制品的追溯关系进行深度优先搜索,确定受需求变更影响的软 件设计制品、代码制品。需求依赖的存在,导致某个软件需求制品的修改将产生软件制品修 改的连锁反应。Asa G. Dahlstedt等人提出了需求依赖分类法,但未涉及需求依赖的抽取过 程及建模方法。现有需求变更波及效应分析方法仅依靠领域专家经验抽取需求依赖,聚焦 软件系统所隶属的解空间,但较少深入到软件系统将要作用的上下文环境之中去探讨需求 依赖,未能建立问题空间要素和解空间中软件制品之间的追溯关系,难以有效界定需求变 更波及效应。软件开发问题的求解经验表明,必须在软件系统所隶属的上下文环境中解读 和描述软件需求及需求依赖。
[0004] 需求变更同时影响问题空间和解空间,需要建立问题空间元素和解空间软件制品 之间的追溯关系。问题空间代表软件系统拟解决的现实世界问题,解空间由软件开发维护 活动及其产出品构成。问题空间通常采用软件开发问题框架方法建模,使用现实世界领域 现象描述用户需求,采用问题渐变得到满足用户需求的机器规约。但是,软件开发问题框 架方法缺乏需求依赖建模的有效机制,无法图形化描述需求依赖关系。解空间则常采用 UML(英文全称为:Unified Modeling Language,中文名称为:统一建模语言)和程序设计 语言描述,形成使用UML模型表示的软件设计制品、代码制品。问题空间和解空间之间的不 同描述方式,使得难以建模问题空间元素和解空间中软件制品的追溯关系。
[0005] 通常,人们将软件生存周期过程中产生的各类软件制品划分为软件需求制品、软 件设计制品以及代码制品。其中,软件需求制品包括用户需求文档和系统需求文档。按照描 述方式不同,把系统需求文档细化为机器规约、场景以及用例模型三类,其中机器规约描述 了用户期望软件需求系统对现实世界的作用效果;场景描述了现实世界领域和软件系统之 间的交互序列;用例模型由用例图和用例文档组成,是系统需求的集中体现。软件生存周期 过程也就是软件研发人员逐步将现实世界领域现象描述的用户需求逐步转换成软件需求 制品、软件设计制品以及代码制品的过程,形成不同抽象层次软件制品之间的追溯关系。在 软件生存周期过程中,涉众提出用户需求,使用现实世界领域现象描述用户需求,说明期望 软件系统对现实世界的作用效果;软件工程师通过分析用户需求,得到用来满足用户需求 的机器规约,复用软件问题的框架关注点知识从机器规约中抽取出场景,对场景中交互序 列进行分组产生用例模型,分析用例模型以抽取出参与用例实现的对象,通过分析对象所 隶属的分类角色形成类,把类封装成良构、可复用的构件,按照构件规约开发代码制品,把 代码制品部署到计算机节点之中得到目标软件系统。为了描述软件系统中异质元素之间的 追溯关系,D.V. Stewardt提出设计结构矩阵DSM(英文全称为:Design Structure Matrix) 的概念,DSM采用矩阵方式描述软件系统中异质元素之间的追溯关系,为建模软件系统所隶 属的问题空间中元素和解空间中不同抽象层次软件制品提供工具支持。


【发明内容】

[0006] 本发明的目的在于提供一种需求变更波及效应分析方法,解决了需求变更管理过 程中由于未能有效界定需求变更波及效应而造成需求变更工作量难以估算、需求变更管理 决策不当的问题。
[0007] 本发明的目的是这样来达到的,一种需求变更波及效应分析方法,其特征在于,包 括如下步骤:
[0008] SI)在软件问题分析过程中抽取需求依赖,采用需求依赖图建模需求依赖关系;
[0009] S2)使用需求追溯矩阵描述问题空间中现实世界领域、用户需求以及解空间中不 同抽象层次软件制品之间的追溯关系;
[0010] S3)通过基于需求依赖图的需求依赖分析进行需求变更横向波及效应分析,识别 出受需求变更影响的软件需求制品;
[0011] S4)采用基于需求追溯矩阵的矩阵运算进行需求变更纵向波及效应分析,识别受 需求变更影响的软件设计制品、代码制品;
[0012] S5)将受需求变更影响的软件需求制品、设计制品以及代码制品收集起来,形成受 需求变更影响的不同抽象层次软件制品集。
[0013] 在本发明的一个具体的实施例中,所述的步骤SI)包括以下步骤:
[0014] S1-1)通过软件开发问题框架方法进行软件问题分析,将拟解决的软件问题分解 为一组原子问题,每一个原子问题仅匹配软件开发问题框架方法中的一个问题框架;
[0015] S1-2)记录软件问题分析过程中识别的软件需求以及软件需求之间的需求依赖, 所述的软件需求包括用户需求和机器规约;
[0016] S1-3)复用框架关注点知识抽取现实世界领域和软件系统之间的交互序列,得到 用来描述机器规约实现的一组场景,将场景中交互序列分组形成用例,并抽取出用例与用 例之间的关系;
[0017] S1-4)将不同抽象层次的软件需求及其各软件需求相互之间的需求依赖建模形成 需求依赖图。
[0018] 在本发明的另一个具体的实施例中,所述的步骤S1-4)中的需求依赖图,按照软 件需求的抽象层次将软件需求划分为用户需求、机器规约以及用例三类,采用点划线椭圆 表示软件需求,将软件需求的类型以类型标签的方式标注在点划线椭圆之中,使用带有需 求依赖类型标签的虚线箭头将需求依赖关系关联的软件需求连接起来。
[0019] 在本发明的又一个具体的实施例中,所述的步骤S2)采用需求追溯矩阵描述软件 问题中用户需求、现实世界领域及机器规约到解空间中不同抽象层次软件制品的追溯关 系,所述的需求追溯矩阵类型包括机器规约-现实世界领域追溯矩阵、机器规约-用户需求 追溯矩阵、场景-机器规约追溯矩阵、用例-场景追溯矩阵、对象-用例追溯矩阵、类-对象 追溯矩阵、构件-类追溯矩阵以及代码制品-构件追溯矩阵。
[0020] 在本发明的再一个具体的实施例中,如果存在匿名类参与用例实现,所述的需求 追溯矩阵还包括类-用例追溯矩阵。
[0021] 在本发明的还有一个具体的实施例中,所述的步骤S3)中的需求变更横向波及效 应分析包括如下步骤:
[0022] S3-1)建立受需求变更直接影响的软件需求集Rdirat_impac;ted= {r ^ r2,…,rm},m表 示受需求变更直接影响软件需求的数量,建立软件系统的需求集R slx= Ir p r2,…,rn},η 表示Rsrc中软件需求的个数;
[0023] S3-2)从所述的软件需求集Rdil^impaeted= {r ρ r2,…,rm}中选取一个尚未分析的 软件需求A;
[0024] S3-3)在需求依赖图中标记所述的软件需求ri;
[0025] S3-4)以&为起点沿着精化依赖关系的方向深度优先遍历需求依赖图,对所有遍 历到的软件需求都进行标记,将所有被标记的软件需求归类到软件需求集R dfs中;
[0026] S3-5)对需求依赖于软件需求集Rdfs中元素的软件需求进行标记,将被标记的软 件需求都归类到软件需求集R bfs中;
[0027] S3-6)设Rindirat _。^为受需求变更间接影响的软件需求集,令R indi_t im_d= RdfsU R bfs!
[0028] S3-7)设Rimpaeted为受需求变更影响的软件需求集,令R impacted R indirect+ I J η β impacted ^ 八 direct_impacted,
[0029] S3-8)将受需求变更影响的软件需求集Rimpac^d中软件需求关联的软件制品都作为 受需求变更影响的需求制品集AffectedArtifact rai中的元素。
[0030] 本发明将机器规约作为用例建模的出发点,把用例建模引入到软件问题解析图之 中,在软件问题求解过程中建模需求依赖,使用需求依赖图表述需求依赖,采用需求追溯矩 阵建立问题空间元素到解空间中不同抽象层次软件制品之间的追溯关系,基于需求依赖图 和需求追溯矩阵进行需求变更波及效应分析,能够识别出因需求变更而需要更新的软件制 品,解决了需求变更管理过程中由于未能有效界定需求变更波及效应而造成需求变更工作 量难以估算、需求变更管理决策不当的问题,为需求变更管理决策提供方法支持。

【专利附图】

【附图说明】
[0031] 图1为本发明的实施流程示意图。
[0032] 图2为本发明所述的需求依赖图。
[0033] 图3为本发明所述的需求依赖建模实施示意图。
[0034] 图4为本发明所述的需求变更波及效应分析过程示意图。
[0035] 图5为本发明所述的不同抽象层次软件制品之间的追溯关系示意图。

【具体实施方式】
[0036] 为了使公众能充分了解本发明的技术实质和实施效果, 申请人:将在下面结合附图 对本发明的【具体实施方式】详细描述,但 申请人:对实施例的描述不是对技术方案的限制,任 何依据本发明构思作形式而非实质的变化都应当视为本发明的保护范围。
[0037] 请参阅图1,本发明涉及一种需求变更波及效应分析方法,包括如下步骤:
[0038] SI)在软件问题分析过程中抽取需求依赖,采用需求依赖图建模需求依赖关系;
[0039] S2)使用需求追溯矩阵描述软件问题中用户需求、现实世界领域及机器规约到解 空间中不同抽象层次软件制品的追溯关系,所述的需求追溯矩阵类型包括机器规约-现实 世界领域追溯矩阵、机器规约-用户需求追溯矩阵、场景-机器规约追溯矩阵、用例-场景 追溯矩阵、对象-用例追溯矩阵、类-对象追溯矩阵、构件-类追溯矩阵以及代码制品-构件 追溯矩阵,如果存在匿名类参与用例实现,所述的需求追溯矩阵还包括类-用例追溯矩阵;
[0040] S3)通过基于需求依赖图的需求依赖分析实现需求变更横向波及效应分析,识别 出受需求变更影响的软件需求制品;
[0041] S4)采用基于需求追溯矩阵的矩阵运算实现需求变更纵向波及效应分析,识别受 需求变更影响的软件设计制品、代码制品;
[0042] S5)将受需求变更影响的软件需求制品、设计制品以及代码制品整合,形成受需求 变更影响的不同抽象层次软件制品集。
[0043] 所述的步骤SI)又包括如下步骤:
[0044] S1-1)通过软件开发问题框架方法进行软件问题分析,将拟解决的软件问题分解 为一组原子问题,每一个原子问题仅匹配软件开发问题框架方法中的一个问题框架;
[0045] S1-2)记录软件问题分析过程中识别的软件需求以及软件需求之间的需求依赖, 所述的软件需求包括用户需求和机器规约;
[0046] S1-3)复用框架关注点知识抽取现实世界领域和软件系统之间的交互序列,得到 用来描述机器规约实现的一组场景,将场景中交互序列分组形成用例,并抽取出用例与用 例之间的关系;
[0047] S1-4)将不同抽象层次的软件需求及其各软件需求相互之间的需求依赖建模,形 成需求依赖图。
[0048] 首先,对需求依赖抽取与建模作进一步说明,所述的需求依赖根源于软件系统将 要作用的现实世界,抽取和建模需求依赖需要深入问题空间,在软件问题解析过程中识别 并描述需求依赖。面向问题的软件工程POSE (Problem Oriented Software Engineering) 总结了软件问题分析经验,形成软件问题解析模式(interpretation schemas),包括上下 文角军析(context interpretation)、需求角军析(requirements interpretation)、软件问题 分角军(solution interpretation)以及问题渐变(progression interpretation),分别用 来界定软件问题的上下文,把用户需求和上下文环境相关联以明确软件问题的结构,把拟 解决的软件问题分解为多个子问题后进行问题渐变得到机器规约,将现实世界领域现象描 述的用户需求转换为使用机器规约表述的系统需求。机器规约将软件问题空间和软件系统 隶属的解空间关联起来,作为用例建模的出发点。本发明将机器规约作为用例建模的出发 点,把用例建模引入到软件问题解析图之中,将用例建模视为一种典型的软件问题解析模 式,在软件问题求解过程中建模需求依赖,采用软件问题解析图描述需求依赖分析过程,使 用需求依赖图表述需求依赖。
[0049] 请参阅图2,给出了一需求依赖图示例,所述的需求依赖图按照软件需求的抽象层 次将软件需求划分为用户需求、机器规约以及用例三类,采用点划线椭圆表示软件需求,将 软件需求的类型以类型标签的方式标注在点划线椭圆之中,使用带有需求依赖类型标签的 虚线箭头将需求依赖关系关联的软件需求进行连接。图中,《UR》类型标签表示用户需求; 《MS》类型标签表示机器规约;《UC》类型标签表示用例;带有《explains》标签的虚线箭头 表示精化依赖,带有《requires》标签的虚线箭头表示要求依赖。
[0050] 请参阅图3,给出了图2所示需求依赖图具体的建模过程,Pnull表示软件问题分析 的起点,上下文解析将软件问题关联的上下文环境引入P null*,将明确了上下文环境的软 件问题记作Ptl;需求解析将软件问题中的用户需求UR 1与该软件上下文环境相关联,将转换 后得到的软件问题记作P1;对P :进行软件问题解析得到三个原子问题,分别记作P 2、己和 P4,与之对应的,软件问题解析将呢精化为用户需求UR 2、UR3和UR 4;分别对P 2、P3和P 4进 行问题渐变,得到仅仅使用机器现象描述的软件需求(即机器规约),将用来解决P2、己和 P4的机器规约分别记作MS i、MS#P MS 3;复用框架关注点知识,从机器规约MS i中抽取出参与 机器与现实世界领域的交互序列,将这些交互序列分组形成用例UCJP UC 2,记录用例UCJP 用例此2之间的要求依赖(假设UC JP UC 2之间存在要求依赖),然后,采用对机器规约MS i 实施的分析过程来分析机器规约MSJP MS 3,由此得到用例UC3、UC4以及UC 5。最后,将软件 问题分析过程中抽取的不同抽象层次的软件需求以及这些软件需求相互之间的需求依赖 进行需求依赖建模,从而产生如图2所示的需求依赖图。
[0051] 接着,对需求追溯关系建模作进一步说明。本发明采用需求追溯矩阵描述问题空 间中软件需求、现实世界领域及机器规约到解空间中软件制品之间的追溯关系。为了降低 需求变更管理的复杂性,仅建立软件问题解析得到的原子问题中现实世界领域、用户需求 及机器规约到解空间中不同抽象层次软件制品的追溯关系。本实施例要求建立的需求追 溯矩阵类型包括机器规约-现实世界领域追溯矩阵、机器规约-用户需求追溯矩阵、场 景-机器规约追溯矩阵、用例-场景追溯矩阵、对象-用例追溯矩阵、类-对象追溯矩阵、构 件-类追溯矩阵以及代码制品-构件追溯矩阵。本实施例的需求追溯矩阵定义如下:
[0052] 设P = (P1,…,Pj为软件问题空间中原子问题的集合,D = W1,…,dm}表示现实 世界领域的集合,M = Im1,表示用来解决原子问题的机器规约集,S = (S1,…,sn}表 示复用框架关注点知识得到的场景集,UR = Iur1,…,ur。}表示原子问题中的用户需求,UC =Iuc1,…,ucp}表示用例集,0 = Io1,…,oq}表示参与用例实现的对象集,C = Ic1,…,cj 表示参与用例实现的对象所隶属的分类角色(类)集,Comp = Icomp1, "^compJ表示将类 封装形成可复用单元后得到的构件集,A= {ai,…,at}表示实现构件规约的代码制品集,其 中,111、11、〇、口、9、1'、8、1:£11^为自然数。
[0053] 定义 1 :设 i e [1,…,n], j e [1,…,m],定义 Mm-d= (mmd(i,j)),其中 mm-d(i,j)表示 机器Hii和现实世界领域d」之间的共享现象情况,并且
[0054]

【权利要求】
1. 一种需求变更波及效应分析方法,其特征在于,包括如下步骤: 51) 在软件问题分析过程中抽取需求依赖,采用需求依赖图建模需求依赖关系; 52) 使用需求追溯矩阵描述问题空间中现实世界领域、用户需求W及解空间中不同抽 象层次软件制品之间的追溯关系; 53) 通过基于需求依赖图的需求依赖分析进行需求变更横向波及效应分析,识别出受 需求变更影响的软件需求制品; 54) 采用基于需求追溯矩阵的矩阵运算进行需求变更纵向波及效应分析,识别受需求 变更影响的软件设计制品、代码制品; 55) 将受需求变更影响的软件需求制品、设计制品W及代码制品收集起来,形成受需求 变更影响的不同抽象层次软件制品集。
2. 根据权利要求1所述的一种需求变更波及效应分析方法,其特征在于所述的步骤 51) 包括W下步骤: S1-1)通过软件开发问题框架方法进行软件问题分析,将拟解决的软件问题分解为一 组原子问题,每一个原子问题仅匹配软件开发问题框架方法中的一个问题框架; S1-2)记录软件问题分析过程中识别的软件需求W及软件需求之间的需求依赖,所述 的软件需求包括用户需求和机器规约; S1-3)复用框架关注点知识抽取现实世界领域和软件系统之间的交互序列,得到用来 描述机器规约实现的一组场景,将场景中交互序列分组形成用例,并抽取出用例与用例之 间的关系; S1-4)将不同抽象层次的软件需求及其各软件需求相互之间的需求依赖建模形成需求 依赖图。
3. 根据权利要求2所述的一种需求变更波及效应分析方法,其特征在于所述的步骤 S1-4)中的需求依赖图,按照软件需求的抽象层次将软件需求划分为用户需求、机器规约W 及用例H类,采用点划线楠圆表示软件需求,将软件需求的类型W类型标签的方式标注在 点划线楠圆之中,使用带有需求依赖类型标签的虚线箭头将需求依赖关系关联的软件需求 连接起来。
4. 根据权利要求1所述的一种需求变更波及效应分析方法,其特征在于所述的步骤 52) 采用需求追溯矩阵描述软件问题中用户需求、现实世界领域及机器规约到解空间中不 同抽象层次软件制品的追溯关系,所述的需求追溯矩阵类型包括机器规约-现实世界领域 追溯矩阵、机器规约-用户需求追溯矩阵、场景-机器规约追溯矩阵、用例-场景追溯矩阵、 对象-用例追溯矩阵、类-对象追溯矩阵、构件-类追溯矩阵W及代码制品-构件追溯矩阵。
5. 根据权利要求1所述的一种需求变更波及效应分析方法,其特征在于如果存在匿名 类参与用例实现,所述的需求追溯矩阵还包括类-用例追溯矩阵。
6. 根据权利要求1所述的一种需求变更波及效应分析方法,其特征在于所述的步骤 53) 中的需求变更横向波及效应分析包括如下步骤: S3-1)建立受需求变更直接影响的软件需求集Rdire心inBMeted=bi,T2,…,r。},m表示 受需求变更直接影响软件需求的数量,建立软件系统的需求集R,te=Iri,r2,…,rj,n表 示Rsr。中软件需求的个数; S3-2)从所述的软件需求集RditeetJnBMeted= {ri,r2,…,r。}中选取一个尚未分析的软件 需求ri; S3-3)在需求依赖图中标记所述的软件需求r;; S3-4)Wr;为起点沿着精化依赖关系的方向深度优先遍历需求依赖图,对所有遍历到 的软件需求都进行标记,将所有被标记的软件需求归类到软件需求集Rdfs中; S3-5)对需求依赖于软件需求集Rdh中元素的软件需求进行标记,将被标记的软件需 求都归类到软件需求集Rbfs中; S3-6)设Rhdireetjmpaeted为雙需求变更间接影响的软件需求集,令R iWireetJmpaeted二 R肚sU Rbfs; S3-7)设Rimp。。,。,为受需求变更影响的软件需求集,令R impacted民indirect_impacted U民direct_ impacted> S3-8)将受需求变更影响的软件需求集Rimpdeted中软件需求关联的软件制品都作为受需 求变更影响的需求制品集AffectedArtifactfgq中的元素。
【文档编号】G06F9/44GK104461572SQ201410833360
【公开日】2015年3月25日 申请日期:2014年12月29日 优先权日:2014年12月29日
【发明者】董瑞志 申请人:常熟理工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1