《软件工程导论》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:朱少民编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302186236
  • 页数:265 页
图书介绍:本书共分9章,内容包括为什么研究软件工程、软件过程、软件工程目标和要求、软件工程思想、软件工程方法、软件建模、软件工程环境、软件项目管理、软件工具。

引子 1

第1章 为什么要研究软件工程 4

1.1软件危机 5

1.1.1软件不再只是程序 5

1.1.2危机四伏 7

1.1.3软件危机之证 9

1.2软件的问题在哪里 10

1.2.1软件特性 10

1.2.2软件业所面临的问题 12

1.2.3软件问题的幽默画 13

1.3软件工程的诞生 14

1.4软件工程的命题 15

1.5软件工程知识体系 17

1.5.1软件工程知识体系的构成 17

1.5.2软件工程要素 19

1.5.3 SWEBOK 20

1.6现代软件工程 22

1.6.1开源软件运动 23

1.6.2 SaaS 24

1.6.3现代软件工程的基本思想 25

1.7小结 26

思考题 27

第2章 软件过程 28

2.1完整的软件生命周期 28

2.1.1软件的工程过程 29

2.1.2综合的软件过程 32

2.2需求工程 34

2.2.1软件需求 35

2.2.2需求开发 36

2.2.3需求管理 38

2.3设计 38

2.3.1软件设计的目标 38

2.3.2体系结构设计 39

2.3.3详细设计 40

2.3.4部署设计 41

2.3.5设计评审 41

2.4实施 42

2.4.1单元测试 42

2.4.2集成测试 42

2.4.3功能测试 43

2.4.4系统测试 44

2.4.5验收测试 44

2.5部署、运行和维护 45

2.5.1系统部署 46

2.5.2软件运行和技术支持 46

2.5.3维护过程 47

2.6软件非工程过程 47

2.6.1计划 48

2.6.2质量保证和管理的过程 50

2.6.3项目管理过程 51

2.6.4基础设施和过程改进 53

2.7小结 54

思考题 55

第3章 软件工程目标和要求 56

3.1软件工程的基本目标 56

3.2软件工程的影响要素 57

3.3软件工程的业务需求 57

3.4软件工程的质量要求 58

3.4.1质量的含义 58

3.4.2客户是质量的焦点 59

3.4.3软件质量的特性 60

3.4.4影响软件产品质量的因素 62

3.4.5软件过程的质量因素 64

3.4.6软件质量的指标 65

3.5软件工程的成本要求 68

3.5.1软件工程的固有成本 68

3.5.2软件的可变成本 70

3.5.3软件工程的劣质成本 71

3.6软件工程的资源限制 72

3.7软件产品集成要求 73

3.7.1传统产业的启示 74

3.7.2软件产品工程 74

3.8小结 75

思考题 75

第4章 软件工程思想 76

4.1永远不可低估思想的作用 76

4.2以人为本 78

4.3软件开发不是一门艺术 79

4.4向传统工业学习 80

4.4.1客户为导向 80

4.4.2需求分析是基础 82

4.4.3过程决定结果 83

4.4.4持续改进过程 84

4.4.5缺陷预防 87

4.4.6围绕项目开展工作 88

4.4.7验证和确认缺一不可 89

4.4.8以架构设计为中心 90

4.5软件工程的例外 90

4.5.1迭代 91

4.5.2敏捷开发思想 93

4.5.3持续构建和集成 94

4.5.4永远的Beta 95

4.5.5面向对象是一种思想 97

4.5.6软件工程应归为知识管理 100

4.6软件工厂思想 102

4.6.1模块化思想 103

4.6.2面向构件思想 103

4.6.3软件复用 105

4.6.4中间件 105

4.6.5自动化无处不在 106

4.7小结 107

思考题 107

第5章 软件工程方法 108

5.1软件方法论 109

5.1.1系统工程方法论 109

5.1.2软系统方法论 110

5.1.3软件工程方法体系 113

5.2用户需求的获取方法 114

5.3软件工程的分析方法 115

5.3.1系统分析方法 115

5.3.2问题分析方法 117

5.3.3根本原因分析 118

5.3.4决策分析 118

