CN104461572A - 一种需求变更波及效应分析方法 - Google Patents

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

Info

Publication number
CN104461572A
CN104461572A CN201410833360.XA CN201410833360A CN104461572A CN 104461572 A CN104461572 A CN 104461572A CN 201410833360 A CN201410833360 A CN 201410833360A CN 104461572 A CN104461572 A CN 104461572A
Authority
CN
China
Prior art keywords
demand
software
requirement
matrix
software requirement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410833360.XA
Other languages
English (en)
Other versions
CN104461572B (zh
Inventor
董瑞志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changshu Institute of Technology
Original Assignee
Changshu Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changshu Institute of Technology filed Critical Changshu Institute of Technology
Priority to CN201410833360.XA priority Critical patent/CN104461572B/zh
Publication of CN104461572A publication Critical patent/CN104461572A/zh
Application granted granted Critical
Publication of CN104461572B publication Critical patent/CN104461572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

一种需求变更波及效应分析方法
技术领域
本发明属于软件开发技术领域,具体涉及一种需求变更波及效应分析方法,适用于软件需求变更管理。
背景技术
在软件生存周期过程中,软件需求经常发生变化。产生软件需求变更的原因很多,包括因需求工程不充分而导致的软件需求中存在遗漏或错误、业务目标改变、软件使用环境变化、用户或客户提出新需求等。对大多数软件项目而言,需求变更不可避免且无法预测。为保护已有的软硬件投资市场和赢得更好的竞争优势,软件企业必须快速响应需求变更,界定需求变更波及效应,以识别因需求变更而需要修改的软件制品,为需求变更管理决策提供支持。
需求变更波及效应分析要求在建模需求依赖和需求追溯关系(即软件系统与不同抽象层次软件制品之间的跟踪关系)的前提下,先进行基于需求依赖的需求变更横向波及效应分析以确定受需求变更影响的需求制品,然后再进行纵向波及效应分析,即沿着需求制品向更低抽象层次软件制品的追溯关系进行深度优先搜索,确定受需求变更影响的软件设计制品、代码制品。需求依赖的存在,导致某个软件需求制品的修改将产生软件制品修改的连锁反应。Asa G.Dahlstedt等人提出了需求依赖分类法,但未涉及需求依赖的抽取过程及建模方法。现有需求变更波及效应分析方法仅依靠领域专家经验抽取需求依赖,聚焦软件系统所隶属的解空间,但较少深入到软件系统将要作用的上下文环境之中去探讨需求依赖,未能建立问题空间要素和解空间中软件制品之间的追溯关系,难以有效界定需求变更波及效应。软件开发问题的求解经验表明,必须在软件系统所隶属的上下文环境中解读和描述软件需求及需求依赖。
需求变更同时影响问题空间和解空间,需要建立问题空间元素和解空间软件制品之间的追溯关系。问题空间代表软件系统拟解决的现实世界问题,解空间由软件开发维护活动及其产出品构成。问题空间通常采用软件开发问题框架方法建模,使用现实世界领域现象描述用户需求,采用问题渐变得到满足用户需求的机器规约。但是,软件开发问题框架方法缺乏需求依赖建模的有效机制,无法图形化描述需求依赖关系。解空间则常采用UML(英 文全称为:Unified Modeling Language,中文名称为:统一建模语言)和程序设计语言描述,形成使用UML模型表示的软件设计制品、代码制品。问题空间和解空间之间的不同描述方式,使得难以建模问题空间元素和解空间中软件制品的追溯关系。
通常,人们将软件生存周期过程中产生的各类软件制品划分为软件需求制品、软件设计制品以及代码制品。其中,软件需求制品包括用户需求文档和系统需求文档。按照描述方式不同,把系统需求文档细化为机器规约、场景以及用例模型三类,其中机器规约描述了用户期望软件需求系统对现实世界的作用效果;场景描述了现实世界领域和软件系统之间的交互序列;用例模型由用例图和用例文档组成,是系统需求的集中体现。软件生存周期过程也就是软件研发人员逐步将现实世界领域现象描述的用户需求逐步转换成软件需求制品、软件设计制品以及代码制品的过程,形成不同抽象层次软件制品之间的追溯关系。在软件生存周期过程中,涉众提出用户需求,使用现实世界领域现象描述用户需求,说明期望软件系统对现实世界的作用效果;软件工程师通过分析用户需求,得到用来满足用户需求的机器规约,复用软件问题的框架关注点知识从机器规约中抽取出场景,对场景中交互序列进行分组产生用例模型,分析用例模型以抽取出参与用例实现的对象,通过分析对象所隶属的分类角色形成类,把类封装成良构、可复用的构件,按照构件规约开发代码制品,把代码制品部署到计算机节点之中得到目标软件系统。为了描述软件系统中异质元素之间的追溯关系,D.V.Stewardt提出设计结构矩阵DSM(英文全称为:Design Structure Matrix)的概念,DSM采用矩阵方式描述软件系统中异质元素之间的追溯关系,为建模软件系统所隶属的问题空间中元素和解空间中不同抽象层次软件制品提供工具支持。
发明内容
本发明的目的在于提供一种需求变更波及效应分析方法,解决了需求变更管理过程中由于未能有效界定需求变更波及效应而造成需求变更工作量难以估算、需求变更管理决策不当的问题。
本发明的目的是这样来达到的,一种需求变更波及效应分析方法,其特征在于,包括如下步骤:
S1)在软件问题分析过程中抽取需求依赖,采用需求依赖图建模需求依赖关系;
S2)使用需求追溯矩阵描述问题空间中现实世界领域、用户需求以及解空间中不同抽象层次软件制品之间的追溯关系;
S3)通过基于需求依赖图的需求依赖分析进行需求变更横向波及效应分析,识别出受 需求变更影响的软件需求制品;
S4)采用基于需求追溯矩阵的矩阵运算进行需求变更纵向波及效应分析,识别受需求变更影响的软件设计制品、代码制品;
S5)将受需求变更影响的软件需求制品、设计制品以及代码制品收集起来,形成受需求变更影响的不同抽象层次软件制品集。
在本发明的一个具体的实施例中,所述的步骤S1)包括以下步骤:
S1-1)通过软件开发问题框架方法进行软件问题分析,将拟解决的软件问题分解为一组原子问题,每一个原子问题仅匹配软件开发问题框架方法中的一个问题框架;
S1-2)记录软件问题分析过程中识别的软件需求以及软件需求之间的需求依赖,所述的软件需求包括用户需求和机器规约;
S1-3)复用框架关注点知识抽取现实世界领域和软件系统之间的交互序列,得到用来描述机器规约实现的一组场景,将场景中交互序列分组形成用例,并抽取出用例与用例之间的关系;
S1-4)将不同抽象层次的软件需求及其各软件需求相互之间的需求依赖建模形成需求依赖图。
在本发明的另一个具体的实施例中,所述的步骤S1-4)中的需求依赖图,按照软件需求的抽象层次将软件需求划分为用户需求、机器规约以及用例三类,采用点划线椭圆表示软件需求,将软件需求的类型以类型标签的方式标注在点划线椭圆之中,使用带有需求依赖类型标签的虚线箭头将需求依赖关系关联的软件需求连接起来。
在本发明的又一个具体的实施例中,所述的步骤S2)采用需求追溯矩阵描述软件问题中用户需求、现实世界领域及机器规约到解空间中不同抽象层次软件制品的追溯关系,所述的需求追溯矩阵类型包括机器规约-现实世界领域追溯矩阵、机器规约-用户需求追溯矩阵、场景-机器规约追溯矩阵、用例-场景追溯矩阵、对象-用例追溯矩阵、类-对象追溯矩阵、构件-类追溯矩阵以及代码制品-构件追溯矩阵。
在本发明的再一个具体的实施例中,如果存在匿名类参与用例实现,所述的需求追溯矩阵还包括类-用例追溯矩阵。
在本发明的还有一个具体的实施例中,所述的步骤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中的元素。
本发明将机器规约作为用例建模的出发点,把用例建模引入到软件问题解析图之中,在软件问题求解过程中建模需求依赖,使用需求依赖图表述需求依赖,采用需求追溯矩阵建立问题空间元素到解空间中不同抽象层次软件制品之间的追溯关系,基于需求依赖图和需求追溯矩阵进行需求变更波及效应分析,能够识别出因需求变更而需要更新的软件制品,解决了需求变更管理过程中由于未能有效界定需求变更波及效应而造成需求变更工作量难以估算、需求变更管理决策不当的问题,为需求变更管理决策提供方法支持。
附图说明
图1为本发明的实施流程示意图。
图2为本发明所述的需求依赖图。
图3为本发明所述的需求依赖建模实施示意图。
图4为本发明所述的需求变更波及效应分析过程示意图。
图5为本发明所述的不同抽象层次软件制品之间的追溯关系示意图。
具体实施方式
为了使公众能充分了解本发明的技术实质和实施效果,申请人将在下面结合附图对本发明的具体实施方式详细描述,但申请人对实施例的描述不是对技术方案的限制,任何依据本发明构思作形式而非实质的变化都应当视为本发明的保护范围。
请参阅图1,本发明涉及一种需求变更波及效应分析方法,包括如下步骤:
S1)在软件问题分析过程中抽取需求依赖,采用需求依赖图建模需求依赖关系;
S2)使用需求追溯矩阵描述软件问题中用户需求、现实世界领域及机器规约到解空间中不同抽象层次软件制品的追溯关系,所述的需求追溯矩阵类型包括机器规约-现实世界领域追溯矩阵、机器规约-用户需求追溯矩阵、场景-机器规约追溯矩阵、用例-场景追溯矩阵、对象-用例追溯矩阵、类-对象追溯矩阵、构件-类追溯矩阵以及代码制品-构件追溯矩阵,如果存在匿名类参与用例实现,所述的需求追溯矩阵还包括类-用例追溯矩阵;
S3)通过基于需求依赖图的需求依赖分析实现需求变更横向波及效应分析,识别出受需求变更影响的软件需求制品;
S4)采用基于需求追溯矩阵的矩阵运算实现需求变更纵向波及效应分析,识别受需求变更影响的软件设计制品、代码制品;
S5)将受需求变更影响的软件需求制品、设计制品以及代码制品整合,形成受需求变更影响的不同抽象层次软件制品集。
所述的步骤S1)又包括如下步骤:
S1-1)通过软件开发问题框架方法进行软件问题分析,将拟解决的软件问题分解为一组原子问题,每一个原子问题仅匹配软件开发问题框架方法中的一个问题框架;
S1-2)记录软件问题分析过程中识别的软件需求以及软件需求之间的需求依赖,所述的软件需求包括用户需求和机器规约;
S1-3)复用框架关注点知识抽取现实世界领域和软件系统之间的交互序列,得到用来描述机器规约实现的一组场景,将场景中交互序列分组形成用例,并抽取出用例与用例之间的关系;
S1-4)将不同抽象层次的软件需求及其各软件需求相互之间的需求依赖建模,形成需求依赖图。
首先,对需求依赖抽取与建模作进一步说明,所述的需求依赖根源于软件系统将要作用的现实世界,抽取和建模需求依赖需要深入问题空间,在软件问题解析过程中识别并描述需求依赖。面向问题的软件工程POSE(Problem Oriented Software Engineering)总结了软件问题分析经验,形成软件问题解析模式(interpretation schemas),包括上下文解析(context interpretation)、需求解析(requirements interpretation)、软件问题分解(solution interpretation)以及问题渐变(progression interpretation),分别用来界定软件问题的上下文, 把用户需求和上下文环境相关联以明确软件问题的结构,把拟解决的软件问题分解为多个子问题后进行问题渐变得到机器规约,将现实世界领域现象描述的用户需求转换为使用机器规约表述的系统需求。机器规约将软件问题空间和软件系统隶属的解空间关联起来,作为用例建模的出发点。本发明将机器规约作为用例建模的出发点,把用例建模引入到软件问题解析图之中,将用例建模视为一种典型的软件问题解析模式,在软件问题求解过程中建模需求依赖,采用软件问题解析图描述需求依赖分析过程,使用需求依赖图表述需求依赖。
请参阅图2,给出了一需求依赖图示例,所述的需求依赖图按照软件需求的抽象层次将软件需求划分为用户需求、机器规约以及用例三类,采用点划线椭圆表示软件需求,将软件需求的类型以类型标签的方式标注在点划线椭圆之中,使用带有需求依赖类型标签的虚线箭头将需求依赖关系关联的软件需求进行连接。图中,《UR》类型标签表示用户需求;《MS》类型标签表示机器规约;《UC》类型标签表示用例;带有《explains》标签的虚线箭头表示精化依赖,带有《requires》标签的虚线箭头表示要求依赖。
请参阅图3,给出了图2所示需求依赖图具体的建模过程,Pnull表示软件问题分析的起点,上下文解析将软件问题关联的上下文环境引入Pnull中,将明确了上下文环境的软件问题记作P0;需求解析将软件问题中的用户需求UR1与该软件上下文环境相关联,将转换后得到的软件问题记作P1;对P1进行软件问题解析得到三个原子问题,分别记作P2、P3和P4,与之对应的,软件问题解析将UR1精化为用户需求UR2、UR3和UR4;分别对P2、P3和P4进行问题渐变,得到仅仅使用机器现象描述的软件需求(即机器规约),将用来解决P2、P3和P4的机器规约分别记作MS1、MS2和MS3;复用框架关注点知识,从机器规约MS1中抽取出参与机器与现实世界领域的交互序列,将这些交互序列分组形成用例UC1和UC2,记录用例UC1和用例UC2之间的要求依赖(假设UC1和UC2之间存在要求依赖),然后,采用对机器规约MS1实施的分析过程来分析机器规约MS2和MS3,由此得到用例UC3、UC4以及UC5。最后,将软件问题分析过程中抽取的不同抽象层次的软件需求以及这些软件需求相互之间的需求依赖进行需求依赖建模,从而产生如图2所示的需求依赖图。
接着,对需求追溯关系建模作进一步说明。本发明采用需求追溯矩阵描述问题空间中软件需求、现实世界领域及机器规约到解空间中软件制品之间的追溯关系。为了降低需求变更管理的复杂性,仅建立软件问题解析得到的原子问题中现实世界领域、用户需求及机器规约到解空间中不同抽象层次软件制品的追溯关系。本实施例要求建立的需求追溯矩阵 类型包括机器规约-现实世界领域追溯矩阵、机器规约-用户需求追溯矩阵、场景-机器规约追溯矩阵、用例-场景追溯矩阵、对象-用例追溯矩阵、类-对象追溯矩阵、构件-类追溯矩阵以及代码制品-构件追溯矩阵。本实施例的需求追溯矩阵定义如下:
设P={P1,…,Pn}为软件问题空间中原子问题的集合,D={d1,…,dm}表示现实世界领域的集合,M={m1,…,mn}表示用来解决原子问题的机器规约集,S={s1,…,sn}表示复用框架关注点知识得到的场景集,UR={ur1,…,uro}表示原子问题中的用户需求,UC={uc1,…,ucp}表示用例集,O={o1,…,oq}表示参与用例实现的对象集,C={c1,…,cr}表示参与用例实现的对象所隶属的分类角色(类)集,Comp={comp1,…,comps}表示将类封装形成可复用单元后得到的构件集,A={a1,…,at}表示实现构件规约的代码制品集,其中,m、n、o、p、q、r、s、t∈N,N为自然数。
定义1:设i∈[1,…,n],j∈[1,…,m],定义Mm_d=(mmd(i,j)),其中mm_d(i,j)表示机器mi和现实世界领域dj之间的共享现象情况,并且
则称Mm_d为机器规约-现实世界领域追溯矩阵。
定义2:设i,j∈[1,…,n],定义Mm_ur=(mmr(i,j)),其中mm_ur(i,j)表示机器mj能否满足用户需求uri,并且
则称Mm_ur为机器规约-用户需求追溯矩阵。
定义3:设i∈[1,…,o],j∈[1,…,n],定义Ms_m=(msm(i,j)),其中ms_m(i,j)表示场景si与机器规约mi之间的实现关系,并且
则称Ms_m为场景-机器规约追溯矩阵。
定义4:设i∈[1,…,p],j∈[1,…,o],定义Muc_s=(mum(i,j)),其中muc_s(i,j)表示用例uci与场景sj之间的依赖关系,并且
则称Mucs为用例-场景追溯矩阵。
定义5:设i∈[1,…,q],j∈[1,…,p],定义Mo_uc=(mcuc(i,j)),其中mo_uc(i,j)表示对象oi参与用例ucj实现的情况,并且
则称Mo_uc为对象-用例追溯矩阵。
定义6:设i∈[1,…,r],j∈[1,…,q],定义Mc_o=(mcuc(i,j)),其中mc_o(i,j)表示类ci与对象oj之间的类型-实例关系,并且
则称Mc_o为类-对象追溯矩阵。
定义7:设i∈[1,…,s],j∈[1,…,r],定义Mcomp_c=(mcompc(i,j)),其中mcomp_c(i,j)表示类compi和类cj之间的封装关系,并且
则称Mcomp_c为构件-类追溯矩阵。
定义8:设i∈[1,…,t],j∈[1,…,s],定义Ma_comp=(macomp(i,j)),其中ma_comp(i,j)表示代码制品ai和构件compj之间的实现关系,并且
则称Ma_comp为代码制品-构件追溯矩阵。
如果存在匿名类参与用例实现,所述的需求追溯矩阵还包括类-用例追溯矩阵。
定义9:设i∈[1,…,r],j∈[1,…,p],定义Mc_uc=(mcuc(i,j)),其中mc_uc(i,j)表示类ci的实例参与用例ucj实现的情况,并且
则称Mc_uc为类-用例追溯矩阵。
另外,使用矩阵运算得到跨越多个抽象层次软件制品之间的追溯关系。例如,在已经建立对象-用例追溯矩阵和类-对象追溯矩阵的情况下,可以通过矩阵运算得到类-用例追溯矩阵以及构件-用例追溯矩阵,其中,
所述的类-用例追溯矩阵定义为Mc_uc=Mc_o′Mo_uc
所述的构件-用例追溯矩阵定义为Mcomp_uc=Mcomp_c′Mc_uc=Mcomp_c′Mc_o′Mo_uc
请参阅图4,并结合图5,进行需求变更波及效应分析:
(1)识别需求变更直接影响的软件需求:根据需求请求单,识别需求变更直接影响的软件需求,得到受需求变更直接影响的软件需求集Rdirect_impact。所述的识别需求变更直接影响的软件需求规则如下:
如果需求变更导致某用户需求关联的现实世界领域发生变化,则将该用户需求作为受需求变更直接影响的软件需求集Rdirect_impact中的一个元素;
如果需求变更由于用户需求的改变而引发,则将发生改变的用户需求作为受需求变更直接影响的软件需求集Rdirect_impact中的一个元素;
如果需求变更要求改变已有机器规约以满足用户需求,则把需要更新的机器规约作为受需求变更直接影响的软件需求,将该机器规约作为受需求变更直接影响的软件需求集Rdirect_impact中的一个元素;
(2)需求变更横向波及效应分析:在需求制品层次,根据需求依赖图并采用如下所示的分析过程识别出受需求变更影响的软件需求集Rimpact
输入:
Rdirect_impacted={r1,r2,…,rm}表示受需求变更直接影响的软件需求集,
m表示受需求变更直接影响软件需求的数量,
需求依赖图G,
Rsrc={r1,r2,…,rn}为软件系统的需求集,
n表示Rsrc中软件需求的个数。
输出:受需求变更影响的软件需求集Rimpacted
分析过程: 
然后,复用领域专家知识识别出与受需求变更影响的软件需求集Rimpact中软件需求关联的软件需求制品集AffectedArtifactreq。所述的软件需求制品集AffectedArtifactreq就是受 需求变更影响的软件需求制品集,包括受需求变更影响的用户需求、机器规约以及用例。
(3)需求变更纵向波及效应分析:识别需求变更影响的用例后,以需求追溯矩阵为基础,通过基于需求追溯矩阵的矩阵运算沿着从软件需求到软件设计制品、代码制品的追溯路径,抽取出与受需求变更影响的软件需求集Rimpacted中软件需求存在追溯关系的软件设计制品以及代码制品,分别记作AffectedArtifactdesign和AffectedArtifactimpl。以图5给出的软件系统为例,假设横向波及效应分析确定了因需求变更需要更新的用例集UCimpacted={UC1,UC2},分析类-用例追溯矩阵
M c _ uc = M c _ o × M o _ uc = 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 × 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 = 2 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1
发现,m11的数值为1表明类C1与用例UC1之间存在需求追溯关系,因此,更新UC1要求对C1进行同步更新,并得到因UC2变更而要求同步更新的类的集合Cimpacted={C1,C2,C3}。通过上述方法,可以识别出受需求变更影响的软件设计制品集AffectedArtifactdesign和受需求变更影响的代码制品集AffectedArtifactimpl。其中,受需求变更影响的软件设计制品集AffectedArtifactdesign由受需求变更影响的对象、类以及构件组成,受需求变更影响的代码制品集AffectedArtifactimpl由受需求变更影响的代码制品组成。最后,整理上述分析结果,形成需求变更影响的软件制品集AffectedArtifact:
AffectedArtifact=AffectedArtifactreq∪AffectedArtifacdesign∪AffectedArtifactimpl

