软件工程

软件工程
作 者: 王庆育
出版社: 清华大学出版社
丛编项: 高等学校教材
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《软件工程》作者简介

内容简介

本书全面系统地讲授软件工程的理论与实践,力求从不同的角度帮助读者迅速掌握软件工程的理论、方法和思路。全书共分软件工程基础、软件项目管理、传统的软件工程、面向对象的软件工程、软件工程的最新技术等五个部分。内容主要包括:软件工程概论、软件过程、软件建模语言、软件项目、团队管理、软件配置管理、系统设计、软件测试、面向对象的分析与设计、编码实现、基于构件的软件工程、客户服务器与Web软件工程、设计模式等。本书理论与实践相结合,采用案例教学并附有大量习题便于读者学习掌握。本书既可作为高等学校相关专业的教材或教学参考书,也可作为软件设计人员的自学用书。

图书目录

第1部分 软件工程基础

第1章 软件工程概论

1. 1 软件

1. 1. 1 软件的定义

1. 1. 2 软件的特征

1. 1. 3 软件的应用

1. 2 软件工程

1. 2. 1 软件的发展历史

1. 2. 2 软件过程的概念

1. 2. 3 软件工程的概念

1. 2. 4 软件工程的要素

1. 2. 5 软件工程的目标

1. 3 软件工程的活动

1. 3. 1 建模

1. 3. 2 问题求解

1. 3. 3 知识获取

1. 3. 4 决策知识

1. 4 自测练习

1. 5 自测练习参考答案

第2章 软件过程

2. 1 软件过程框架

2. 2 软件的生存周期和瀑布模型

2. 3 原型实现模型

2. 4 演化软件过程模型

2. 4. 1 增量模型

2. 4. 2 螺旋模型

2. 5 微软解决框架过程模型

2. 5. 1 过程定义

2. 5. 2 目标驱动

2. 5. 3 基于风险管理的开发调度

2. 5. 4 按产品版本发布

2. 5. 5 支持项目管理

2. 5. 6 靠改进特性与固定资源来激发创造力的战略

2. 5. 7 同步--稳定开发法

2. 6 基于构件的开发模型

2. 7 极限编程

2. 7. 1 目标与活动

2. 7. 2 实践方法

2. 7. 3 XP--演化模型

2. 7. 4 XP应用的限制

2. 8 软件过程能力成熟度模型

2. 8. 1 CMM简介

2. 8. 2 关键过程域

2. 8. 3 CMM与ISO

2. 8. 4 CMM的应用

2. 9 自测练习

2. 10 自测练习参考答案

第3章 软件工程建模语言

3. 1 建模的概念

3. 1. 1 系统及模型和视图

3. 1. 2 概念和现象

3. 2 统一建模语言

3. 2. 1 为什么需要UML

3. 2. 2 UML简介

3. 3 UML图形符号

3. 3. 1 用例图

3. 3. 2 类图及对象图和包

3. 3. 3 构件图和配置图

3. 3. 4 消息

3. 3. 5 状态图

3. 3. 6 顺序图

3. 3. 7 协作图

3. 3. 8 活动图

3. 3. 9 四种图的运用

3. 4 自测练习

3. 5 自测练习参考答案

第2部分 软件项目管理

第4章 软件项目

4. 1 项目管理的历史及发展

4. 1. 1 项目管理的历史

4. 1. 2 项目管理的发展

4. 1. 3 项目管理的应用

4. 1. 4 软件项目管理的特点

4. 2 软件项目的基本概念

4. 2. 1 基本概念

4. 2. 2 项目管理框架

4. 2. 3 人员

4. 2. 4 产品

4. 2. 5 过程

4. 2. 6 项目计划

4. 3 项目生存周期

4. 4 项目拥有者

4. 5 关键管理技能

4. 5. 1 明白领导和管理的区别

4. 5. 2 交流技巧

4. 5. 3 谈判能力

4. 5. 4 解决问题的能力

4. 5. 5 影响组织

4. 6 项目管理的基本思想和技术

4. 6. 1 成本/进度综合控制

4. 6. 2 蒙托卡罗模拟技术

4. 6. 3 项目进展评价技术

4. 6. 4 网络计划技术

4. 6. 5 项目管理的可视化技术

4. 7 自测练习

4. 8 自测练习参考答案

第5章 团队管理

