1968年,D. Mcllroy在首次讨论软件工程的国际会议上发表了题为"Mass-Produced
Software Components"的论文,提出建立生产软件构件的工厂,用软件构件组成复杂的系统。70年代中期以后,国际上对复用技术进行了较多的研究与实践,并得到美国、欧洲、日本政府和企业界的倡导与支持。人们对软件复用给予很高的期望,但从实践效果来看,一些企业确实通过软件复用提高了软件产品的生产效率与质量,其效果却没有达到最初所期望的程度。
软件复用最大的好处是提高软件生产率,降低软件生产代价,缩短开发周期。其次,由于可复用构件大都经过严格的质量检验,并在实际应用中得到验证,因此软件复用可以提高软件质量。再者,大量使用可复用的软件构件,可以提高软件系统的灵活性和标准化程度,并且有效地支持原型开发。
尽管软件复用具有上述许多优点,但目前复用的实行还不够广泛,其原因主要包括以下方面:
(1) 技术因素
由于构件与应用系统之间存在差异、构件规模不够、缺乏基于复用的软件开发方法和软件构成等因素,软件复用难以广泛应用。
(2) 人的因素
软件开发是一种创造性的工作,往往软件开发人员习惯性地愿意使用自己创造的东西而不喜欢使用别人的东西,特别是更不愿意修改别人开发的软件。
(3) 管理因素
在软件管理中,存在着一些与复用的目标不协调的制度与政策,例如计算共组量时对复用部分大打折扣,挫伤开发人员进行软件复用的积极性。
(4) 教育因素
在软件科学技术的教育与培训中,缺乏关于软件复用的内容和知识,使开发人员无法较好地学习和应用软件复用技术。
(5) 法律因素
当一个可复用构件在应用系统中出错时,难以划定责任人,另外在版权和政策等方面也存在一些尚未解决的问题。
在上述因素的影响下,软件复用仍然无法普及,目前人们正在致力于对这些问题的积极解决。
|