标题：软件工程（原书第9版）
基本信息
作者： (英)Ian Sommerville  软件工程（原书第9版）译者： 程成
丛书名： 计算机科学丛书
出版社：机械工业出版社
ISBN：9787111334989
上架时间：2011-4-18
出版日期：2011 年5月
开本：16开
页码：1
版次：9-1
内容简介
《软件工程(原书第9版)》是系统介绍软件工程理论的经典教材，自1982年初版以来，随着软件工程学科的不断发展，不断更新版本，影响了一代又一代软件工程人才，对学科本身也产生了重大影响。本版保留了上一版中的软件工程的基本材料，但对各章都进行了修改和更新，并增加了很多有关其他主题的新材料。
《软件工程(原书第9版)》包含四个部分：第一部分是对软件工程的一般性介绍，包括软件工程过程和敏捷开发，以及面向对象的设计和设计模式的使用；第二部分介绍可依赖性和信息安全性问题；第三部分介绍高级软件工程；第四部分介绍软件管理，重点介绍技术管理问题。
《软件工程(原书第9版)》适合作为软件和系统工程专业本科生或研究生教材，同时也是软件工程师难得的优秀参考书籍。
目录
《软件工程(原书第9版)》
出版者的话
译者序
前言
第一部分软件工程导论
第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.3boehm的螺旋模型
2.4rational统一过程
要点
进一步阅读材料
练习
参考书目
第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遗留系统管理
要点
进一步阅读材料
练习
参考书目
第二部分可依赖性和信息安全性
第10章社会技术系统
10.1复杂系统
10.1.1系统总体特性
10.1.2系统非确定性
10.1.3成功标准
10.2系统工程
10.3系统采购
10.4系统开发
10.5系统运行
10.5.1人为错误
10.5.2系统进化
要点
进一步阅读材料
练习
参考书目
第11章可依赖性与信息安全性
11.1可依赖性特征
11.2可用性和可靠性
11.3安全性
11.4信息安全性
要点
进一步阅读材料
练习
参考书目
第12章可依赖性与信息安全性描述
12.1风险驱动的需求描述
12.2安全性描述
12.2.1危险识别
12.2.2危险评估
12.2.3危险分析
12.2.4风险降低
12.3可靠性描述
12.3.1可靠性度量
12.3.2非功能性的可靠性需求
12.3.3功能可靠性描述
12.4信息安全性描述
12.5形式化描述
要点
进一步阅读材料
练习
参考书目
第13章可依赖性工程
13.1冗余性和多样性
13.2可依赖的过程
13.3可依赖的系统体系结构
13.3.1保护性系统
13.3.2自监控系统体系结构
13.3.3n-版本编程
13.3.4软件多样性
13.4可依赖的编程
要点
进一步阅读材料
练习
参考书目
第14章信息安全工程
14.1信息安全风险管理
14.1.1生存期风险评估
14.1.2运行风险评估
14.2面向信息安全的设计
14.2.1体系结构设计
14.2.2设计准则
14.2.3部署设计
14.3系统生存能力
要点
进一步阅读材料
练习
参考书目
第15章可依赖性与信息安全保证
15.1静态分析  
15.1.1检验和形式化方法
15.1.2模型检测
15.1.3自动静态分析 
15.2可靠性测试
15.3信息安全性测试
15.4过程保证
15.5安全性和可依赖性案例
15.5.1结构化论证 
15.5.2结构化的安全性论证
要点
进一步阅读材料
练习
参考书目
第三部分高级软件工程
第16章软件复用
16.1复用概览
16.2应用框架
16.3软件产品线
16.4cots产品的复用
16.4.1cots解决方案系统
16.4.2cots集成系统
要点
进一步阅读材料
练习
参考书目
第17章基于组件的软件工程
17.1组件和组件模型
17.2cbse过程
17.2.1面向复用的cbse
17.2.2基于复用的cbse
17.3组件合成
要点
进一步阅读材料
练习
参考书目
第18章分布式软件工程
18.1分布式系统的问题
18.1.1交互模型
18.1.2中间件
18.2客户机-服务器计算
18.3分布式系统的体系结构模式
18.3.1主从体系结构
18.3.2两层客户机-服务器结构
18.3.3多层客户机-服务器结构
18.3.4分布式组件体系结构
18.3.5对等体系结构
18.4软件作为服务
要点
进一步阅读材料
练习
参考书目
第19章面向服务的体系结构
19.1服务作为可复用的组件
19.2服务工程
19.2.1可选服务的识别
19.2.2服务接口设计
19.2.3服务实现和部署
19.2.4遗留系统服务
19.3使用服务的软件开发
19.3.1工作流设计和实现
19.3.2服务测试
要点
进一步阅读材料
练习
参考书目
第20章嵌入式软件
20.1嵌入式系统设计
20.1.1实时系统建模
20.1.2实时编程
20.2体系结构模式
20.2.1观察和反应 
20.2.2环境控制 
20.2.3处理管道
20.3时序分析
20.4实时操作系统
要点
进一步阅读材料
练习
参考书目
第21章面向方面的软件工程
21.1关注点分离
21.2方面、连接点和切入点
21.3采用方面的软件工程
21.3.1面向关注点的需求工程
21.3.2面向方面的设计和编程
21.3.3检验和有效性验证
要点
进一步阅读材料
练习
参考书目
第四部分软 件 管 理
第22章项目管理
22.1风险管理
22.1.1风险识别
22.1.2风险分析
22.1.3风险规划
22.1.4风险监控
22.2人员管理
22.3团队协作
22.3.1成员挑选
22.3.2小组的结构
22.3.3小组的沟通
要点
进一步阅读材料  
练习
参考书目
第23章项目规划
23.1软件报价
23.2计划驱动的开发
23.2.1项目计划
23.2.2规划过程
23.3项目进度安排
23.4敏捷规划
23.5估算技术
23.5.1算法成本建模
23.5.2cocomo ⅱ模型
23.5.3项目的工期和人员配备
要点
进一步阅读材料
练习
参考书目
第24章质量管理
24.1软件质量
24.2软件标准
24.3复查与审查
24.3.1复查过程
24.3.2程序审查 
24.4软件度量和量度
24.4.1产品量度
24.4.2软件组件分析
24.4.3度量歧义
要点
进一步阅读材料
练习
参考书目
第25章配置管理
25.1变更管理
25.2版本管理
25.3系统构建
25.4发布版本管理
要点
进一步阅读材料
练习
参考书目
第26章过程改善
26.1过程改善过程
26.2过程度量
26.3过程分析
26.4过程变更
26.5cmmi过程改善框架
26.5.1分阶段的cmmi模型
26software engineering,9e
出版者的话
译者序
前言
第一部分软件工程导论
第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.3boehm的螺旋模型
2.4rational统一过程
要点
进一步阅读材料
练习
参考书目
第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遗留系统管理
要点
进一步阅读材料
练习
参考书目
第二部分可依赖性和信息安全性
第10章社会技术系统
10.1复杂系统
10.1.1系统总体特性
10.1.2系统非确定性
10.1.3成功标准
10.2系统工程
10.3系统采购
10.4系统开发
10.5系统运行
10.5.1人为错误
10.5.2系统进化
要点
进一步阅读材料
练习
参考书目
第11章可依赖性与信息安全性
11.1可依赖性特征
11.2可用性和可靠性
11.3安全性
11.4信息安全性
要点
进一步阅读材料
练习
参考书目
第12章可依赖性与信息安全性描述
12.1风险驱动的需求描述
12.2安全性描述
12.2.1危险识别
12.2.2危险评估
12.2.3危险分析
12.2.4风险降低
12.3可靠性描述
12.3.1可靠性度量
12.3.2非功能性的可靠性需求
12.3.3功能可靠性描述
12.4信息安全性描述
12.5形式化描述
要点
进一步阅读材料
练习
参考书目
第13章可依赖性工程
13.1冗余性和多样性
13.2可依赖的过程
13.3可依赖的系统体系结构
13.3.1保护性系统
13.3.2自监控系统体系结构
13.3.3n-版本编程
13.3.4软件多样性
13.4可依赖的编程
要点
进一步阅读材料
练习
参考书目
第14章信息安全工程
14.1信息安全风险管理
14.1.1生存期风险评估
14.1.2运行风险评估
14.2面向信息安全的设计
14.2.1体系结构设计
14.2.2设计准则
14.2.3部署设计
14.3系统生存能力
要点
进一步阅读材料
练习
参考书目
第15章可依赖性与信息安全保证
15.1静态分析  
15.1.1检验和形式化方法
15.1.2模型检测
15.1.3自动静态分析 
15.2可靠性测试
15.3信息安全性测试
15.4过程保证
15.5安全性和可依赖性案例
15.5.1结构化论证 
15.5.2结构化的安全性论证
要点
进一步阅读材料
练习
参考书目
第三部分高级软件工程
第16章软件复用
16.1复用概览
16.2应用框架
16.3软件产品线
16.4cots产品的复用
16.4.1cots解决方案系统
16.4.2cots集成系统
要点
进一步阅读材料
练习
参考书目
第17章基于组件的软件工程
17.1组件和组件模型
17.2cbse过程
17.2.1面向复用的cbse
17.2.2基于复用的cbse
17.3组件合成
要点
进一步阅读材料
练习
参考书目
第18章分布式软件工程
18.1分布式系统的问题
18.1.1交互模型
18.1.2中间件
18.2客户机-服务器计算
18.3分布式系统的体系结构模式
18.3.1主从体系结构
18.3.2两层客户机-服务器结构
18.3.3多层客户机-服务器结构
18.3.4分布式组件体系结构
18.3.5对等体系结构
18.4软件作为服务
要点
进一步阅读材料
练习
参考书目
第19章面向服务的体系结构
19.1服务作为可复用的组件
19.2服务工程
19.2.1可选服务的识别
19.2.2服务接口设计
19.2.3服务实现和部署
19.2.4遗留系统服务
19.3使用服务的软件开发
19.3.1工作流设计和实现
19.3.2服务测试
要点
进一步阅读材料
练习
参考书目
第20章嵌入式软件
20.1嵌入式系统设计
20.1.1实时系统建模
20.1.2实时编程
20.2体系结构模式
20.2.1观察和反应 
20.2.2环境控制 
20.2.3处理管道
20.3时序分析
20.4实时操作系统
要点
进一步阅读材料
练习
参考书目
第21章面向方面的软件工程
21.1关注点分离
21.2方面、连接点和切入点
21.3采用方面的软件工程
21.3.1面向关注点的需求工程
21.3.2面向方面的设计和编程
21.3.3检验和有效性验证
要点
进一步阅读材料
练习
参考书目
第四部分软 件 管 理
第22章项目管理
22.1风险管理
22.1.1风险识别
22.1.2风险分析
22.1.3风险规划
22.1.4风险监控
22.2人员管理
22.3团队协作
22.3.1成员挑选
22.3.2小组的结构
22.3.3小组的沟通
要点
进一步阅读材料  
练习
参考书目
第23章项目规划
23.1软件报价
23.2计划驱动的开发
23.2.1项目计划
23.2.2规划过程
23.3项目进度安排
23.4敏捷规划
23.5估算技术
23.5.1算法成本建模
23.5.2cocomo ⅱ模型
23.5.3项目的工期和人员配备
要点
进一步阅读材料
练习
参考书目
第24章质量管理
24.1软件质量
24.2软件标准
24.3复查与审查
24.3.1复查过程
24.3.2程序审查 
24.4软件度量和量度
24.4.1产品量度
24.4.2软件组件分析
24.4.3度量歧义
要点
进一步阅读材料
练习
参考书目
第25章配置管理
25.1变更管理
25.2版本管理
25.3系统构建
25.4发布版本管理
要点
进一步阅读材料
练习
参考书目
第26章过程改善
26.1过程改善过程
26.2过程度量
26.3过程分析
26.4过程变更
26.5cmmi过程改善框架
26.5.1分阶段的cmmi模型
26.5.2连续cmmi模型
要点
进一步阅读材料
练习
参考书目
术语表5.2连续cmmi模型
要点
进一步阅读材料
练习
参考书目
术语表