Closed. This question is off-topic 。它目前不接受答案。












想改善这个问题吗? Update the question 所以它是堆栈溢出的 on-topic

9年前关闭。



Improve this question






来自 “神话人月,第 1 章 tar 坑”

线性收敛 在这里是什么意思,你能给我一个流行的例子或图形吗?

最佳答案

Fred Brooks 的意思是,管理层期望发现、修复、测试和关闭错误的速度以某种方式以二次方的速度增加是不切实际的。布鲁克斯断言关闭错误的速度在最佳时间是线性的,实际上可能会比这更糟。

在图片中,假设一个完全零错误和缺陷的乌托邦目标,这里是“二次闭包”(绿色)、线性闭包(橙色)和更坏情况的衰减指数(红色)。

c# - 神话人物月第一章中的 `linear convergence`是什么意思-LMLPHP

我同意 Brooks - 管理层的期望是基于这样一个假设:随着开发人员完成编码,越来越多的开发团队将被分配到调试中,这应该会提高错误修复的速度。

然而,在现实中,容易发现和修复的 bug 很快,但更隐蔽的缺陷更难发现,因此在项目 bug 关闭时经常遇到长尾。

错误计数不会以线性速度或更好的速度减少还有另一个原因——即使在大多数现代的专业软件开发公司,在开发周期后期分配给项目的测试资源也比早期阶段多,当然,随着开发的代码越多,引入的错误就越多,测试人员越多,发现的错误就越多。这意味着最初的错误数被无可救药地低估了,并且在项目的很长一段时间内,错误总数实际上会增加。

一个更有用的指标是缺陷关闭的净速率。在这里,团队通常会寻找关闭率与报告的新缺陷率相交的点 - 这是一个好兆头,表明隧道的尽头可能就在眼前。

关于c# - 神话人物月第一章中的 `linear convergence`是什么意思,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7526675/

10-11 10:54