本书围绕软件的基本概念、开发方法、开发工具、管理、实践和文档6个部分来选取和组织材料。基本概念部分包括软件、软件危机、软件工程和计算模型; 开发方法部分包括基于过程的方法和基于建模粒度的方法,前者介绍瀑布型方法、快速原型方法和其他一些方法,后者介绍面向对象方法、面向构件方法、面向AGENT方法、面向SOA方法和面向云计算方法; 开发工具部分包括CASE概念、实例和发展趋势; 管理部分包括项目招投标、人员、进度、成本、质量和风险等管理; 实践部分包括信息系统开发、类制作、构件制作、SOA实现、云平台体验和CASE工具制作; 文档部分包含12种重要的模板。本书可作为高校本科生的教材,也可以作为教师和广大软件工程人员的参考书。