所以我最近完成了我的第三年软件工程项目。这个项目是一场游戏。
至少这并不容易。 我所做的最具挑战性的项目。
经过一番思考后,我注意到我们小组遇到的主要问题是:
在这个项目中,我们被迫使用瀑布流程 RADIT(需求,肛门,设计,实施和测试)。我讨厌这种方法,并希望为我的第四年项目做 TDD with Agile 。但我担心我无法跟踪请求 - >设计 - >架构 - >测试 - >来源。因此,我正在考虑制作一个在 git 之上执行此操作的工具。但如果已有一个用于此目的,那将是好的。
答案 0 :(得分:2)
您可以尝试mingle。它是为管理敏捷项目团队而构建的。这些要求在虚拟卡墙上被跟踪为故事。它有开箱即用的SVN集成,但我认为git还有一个社区插件。内置了一个wiki,因此您可以轻松跟踪需求和结果架构,只需将需求链接到设计维基页面即可。
此外,如果您计划将Mingle用于学术目的,即教室/实验室或作为课程的一部分,学术用户有资格获得免费许可。
答案 1 :(得分:1)
过去十五年来,我一直致力于软件工程中可追溯性的工具支持,而DOORS + SysML最广泛使用。它们都需要手动连接(尽管您可以在代码和单元测试中添加ID,并获得一些覆盖率指标)。
制作一个将特定测试与需求ID相关联的简单工具非常容易,然后将该需求报告为已测试。类似地,您可以添加标记来说明代码的哪些部分映射到您的设计元素(尽管这主要是通过逆向工程工具自动化)。然后,您可以判断是否有满足所有要求和所有设计元素的标记。这些是COTS UML工具的扩展,因此可能没有与git完全相同的设计。
目前我所知道的工具没有任何方法可以实际确定测试是否运用了应该实现超链接要求的设计部分(这是切实可行的,因为您可以在运行测试时链接到设计元素的代码。
还有其他工具,例如CaDiZ和Cog,它们是定理证明工具,可以正式描述您的需求和代码的注释模型,并验证模型是否符合规范。这适用于足够简单的代码,但对于博士后级别的计算机科学家而言相当耗时(对于几十行代码来说是几周的)。
我所知道的所有工具都没有与git集成。
答案 2 :(得分:0)
我记得在很多个月之前回顾Rational RequisitePro,尽管我们还没有结束使用它。 IIRC,它与我们当时使用的Rational的Clear Case源控制系统集成。这有点漂亮,但对我们的需求来说有点过分。