本文主要研究软件重构技术的相关问题,阐述了软件重构的定义和作用,分析了软件重构的时机,总结了软件重构的基本方法,并介绍了与软件重构密切相关的设计模式、极限编程的相关概念,为软件重构的深入研究奠定了基础。