我经常被问及项目的规划和设计所需工作量的比例。这可能是一个没有任何意义的问题,因为不同类型的项目有着不同的答案。NASA对此进行了研究,利用著名的并且很复杂的COCOMO-II模型,绘制出了这个让人惊艳的图表。
图中的小圆点表示最大效率点,在这些点上所付出的努力是最少的。很明显,应用越大(即源码行数越多),前期所需要的规划和设计准备就越多。当然,这个信息很难被利用,因为很难能够估算出代码到底有多少行。只有在构建完系统的架构后,这些信息才可以被利用。所以图表更多的作用是做推测而非定量预测。但这很有用,正如意料之中,大工程比小项目需要更多的前期工作。
“Architecture”的定义通常不明确。另外一篇相同文档中这样使用它:“一个程序或一个计算系统的软件架构,是系统的结构。他包含了软件元素和外部的可视元素,和他们之间的连接关系”
注意:这篇文章最初出现在Jack Ganssle的工程简报“The Embedded Muse”中,尽管这篇文章是关于软件的,我100%保证它的内容也可适用于基于HDL的设计。
只需要你的邮箱地址你就可以免费订阅“The Embedded Muse”,并且可以阅读过去17年的往期刊物。没有人像Jack一样把优秀的工程设计解读的如此通俗易懂,就像上面你看到的言简意赅的文章一样。我在近20年来一直阅读他的简报,并将其当作我未来工程学教育的“必读读物”。在我看来,Jack在基于团队的项目以及消除bug方面像导航灯一样存在。
作者:Steve Leibson, 赛灵思战略营销与业务规划总监
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)