图书前言

前言

软件工程是一门实用性很强的年青学科。尽管其中也包含了某些理论的内容,但它具有一个显著特点是实践性。软件工程学科的实践性不仅体现在,它的形成和发展得益于软件工程项目的推动,或者说,是人们在软件开发的实践中碰壁之后为寻求“软件危机”的出路而总结出的原则和方法;而且它的实践性还体现在对于软件开发项目的实际指导作用。许多人感到,理解和掌握这一学科的知识并不难,然而,常常发生的问题是不能坚持按照它所提供的原则和方法去做。例如,有些规模不小的软件项目因为一开始就忽视了按软件工程的要求开发,致使开发后期,或是在维护阶段步入了十分被动的境地。由于结构性、清晰性和可扩充性差,导致整体的可维护性差,运行中发现了问题,多次修改形成“补丁上加补丁”之后,难于再行修补。加上文档编制得不够理想,以致没有人愿意承担维护工作。但若将其放弃重新开发,从时间、资源多方面考虑,又是不可能的。这类情况一再发生表明,其教训并没有被人们认真吸取。一个中型以上的软件开发项目成功与否很大程度上取决于管理工作,这一点已逐渐成为人们的共识。为防止类似事件的重演,建议从两个方面着手,即:

1. 加强软件过程的管理,不断改进已为人们习惯了的传统开发过程。这就要克服轻视项目管理和文档工作、程序编写任意性等传统习惯。这一点正是本书编入最后两章内容的初衷。

2. 初学者在一接触本学科时,即强调应用,强调实践。希望初学者在一开始就打下良好的软件工程观念的基础,并在今后的软件开发工作中得到贯彻。

本书主要针对大专以上的读者,如感到其中材料不足,可参阅作者的另一本教材《实用软件工程》(第二版),清华大学出版社出版。

特别感谢殷人昆副教授,他在繁忙的教学科研工作中抽空帮我最后脱稿付梓,才使本书与读者见面。

郑人杰

1997年9月22日于清华园