5. 1 团队模型

5. 1. 1 组织原则

5. 1. 2 微软解决方案框架团队模型

5. 2 自测练习

5. 3 自测练习参考答案

第6章 项目计划

6. 1 项目计划简介

6. 1. 1 影响项目估算的因素

6. 1. 2 软件范围的确定

6. 1. 3 项目所需资源

6. 2 项目估算

6. 2. 1 项目估算的方法

6. 2. 2 软件规模估算

6. 2. 3 经验估算模型

6. 3 项目计划的制定与提交

6. 4 自测练习

6. 5 自测练习参考答案

第7章 风险分析和管理

7. 1 软件风险

7. 1. 1 风险的概念

7. 1. 2 风险策略

7. 1. 3 软件风险的类别

7. 2 风险识别

7. 3 风险预测和评估

7. 3. 1 建立风险表

7. 3. 2 评估风险影响

7. 3. 3 风险评估

7. 4 风险的缓解和监控与管理

7. 4. 1 建立有效处理风险策略

7. 4. 2 RMMM计划

7. 4. 3 交流风险

7. 5 自测练习

7. 6 自测练习参考答案

第8章 项目进度计划与控制

8. 1 项目进度计划

8. 1. 1 进度计划

8. 1. 2 自顶向下与自底向上的计划

8. 1. 3 基本步骤

8. 2 项目跟踪与控制

8. 2. 1 进度安排

8. 2. 2 关键路径

8. 2. 3 跟踪进度

8. 2. 4 百分比值分析法

8. 2. 5 赢得值法

8. 3 MicrosoftProject2000

8. 3. 1 简介

8. 3. 2 功能

8. 4 自测练习

8. 5 自测练习参考答案

第9章 软件质量保证

9. 1 软件质量

9. 1. 1 软件质量的定义

9. 1. 2 软件质量控制的含义

9. 1. 3 软件质量保证的含义

9. 1. 4 软件质量成本的含义

9. 2 软件质量保证

9. 2. 1 软件质量保证的历史

9. 2. 2 SQA活动

9. 2. 3 统计软件质量保证

9. 2. 4 开发正确的产品

9. 3 软件评审

9. 3. 1 阶段评审

9. 3. 2 正式评审

9. 3. 3 项目完成后评审

9. 4 软件复杂性与可靠性

9. 4. 1 软件复杂性

9. 4. 2 软件可靠性

9. 4. 3 软件的容错技术

9. 5 软件质量度量模型

9. 5. 1 不同的人对软件质量关心的重点不同

9. 5. 2 软件质量特性

9. 6 自测练习

9. 7 自测练习参考答案

第10章 软件配置管理

10. 1 软件配置项及基线

10. 1. 1 软件配置项

10. 1. 2 基线

10. 2 配置管理过程

10. 2. 1 配置对象标识

10. 2. 2 版本控制

10. 2. 3 变更控制

10. 3 一个配置管理的工具--Visual Source Safe

10. 4 自测练习

10. 5 自测练习参考答案

第3部分 传统的软件工程

第11章 需求工程

11. 1 基本概念

11. 1. 1 业务过程工程

11. 1. 2 产品工程

11. 1. 3 需求工程

11. 2 需求获取

11. 2. 1 需求获取方式

11. 2. 2 提高获取的效率

11. 2. 3 原型与场景

11. 3 需求分析建模

11. 3. 1 为什么需要建模

11. 3. 2 建模的方法

11. 3. 3 结构化分析

11. 3. 4 数据建模

11. 3. 5 功能建模

11. 3. 6 控制模型

11. 3. 7 数据字典

11. 3. 8 IDEF方法

11. 4 软件需求规约及评审

11. 4. 1 需求规约

11. 4. 2 规约的评审

11. 5 自测练习

11. 6 自测练习参考答案

第12章 系统设计

12. 1 系统设计的概念

12. 1. 1 软件设计模型

12. 1. 2 设计目标和原则

12. 1. 3 设计基本方法

12. 1. 4 设计文档

12. 2 数据设计

12. 2. 1 数据三模式的概念

12. 2. 2 数据库设计的原则

12. 2. 3 数据仓库

12. 3 体系结构设计

12. 3. 1 体系结构是通用的

12. 3. 2 主机/终端结构

12. 3. 3 客户机/服务器结构

12. 3. 4 多层分布式结构

