当前位置:首页 > 工业技术
软件工程与项目管理
软件工程与项目管理

软件工程与项目管理PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:何礼富
  • 出 版 社:长沙:国防科技大学出版社
  • 出版年份:2011
  • ISBN:9787810996563
  • 页数:251 页
图书介绍:本书共12章,从实用的角度讲述了软件工程和项目管理的基本原理、概念、技术和方法。本书主要内容包括软件工程概述、软件可行性分析与项目开发计划、软件需求分析、软件设计、软件编码、软件测试、软件维护、软件质量保证、面向对象的软件开发方法、软件项目管理和软件过程改进等。本书是为计算机及相关专业编写的教材。
《软件工程与项目管理》目录

第1章 软件工程概述 1

1.1 软件危机 1

1.1.1 软件 1

1.1.2 软件生产的发展 4

1.1.3 软件开发面临的主要问题 5

1.1.4 软件危机的提出 7

1.2 软件工程 7

1.2.1 软件工程的定义 7

1.2.2 软件工程的内容和目标 7

1.2.3 软件工程的作用 8

1.2.4 软件工程的基本原则 9

1.3 软件生命周期 10

1.4 软件开发方法 13

1.4.1 结构化开发方法 13

1.4.2 面向数据结构的开发方法 13

1.4.3 面向对象的开发方法 14

1.5 软件开发模型 14

1.5.1 瀑布模型 14

1.5.2 快速原型模型 15

1.5.3 渐增模型 16

1.5.4 螺旋模型 17

1.5.5 喷泉模型 18

1.5.6 构件化开发模型 19

1.6 软件工具及支撑环境 20

1.6.1 软件工具的分类 20

1.6.2 软件开发支撑环境 20

1.6.3 常用CASE工具 21

本章小结 22

习题1 22

第2章 软件可行性分析与项目开发计划 23

2.1 软件可行性分析 23

2.1.1 可行性分析的目的 23

2.1.2 可行性分析的内容 23

2.1.3 可行性分析的步骤 26

2.1.4 可行性分析报告 26

2.2 项目开发计划 28

2.3 软件可行性分析与项目开发计划案例 31

2.3.1 案例概要 31

2.3.2 可行性分析 31

2.3.3 项目开发计划 33

本章小结 35

习题2 36

第3章 软件需求分析 37

3.1 需求分析概述 37

3.1.1 需求分析的重要性 37

3.1.2 需求分析的原则 37

3.1.3 需求分析的步骤 40

3.2 结构化分析方法及工具 40

3.2.1 概述 41

3.2.2 数据流图 41

3.2.3 数据字典 45

3.2.4 结构化语言 46

3.2.5 判定表和判定树 46

3.2.6 层次方框图 47

3.2.7 Warnier图 48

3.2.8 IPO图 48

3.3 需求评审 49

3.4 软件需求分析规格说明书 50

3.4.1 软件需求分析规格说明书的格式 51

3.4.2 案例分析 51

本章小结 55

习题3 56

第4章 软件设计 57

4.1 软件设计概述 57

4.1.1 软件设计的任务 57

4.1.2 模块与模块化 58

4.1.3 抽象与细化 58

4.1.4 信息隐蔽 58

4.1.5 模块的独立性 59

4.1.6 自顶向下与自底向上设计策略 61

4.1.7 结构化设计原则 62

4.2 概要设计 62

4.2.1 概要设计的基本任务 62

4.2.2 概要设计的步骤 63

4.2.3 软件结构图 64

4.2.4 数据流图 65

4.3 详细设计 65

4.3.1 详细设计的基本任务 65

4.3.2 程序流程图 65

4.3.3 盒图 66

4.3.4 详细设计中的IPO图 68

4.3.5 PAD图 69

4.3.6 伪代码 70

4.4 软件设计说明书与案例分析 70

4.4.1 软件设计说明书 70

4.4.2 案例分析 72

本章小结 86

习题4 86

第5章 软件编码 88

5.1 程序设计语言 88

5.1.1 程序设计语言分类 88

5.1.2 常见的程序设计语言及其特点 89

5.1.3 程序设计语言的选择 93

5.2 编码规范 94

5.2.1 编排格式 94

5.2.2 命名规则 96

5.2.3 注释 96

5.2.4 输入/输出 97

5.2.5 程序结构 98

5.2.6 效率和GOTO语句 98

5.3 结构化程序设计 99

5.3.1 结构化程序设计的形成 99

5.3.2 结构化程序设计方法 100

5.4 程序员的基本素质 102

本章小结 103

习题5 103

第6章 软件测试 105

6.1 软件测试概述 105

6.1.1 软件测试的概念 105

6.1.2 软件测试的目的 105

6.1.3 软件测试的原则 105

6.2 软件测试方法 106

6.2.1 软件测试方法分类 106

6.2.2 白盒测试 108

6.2.3 黑盒测试 108

6.3 测试用例 109

6.3.1 测试用例概述 109

6.3.2 逻辑覆盖 110

6.3.3 等价类划分 113

6.3.4 边界值分析 115

6.3.5 错误推测法 116

6.3.6 因果图法 116

6.4 软件测试策略 117

6.4.1 测试流程与测试计划 117

6.4.2 单元测试 118

6.4.3 集成测试 120

6.4.4 确认测试 121

6.4.5 系统测试 121

6.4.6 Alpha测试和Beta测试 122

6.4.7 软件测试自动化 123

6.4.8 测试分析报告 123

6.5 软件调试技术 123

