◆通过更换零件来维护 当零件出现故障时,更换整个零件要比修理它来得更省钱、更轻松。即使我们的消费者并不喜欢这样,但是在汽车修理行业而言,往往更换一个新的零件比修理故障零件更经济而高效。
◆供应链 生产成本与总体供应链比起来只是很少的一部分。成功的企业能降低整个供应链的成本(包括生产),但同时涵盖分销等环节。
以上四个特征也适用于软件行业。“按单定做”要求我们有一套事前定义的构件目录,可以方便地进行组装来满足具体的用户需求。每个构件都具备具体特征来对应特定的用户需求。也可能存在事前制作好的解决方案,用户可以把一个或多个零件(构件)替换成更好的零件。这种生产方式要求有事前定义的“构件框架(Component Framework)”(参见第2.2.2节“面向构件的架构”)。
“第三方零件市场”必须遵循行业标准和广为人知的构件之间的互动协议,还需要遵循标准的构件规范,该规范不仅存在而且公开。另外的必要条件是,市场可划分为解决方案供货商和构件供货商;有了面向构件的解决方案,构件供货商才有提供个体零件的对象。
“通过更换零件来维护”要求能确定问题的来源,并且能用新版本构件方便地替换问题构件,该新版本构件很有可能来自另一个供货商。抛却其他问题,我们首先要保证,和解决方案有关联的这两个构件具有相同的界面和功能(提供该保证也是第三方零件市场存在和发展的必要条件)。
最后,在谈到整个“供应链”时,我们必须理解,软件生产成本只是整个软件供应链中的一个环节。在一个成熟的软件行业中,开发软件应该只占用全部成本的一部分,而全部成本则涉及市场推广、销售、配送以及支撑性软件成本。任何一个成功支持“软件生产产业化”的方法,无论是在软件的部署、分销、市场推广,还是在销售过程中,都必须以一致的方式出现。
1.3 面向构件的必要条件