当前位置:首页 > 工业技术
软件工程导论  修订版
软件工程导论  修订版

软件工程导论 修订版PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:张海藩编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1992
  • ISBN:7302009724
  • 页数:296 页
图书介绍:
《软件工程导论 修订版》目录

前言 1

第一章 概论 1

1.1 软件危机 1

1.1.1 什么是软件危机 1

1.1.2 产生软件危机的原因 2

修订版前言 3

1.1.3 解决软件危机的途径 5

1.2 软件工程 5

1.2.1 问题定义 7

1.2.2 可行性研究 7

1.2.3 需求分析 7

1.2.4 总体设计 8

1.2.5 详细设计 8

1.2.6 编码和单元测试 9

1.2.7 综合测试 9

1.2.8 软件维护 9

1.3.1 进行审查和复审的必要性 10

1.3 技术审查和管理复审 10

1.3.2 技术审查的标准和方法 12

1.4 小结 12

习题一 13

第二章 可行性研究 16

2.1 可行性研究的任务 16

2.2 可行性研究的步骤 16

2.2.1 复查系统规模和目标 16

2.2.4 重新定义问题 17

2.2.3 导出新系统的高层逻辑模型 17

2.2.2 研究目前正在使用的系统 17

2.2.5 导出和评价供选择的解法 18

2.2.6 推荐行动方针 18

2.2.7 草拟开发计划 18

2.2.8 书字文档提交审查 19

2.3 系统流程图 19

2.3.1 符号 19

2.3.2 例子 20

2.4.1 符号 21

2.3.3 分层 21

2.4 数据流图 21

2.4.2 例子 23

2.4.3 用途 26

2.5 数据字典 28

2.5.1 数据字典的内容 28

2.5.2 定义数据的方法 28

2.5.3 数据字典的用途 29

2.5.4 数据字典的实现 29

2.6 成本/效益分析 30

2.6.1 成本估计 31

2.6.2 成本/效益分析的方法 32

2.7 小结 33

习题二 34

第三章 需求分析 36

3.1 需求分析的任务 36

3.1.1 确定对系统的综合要求 36

3.1.5 开发原型系统 37

3.1.4 修正系统开发计划 37

3.1.2 分析系统的数据要求 37

3.1.3 导出系统的逻辑模型 37

3.2 分析过程 38

3.2.1 沿数据流图回溯 38

3.2.2 用户复查 38

3.2.3 细化数据流图 39

3.2.4 修正开发计划 40

3.2.5 书写文档 40

3.2.6 审查和复审 41

3.3 图形工具 41

3.3.1 层次方框图 41

3.3.2 Warnier图 42

3.3.3 IPO图 42

3.4 验证软件需求 44

3.4.1 从哪些方面验证软件需求的正确性 44

3.4.2 用于需求分析的软件工具 44

3.4.3 超高级语言 45

3.5.1 支持原型法的基本事实 47

3.5 原型法 47

3.5.2 实现原型的一般途径 48

3.5.3 基于知识的途径 48

3.6 小结 49

习题三 51

4.1 总体设计的过程 53

4.1.1 设想供选择的方案 53

第四章 总体设计 53

4.1.2 选取合理的方案 54

4.1.3 推荐最佳方案 54

4.1.4 功能分解 54

4.1.5 设计软件结构 54

4.1.6 数据库设计 55

4.1.7 制定测试计划 55

4.1.8 书写文档 55

4.2.1 模块化 56

4.2 软件设计的概念和原理 56

4.1.9 审查和复审 56

4.2.2 抽象 57

4.2.3 信息隐蔽和局部化 58

4.2.4 模块独立 58

4.3 启发式规则 60

4.3.3 深度、宽度、扇出和扇入都应适当 61

4.3.4 模块的作用域应该在控制域之内 61

4.3.2 模块规模应该适中 61

4.3.1 改进软件结构提高模块独立性 61

4.3.5 力争降低模块接口的复杂程度 62

4.3.6 设计单入口单出口的模块 63

4.3.7 模块功能应该可以预测 63

4.4 图形工具 63

4.4.1 层次图和HIPO图 63

4.4.2 结构图 64

4.5 面向数据流的设计方法 66

4.5.1 概念 66

4.5.2 变换分析 68

4.5.3 事务分析 75

4.5.4 设计优化 76

4.6 小结 76

习题四 77

第五章 详细设计 81

5.1 结构程序设计 81

5.2 详细设计的工具 84

5.2.1 程序流程图 84

5.2.3 PAD图 86

5.2.2 盒图(N_S图) 86

5.2.4 判定表 88

5.2.5 判定树 89

5.2.6 过程设计语言(PDL) 89

5.2.7 模块开发文件夹 90

5.3 Jackson程序设计方法 90

5.3.1 Jackson图 91

5.3.2 改进的Jackson图 92

5.3.3 Jackson方法 93

5.4.1 Warnier方法 98

5.4 Warnier程序设计方法 98

5.4.2 Warnier方法的辅助技术 103

5.5 程序复杂程度的定量度量 107

5.5. McCabe方法 108

5.5.2 Halstead方法 110

5.6 小结 110

习题五 111

6.1.1 对软件蓝图的要求 116

第六章 软件蓝图 116

6.1 软件蓝图方法论 116

6.1.2 三级设计 117

