《软件工程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:杨文龙编著
  • 出 版 社:北京:科学技术文献出版社
  • 出版年份:1989
  • ISBN:7502308709
  • 页数:241 页
图书介绍:本书包括软件危机与软件工程、软件计划、需求分析及规格说明、软件设计软件编程与语言、软件测试与软件可靠性,软件维护、实例8个部分。

第一章 软件危机与软件工程 1

1 软件危机与软件工程 1

1.1 什么叫软件 1

1.2 软件危机 1

1.3 软件工程 2

2 软件生存期 2

2.1 计划阶段 3

2.2 开发阶段 3

2.3 维护阶段 4

3 错误观念和正确态度 4

第二章 软件计划 6

1 确定工作域和资源 6

1.1 软件工作域 6

1.2 资源 6

2 成本估算 8

2.1 成本估算方法 8

2.2 成本估算模型 10

2.3 软件生产率数据 13

2.4 代码行的成本估算方式 14

2.5 每项任务工作量的成本估算方法 16

3 进度安排 17

3.1 软件工作的特殊性 17

3.2 各阶段工作量的分配 17

3.3 制定开发进度 18

4 配置管理 20

4.1 基线 20

4.2 交付项的发行 23

4.3 配置控制的机制 23

第三章 软件需求分析及规格说明 25

1 软件需求分析的过程 25

1.1 问题识别 25

1.2 评价和综合 25

1.3 软件需求规格说明 25

1.4 评审 26

2 数据流和数据结构 26

2.1 数据流 27

2.2 数据结构 27

3 软件需求分析方法 28

3.1 结构化分析SA 28

3.1.1 数据流图DFD 28

3.1.2 数据字典DD 30

3.1.3 过程描述工具 30

3.1.4 结构化分析的步骤 32

3.2 结构化分析和设计技术SADT 32

3.2.1 功能分解 32

3.2.2 图解表示法 33

3.2.3 方法 34

3.2.4 实例 34

3.3 软件需求工程方法SREM 36

3.4 PSL/PSA 41

3.4.1 PSL 41

3.4.2 PSA 42

3.5 有限状态机FSM 43

3.5.1 控制FSM 43

3.5.2 功能 45

3.5.3 功能流 46

3.5.4 数据 46

3.6 Petri网 46

3.6.1 基本原理 46

3.6.2 Petri网分析 48

3.6.3 简单的Petri网模型 49

3.6.4 系统定义阶段的Petri网 50

4 VISTA 50

第四章 软件设计 52

1 设计过程 52

1.1 初步设计 52

1.2 详细设计 52

1.3 设计文档资料——设计规格说明 52

1.4 设计评审 54

2 软件结构 55

2.1 结构 55

2.2 过程 57

3 软件设计 57

3.1 模块化设计 57

3.1.1 模块化的目的 57

3.1.2 抽象与信息隐藏 58

3.1.3 模块的独立性 59

3.1.4 设计原则 65

3.2 自顶向下和自底向上的设计 66

3.2.1 设计原理和原则 66

3.2.2 两种设计方法的比较 69

3.3 结构化程序设计 70

3.3.1 结构化程序设计规则 71

3.3.2 结构化程序设计技术 74

3.3.3 结构化程序设计的优缺点 76

3.4 面向数据流的设计方法SD 78

3.4.1 软件结构图 79

3.4.2 从数据流图导出软件结构图 80

3.4.3 设计步骤 81

3.4.4 实例 82

3.4.5 评价准则 84

3.5 面向数据结构的设计方法JDM 85

3.5.1 基本设计技术 85

3.5.2 处理多个数据结构 87

3.5.3 回溯 88

3.5.4 结构冲突 89

3.5.5 程序反演 90

3.5.6 优化 90

3.6 有限状态机FSM 90

3.7 Petri网 91

3.8 形式化的开发方法FDM和VDM 93

3.8.1 形式化的开发方法FDM 93

3.8.2 维也纳开发方法VDM 97

3.9 画向对象的设计方法 97

3.9.1 基本原理 98

3.9.2 基本步骤 99

3.9.3 特点分析 99

?4 软件设计表达式 100

4.1 流程图 101

4.2 盒图 103

4.3 伪码和PDL 104

4.4 HIPO图 106