12. 3. 5 体系结构的选择

12. 3. 6 系统模块结构

12. 4 人机界面设计

12. 4. 1 界面设计是综合艺术

12. 4. 2 界面设计的黄金规则

12. 4. 3 界面设计

12. 4. 4 界面设计的问题

12. 4. 5 界面设计原型技巧

12. 5 过程设计

12. 5. 1 结构化程序设计

12. 5. 2 过程设计模板

12. 6 自测练习

12. 7 自测练习参考答案

第13章 软件测试

13. 1 测试目标和原则

13. 1. 1 测试目标

13. 1. 2 测试规则

13. 1. 3 可测试性

13. 1. 4 测试方法

13. 2 测试用例设计

13. 2. 1 白盒法

13. 2. 2 黑盒法

13. 2. 3 针对专门环境的测试

13. 3 测试计划

13. 4 软件测试过程

13. 4. 1 软件测试步骤

13. 4. 2 单元测试

13. 4. 3 集成测试

13. 4. 4 确认测试

13. 4. 5 一些常见的可用性问题

13. 5 测试和调试

13. 5. 1 调试和测试的区别

13. 5. 2 调试的困难

13. 5. 3 调试的方法

13. 5. 4 测试准备

13. 6 自测练习

13. 7 自测练习参考答案

第14章 软件技术度量

14. 1 软件技术度量的框架

14. 1. 1 度量准则

14. 1. 2 有效软件度量的属性

14. 2 需求分析度量

14. 2. 1 基于功能的分析模型测量

14. 2. 2 分析规约质量的度量

14. 3 设计模型度量

14. 3. 1 体系结构度量

14. 3. 2 过程设计度量

14. 3. 3 人机界面的度量

14. 4 源代码度量

14. 5 对测试的度量

14. 6 对维护的度量

14. 7 自测练习

14. 8 自测练习参考答案

第4部分 面向对象的软件工程

第15章 面向对象的概念

15. 1 面向对象的概念化

15. 1. 1 项目概念化

15. 1. 2 面向对象的范型

15. 1. 3 面向对象的软件工程

15. 1. 4 面向对象的管理

15. 2 类与对象

15. 2. 1 对象的识别

15. 2. 2 对象和类

15. 3 面向对象的要素

15. 3. 1 对象的关系

15. 3. 2 面向对象的特性

15. 4 面向对象的建模

15. 4. 1 目标

15. 4. 2 面向对象的模型

15. 4. 3 面向对象的开发方法

15. 5 自测练习

15. 6 自测练习参考答案

第16章 面向对象的分析

16. 1 面向对象的分析与设计

16. 2 案例分析--图书管理系统

16. 2. 1 需求规格说明

16. 2. 2 需求规格说明的细化

16. 2. 3 需求规格说明的验证

16. 3 需求分析

16. 3. 1 需求分析的过程

16. 3. 2 用UML建模

16. 4 以用例为中心的需求分析方法

16. 5 自测练习

16. 6 自测练习参考答案

第17章 面向对象的设计

17. 1 面向对象的设计概述

17. 1. 1 面向对象的设计目标

17. 1. 2 类设计与产品设计

17. 2 对象的存储

17. 2. 1 对象存储方法

17. 2. 2 对象序列化

17. 2. 3 对象属性的永久保留

17. 2. 4 对象存储的评价

17. 2. 5 图书管理系统的对象存储

17. 3 进程体系结构

17. 3. 1 多节点建模与进程间的通信

17. 3. 2 实例

17. 4 用户界面

17. 4. 1 用户界面设计

17. 4. 2 用户界面的交互样式

17. 4. 3 图书管理系统的界面

17. 5 类设计

17. 5. 1 类架构

17. 5. 2 系统分解

17. 5. 3 类图的附加符号

17. 5. 4 交互图

17. 6 类设计的目标及其验证

17. 6. 1 代码重用

17. 6. 2 良好设计的类与方法

17. 6. 3 数据的完整性

17. 6. 4 类设计的验证

17. 7 方法设计

17. 7. 1 确定方法

17. 7. 2 创建优质的方法

17. 8 自测练习

17. 9 自测练习参考答案

第18章 编码实现

18. 1 程序设计的发展

18. 1. 1 程序设计的方法

18. 1. 2 软件开发环境的发展