6.1.3 蓝图语言 118

6.1.4 蓝图的书写风格 118

6.2 软件蓝图的构成 119

6.2.1 直接描述数据 119

6.2.2 高级数据运算符 121

6.2.3 丰富灵活的控制操作 123

6.2.4 显式描述软件结构 124

6.3 词法扫描程序的规格说明 126

6.3.1 输入串 126

6.3.2 输出串 126

6.3.3 扫描程序的语法 127

6.4 词法扫描程序的A级设计 129

6.4.1 选取数据元素设计数据流 129

6.4.2 设计控制流 129

6.4.3 划分模块 130

6.4.4 定义模块 131

6.4.5 书写A级蓝图 131

6.5 词法扫描程度的B级设计 133

6.5.1 精化数据流 133

6.5.2 组织模块 134

6.5.3 构造过程访问结构 134

6.5.4 书写B级蓝图 135

6.6.2 详细描述数据流 140

6.6.1 选取更多数据元素 140

6.6 词法扫描程序的C级设计 140

6.6.3 构造其他访问结构 141

6.6.4 书写C级蓝图 141

6.7 小结 148

习题六 148

第七章 编码 150

7.1 程序设计语言 150

7.1.1 程序设计语言分类 150

7.1.2 程序设计语言的特点 151

7.1.3 选择一种语言 154

7.2 程序设计途径 155

7.2.1 写程序的风格 155

7.2.2 程序设计方法论 157

7.2.3 程序设计自动化 158

7.2.4 程序设计工具 158

7.3 小结 160

习题七 160

81 基本概念 162

第八章 测试 162

8.1.1 软件测试的目标 163

8.1.2 黑盒测试和白盒测试 163

8.1.3 软件测试的步骤 164

8.1.4 测试阶段的信息流 165

8.2 单元测试 166

8.2.1 单元测试考虑 166

8.2.2 单元测试过程 168

8.3 集成测试 170

8.3.1 自顶向下结合 171

8.3.2 自底向上结合 173

8.3.3 不同集成测试策略的比较 174

8.4 验收测试 174

8.4.1 验收测试的范围 174

8.4.2 软件配置复查 175

8.5 设计测试方案 175

8.5.1 逻辑覆盖 176

8.5.2 等价划分 179

8.5.3 边界值分析 182

8.5.4 错误推测 183

8.5.5 实用测试策略 184

8.6 调试 187

8.6.1 调试技术 188

8.6.2 调试策略 189

8.7 软件可靠性 190

8.7.1 基本概念 190

8.7.2 估算平均无故障时间的方法 191

8.7.3 程序正确性证明 193

8.8 日立预测法 194

8.8.1 测试完成率模型 194

8.8.2 错误发现率模型 195

8.8.3 使用日立预测法的步骤 195

8.9 自动测试工具 196

8.9.1 测试数据生成程序 196

8.9.2 动态分析程序 196

8.10 小结 197

8.9.3 静态分析程序 197

8.9.4 文件比较程序 197

习题八 198

第九章 维护 202

9.1 软件维护的定义 202

9.2 维护的特点 203

9.2.1 结构化维护与非结构化维护的对比 203

9.2.2 维护的代价 204

9.2.3 维护的问题 204

9.3 维护过程 205

9.3.1 维护组织 205

9.3.2 维护报告 205

9.3.3 维护的事件流 206

9.3.3 保存维护记录 207

9.3.4 评价维护活动 208

9.4 可维护性 208

9.4.1 决定软件可维护性的因素 208

9.4.2 文档 209

9.4.3 可维护性复审 210

9.5 软件再用 211

9.5.1 概念 211

9.5.2 面向对象的程序设计语言 212

9.6 软件再用实例介绍 214

9.6.1 应用软件生成系统 215

9.6.2 Demeter系统 217

9.7 小结 220

习题九 221

第十章 管理技术 222

10.1 成本估计 222

10.1.1 参数方程 222

10.1.2 标准值法 223

10.1.3 COCOMO模型 224

10.2 进度计划 227

10.2.1 Gantt图(横道图) 228

10.2.2 工程网络 228

10.2.3 估算进度 230

10.2.4 关键路径 231

10.2.5 机动时间 232

10.3 人员组织 233

10.3.1 程序设计小组的组织 234

10.3.2 主程序员组 234

10.4 质量保证 235

10.4.1 软件质量 236

10.4.2 质量保证 236

10.5.1 项目计划的内容 238

10.5 项目计划 238

10.5.2 项目报告 239

10.5.3 变动控制 239

10.6 软件管理工具 240

10.7 小结 240

习题十 241

附录A 软件设计语言SDL_1的语法 242

B.1.1 外部编辑命令 246

B.1 设计规格说明 246

附录B 一个汉字行编辑程序的设计 246

B.1.2 编辑命令 247

B.1.3 输出信息 247

B.2 A级设计 249

B.2.1 正文文件 249

B.2.2 两个工作模式 250

B.2.3 数据元素 251

B.3 A级蓝图 252

B.2.4 过程 252

B.4 C级设计 255

B.4.1 数据元素 256

B.4.2 控制数据元素 257

B.4.3 编辑过程 257

B.4.4 输入模式的过程 259

B.4.5 编辑模式的过程 262

B.5 C级蓝图 266

参考文献 296

返回顶部