摘要
1 引言
许多老的商用程序有其严重缺陷:(1)经过多年的发展后,程序变得越来越复杂,维护代价高,程序得不到可靠、及时的修改;(2)许多老的程序需要进行大量的扩充和重新设计以满足新的需求,但要做到功能完善非常困难;(3)新的技术能全面降低计算费用,更灵活使用存储数据和简化系统用户界面,但许多老的程序无法采用新技术而只能运行在过时的、低效率的平台上.通常,为使系统有更好的可维护性而对程序进行重新构建以及为适合新的计算机、数据库、操作系统和语言等而进行的转换,并不能解决已有程序中的所有问题,事实上,这只能在短期内延长系统的寿命.从长远来看,软件必须重新编写以充分利用新技术的优点并满足各方面的需要.然而,当今软件系统的规模变得越来越大,结构也越来越复杂,同时从头开始构建的大系统数量在急剧地减少,因而很多老的系统正在被逐步地利用.在这种情况下,软件再工程变得越来越重要,因为它提供了一条把老的系统转换为可演化系统的现实可行的途径,是一种可以改进人们对软件的理解和改进软件本身的活动[2].
Reengineering offers an approach to migrate an aging systems towards an evolvable systems. Reengineering is an opportune moment to capture viable assets from existing programs and make them available for future reuse. In this paper, we propose to address reusability issues in the context of reengineering,and explore means for integrating reengineering efforts with software reuse. We also discuss the main phases of the reengineering for reusability ,then comment on cost- benefit analysis issuse, outline a reusability framework for reengineering and other relevant research projects.
出处
《计算机科学》
CSCD
北大核心
2001年第5期122-123,127,共3页
Computer Science
关键词
软件再工程
程序代码
可复用性
程序分片
Object-oriented, Software reengineering, Reusability, Reverse engineering