《人月神话》(1)程序、编程产品、编程系统产品

程序=》编程产品=》编程系统产品

完成一个程序可能是简单并且容易做到的,但是想让程序转变成编程产品却需要做更多的工作,编程产品是可以被任何人运行、测试、修复和扩展的程序。它可以在多种操作系统平台上运行,供多套数据使用。要成为通用的编程产品,程序必须按照普遍认可的风格来编写。然后是对程序进行彻底地测试,确保它的稳定性和可靠性,使其值得信赖。最后是需要有完备的文档,每个人都可以加以使用、修复和扩展。经验表明,程序之外的成本至少是已调试程序的三倍。

程序转变成编程系统中的一个构件,在功能上相互协作、具有规范的格式,可以进行交互程序集合,并可以用来组装和搭建整个系统。程序必须按照一定的要求编制,使输入、输出在语法、语义上与精确定义的接口一致。同时还需要符合预先定义的资源限制(内存、输入输出设备、计算机时间)。最后程序必须与其他系统构件一起,以任何能想象到的组合进行测试,测试用例随着组合不断增加,所以测试的范围必须广泛。综上所述,相同功能的编程系统构件的成本至少是独立程序的三倍。

最终编程系统产品它的成本可能高达九倍。只有它才是有用的产品,是大多数系统开发的目标。

文章评论

0条评论