本书第一版发行至今已有4年时间,并被许多高校选做软件工程课程教材。为了使本书更好地服务软件工程教学,特对该书进行修订,推出第二版。
第二版保留了第一版既有的系统性与实用性风格,重视软件工程概念,通过工程案例说明工程方法应用,内容上则有少量增补与一定的修订。
软件工程的真正价值在于工程应用与产生工程实效。本书的编写充分考虑到了软件工程的实用性,有对软件工程概念、规则的生动说明,有与工程实践相适应的基于软件生存周期的内容编排,有基于工程案例的工程方法应用指导。
第二版的改变主要是内容的组织结构,全书组织成工程基础、工程任务、工程方法3个部分。这样的教材结构是基于教学考虑,使其更具系统性,并有更明确的教学目标,而且在教学内容的取舍上也有更大的可操作性。下面是对这3个部分的说明。
第1部分工程基础: 第1~4章,涉及概述、工程过程、工程项目管理及计算机系统工程等内容,对软件工程基于工程要素、时空框架、任务特征等进行全局性说明,使学习者在学习初期,就对软件工程有初步的较全面的认识。我们认为,这种学习对于尽早培养学习者的工程意识是有益的,可使学习者在学习初期就能初步建立起有关软件工程的价值体系。
第2部分工程任务: 第5~9章,涉及需求分析、概要设计、算法设计、编码测试、软件维护等内容,其按照一般的软件生命过程说明诸多工程任务。显然,这样与工程实际进程相一致的编排顺序,有利于学习者的软件工程实践。
第3部分工程方法: 第10~17章,涉及结构化工程方法、面向对象工程方法、数据库工程方法、界面设计方法等内容,并介绍敏捷工程、净室工程等一些非主流工程方法。这部分的核心内容是面向对象工程方法,有比较全面的基于UML的面向对象建模说明; 第17章是一个较完整的面向对象工程案例,基于UML建模,并已通过C++、Java进行工程创建。
编者
2015年9月