一、软件生产方式的演变 纵观软件发展历史,从面向终端用户角度分析,到目前为止,对软件生产方式可大致分为三个阶段: 第一个阶段:“从头做起+懒汉式”生产方式 目前的许多做信息化的公司,基本上是代码级重用。给一个客户开发了一个软件,第二次拿到做另外一个公司的项目时,就把这个软件拿去“实施”,在原来系统的代码的基础上修修补补,就算是第二个系统。但这种方式,到了第三个项目的时候,基本上就没法重用,只好重新做起。并且对于客户而言,隐患极多! 第二个阶段:“通用软件+二次开发(即实施)”生产方式 目前也有一些企业,拿着通用的管理软件,实施或者定制给客户。这类信息系统的巨大问题是,通用软件失去个性化。可是,真正的管理和企业需求以及企业的自身核心竞争力都是个性化的。导致许多客户的问题和需求无法实现,要实现,则需要打上不少的补丁;甚至另外做一个辅助系统。 第三个阶段:基于构件的组装生产方式 为解决前两种生产方式的瓶颈问题,借鉴传统制造业的“大规模定制”思想与技术,基于构件装配的生产方式呼之欲出。此种生产方式较前两种生产方式具有以下优势: 第一,构件化的生产方式,从重用的角度而言:它是业务层面的抽象和重用,比类的重用高一个层次。因而更能够进一步提高效率。类的重用是泥沙层面的重用;但是构件的重用是砖头层面的重用;用砖头建筑效率要高于只是使用泥沙来建筑。 第二,构件化比“从头做起+懒汉式的重用”的方式而言:这种生产方式的价值在于,构件能够反复重用,多次重用;不断积累。而且没有维护的许多隐患。 第三,相对通用的软件而言,基于构件组装生产方式更加个性化、更加灵活、更加能够满足客户特殊的需求。能够适应企业的管理和业务优势。 构件化的关键在于:构件化是“分解再重装”。如果不分解,就没有灵活性和适应性,这是通用软件的弊端;如果分解的粒度太细(代码级或者类级),效率会下降。
二、基于构件组装的软件工业化生产模型 将软件的生产过程划分为三类不同的“生产车间”,即系统构架生产车间、构件生产车间和基于构件框架组装车间,从而形成软件产业内部的合理分工,实现软件的工业化生产。生产模型如下图所示:
源自:http://www.softchinatech.com/jsptabout.asp?id=974