软件开发长期以来被认为是一项富有创造性的活动。一个软件开发机构在接到一个新的项目之后,通常遵循需求、获取、分析、设计、实现、集成和测试的步骤,进行项目的开发。传统的开发方法并不强调软件复用,这样就必然导致大量的重复劳动,给软件企业造成巨大的人力、物力和财力的浪费。对比一些成熟的工程领域,复用是这些领域的一个基本特征,例如土木工程、化学工程、计算机硬件工程等。通过大量复用经过实践检验的系统体系结构和标准化的构件,使得对于一般的设计问题都可以直接利用现成的解决方法,避免了系统开发时“不断重复地发明车轮”,从而大幅度降低开发成本、提高生产效率和产品质量。系统化的复用将为软件企业在竞争日益激烈的市场上