Claims (6)

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中的元素。
CN201410833360.XA 2014-12-29 2014-12-29 一种需求变更波及效应分析方法 Active CN104461572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410833360.XA CN104461572B (zh) 2014-12-29 2014-12-29 一种需求变更波及效应分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410833360.XA CN104461572B (zh) 2014-12-29 2014-12-29 一种需求变更波及效应分析方法

Publications (2)

Publication Number Publication Date
CN104461572A true CN104461572A (zh) 2015-03-25
CN104461572B CN104461572B (zh) 2017-08-18

Family

ID=52907683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410833360.XA Active CN104461572B (zh) 2014-12-29 2014-12-29 一种需求变更波及效应分析方法

Country Status (1)

Country Link
CN (1) CN104461572B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205000A (zh) * 2015-10-12 2015-12-30 用友网络科技股份有限公司 定位软件开发中代码受影响范围的方法及系统
CN107066256A (zh) * 2017-02-24 2017-08-18 中国人民解放军海军大连舰艇学院 一种基于时态的对象变更模型的建模方法
CN107844510A (zh) * 2016-09-20 2018-03-27 株式会社日立制作所 影响波及分析方法及其装置
CN110728584A (zh) * 2019-10-23 2020-01-24 泰康保险集团股份有限公司 信息处理方法及装置、可读存储介质和电子设备
CN111580852A (zh) * 2020-04-29 2020-08-25 北京广利核系统工程有限公司 一种软件变更影响范围的识别方法及系统
CN112306459A (zh) * 2020-10-30 2021-02-02 深圳前海微众银行股份有限公司 参数确定方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344859A (zh) * 2008-09-02 2009-01-14 中国科学院软件研究所 预测需求易变性对软件项目影响的仿真方法及系统
CN101847097A (zh) * 2010-03-30 2010-09-29 中国科学院软件研究所 一种需求项与工作产品间跟踪关系维护方法
CN102214091A (zh) * 2010-04-09 2011-10-12 株式会社日立制作所 一种定位软件开发中需求变更影响范围的方法和系统
CN103092960A (zh) * 2013-01-18 2013-05-08 杭州电子科技大学 一种基于需求簇构建软件产品特征树模型的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344859A (zh) * 2008-09-02 2009-01-14 中国科学院软件研究所 预测需求易变性对软件项目影响的仿真方法及系统
CN101847097A (zh) * 2010-03-30 2010-09-29 中国科学院软件研究所 一种需求项与工作产品间跟踪关系维护方法
CN102214091A (zh) * 2010-04-09 2011-10-12 株式会社日立制作所 一种定位软件开发中需求变更影响范围的方法和系统
CN103092960A (zh) * 2013-01-18 2013-05-08 杭州电子科技大学 一种基于需求簇构建软件产品特征树模型的方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
刘华虓等: "一种需求变更影响分析方法", 《计算机研究与发展》 *
李智等: "一种模型驱动的软件需求分析方法及技术支持", 《广西师范大学学报:自然科学版》 *
杨鹤标等: "一种需求变更影响的评估算法", 《计算机工程》 *
陈小红等: "基于问题框架的需求建模:一种本体制导的方法", 《软件学报》 *
马振华: "需求变更影响评估算法研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205000A (zh) * 2015-10-12 2015-12-30 用友网络科技股份有限公司 定位软件开发中代码受影响范围的方法及系统
CN105205000B (zh) * 2015-10-12 2018-01-23 用友网络科技股份有限公司 定位软件开发中代码受影响范围的方法及系统
CN107844510A (zh) * 2016-09-20 2018-03-27 株式会社日立制作所 影响波及分析方法及其装置
CN107844510B (zh) * 2016-09-20 2021-04-30 株式会社日立制作所 影响波及分析方法及其装置
CN107066256A (zh) * 2017-02-24 2017-08-18 中国人民解放军海军大连舰艇学院 一种基于时态的对象变更模型的建模方法
CN107066256B (zh) * 2017-02-24 2020-08-04 中国人民解放军海军大连舰艇学院 一种基于时态的对象变更模型的建模方法
CN110728584A (zh) * 2019-10-23 2020-01-24 泰康保险集团股份有限公司 信息处理方法及装置、可读存储介质和电子设备
CN111580852A (zh) * 2020-04-29 2020-08-25 北京广利核系统工程有限公司 一种软件变更影响范围的识别方法及系统
CN111580852B (zh) * 2020-04-29 2023-05-23 北京广利核系统工程有限公司 一种软件变更影响范围的识别方法及系统
CN112306459A (zh) * 2020-10-30 2021-02-02 深圳前海微众银行股份有限公司 参数确定方法、装置及电子设备
CN112306459B (zh) * 2020-10-30 2022-03-11 深圳前海微众银行股份有限公司 参数确定方法、装置及电子设备

