作为一本注重能力培养的实践教材,第三版继承并保持了注重实践的风格,将整本书分为绪论、上、中、下三部分,共14章。内容分别为:上一部分是传统软件工程,包括软件生存周期和软件过程、结构化分析和设计;中间部分是面向对象的软件工程,包括面向对象和UML、需求工程和需求分析、面向对象分析、面向对象设计、编码和测试;下一部分是软件工程的近期进展、管理和环境,包括软件维护、软件再利用、软件工程管理、软件质量管理、软件工程环境、软件工程高级课题。与第二版相比,本版将并行介绍传统和面向对象的软件工程改为重点介绍面向对象的软件工程,在面向对象分析和面向对象设计两章分别给出案例;通过软件工程高级课题,对网络工程和基于系统结构的软件开发等热门课题进行简要讲解。
该书结构合理,文字通俗,例题丰富,可读性强,主要面向计算机及相关专业本科生,也可供软件开发人员参考。
目录
- 前言
- 第1章 绪论
- 11 软件和软件危机
- 111 软件的定义
- 112 软件的特征
- 113 软件危机
- 12 软件工程学的范畴
- 121 软件开发方法学
- 122 软件工具
- 123 软件工程环境
- 124 软件工程管理
- 13 软件工程的发展
- 131 3 种编程范型
- 132 3 代软件工程
- 14 软件工程的应用
- 141 在各种规模软件开发中的应用
- 142 软件工程的成就与发展展望
- 15 软件工程的教学:本书导读
- 小结
- 习题
- 上篇 传统软件工程
- 第2章 软件生存周期与软件过程
- 21 软件生存周期
- 211 软件生存周期的主要活动
- 212 生存周期与软件过程的关系
- 22 传统的软件过程
- 221 瀑布模型
- 222 快速原型模型
- 23 软件演化模型
- 231 增量模型
- 232 螺旋模型
- 233 构件集成模型
- 24 形式化方法模型
- 241 转换模型
- 242 净室模型
- 25 统一过程和敏捷过程
- 251 统一过程
- 252 敏捷过程
- 253 极限编程
- 26 软件可行性研究
- 261 可行性研究的内容与步骤
- 262 软件风险分析
- 263 项目实施计划
- 小结
- 习题
- 第3章 结构化分析与设计
- 31 概述
- 311 结构化分析与设计的由来
- 312 SA 模型的组成与描述
- 313 SD 模型的组成与描述
- 32 结构化系统分析
- 321 画分层数据流图
- 322 确定数据定义与加工策略
- 323 需求分析的复审
- 33 结构化系统设计
- 331 SD 概述
- 332 SD 的步骤:从DFD 图到SC 图
- 333 变换映射
- 334 事务映射
- 335 优化初始SC 图的指导规则
- 336 教材购销系统的总体结构
- 34 模块设计
- 341 目的与任务
- 342 模块设计的原则与方法
- 343 常用的表达工具
- 小结
- 习题
- 中篇 面向对象软件工程
- 第4章 面向对象与UML
- 41 面向对象概述
- 411 对象和类
- 412 面向对象的基本特征
- 413 面向对象开发的优点
- 42 UML 简介
- 421 UML 的组成
- 422 UML 的特点
- 423 UML 的应用
- 43 静态建模
- 431 用例图与用例模型
- 432 类图和对象图
- 433 包
- 44 动态建模
- 441 消息
- 442 状态图
- 443 时序图和协作图
- 444 活动图
- 45 物理架构建模
- 451 物理架构
- 452 构件图和部署图
- 46 UML 工具
- 461 Rational Rose
- 462 StarUML
- 小结
- 习题
- 第5章 需求工程与需求分析
- 51 软件需求工程
- 511 软件需求的定义
- 512 软件需求的特性
- 513 需求工程的由来
- 52 需求分析与建模
- 521 需求分析的步骤
- 522 需求分析是迭代过程
- 53 需求获取的常用方法
- 531 常规的需求获取方法
- 532 用快速原型法获取需求
- 54 需求模型
- 541 需求模型概述
- 542 面向对象的需求建模
- 55 软件需求描述
- 56 需求管理
- 561 需求管理的内容
- 562 需求变更控制
- 563 需求管理工具
- 57 需求建模示例
- 571 问题陈述
- 572 用例模型
- 573 补充规约
- 574 术语表
- 小结
- 习题
- 第6章 面向对象分析
- 61 软件分析概述
- 611 面向对象软件分析
- 612 面向对象分析模型
- 62 面向对象分析建模
- 621 识别与确定分析类
- 622 建立对象-行为模型
- 623 建立对象-关系模型
- 63 面向对象分析示例
- 631 注册
- 632 维护个人信息
- 633 维护购物车
- 634 生成订单
- 635 管理订单
- 小结
- 习题
- 第7章 面向对象设计
- 71 软件设计概述
- 711 软件设计的概念
- 712 软件设计的任务
- 713 模块化设计
- 72 面向对象设计建模
- 721 面向对象设计模型
- 722 面向对象设计的任务
- 723 模式的应用
- 73 系统架构设计
- 731 系统高层结构设计
- 732 确定设计元素
- 733 任务管理策略
- 734 分布式实现机制
- 735 数据存储设计
- 736 人机交互设计
- 74 系统元素设计
- 741 子系统设计
- 742 分包设计
- 743 类/对象设计
- 75 面向对象设计示例
- 751 关联关系的具体化
- 752 网上购物系统的架构设计
- 753 网上购物系统的类/对象设计
- 小结
- 习题
- 第8章 编码与测试
- 81 编码概述
- 811 编码的目的
- 812 编码的风格
- 82 编码语言与编码工具
- 821 编码语言的发展
- 822 常用的编程语言
- 823 编码语言的选择
- 824 编码工具
- 83 编码示例
- 831 注册功能编码实现
- 832 维护购物车功能编码实现
- 84 测试的基本概念
- 841 目的与任务
- 842 测试的特性
- 843 测试的种类
- 844 测试的文档
- 845 软件测试过程
- 85 黑盒测试和白盒测试
- 851 黑盒测试
- 852 白盒测试
- 86 测试用例设计
- 861 黑盒测试用例设计
- 862 白盒测试用例设计
- 87 多模块程序的测试策略
- 871 测试的层次性
- 872 单元测试
- 873 集成测试
- 874 确认测试
- 875 系统测试
- 876 终止测试的标准
- 88 面向对象系统的测试
- 881 OO 软件的测试策略
- 882 OO 软件测试用例设计
- 小结
- 习题
- 下篇 软件工程的近期进展、管理与环境
- 第9章 软件维护
- 91 软件维护的种类
- 92 软件可维护性
- 93 软件维护的实施
- 94 软件维护的管理
- 95 软件配置管理
- 96 软件再工程
- 小结
- 习题
- 第10章 软件复用
- 101 软件复用的基本概念
- 1011 软件复用的定义
- 1012 软件复用的措施
- 1013 软件复用的粒度
- 102 领域工程
- 1021 横向复用和纵向复用
- 1022 实施领域分析
- 1023 开发可复用构件
- 1024 建立可复用构件库
- 103 基于构件的软件开发
- 1031 构件集成模型
- 1032 应用系统工程
- 104 面向对象与软件复用
- 1041 OO 方法对软件复用的支持
- 1042 复用技术对OO方法的支持
- 1043 基于构件软件开发的现状与问题
- 小结
- 习题
- 第11章 软件工程管理
- 111 管理的目的与内容
- 112 软件估算模型
- 1121 资源估算模型
- 1122 COCOMO 模型
- 113 软件成本估计
- 114 人员的分配与组织
- 115 项目进度安排
- 小结
- 习题
- 第12章 软件质量管理
- 121 从质量保证到质量认证
- 122 质量保证
- 1221 软件的质量属性
- 1222 质量保证的活动内容
- 123 软件可靠性
- 1231 可靠性的定义和分级
- 1232 可靠性模型
- 1233 软件容错技术
- 124 程序正确性证明
- 125 CMM 软件能力成熟度模型
- 1251 CMM 的基本概念
- 1252 软件能力成熟度等级
- 1253 CMM 的应用
- 1254 CMM 评估的实施
- 1255 软件过程评估的SPICE 国际标准
- 126 ISO 9000 国际标准
- 1261 ISO 9001 和ISO 9000-3
- 1262 ISO 9000 标准对软件企业的重要性
- 1263 在软件企业中实施ISO 9000 标准
- 127 软件度量
- 1271 项目度量
- 1272 过程度量
- 小结
- 习题
- 第13 章 软件工程环境
- 131 什么是软件工程环境
- 1311 软件开发环境的特点
- 1312 理想环境的模型
- 1313 CASE 环境
- 132 CASE 环境的组成与结构
- 1321 CASE 的组成构件
- 1322 CASE 的一般结构
- 133 CASE 环境实例
- 1331 Rational SUITE Enterprise Studio
- 1332 青鸟系统
- 小结
- 习题
- 第14 章 软件工程高级课题
- 141 Web 工程
- 1411 Web 工程与软件工程
- 1412 Web 开发
- 142 基于体系结构的软件开发
- 1421 应用软件的体系结构
- 1422 编程范型对体系结构的影响
- 1423 编程范型对复用粒度的影响
- 1424 软件体系结构技术仍在发展
- 143 面向方面的软件开发
- 1431 面向方面编程
- 1432 AOP 语言规范
- 1433 AOP 与OOP 比较
- 1434 面向方面软件开发
- 144 形式化的软件开发
- 1441 形式化方法的定义
- 1442 形式化的软件开发
- 小结
- 习题
- 附录 缩略语中英文对照表
- 主要参考文献
- 版权