出版者的话
译者序
前言
第一部分 软件工程导论
第1章 概述
1.1 专业化软件开发
1.1.1 软件工程
1.1.2 软件工程的多样性
1.1.3 软件工程和Web
1.2 软件工程人员的职业道德
1.3 案例研究
1.3.1 胰岛素泵控制系统
1.3.2 用于心理健康治疗的患者
信息系统
1.3.3 野外气象站
要点
进一步阅读材料
练习
参考书目第2章 软件过程
2.1 软件过程模型
2.1.1 瀑布模型
2.1.2 增量式开发
2.1.3 面向复用的软件工程
2.2 过程活动
2.2.1 软件描述
2.2.2 软件设计和实现
2.2.3 软件有效性验证
2.2.4 软件进化
2.3 应对变更
2.3.1 原型构造
2.3.2 增量式交付
2.3.3 Boehm的螺旋模型
2.4 Rational统一过程
要点
进一步阅读材料
练习
参考书目第3章 敏捷软件开发
3.1 敏捷方法
3.2 计划驱动开发和敏捷开发
3.3 极限编程
3.3.1 极限编程中的测试
3.3.2 结对编程
3.4 敏捷项目管理
3.5 扩展的敏捷方法
要点
进一步阅读材料
练习
参考书目第4章 需求工程
4.1 功能需求和非功能需求
4.1.1 功能需求
4.1.2 非功能需求
4.2 软件需求文档
4.3 需求描述
4.3.1 自然语言描述
4.3.2 结构化描述
4.4 需求工程过程
4.5 需求导出和分析
4.5.1 需求发现
4.5.2 采访
4.5.3 脚本
4.5.4 用例
4.5.5 深入实际
4.6 需求有效性验证
4.7 需求管理
4.7.1 需求管理规划
4.7.2 需求变更管理
要点
进一步阅读材料
练习
参考书目第5章 系统建模
5.1 上下文模型
5.2 交互模型
5.2.1 用例建模
5.2.2 时序图
5.3 结构模型
5.3.1 类图
5.3.2 泛化
5.3.3 聚合
5.4 行为模型
5.4.1 数据驱动的建模
5.4.2 事件驱动模型
5.5 模型驱动工程
5.5.1 模型驱动体系结构
5.5.2 可执行UML
要点
进一步阅读材料
练习
参考书目第6章 体系结构设计
6.1 体系结构设计决策
6.2 体系结构视图
6.3 体系结构模式
6.3.1 分层体系结构
6.3.2 容器体系结构
6.3.3 客户机一服务器体系结构
6.3.4 管道和过滤器体系结构
6.4 应用体系结构
6.4.1 事务处理系统
6.4.2 信息系统
6.4.3 语言处理系统
要点
进一步阅读材料
练习
参考书目第7章 设计与实现
7.1 利用UML进行面向对象设计
7.1.1 系统上下文与交互
7.1.2 体系结构的设计
7.1.3 对象类识别
7.1.4 设计模型
7.1.5 接口描述
7.2 设计模式
7.3 实现问题
7.3.1 复用
7.3.2 配置管理
7.3.3 宿主机一目标机开发
7.4 开源开发
要点
进一步阅读材料
练习
参考书目第8章 软件测试
8.1 开发测试
8.1.1 单元测试
8.1.2 选择单元测试案例
8.1.3 组件测试
8.1.4 系统测试
8.2 测试驱动开发
8.3 发布测试
8.3.1 基于需求的测试
8.3.2 情景测试
8.3.3 性能测试
8.4 用户测试
要点
进一步阅读材料
练习
参考书目第9章 软件进化
9.1 进化过程
9.2 程序进化的动态特性
9.3 软件维护
9.3.1 维护预测
9.3.2 软件再工程
9.3.3 通过重构进行预防性维护
9.4 遗留系统管理
要点
进一步阅读材料
练习
参考书目
第二部分 可依赖性和信息安全性
第三部分 高级软件工程
第四部分 软件管理