Also Published As

Publication number Publication date
CN104461572B (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
CN104461572A (zh) 一种需求变更波及效应分析方法
Haoues et al. A guideline for software architecture selection based on ISO 25010 quality related characteristics
CN111176613B (zh) 基于体系结构模型的协同任务自动分解系统
Schwartz et al. Semantically enriched BIM life cycle assessment to enhance buildings’ environmental performance
CN103914307A (zh) 一种基于可复用库的交互界面快速实现方法
CN109614093A (zh) 可视化智能合约系统以及智能合约的处理方法
Tong et al. Construction of RDF (S) from UML class diagrams
Lee et al. A systematic idea generation approach for developing a new technology: Application of a socio-technical transition system
Petersen et al. Monitoring and automating factories using semantic models
Beyer Co-change visualization applied to PostgreSQL and ArgoUML: (MSR challenge report)
Hryszko et al. Bottlenecks in software defect prediction implementation in industrial projects
CN102486731A (zh) 增强软件的软件调用栈的可视化的方法、设备和系统
Uzun et al. Domain-driven analysis of architecture reconstruction methods
CN109684329A (zh) 一种基于数据中心设备的资源管理方法
Wang et al. Web Service encapsulation of fortran-based geographical model
Enríquez et al. MaRIA: a process to model entity reconciliation problems
Du et al. Research and Implementation of MapReduce Programming Oriented Graphical Modeling System
CHENG et al. The Software Product Line for Management Information System
Muñoz et al. Analysis on the Graph Techniques for Data-mining and Visualization of Heterogeneous Biodiversity Data Sets
Ajayan A study of multivariate behavior and anomaly patterns: tensor decomposition for multiway big data
Zhu Study and application of patterns in software reuse
Cunha et al. Agent oriented software engineering: a comparative study between methodologies that support the development of multi-agent systems
Lai et al. Dynamic data‐driven railway bridge construction knowledge graph update method
Shivananda et al. Building rules based soil classification ontology
González Enríquez et al. MaRIA: a process to model entity reconciliation problems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant