《软件工程实用教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:郭宁,杨一平编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2006
  • ISBN:7115145342
  • 页数:288 页
图书介绍:本书介绍了软件工程学的理论,方法及应用技术。

第1章 软件工程引论 1

1.1 软件及软件危机 1

1.1.1 软件及其特性 1

1.1.2 软件危机 3

1.2 软件工程 4

1.2.1 软件工程的形成与发展 4

1.2.2 软件工程的基本概念 5

1.3 软件工程的基本原则 8

1.4 本章小结 10

本章练习题 10

第2章 软件生命周期及开发模型 11

2.1 软件过程概述 11

2.1.1 软件生命周期 11

2.1.2 生命周期各阶段的任务 12

2.2 典型的软件过程模型 14

2.2.1 瀑布模型 14

2.2.2 原型模型 16

2.2.3 增量模型 17

2.2.4 螺旋模型 18

2.3 面向对象的软件过程模型 20

2.3.1 面向对象的软件开发特点 20

2.3.2 软件统一开发过程 20

2.3.3 构件复用模型 22

2.4 本章小结 23

本章练习题 23

第3章 结构化需求分析 25

3.1 需求分析概述 25

3.1.1 需求分析的任务 25

3.1.2 需求分析的过程 28

3.2 需求获取 29

3.2.1 需求获取的内容 30

3.2.2 需求获取的方法 31

3.3 结构化分析方法概述 33

3.3.1 结构化分析思想 33

3.3.2 结构化分析方法 34

3.4 数据流程图 34

3.4.1 数据流程图的基本成分 35

3.4.2 数据流程图的绘制 36

3.4.3 数据流程图的特征与用途 38

3.5 数据字典 40

3.5.1 数据字典的定义与用途 41

3.5.2 数据字典的定义方法 41

3.5.3 加工逻辑的描述方法 43

3.6 应用举例 46

3.6.1 结构化分析过程 46

3.6.2 编写需求规格说明书 50

3.7 本章小结 52

本章练习题 53

第4章 结构化软件设计 54

4.1 概要设计的任务与过程 54

4.1.1 概要设计的任务 54

4.1.2 概要设计的过程 55

4.2 系统架构设计 56

4.2.1 系统架构设计与风格 56

4.2.2 常见的软件体系架构 57

4.3 软件结构设计 60

4.3.1 模块化概念 60

4.3.2 模块的独立性 62

4.3.3 结构化设计建模 66

4.3.4 软件设计准则 69

4.4 面向数据流程的设计方法 71

4.4.1 基本概念 72

4.4.2 变换流分析与设计 73

4.4.3 事务流分析与设计 74

4.4.4 混合流分析与设计 76

4.5 面向数据结构的设计方法 76

4.5.1 Jackson(JSD)方法 77

4.5.2 Warnier(LCP)方法 81

4.6 数据库结构设计 82

4.6.1 概念结构设计 82

4.6.2 逻辑结构设计 83

4.6.3 物理结构设计 84

4.7 软件详细设计 85

4.7.1 结构化程序设计 85

4.7.2 详细设计工具 86

4.7.3 人机界面设计 88

4.8 应用举例 91

4.8.1 软件结构化设计过程 91

4.8.2 概要设计文档写作范例 97

4.9 本章小结 99

本章练习题 99

第5章 面向对象的需求分析 101

5.1 面向对象方法学概述 101

5.1.1 面向对象技术的由来 101

5.1.2 面向对象方法概述 102

5.1.3 面向对象方法的优点 102

5.1.4 面向对象建模 103

5.2 面向对象的基本概念 104

5.2.1 类和对象 104

5.2.2 封装、继承和多态性 106

5.2.3 面向对象的分析概述 107

5.3 用例模型 108

5.3.1 执行者 109

5.3.2 用例 109

5.3.3 用例之间的关系 111

5.3.4 用例建模 112

5.4 对象模型 114

5.4.1 类图 114

5.4.2 识别类与对象 115

5.4.3 识别属性 117

5.4.4 识别操作 118

5.4.5 识别关联 118

5.4.6 建立静态模型 122

5.5 建立动态模型 124

5.5.1 消息类型 124

5.5.2 状态图 124

5.5.3 交互图 128

5.5.4 活动图 131

5.5.5 建立动态模型 133

5.6 本章小结 138

本章练习题 139

第6章 面向对象的软件设计 140

6.1 面向对象软件设计概述 140

6.1.1 面向对象设计准则 140

6.1.2 面向对象设计的过程 142

6.2 系统设计 143

6.2.1 逻辑体系架构设计 143

6.2.2 物理体系架构建模 146

6.3 详细设计 148

6.3.1 系统详细设计 148

6.3.2 应用举例 153

6.4 面向对象软件实现 158

6.4.1 程序设计语言 158

6.4.2 程序设计风格 161