18. 1. 3 软件开发模式的发展

18. 2 开发策略

18. 2. 1 自顶向下的开发与自底向上的开发

18. 2. 2 自底向上和自顶向下的结合

18. 2. 3 线程方法

18. 3 编码计划

18. 4 编程风格

18. 4. 1 简单性

18. 4. 2 注释和内部文档

18. 5 编码标准

18. 5. 1 一般规则

18. 5. 2 模块化规则

18. 5. 3 声明

18. 5. 4 可执行的命令

18. 6 超类设计和超类对象的实现

18. 6. 1 识别超类

18. 6. 2 面向对象方法的超类实现

18. 7 自测练习

18. 8 自测练习参考答案

第19章 面向对象的测试

19. 1 基本概念

19. 1. 1 测试的定义

19. 1. 2 面向对象测试

19. 1. 3 错误及故障和失效

19. 2 测试计划

19. 2. 1 计划内容

19. 2. 2 预期结果

19. 2. 3 测试用例

19. 3 面向对象的测试过程

19. 3. 1 面向对象的单元测试

19. 3. 2 面向对象的集成测试

19. 3. 3 面向对象的系统测试

19. 3. 4 面向对象的测试步骤

19. 3. 5 软件内部测试的自动工具

19. 4 面向对象系统与面向过程系统的测试

19. 4. 1 面向对象系统测试的复杂性

19. 4. 2 有关测试的一些问题

19. 5 案例分析--测试图书馆管理系统

19. 5. 1 LMS的测试计划

19. 5. 2 LMS的单元测试

19. 5. 3 LMS的测试用例

19. 6 配置管理的测试

19. 7 自测练习

19. 8 自测练习参考答案

第5部分 软件工程的最新技术

第20章 基于构件的软件工程

20. 1 构件

20. 1. 1 构件技术

20. 1. 2 构件属性

20. 2 基于构件的系统开发

20. 2. 1 系统结构分层和逻辑与数据分离

20. 2. 2 选择和评价已有的构件

20. 2. 3 构件的使用

20. 2. 4 实现构件技术必须具备的条件

20. 3 构件的开发

20. 3. 1 构件的设计

20. 3. 2 领域工程

20. 4 构件和中间件

20. 4. 1 中间件是构件存在的基础

20. 4. 2 构件思想对中间件的作用

20. 4. 3 中间件的分类

20. 4. 4 基于中间件的开发系统模型

20. 4. 5 中间件面临的一些问题

20. 5 软件构件的标准

20. 5. 1 OMG/CORBA

20. 5. 2 EJB和J2EE

20. 5. 3 MicrosoftDCOM及WindowsDNA

20. 6 自测练习

20. 7 自测练习参考答案

第21章 客户服务器与Web软件工程

21. 1 计算机系统体系结构

21. 1. 1 计算机系统结构

21. 1. 2 C/S系统结构

21. 2 C/S系统

21. 2. 1 C/S系统构成

21. 2. 2 分布应用子系统的指导原则

21. 2. 3 分布应用举例

21. 3 C/S系统开发

21. 3. 1 C/S系统设计

21. 3. 2 C/S系统结构设计

21. 3. 3 C/S系统数据库设计

21. 3. 4 提高C/S系统性能的方法

21. 4 基于Web系统

21. 4. 1 C/S与B/S

21. 4. 2 B/S工程

21. 4. 3 B/S系统设计

21. 4. 4 B/S系统测试

21. 4. 5 B/S系统管理

21. 5 自测练习

21. 6 自测练习参考答案

第22章 设计模式

22. 1 设计模式简介

22. 1. 1 设计模式产生于建筑学和人类学

22. 1. 2 再工程与模式化运动

22. 1. 3 软件模式与模式语言

22. 1. 4 面向模式的软件再工程

22. 1. 5 软件再工程首先面对反面模式

22. 1. 6 从再工程过程中抽象软件模式

22. 2 基本设计模式

22. 2. 1 创建型模式

22. 2. 2 结构型模式

22. 2. 3 行为模式

22. 2. 4 学习设计模式的意义

22. 3 应用设计模式

22. 3. 1 包装程序设计模式

22. 3. 2 桥接设计模式

22. 3. 3 迭代程序设计模式

22. 3. 4 单实例设计模式

22. 4 自测练习

22. 5 自测练习参考答案

参考文献