6.5.1 调试步骤 124

6.5.2 调试方法 124

本章小结 125

习题6 125

第7章 软件维护 126

7.1 软件维护概述 126

7.1.1 软件维护的定义 126

7.1.2 软件维护的种类 127

7.1.3 软件维护的策略 128

7.1.4 软件维护的代价 128

7.2 软件维护的实施 129

7.2.1 维护组织 129

7.2.2 维护申请报告 129

7.2.3 软件维护工作流程 130

7.3 软件可维护性 131

7.3.1 软件可维护性的定义 131

7.3.2 软件可维护性度量 131

7.3.3 提高软件可维护性的方法 133

7.3.4 软件维护的副作用 134

本章小结 135

习题7 135

第8章 软件质量保证 136

8.1 软件质量概述 136

8.1.1 软件质量的定义 136

8.1.2 软件质量的特性与度量 136

8.1.3 软件质量保证 138

8.2 软件质量度量模型 138

8.2.1 McCall质量度量模型 138

8.2.2 ISO软件质量评价模型 139

8.3 软件复杂性 140

8.3.1 软件复杂性的基本概念 140

8.3.2 软件复杂性的度量方法 140

8.3.3 软件复杂性控制 142

8.4 软件可靠性 143

8.4.1 软件可靠性的定义 143

8.4.2 软件可靠性的指标 144

8.4.3 软件可靠性模型 144

8.5 软件评审 145

8.5.1 软件评审的概念 145

8.5.2 软件评审的阶段和内容 145

8.5.3 软件评审的原则和作用 146

8.6 容错软件 147

8.6.1 容错软件的定义 147

8.6.2 容错的一般方法 147

8.6.3 容错软件的设计过程 147

本章小结 148

习题8 148

第9章 面向对象的软件开发方法 149

9.1 面向对象方法概述 149

9.1.1 面向对象的由来与基本概念 149

9.1.2 面向对象的开发方法 153

9.1.3 UML 156

9.1.4 常用的UML视图 158

9.2 面向对象的分析与设计 161

9.2.1 面向对象的分析和设计过程 161

9.2.2 面向对象的分析 161

9.2.3 面向对象的设计 166

9.3 面向对象的编程 169

9.3.1 面向对象的编程语言 169

9.3.2 面向对象程序设计的过程 169

9.3.3 面向对象程序设计的风格 170

9.4 面向对象的软件测试 171

9.4.1 面向对象测试的分类 172

9.4.2 面向对象软件测试用例设计原则 172

9.4.3 面向对象软件测试的策略 172

本章小结 173

习题9 174

第10章 软件项目管理 175

10.1 软件项目管理概述 175

10.1.1 项目 175

10.1.2 项目管理 176

10.1.3 项目管理的内容 177

10.2 人力资源管理 177

10.2.1 组织结构 177

10.2.2 人员配置 178

10.2.3 沟通方式 180

10.3 软件成本管理 181

10.3.1 软件成本估算 181

10.3.2 代码行估算法 181

10.3.3 功能点估算法 182

10.3.4 COCOMO模型 183

10.3.5 Putnam模型 184

10.3.6 类比估算法 185

10.3.7 累加估算法 185

10.3.8 软件成本控制 185

10.3.9 效益预测与评估 186

10.4 开发进度管理 187

10.4.1 项目进度计划 187

10.4.2 Gantt图 187

10.4.3 工程网络图 188

10.4.4 项目进度估算 189

10.4.5 项目追踪与控制 189

10.5 软件项目风险管理 190

10.5.1 软件项目风险的基本概念 190

10.5.2 软件项目风险识别与分类 190

10.5.3 风险估计 191

10.5.4 风险评价 193

10.5.5 风险控制 193

10.6 软件质量保证 193

10.7 软件配置管理 193

10.7.1 软件配置管理的任务 194

10.7.2 基线 194

10.7.3 软件配置项 195

10.7.4 配置管理工具 196

10.8 软件项目文档管理 197

10.8.1 软件项目文档管理概述 197

10.8.2 项目文档的分类 198

10.8.3 主要项目文档 198

本章小结 199

习题10 200

第11章 软件过程改进 201

11.1 软件过程改进概述 201

11.1.1 软件过程及软件过程改进 201

11.1.2 软件过程管理的发展 201

11.2 软件过程能力成熟度模型 202

11.2.1 CMM的产生 202

11.2.2 CMM的内容简介 202

11.2.3 CMM的应用 207

11.3 统一软件过程 207

11.3.1 RUP概要 207

11.3.2 RUP的软件开发周期 208

11.3.3 RUP的核心工作流 208

11.3.4 RUP的应用 210

11.4 个体软件过程及团体软件过程 210

11.4.1 个体软件过程 210

11.4.2 团体软件过程 211

11.4.3 CMM、PSP和TSP之间的关系 212

本章小结 213

习题11 213

第12章 新型软件开发方法 214

12.1 基于构件的软件开发方法 214

12.1.1 软件复用与构件的定义 214

12.1.2 基于构件的软件开发方法 217

12.1.3 应用案例 218

12.2 敏捷方法 219

12.2.1 敏捷方法的概念与由来 219

12.2.2 敏捷方法的典型代表 221

12.3 基于Agent的软件开发方法 223

12.3.1 Agent的定义及其特点 223

12.3.2 基于Agent的软件开发方法 224

本章小结 226

习题12 226

附录 软件开发文档参考规范 227

参考文献 251

相关图书
作者其它书籍
返回顶部