6.4.3 面向对象软件测试 164

6.5 本章小结 166

本章练习题 166

第7章 软件测试技术 168

7.1 软件测试概述 168

7.1.1 软件测试目的 168

7.1.2 软件测试原则 169

7.1.3 测试步骤 170

7.2 软件测试技术 170

7.2.1 测试用例设计 171

7.2.2 黑盒测试方法 171

7.2.3 白盒测试方法 176

7.3 软件调试技术 178

7.3.1 软件调试过程 178

7.3.2 软件调试策略 179

7.4 系统测试 180

7.4.1 单元测试 180

7.4.2 集成测试 182

7.4.3 确认测试 183

7.4.4 系统测式 184

7.5 本章小结 186

本章练习题 186

第8章 软件维护技术 187

8.1 软件维护概述 187

8.1.1 维护阶段的任务 187

8.1.2 软件维护的特点 188

8.1.3 软件的可维护性 188

8.2 软件维护类型 189

8.2.1 改正性维护 189

8.2.2 完善性维护 190

8.2.3 适应性维护 190

8.2.4 预防性维护 190

8.3 软件维护技术 191

8.3.1 软件维护过程 191

8.3.2 提高软件的可维护性 193

8.4 软件维护困难 195

8.4.1 维护费用 195

8.4.2 软件维护的副作用 195

8.5 本章小结 196

本章练习题 197

第9章 软件质量与质量保证 198

9.1 软件质量的概念 198

9.1.1 软件质量定义 198

9.1.2 影响软件质量的因素 199

9.2 软件质量的度量 200

9.2.1 软件度量 200

9.2.2 软件度量的分类 201

9.2.3 软件度量过程 201

9.3 软件质量保证 203

9.3.1 质量保证策略 203

9.3.2 质量保证内容 203

9.3.3 质量保证措施 204

9.4 ISO 9000软件质量体系 205

9.4.1 ISO 9000系列标准 205

9.4.2 ISO 9000质量认证的一般程序 206

9.5 软件配置管理 207

9.5.1 软件配置项 207

9.5.2 软件配置管理过程 207

9.6 软件过程能力成熟度模型简介 210

9.6.1 CMM的结构 210

9.6.2 软件过程能力成熟度等级 211

9.6.3 关键过程域 211

9.6.4 关键实践 213

9.7 本章小结 213

本章练习题 214

第10章 软件工程标准与文档 215

10.1 软件工程标准 215

10.1.1 软件工程标准 215

10.1.2 软件工程国家标准 217

10.2 软件文档与编写要求 218

10.2.1 软件文档的含义 218

10.2.2 软件文档的种类 219

10.2.3 软件文档的编写方法 220

10.3 软件文档的主要内容及写作指南 220

10.3.1 可行性研究报告 220

10.3.2 项目开发计划 222

10.3.3 软件需求规格说明书 223

10.3.4 概要设计说明书 224

10.3.5 详细设计说明书 225

10.3.6 程序维护手册 225

10.3.7 用户手册 227

10.4 本章小结 228

本章练习题 228

第11章 软件项目管理 229

11.1 软件项目管理概述 229

11.2 进度管理 230

11.2.1 计划 230

11.2.2 进度安排 234

11.2.3 进度跟踪与控制 236

11.3 软件开发成本估算 236

11.3.1 软件成本估算过程 237

11.3.2 软件成本估算方法 237

11.3.3 成本计划的变更控制 241

11.4 软件项目的人员管理 243

11.4.1 人力资源 244

11.4.2 人力资源计划的平衡 244

11.4.3 开发团队人数与协调 245

11.5 风险管理 246

11.5.1 软件风险 246

11.5.2 风险识别 246

11.5.3 风险设计 247

11.5.4 风险评价 248

11.5.5 风险的缓解、监控和管理 248

11.6 本章小结 249

本章练习题 250

第12章 软件开发工具与环境 251

12.1 软件开发环境 251

12.1.1 按解决的问题分类 251

12.1.2 按现有软件开发环境的演化趋向分类 252

12.1.3 按集成化程度分类 253

12.2 计算机辅助软件工程 254

12.3 软件开发工具 256

12.3.1 Rose简介 257

12.3.2 PowerDesigner 8简介 258

12.4 本章小结 260

本章练习题 260

第13章 软件工程课程设计 261

13.1 课程设计目的与要求 261

13.1.1 课程设计目的 261

13.1.2 课程设计内容及要求 262

13.2 课程设计步骤安排 262

13.3 课程设计指导 263

13.3.1 实验1——建立课程设计环境与数据库设计 263

13.3.2 实验2——需求分析 264

13.3.3 实验3——软件设计 265

13.3.4 实验4——软件实现 265

13.4 案例分析 266

13.4.1 嵌入式软件系统应用实例 266

13.4.2 网络兼职招聘系统开发案例 278

参考文献 288