5.4软件工程的设计方法 120

5.4.1原型设计方法 120

5.4.2结构化方法 121

5.4.3面向对象方法 123

5.4.4面向构件设计方法 127

5.4.5面向服务方法 129

5.4.6可视化方法 132

5.5软件测试方法 133

5.5.1白盒和黑盒的测试方法 133

5.5.2静态和动态的测试方法 134

5.5.3 ALAC测试和随机测试 135

5.5.4自动化测试方法 135

5.6小结 136

思考题 137

第6章 软件建模 138

6.1一个简单建模的例子 138

6.2软件建模 140

6.2.1为什么要建模 140

6.2.2软件建模概述 142

6.2.3如何建模 144

6.3元建模 145

6.4建模语言和UML 147

6.4.1建模语言的起源 147

6.4.2实体关系建模 149

6.4.3 UML 151

6.4.4 UML视图 152

6.4.5建模机制 155

6.4.6系统建模语言SysML 157

6.4.7虚拟现实建模语言 159

6.5软件过程模型 162

6.5.1瀑布模型的不足 162

6.5.2 V模型诠释软件过程 163

6.5.3没有统一天下的RUP 164

6.5.4 MSF的过程模型 167

6.6小结 169

思考题 169

第7章 软件工程环境 170

7.1环境造就软件 170

7.2软件工程组织 172

7.2.1软件组织环境 172

7.2.2软件组织的作用 173

7.2.3 PSP改进个人能力 175

7.2.4 TSP提高团队水平 177

7.2.5完整的组织框架 179

7.3软件工程文化 180

7.3.1过程文化 180

7.3.2质量文化 181

7.4软件工程基础设施 182

7.5过程定义 183

7.5.1软件过程定义的基础 183

7.5.2剪裁标准软件过程的指南和准则 184

7.6过程评估和改进 185

7.6.1软件过程评估的目标和期望 186

7.6.2软件过程评估的内容和范围 187

7.6.3软件过程评估的方式和类型 188

7.6.4软件过程评估的方法 190

7.6.5过程改进的IDEAL模型 191

7.6.6过程改进的Raytheon方法 193

7.6.7过程改进实施的原则 194

7.6.8过程改进实施 194

7.7小结 195

思考题 196

第8章 软件项目管理 197

8.1软件项目管理概述 197

8.1.1软件项目管理的3P 197

8.1.2软件项目管理的实质 198

8.1.3软件项目管理的目标和范围 199

8.2软件项目的分类 200

8.3制定计划 201

8.3.1软件规模度量 202

8.3.2软件开发的估算模型 203

8.3.3项目工作量估算 204

8.3.4日程和人力资源安排 207

8.3.5项目成本估算 209

8.4资源管理 210

8.5进度和成本管理 211

8.5.1里程碑控制和关键路径 212

8.5.2项目成本控制 213

8.5.3项目进度的特性及外在关系 214

8.6质量管理 215

8.6.1软件质量计划 215

8.6.2软件评审 216

8.6.3缺陷预防 218

8.6.4质量度量 219

8.7风险管理 221

8.7.1风险识别 221

8.7.2风险分析和评估 222

8.8软件配置管理 223

8.8.1配置管理的基本概念 223

8.8.2版本控制 225

8.8.3变更控制 226

8.9项目跟踪和控制 227

8.10小结 228

思考题 229

第9章 软件工具 230

9.1 ICASE 230

9.2 IDE 231

9.3商业工具解决方案 233

9.3.1典型的完整解决方案 233

9.3.2商业IDE 236

9.3.3需求分析和管理工具 239

9.3.4建模和设计工具 240

9.3.5测试工具 241

9.3.6配置管理工具 242

9.4开源工具集成的解决方案 243

9.4.1开源代码许可协议 243

9.4.2开源的Web开发框架 245

9.4.3开源的IDE 248

9.4.4 PHP及其他语言的IDE 249

9.4.5开源测试工具 250

9.4.6覆盖软件过程的其他开源工具 253

9.5小结 255

思考题 255

附录A 软件工程术语中英文对照 256

附录B 项目视图和范围的文档模板 262

参考文献 265