天天小说网

11.4 与错误打交道

尽管我很看好网络经济,但是仍然有许多令人担忧的地方,这些问题也同样存在于其他的大型、去中心化的自为[14]系统中。

◆ 它们很难被理解。

◆ 它们不太容易受控制。

◆ 它们并非最优化的。

当各种公司取消实体进入某种巴洛式的赛博空间之后,它们就具有了某种类似于软件的特点。无污染、无重量、快速、有用、可移动而且有趣。但同时也可能变得非常复杂,充满了没人能查明的烦人的小毛病。

如果未来的公司和产品就跟现在的软件一样,那意味着什么?会破碎的电视机?突然熄火的汽车?会爆炸的烤面包机?

大型软件程序可能是人类现在所能制造的最复杂的东西了。微软的新操作系统有四百万条代码。当然,在七万个Beta版本的测试点进行测试之后,比尔盖茨肯定会说,现在这个软件没有漏洞了。

那么,我们是否可能制造出那种超级复杂而又没有任何缺陷(或者只有很少几个缺陷)

的东西来呢?网络式经济到底是能帮助我们创造出一种没有缺陷的复杂系统,还是只能为我们建立一个有漏洞的复杂系统?

不管各种公司自己会不会变得更像软件,至少,它们所生产的越来越多的产品肯定会依赖于愈加复杂的软件,所以说,创造没有缺陷的复杂系统是绝对必要的。

在仿真领域,验证一个仿真的真伪,与测试一个大型复杂软件是否有缺陷是同一类问题。

加拿大计算机学家戴维·帕那斯[15]曾经对里根的星球大战计划提出了八条批评意见。

他的观点基于超级复杂软件内在的不稳定性,而星球大战计划恰恰就是这么一种超级复杂的软件。戴维·帕那斯的观点中,最有趣的一个是指出存在两种类型的复杂系统:连续的和非连续的。

通用汽车公司在测试新车应对急弯的性能时,会让这辆车在不同的时速下进行测试,譬如五十、六十、七十英里。显然,性能随时速的变化是连续的。如果一辆汽车能够在时速五十、六十、七十英里的时候通过测试,无需测试我们就会知道,在各种中间速度——比如每小时五十五或者六十七英里——的时候,它也肯定能通过测试。

他们不用担心这辆车以每小时五十五英里的速度行驶时会突然长出翅膀来或者翻个底朝天。它在这个速度上的性能,基本上就是它在五十英里和六十英里时性能的某种插值。一辆汽车就是一个连续的系统。

计算机软件、分布式网络以及绝大多数的活系统都是非连续的系统。在复杂的适应性系统中,你根本不可能依赖插值函数来判断系统的行为。你的软件可能已经平稳运行了好几年,然后突然在某些特定的值点(比如,每小时63.25英里),轰隆一声系统爆炸,或者,突变为某种全新的东西。

断点始终都存在着,而你已经测试到了所有的邻近取值,却没有测试到这特别的一组环境值。事情发生后,你会一目了然为什么这个故障会导致系统崩溃,甚至能明白地指出为什么人们本该找出这个隐患。不过,这都是事后诸葛亮。在一个拥有海量可能性的系统中,根本不可能对所有的可能性进行测试。更糟糕的是,你还不能依靠抽样的方式来对系统进行测试,因为它是非连续的系统。

对于一个超级复杂的系统来说,测试者没有任何把握说那些没测试到的值就一定会和抽样到的数据之间呈现一种连续关系。不过,尽管如此,现在还是出现了一个旨在达到“零缺陷”软件设计的运动。不用多想,这个运动肯定又是发生在日本。

对于小程序来说,这个“零缺陷”的零就是0.000。但是对于那种超大型的程序来说,这个“零”指的就是小于等于0.001。这是指每千行代码允许的错误值,而这只是产品质量的一个大概标准。这些旨在编写零缺陷软件的方法,大量借鉴了日本工程师新乡重夫的零缺陷生产的开创性工作。当然,计算机科学家们声称,“软件不一样”。软件可以被完美复制,因此只需要保证最开始的那一份是“零缺陷”就好了。

在网络式经济中,研发新产品的费用主要源自生产流程的设计,而非产品设计。日本人擅长生产流程的设计和改进,而美国人擅长的是产品的设计和改进。日本人把软件看作一个生产流程而不是产品。在渐露端倪的网络文化中,我们所生产的越来越多的东西——当然也是我们越来越多的财富——都与符号处理流程密切相关,这些流程所装配的是代码而非实物。

软件可靠性大师C. K. 曹曾经告诫业界人士,不要把软件看成产品,要把它看成便携式工厂。你卖的,或者说,你给予客户的是一个工厂(程序代码),可以在客户需要的时候为他制造出一个答案。你的难题是要制造一个能生产零缺陷答案的工厂。建造能够生产出完美可靠器件的工厂的方法,也可以轻易地应用到创建能给出完美可靠答案的工厂上。

通常,软件的编制遵循三个中心化的关键步骤。首先设计一个全景图,然后用代码实现细节,最后,在接近项目尾声时,将其作为交互的整体来进行测试。而在零缺陷质量的设计流程中,整个软件编制过程不再是几个大的关键步骤,而是被分散成上千个小步骤。软件的设计、编写和测试工作每天都在成百个小工作间里进行着,每个小工作间里都有一个人在忙碌着。

这些零缺陷的传道者有一个概括网络式经济的口号:“

更多内容加载中...请稍候...

若您看到此段落,代表章节内容加载失败,请关闭浏览器的阅读模式、畅读模式、小说模式,以及关闭广告屏蔽功能,或复制网址到其他浏览器阅读!