4.5 Warnier-Orr图 108

4.6 PAD图 108

?5 软件开发工具和软件开发环境 115

5.1 软件开发工具 115

5.2 软件开发环境 118

第五章 软件编程与语言 122

?1 编程方法 122

1.1 自动编程 122

1.2 冗余编程 122

1.3 编程风格 123

1.4 保护性编程 127

?2 编程语言 129

2.1 语言的类型及发展 129

2.1.1 机器语言 129

2.1.2 汇编语言 129

2.1.3 高级语言 129

2.1.4 第四代语言 135

2.2 语言选择 137

2.3 语言标准 140

2.4 语言对软件可靠性和生产率影响比较 140

第六章 软件测试和软件可靠性 141

?1 测试目的 142

?2 测试原则 144

?3 测试过程和步骤 145

3.1 测试过程 145

3.2 测试步骤 145

3.3 单元测试 146

3.3.1 单元测试内容 146

3.3.2 单元测试方法 147

3.4 组合测试 148

3.4.1 自顶向下结合 148

3.4.2 自底向上结合 149

3.4.3 组合测试文档 150

3.5 有效性测试 151

3.6 系统测试 152

?4 测试技术 152

4.1 测试用例设计 152

4.1.1 逻辑覆盖 153

4.1.2 等价划分 155

4.1.3 边界值分析 157

4.1.4 图形技术 158

4.2 纠错技术 162

4.2.1 蛮干 162

4.2.2 消去原因 162

4.2.3 回溯 163

?5 软件质量和软件可靠性 163

5.1 什么叫软件可靠性 164

5.2 错误的分类和原因 165

5.3 程序错误的数量和估算 166

5.3.1 大程序的错误密度 168

5.3.2 小程序的错误密度 169

5.3.3 按开发阶段的错误密度 170

5.4 累积错误与错误率模型 171

5.5 遗留错误数量ET的估算 174

5.6 可靠性模型 175

?6 程序正确性证明 178

?7 测试工具 179

7.1 人工测试 179

7.2 自动测试工具 180

第七章 软件维护 182

?1 软件维护的分类 182

?2 维护的特点 182

?3 可维护性 184

?4 维护任务 185

?5 维护的副作用 188

?6 维护工作的几点建议 189

实例 FORTRAN格式化程序(FORTFORM) 192

一、系统描述 192

二、软件计划 192

1. 前言 192

2. 任务和交付产品 193

3. 资源 194

4. 成本 194

5. 进度 194

三、需求规格说明 195

1. 前言 195

2. 接口 195

3. 功能 196

4. 设计考虑 197

5. 数据库 198

6. 质量保证 198

附录Ⅰ 初步用户手册 200

1. 用户接口 200

2. 文件 200

3. 处理 201

4. 错误信息 203

附录Ⅱ 期望的测试结果 204

附录Ⅲ 词汇表 204

四、设计文档 205

1. 前言 205

2. 使用文档 205

3. 设计描述 205

4. 模块 209

5. 文件结构和全局数据 211

6. 需求交叉引用 214

7. 测试规定 214

8. 包装 214

附录Ⅳ 详细设计 215

1. 控制程序FORCON 215

2. 子程序FILVAL(IFN, OFN, EFN, IFG, OFG, EFG) 218

3. 函数ABORT(IFN, OFN, EFN) 219

4. 子程序PARSE(PRGSCT, STTYPE, STNUMB, STBEGN, STTERM, DONUMB) 220

5. 子程序SQUASH(STBEGN, STTERM, NUMLIN) 225

6. 子程序DCL(PRGSCT, STTYPE, STNUMB, STBEGN, STTERM, DONUMB) 225

五、测试文档 227

(一)组合测试说明 227

1. 前言 227

2. 使用文档 227

3. 测试计划 227

4. 测试过程 230

附录A.1 阶段Ⅰ的测试数据和结果 231

附录A.2 阶段Ⅱ的测试数据和结果 232

(二)有效性测试说明 232

1. 前言 232

2. 使用文档 232

3. 测试计划 232

4. 测试过程 233

5. 有效性标准 235

6. 特殊规定 235

六、用户手册 235

1. 用户接口 235

2. 文件 236

3. 处理 237

4. 错误信息 238

主要参考资料 240