《一种需求变更影响的评估算法》阅读(一)

本文介绍了需求变更管理和量化评估的方法,定义了需求依赖关系的概念及其四种类型:子集依赖、完全依赖、父集依赖和回路依赖,并探讨了这些依赖关系的性质。此外,还提出了一种基于回溯法来确定需求变更依赖集的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:

1,给出需求依赖关系的依赖型式(范式);

2,回溯法——需求变更影响的量化方法;

3,需求依赖关系——设计一个可以量化评估需求变更影响的算法。

 

一、需求依赖关系

如果需求Rs发生变更,要求另一需求Rt也进行相应的变更,我们称需求Rt依赖于需求Rs,记为dep(Rs, Rt)。如果需求Rt不依赖于Rs,则记为┐dep(Rs, Rt)。其中:Rs为依赖源需求,Rt为依赖目标需求。

 

二、需求依赖关系的分类

四种:子集依赖、完全依赖、父集依赖、回路依赖。

1,子集依赖:如果任取Ra、Rb,存在Rc,使得dep(Rb, Ra) ∧ (Rc∈Rb) ∧ ┐dep((Rb-Rc), Ra),则称Ra对Rb子集依赖,记为childdep(Rb, Ra),否则为┐childdep(Rb, Ra)。

 

2,完全依赖:如果任取Ra、Rb,使得dep(Rb, Ra) ∧ ┐childdep(Rb, Ra),则称Ra对Rb完全依赖,记为fulldep(Rb, Ra)。

 

3,父集依赖:如果任取Ra、Rb,存在Rc,使得dep(Rb, Ra) ∧ (Rc∈Ra) ∧ ┐dep(Rb, (Ra-Rc)),则称Ra对Rb父集依赖,记为fardep(Rb, Ra),也就是说,在需求Ra和Rb的依赖关系中,仅Rc受到Rb需求变更的影响。

PS1:子集依赖和父集依赖的存在,可以认为是需求建模粒度过大而造成的,这种非原子性的需求模型可能掩盖了部分需求之间的精确依赖关系,同时也可能导致依赖关系对变更影响描述的不精确性和不同步性。(***,也就是说,在进行需求建模时,不仅需要保持stakeholder的需求文本的完整性,也要适当的进行细化的处理,为后来的软件设计与开发提供便利)

 

4,回路依赖:如果任取R1、R2、、Rn,使得fulldep(R1, R2) ∧ fulldep(R2, R3) ∧... ∧fulldep(Ri-1, Ri) ∧ ... ∧ fulldep(Rn-1, Rn) ∧ fulldep(Rn, R1),则称R1,R2,...Rn之间的关系为回路依赖关系,记为loopdep(R1, R2, ..., Rn)。

PS2:回路依赖关系是结构上的一种强耦合关系,它降低了模型对变化的适应能力和可复用的程度。

 

三、需求依赖关系的性质

1,依赖关系的传递性:如果任取Ra、Rb、Rc,使得fulldep(Ra, Rb) ∧ fulldep(Rb, Rc),则有fulldep(Ra, Rc),称为Rc对Ra传递依赖。

2,依赖关系的不可逆性:如果任取Ra、Rb,使得dep(Ra, Rb) ∧ ┐dep(Rb, Ra),则需求Rb的变更不会对Ra有影响。

 

四、回溯法——确定需求变更依赖集

(待续)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值