passwordtest 发表于 2007-4-29 09:53:45

需求跟踪矩阵与需求双向跟踪

刚刚接触CMMI的人在研究Requirement Management这个PA的时候,对SP 1.4 Maintain Bidirectional Traceability of Requirements可能会比较疑惑,足以让国内大多数的没有真正软件工程开发管理的软件工程师,开发管理者不知所云了。
所谓的&ldquoTraceability of Requirements&rdquo即&ldquo需求跟踪矩阵(Requirements Traceability Matrix)&rdquo,用比较通俗的话来说,就是不要将需求遗漏了,虽然听来简单,但是真正能够实施此活动的并不多,通常来做的多为&ldquo纵向跟踪(Vertical traceability)&rdquo,也即生命周期内的跟踪,再说的明白一点就是沿着&ldquo用户需求――软件需求――概要设计――详细设计――编码实现――单元测试――集成测试――集成测试――系统测试――验收测试&rdquo进行需求的跟踪。

What is bidirectional traceability?

In the Requirements Management (REQM) process area, specific practice 1.4 states, ?Maintain bidirectional traceability among the requirements and the project plans and work products.? Bidirectional traceability primarily applies to vertical traceability and at a minimum needs to be implemented both forward and backward (i.e., from requirements to end products and from end product back to requirements).

Vertical traceability identifies the origin of items (e.g., customer needs) and follows these same items as they travel through the hierarchy of the Work Breakdown Structure to the project teams and eventually to the customer. When the requirements are managed well, traceability can be established from the source requirement to its lower level requirements and from the lower level requirements back to their source. Such bidirectional traceability helps determine that all source requirements have been completely addressed and that all lower level requirements can be traced to a valid source.

Horizontal traceability is also important and is mentioned in subpractice 3, but it is not required to satisfy bidirectional traceability. Horizontal traceability identifies the relationships among related items across work groups or product components for the purpose of avoiding potential conflicts. It enables the project to anticipate potential problems (and mitigate or solve them) before integration testing. For example, horizontal traceability would follow related requirements across two work groups working on two associated components of a product. The traceability across these two work groups enables the work groups to see when and how a change in a requirement for one of the components may affect the other component. Thus, horizontal traceability enables the project to anticipate potential problems (and mitigate or solve them) before integration testing.

纵向跟踪是最普遍的一种跟踪方式,也是CMMI进行SCAMPI最低要求。即针对此PA,或者说这个SP,做到纵向跟踪后,一般的主任评估师就认为已经满足条件了,可以打及格分数了。
CMMI V1.1版本中的要求是:RM SP 1.4 Maintain Bi-directional Traceability of Requirements.
其具体要求是:Maintain bi-directional traceability among the requirements and the project plans and work products.
CMMI V1.2版本中的要求是:RM SP 1.4 Maintain Bi-directional Traceability of Requirements.
其具体要求是:Maintain bidirectional traceability among the requirements and work products.
大家从描述上就能看到区别了。
《CMMI® Version 1.2 and Beyond》中的描述如下:
v1.2 SP 1.4 practice statement now reads, &ldquoMaintain bidirectional traceability among the requirements and work products.&rdquoProject plans are no longer mentioned in this SP statement.
Bidirectional Traceability description is improved in the notes and Glossary.
这个也证明了SEI发现了此SP的描述或者要求和实际的有出入,难以执行;但是为什么呢?
其实大家在google上搜索一下关键字&ldquobidirectional traceability &rdquo就会发现很多的资料在解释&ldquobidirectional traceability &rdquo,即所谓的&ldquoVertical
traceability &rdquo和&ldquoHorizontal traceability &rdquo时,概念并不统一,而且对于&ldquoVertical
traceability &rdquo和&ldquoHorizontal traceability &rdquo的概念解释甚至是相反的。
话说了这么多,其实归根到底的原因是:什么是&ldquo横向跟踪&rdquo(Horizontal traceability )?
SEI的Tim Kasse(CMMI模型制定者之一)在其著作《Practical Insight into CMMI》中曾经对&ldquo横向跟踪&rdquo(Horizontal traceability )进行了如下解释:
Horizontal traceability refers to the traceability from the requirements to the associated plans such as the project plan, quality assurance plan, Configuration Management plan, risk management plan, and so forth.
即横向跟踪是需求到计划的跟踪。

仙境仙子 发表于 2007-5-2 20:34:04

我现在的公司需求说明书都写不明白,原来公司倒是做得还可以,楼主讲的比较明白,谢谢分享sdlkfj2

wangxt 发表于 2008-1-11 16:42:00

:Q

zero_up 发表于 2008-11-16 12:47:37

RTM有哪几种类型?建立RTM的过程是什么?

:handshake

ljdlx 发表于 2008-11-17 10:28:49

需求跟踪矩阵感觉在需求分析刚开始的时候就要使用,要不然后期补充太费时费力了,如果是一个大的项目的话,不同的模块还要跟不同的人进行确定,还是在需求开始阶段直接由需求分析人员来填写比较好.然后设计阶段由设计人员来填,测试阶段由测试人员来填,呵呵

sngmd 发表于 2009-3-12 11:49:46

楼主转我的帖子,也没有注明啊。。。。。

原帖来自于www.yangrui.name
页: [1]
查看完整版本: 需求跟踪矩阵与需求双向跟踪