在各种项目中,我需要确保在分析阶段开发的用例模型能够满足项目的需求。为此,我能够在需求陈述(唯一标识)和用例(也唯一标识)之间具有一定程度的可追溯性。在某些情况下,启用可追溯性意味着需要付出一些额外的努力,我认为(后来证明)这是一项很好的投资。

现在,我面临的最大问题是当事情开始发生变化时(由于变更请求或用例变更),如何维护这种可追溯性。

关于可追溯性维护的最佳实践有什么想法吗?

(它可以应用于项目中的其他项目 - 例如用例和测试用例,或需求和验收测试用例)

稍后编辑工具可能会有所帮助,但它们无法检测可追溯性中的差距或错误。导航...也许可以,但不能保证应用更改后可追溯性是最新的或正确的。

有帮助吗?

解决方案

我认为可追溯性是需求中最难管理的事情之一,其次是确保需求正确。在我的经验中, 最好的追溯工具是人类.

我没有任何灵丹妙药;只是一些过去对我有帮助的提示。

  • 将文档放在每个人都可以轻松获取的中心区域。我不在乎它是 Sharepoint、wiki 还是网络驱动器(尽管我喜欢尽可能提供版本控制的东西)。把它放在一个地方,然后把它推销出去,这样每个人都知道去那里寻找答案,而不是使用旧副本或打断开发人员。
  • 如果您有一个中心联系人来管理工件或它们的功能分组,那会有很大帮助。了解它们和问题的人会知道该去哪里、要更新什么以及是否存在需要保留的依赖项。
  • 文物的保管人需要致力于保护它们并使其保持最新状态。在我在网站上设置一些需求文档一年后,我仍然保持它们最新。我知道大多数开发人员都会害怕这样做,但一年后,我仍然受益于回顾这些内容,看看功能需求如何随着时间的推移而变化。
  • 不是必需的,但有助于快速识别随时间的变化:使用文档处理器的版本跟踪(如果有)。如果没有,我至少会包含文档的更改日志,或者简单地标记新文本并引用版本号。
  • 我过去曾尝试将依赖项引用放入我的工件中,例如对其他文档或工件的引用,但发现它们要么变得过时,要么难以跟踪,因此经常不更新。纪律可以克服这个问题,但我们大多数人都有太多的事情要做,不是吗?因此,我认为在文档/工件之间建立交叉引用是我想要一个工具或一些尚未发布的免费需求管理实用程序来完成这项工作的地方:)

其他提示

我们已经用三年前写需求的理性工具。 在这些工具,许多功能关注的可追溯性。

我们发现,这些工具的可用性是不完美的。 虽然他们确实提供了我们所需要的基本功能, 我们失去了很多的时间去周围的局限性。


我以为你不问溯源到代码, 所以我排除这种从我的答案。


至于你提到你的声明和使用情况的唯一ID, 你可能已经使用工具来管理它们。

<强>在本质上,一个简单的关系模型(可能在数据库中) 可以覆盖你的唯一标识作品之间的关系。

我要寻找一个简单的工具,做到这一点。 如果只有一个人可以修改它,它可能仅仅是一个Excel工作表!


请注意连接两个文件类型可能是不够的。结果 你提到的5种类型:语句,用例,测试用例,要求和验收测试用例结果 我们不断需要传递性(在关系世界,加入表),为具有包括几个步骤的图。

有许多种traceabilities的维护:系统要求以子系统的要求,要求来设计,要求验证(最重要的一个),要求代码,要求问题等

Word,Excel和良好的问题跟踪系统很长的路要走。但是,当你需要出示可追溯性,他们可以是痛苦的。手动保持可追溯性是容易出错,劳动强度大。 IBM系统门是迄今为止我所用过的最好的工具。但它们很昂贵。我们最近发现了一个系统终极跟踪的是工作得很好。

您想将版本号添加到要求发言,并为每个用例 - 最先进的最新那些被传达给所有,并储存在一些交通便利的区域(物理和/或计算机/网络)。您将需要添加一个变化的文件,包括什么事先要求陈述和/或使用案例是,当它被改变,由谁和谁批准。

所以看要求规范和使用情况下,你的时候/都有最新的视图,如果有变化的问题,你有改变文档引用(不要负担过重的要求或用例与规范历史信息,但保留历史信息周围作为参考在易于访问的,有意义的形式)

我说,最好的方法是使用一个bug跟踪系统。每个需求被跟踪为错误,开发修改都与它相关联,和变化可以保持与bugnotes。

很多bugtrackers的允许将多个缺陷关联在一起(例如,作为一式两份),从而这可以被用来保持离散的要求相结合,并且仍然分开用于单独跟踪。

如果您储存所有的其他文物在SCM(即设计文档等),那么你可以通过将其与关联要求通过跟踪过这些。

有工具来帮助这一切,UT我发现这些“整个生命周期”的工具,因为他们试图做太多在一个应用程序,或者相关的应用程序,“整合”在一起真的无法使用,并且是令人难以置信的昂贵。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top