图书前言

 本书第二版自1997年发行以来,已经历了十多个年头。近年来它成为许多高等学校计算机相关专业软件工程课的首选教材,已经拥有了二十几万的读者。在这十几年中,软件技术以及与其相关的计算机系统和网络技术都已取得了长足的进步,原书内容的调整与更新自然已成为适应趋势之必需。然而,在进行第三版的修订之时,作者仍然力图坚守第一、第二版的选材原则,希望继续体现简明与实用。当然,过于简短并不能充分地阐述软件工程的基本概念、基本原则与基本方法,也将无法满足广大读者的需求,指导软件工程实践。

为此第三版保留了软件生存期过程的基本内容,包括软件需求、设计、实现、测试和维护等,同时增加了统一建模语言UML,扩充了面向对象方法,以此来满足高校计算机相关专业本科教学的要求。另一方面,把涉及软件管理,包括项目管理、配置管理、质量管理、软件过程、软件工程标准以及软件工具的内容分离出来,另成一册,并增加了体现软件面向服务(SOA)的内容,以期适应研究生教学的要求。

关于如何把握好内容的更新,我们认为,正是由于本书的主要读者对象是初学者,他们在学习中更应着重掌握好软件工程的基本知识和基本内容,而不是一味地求新。例如,当前在一些软件开发组织中流行着“敏捷开发方法”,尽管该方法具有简单、灵活的优点,我们仍然不主张初学者从敏捷开发入手。毋庸置疑,传统的软件工程方法有助于培养严谨的思维、规范化的作风和工程实践,而这一点恰是软件工程师的职业生涯中必不可缺和至关重要的。还是先学走再学跑为妥,否则本末倒置,也许掌握了技巧却丢掉了基本功,那种“捷径”是不可取的。

在内容更新方面需要说明的另一点是软件标准的更新。由于软件工程的规范化实践很大程度上体现在能否遵循和参考软件工程标准,为此,必须及时地跟踪新的国际标准以及最新修订的国家标准。本书的第三版已尽可能选用了最新标准版本予以介绍,并希望通过这一部分让读者建立软件工程标准化的概念。

以下三位作者参与了第三版的工作: 马素霞教授负责编写软件设计工程、体系结构设计与设计模式、软件配置管理及软件工具与环境等部分;本人负责编写软件质量管理、软件过程、软件工程标准及软件文档部分;其余部分由殷人昆教授和白晓颖副教授编写。

读者若有反馈意见请径告作者或由清华大学出版社(zhengyk@tup.tsinghua.edu.cn)转告。

郑人杰2010年8月