提 要
■模块化结构由3个有特色的部分构成,即设计规则、隐形模块和系统集成与检测模块,每个部分在模块化的过程中都发挥着独特的作用,缺一不可,无法替代。
□ 李春田
模块化结构由3个有特色的部分构成,即设计规则、隐形模块和系统集成与检测模块,每个部分在模块化的过程中都发挥着独特的作用,缺一不可,无法替代。
设计规则分为看得见的设计规则和隐形设计规则。看得见的设计规则由系统设计师或者系统架构师预先规定,起前导作用。
这个规则是公开的、透明的,不仅参与设计的人都可以得到,而且这个规则的制定者还要负责宣传解释。这个规则是影响下一步决策即每个模块内部决策的规则,只有依据并遵守这个预先确定的设计规则,才能保证各模块之间的协调并能充分发挥模块化的作用。有了这个规则,各个独立的企业便可以自由地使用自己独特的工艺方法来开发自己的模块并展开以模块创新为特点的背靠背的竞争。这个规则又被叫做联系规则,是因为这个规则界定了系统中模块之间如何安排和如何联系。它刻画了一个复杂系统的核心依赖关系,只有把握并遵循这些联系或关系,只有当那些独立开发的模块结合在一起时,才可能形成一个无缝运行的完整系统。联系规则的内容,通常包括结构、界面和标准三大要素。结构要素明确了系统内部各要素在空间和时间方面的有机联系和相互作用的方式或顺序,一定的结构是系统整体性的基础。界面即交互,它详细规定设计者安装系统的方法并决定系统如何运行,如模块如何相互作用,模块相互之间位置的安排、匹配、交换信息等。界面需预先设定,以解决程序设计中互动的各部分间存在的潜在冲突,如同两个或更多子要素间的一种协议。界面是共同信息集合中的一部分,进行设计的人都应该借鉴、使用。标准即检验依据和判定准则,用以检验某一特定模块是否符合设计规则,在系统中能否发挥作用以及测定模块的性能,判定两个不同版本的模块哪一个在系统中运行的更好。看得见的设计规则虽然是自上而下预先设定的,但是由于人的知识和经验的制约,不可能十全十美,它本身不可能一劳永逸和一成不变,竞争过程中设计规则或链接模块的界面和标准都会进化、发展、改进、创新。
隐形设计规则又称模块内部的设计规则,是隐藏起来的信息,仅限于一个特定模块之内,对其他模块的设计没有影响。在模块化系统设计过程中,设计师将设计参数分为两类,其中的一类作为看得见的信息纳入规则被系统共享,其他参数则隐藏在各模块(子系统)当中,这就是隐藏起来的信息。看得见的设计规则一旦确定,每个模块的设计和改进都会独立于其他模块,设计每个模块所必需的信息处理过程则包含在每个模块内部,被隐藏起来了。
简单地说,如果成功地在设计中隐藏大量与子系统(模块)有关的信息,就等于将系统模块化了。从一组概念的抽象走向完备可靠地划分可见信息与隐藏信息的过程,就是将设计模块化的过程。设计规则是可见信息,其他留给模块设计者决定的参数则是隐藏信息。
隐形模块可按照隐形设计规则自由创造,可以通过不断优化模块的结构和性能,使模块不断创新。隐模块在层级化设计中是处于最底层的模块。隐模块中隐藏的信息(设计参数)仅影响系统中它本身所处的那一部分。因此,它们可以变化,而不会影响系统中关系较远的其他部分。正是基于这一点,才会有同一模块之间的竞争、才会产生选择余地、才有可能应对不确定性、才能导致自下而上的持续创新,带动整个系统演化发展、带动整个产品升级。
系统集成与检测模块是一个功能模块,并非全是物理实体。分别设计的模块最终是要集成的。模块化的成功必须基于对参数之间潜在的相互依赖关系有详尽的了解,但由于不确定性、由于设计者知识的不完备,他们可能并不知道所有的相互依赖关系,由此造成的设计规则中的缺陷,只有在设计过程的很晚阶段(模块集中)才能暴露出来。为了明确无法预见的相互依赖关系,并确保最终产品是一个能运行的系统,设计者必须在设计过程的最后阶段进行系统集成与测试。
系统集成与测试阶段只能处理系统中轻微的不兼容和小的矛盾。假如发现缺陷及系统的重要问题,就必须重新设计、推倒重来,否则最终产品将充斥着武断的参数和随机的设置而经不起考验。在IBM360系统模块化设计过程中,在每种CPU和每种输入、输出设备上都存在两三百个问题要处理,幸好其中任何一个都不是致命的、是可以在不影响系统结构的情况下补救的,所有的问题通过系统集成得到了解决。系统集成者对模块化的控制,可能只是暂时的。不断完善的设计规则和新的测试,将倾向于减少事后集成的必要性。