1.一种需求变更波及效应分析方法,其特征在于,包括如下步骤:
S1)在软件问题分析过程中抽取需求依赖,采用需求依赖图建模需求依赖关系;
S2)使用需求追溯矩阵描述问题空间中现实世界领域、用户需求以及解空间中不同抽象层次软件制品之间的追溯关系;
S3)通过基于需求依赖图的需求依赖分析进行需求变更横向波及效应分析,识别出受需求变更影响的软件需求制品;
S4)采用基于需求追溯矩阵的矩阵运算进行需求变更纵向波及效应分析,识别受需求变更影响的软件设计制品、代码制品;
S5)将受需求变更影响的软件需求制品、设计制品以及代码制品收集起来,形成受需求变更影响的不同抽象层次软件制品集。
2.根据权利要求1所述的一种需求变更波及效应分析方法,其特征在于所述的步骤S1)包括以下步骤:S1-1)通过软件开发问题框架方法进行软件问题分析,将拟解决的软件问题分解为一组原子问题,每一个原子问题仅匹配软件开发问题框架方法中的一个问题框架;
S1-2)记录软件问题分析过程中识别的软件需求以及软件需求之间的需求依赖,所述的软件需求包括用户需求和机器规约;
S1-3)复用框架关注点知识抽取现实世界领域和软件系统之间的交互序列,得到用来描述机器规约实现的一组场景,将场景中交互序列分组形成用例,并抽取出用例与用例之间的关系;
S1-4)将不同抽象层次的软件需求及其各软件需求相互之间的需求依赖建模形成需求依赖图。
3.根据权利要求2所述的一种需求变更波及效应分析方法,其特征在于所述的步骤S1-4)中的需求依赖图,按照软件需求的抽象层次将软件需求划分为用户需求、机器规约以及用例三类,采用点划线椭圆表示软件需求,将软件需求的类型以类型标签的方式标注在点划线椭圆之中,使用带有需求依赖类型标签的虚线箭头将需求依赖关系关联的软件需求连接起来。
4.根据权利要求1所述的一种需求变更波及效应分析方法,其特征在于所述的步骤S2)采用需求追溯矩阵描述软件问题中用户需求、现实世界领域及机器规约到解空间中不同抽象层次软件制品的追溯关系,所述的需求追溯矩阵类型包括机器规约-现实世界领域追溯矩阵、机器规约-用户需求追溯矩阵、场景-机器规约追溯矩阵、用例-场景追溯矩阵、对象-用例追溯矩阵、类-对象追溯矩阵、构件-类追溯矩阵以及代码制品-构件追溯矩阵。
5.根据权利要求1所述的一种需求变更波及效应分析方法,其特征在于如果存在匿名类参与用例实现,所述的需求追溯矩阵还包括类-用例追溯矩阵。
6.根据权利要求1所述的一种需求变更波及效应分析方法,其特征在于所述的步骤S3)中的需求变更横向波及效应分析包括如下步骤:S3-1)建立受需求变更直接影响的软件需求集Rdirect_impacted={r1,r2,…,rm},m表示受需求变更直接影响软件需求的数量,建立软件系统的需求集Rsrc={r1,r2,…,rn},n表示Rsrc中软件需求的个数;
S3-2)从所述的软件需求集Rdirect_impacted={r1,r2,…,rm}中选取一个尚未分析的软件需求ri;
S3-3)在需求依赖图中标记所述的软件需求ri;
S3-4)以ri为起点沿着精化依赖关系的方向深度优先遍历需求依赖图,对所有遍历到的软件需求都进行标记,将所有被标记的软件需求归类到软件需求集Rdfs中;
S3-5)对需求依赖于软件需求集Rdfs中元素的软件需求进行标记,将被标记的软件需求都归类到软件需求集Rbfs中;
S3-6)设Rindirect_impacted为受需求变更间接影响的软件需求集,令Rindirect_impacted=Rdfs∪Rbfs;
S3-7)设Rimpacted为受需求变更影响的软件需求集,令Rimpacted=Rindirect_impacted∪Rdirect_impacted;
S3-8)将受需求变更影响的软件需求集Rimpacted中软件需求关联的软件制品都作为受需求变更影响的需求制品集AffectedArtifactreq中的元素。