假设我想使用COCOMO来估计产生一个100个KLoC嵌入式项目的工作量。不包括努力调整系数,工作量为2.8 * 100^1.2 = 703。然而,该项目有两个不同的组成部分。我声称,在纸面上,每个组件都是它自己的50 KLoC项目,这使得估计值降低到2* (2.8 * 50^1.2) = 612。
哪个是对的?如果我把整个事情组织成两个完全独立的项目,有两个独立的团队,等等,第二个估计是否是正确的?这不是增加了开销,从而增加了工作量超过了最初的估计吗?或者COCOMO太不精确了,以至于在这两个估计之间没有任何真正的区别(然后我应该简单地把它们中的任何一个看作是“在500-1000的努力中”)?
发布于 2019-11-20 00:13:06
COCOMO是一个基于KLoc中软件大小与工作量之间的统计相关性的模型。您似乎使用过的中间模型也从估计调整因素中考虑了一些额外的成本驱动因素。
COCOMO的估计原则是,产品是一个独立的软件,构成一个整体。因此,如果您可以将代码拆分为2x50Kloc,并且每个部分可以独立运行,那么您的计算将是正确的。
然而,这似乎是一个理想和不可能的情况:
总之,你的理想案例是非常假设的,当然也离现实很远。
从直觉上讲,我们可以感觉到这个不太理想的数字当然更现实:将一个大产品分成两部分需要付出更多的努力,因为需要处理更多的交互。管理两个部分之间的代码重用也会带来额外的挑战,因为不能再孤立地修改代码。
你必须意识到:
https://softwareengineering.stackexchange.com/questions/401315
复制相似问题