是否有软件工程师可以跟踪他们的需求的工具 -> 设计文档 -> 来源?

发布于 2024-07-16 11:55:59 字数 1542 浏览 10 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无力看清 2024-07-23 11:55:59

您可以尝试 mingle。 它是为管理敏捷项目团队而构建的。 这些需求以故事的形式记录在虚拟卡片墙上。 它具有开箱即用的 SVN 集成,但我认为还有一个 git 社区插件。 它内置了一个 wiki,因此您只需从需求链接到设计 wiki 页面即可轻松跟踪需求和生成的架构。

此外,如果您计划将 Mingle 用于学术目的(即在课堂/实验室或作为课程的一部分),学术用户有资格获得免费许可证。

You could try mingle. It was built for managing agile project teams. The requirements are tracked as stories on a virtual card wall. It has SVN integration out of the box, but I think there is also a community plugin for git. There is a wiki built into it, so you can easily track requirements and the resulting architecture as you just link from your requirements into design wiki pages.

Also, academic users qualify for a free license if you plan to use Mingle for academic purposes, meaning in the classroom/lab or as part of a curriculum.

尘曦 2024-07-23 11:55:59

过去 15 年来,我一直断断续续地致力于软件工程可追溯性的工具支持,而广泛使用的最好的工具是 DOORS+SysML。 它们都需要手动连接(尽管您可以将 ID 添加到代码和单元测试中,并获取一些覆盖率指标)。

制作一个简单的工具非常容易,它将特定测试与需求 ID 相关联,然后报告已测试的需求。 同样,您可以添加标记来说明代码的哪些部分映射到设计元素(尽管这主要是通过逆向工程工具自动化的)。 然后您可以判断是否有适合您所有要求和所有设计元素的标记。 这些是 COTS UML 工具的扩展,因此可能不是以与 git 完全相同的精神设计的。

目前我所知道的任何工具都没有为您提供任何方法来实际确定测试是否执行了应该实现超链接要求的设计部分(这是可行的,因为您可以在代码中记录覆盖率,该代码是运行测试时链接到设计元素)。

还有其他工具,例如 CaDiZ 和 Cog,它们是定理证明工具,可以对您的需求进行正式描述和代码的带注释模型,并验证模型是否与规范匹配。 这适用于足够简单的代码,但对于博士后级别的计算机科学家来说相当耗时(几十行代码需要几周的时间)。

我所知道的工具都没有与 git 集成。

I've been working in tool support for traceability in software engineering on and off for the last fifteen years, and the best that's widely available is DOORS+SysML. They all require manual connection to be made (though you can add IDs to your code and unit tests, and get some coverage metrics back).

It's quite easy to make a simple tool which associates a specific test with a requirement ID, and then reports that requirement as tested. Similarly you can add markers to say what parts of your code map to your design elements (though that has mostly been automated by reverse engineering tools). Then you can tell whether you have markers for all your requirements and all your design elements. These are extensions to COTS UML tools, so probably not designed in quite the same spirit as git.

What no tool I'm aware of currently gives you is any means to actually determining whether the tests exercise the parts of the design which are supposed to implement the hyperlinked requirement (which is practicable, as you can log the coverage in the code which is linked to the design elements when the test is run).

There are other tools, such as CaDiZ and Cog which are theorem proving tools which can take a formal description of your requirements and annotated model of your code and verify that the model matches the specification. This works for sufficiently simple code, but is fairly time consuming (of the order of weeks for a few dozen lines of code) for post-doc level computer scientists.

None of the tools I know of integrate with git.

别靠近我心 2024-07-23 11:55:59

我记得很多个月前回顾过Rational RequisitePro,尽管我们没有放松起来使用它。 IIRC,它与我们当时使用的 Rational Clear Case 源代码控制系统集成。 这有点漂亮,但对于我们的需求来说有点过分了。

I remember reviewing Rational RequisitePro many moons ago, though we didn't wind up using it. IIRC, it had integration with Rational's Clear Case source control system that we were using at the time. It was kind of nifty, but way overkill for our needs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文