当前位置:首页 > 工业技术
软件工程引论  第2版
软件工程引论  第2版

软件工程引论 第2版PDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:陈有祺主编;孙桂茹,赵国瑞编著
  • 出 版 社:天津:南开大学出版社
  • 出版年份:2000
  • ISBN:7310008804
  • 页数:194 页
图书介绍:本书较系统地阐述了软件开发,维护和管理等方面的软件工程学的概念,原理及常用的技术方法。全书从软件生存周期各个阶段的开发,过程,方法及其所使用的描述工具进行顺序地讲述;在后一部分也讲述了软件工程的管理技术及软件工程开发环境。全书各章节都列举了实例,通俗易懂。
《软件工程引论 第2版》目录

第1章 软件工程概述 1

1.1 软件的发展和软件危机 1

1.1.1 软件的发展 1

1.1.2 软件危机 2

1.2 软件开发工程化和软件生存周期 4

1.2.1 问题定义 5

1.2.2 可行性研究 5

1.2.3 需求分析 5

1.2.4 总体设计 5

1.2.5 详细设计 6

1.2.6 编码和单元测试 6

1.2.7 综合测试 6

1.2.8 软件维护 6

1.3 软件开发方法 7

1.3.1 瀑布型 7

1.3.2 渐增型 7

1.3.3 变换型 8

1.4 软件质量的评价 9

1.5 技术审查和管理复审 9

1.5.1 进行审查和复审的必要性 9

1.5.2 技术审查的标准 10

习题 10

第2章 可行性研究 11

2.1 现状调查和问题定义 11

2.2 系统的可行性 11

2.2.1 可行性论证 11

2.2.2 可行性研究的步骤 12

2.3 系统流程图 13

2.3.1 符号 13

2.3.2 用途 14

2.4 数据流图 15

2.4.1 符号 15

2.4.2 数据流图画法 15

2.5 数据词典 18

2.5.1 数据流表示 18

2.5.2 文件表示 18

2.5.3 加工表示 19

2.6 成本/效益分析 20

2.6.1 成本估计 20

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

习题 22

第3章 需求分析 23

3.1 需求分析的任务 23

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

3.1.2 分析系统的数据要求 23

3.1.3 导出系统的逻辑模型 23

3.1.4 修正开发计划 24

3.1.5 开发模型系统 24

3.1.6 写出需求规格说明书 24

3.2 需求分析的方法 24

3.2.1 结构化分析技术 24

3.2.2 面向对象的分析(OOA)技术 29

3.2.3 原型开发技术 34

3.3 需求分析阶段的描述工具 35

3.3.1 层次方框图 35

3.3.2 Warnier图 36

3.3.3 IPO图 36

3.4 需求分析的工具 38

习题 39

第4章 总体设计 40

4.1 总体设计阶段的过程和任务 40

4.1.1 设想供选择的方案 40

4.1.2 选取合理方案 41

4.1.3 选择最佳方案 41

4.1.4 功能的抽象与分解 41

4.1.5 设计软件结构 41

4.1.6 设计数据库 41

4.1.7 确定测试计划 42

4.1.8 书写文档 42

4.1.9 复审 42

4.2 结构化设计的概念与原理 42

4.2.1 模块化 42

4.2.2 模块独立性 44

4.2.3 模块设计准则 46

4.3 总体设计阶段的图形工具 48

4.3.1 层次图 48

4.3.2 HIPO图 49

4.3.3 结构图 49

4.4 结构化设计技术 50

4.4.1 数据流图的类型 50

4.4.2 设计过程 51

4.4.3 实例 51

4.5 设计优化 57

4.6 界面设计技术 58

4.7 面向对象设计(OOD)技术 59

习题 64

第5章 详细设计 66

5.1 详细设计阶段的任务 66

5.2 结构化程序设计 66

5.3 详细设计的描述工具 68

5.3.1 程序流程图 68

5.3.2 N-S图(盒图) 69

5.3.3 PAD图 70

5.3.4 判定表和判定树 70

5.3.5 伪码和过程设计语言(PDL) 71

5.4 Jackson程序设计方法 75

5.4.1 Jackson图 75

5.4.2 改进的Jackson图 76

5.4.3 Jackson结构程序设计方法 76

5.5 Warnier程序设计方法 83

5.5.1 Warnier方法 83

5.5.2 实例 83

5.5.3 Warnier方法的补充技术 87

5.6 程序复杂性的度量 90

5.6.1 程序图 90

5.6.2 McCabe方法 91

5.6.3 HaIstead方法 92

习题 93

第6章 编码 96

6.1 对源程序的质量要求 96

6.2 程序设计语言 97

6.2.1 程序设计语言的分类 97

6.2.2 程序设计语言的特点 98

6.2.3 选择语言进行编码 100

6.3 程序设计风格 101

6.3.1 结构化程序编码 102

6.3.2 写程序的风格 102

6.4 软件编码工具 105

6.4.1 书写源程序的工具 105

6.4.2 编译程序 105

6.4.3 代码管理系统 105

6.4.4 程序设计自动化 106

习题 107

第7章 软件测试 109

7.1 软件测试原则 109

7.1.1 设计测试用例 110

7.1.2 成立测试小组 110

7.1.3 设计非法输入的测试用例 110

7.1.4 进行回归测试 110

7.1.5 集中测试容易出错的程序段 110

7.2 软件测试的常用方法 110

7.2.1 黑盒法 111

7.2.2 白盒法 111

7.3 测试过程和步骤 111

7.3.1 概述 111

7.3.2 软件测试过程 112

7.3.3 测试中遇到的错误类型 113

7.3.4 单元测试 114

7.3.5 集成测试 116

7.3.6 验收测试 118

7.4 测试用例的设计 119

7.4.1 逻辑覆盖 119

7.4.2 等价类划分 121

7.4.3 边界值分析 123

7.4.4 图形技术 123

7.5 纠错技术 127

7.5.1 静态查找 127

7.5.2 消去原因法 127

7.5.3 回溯纠错 127

7.6 测试工具 128

7.6.1 静态分析工具 128

7.6.2 动态分析工具 129

7.6.3 综合测试评估工具 129

7.7 软件可靠性 130

7.7.1 概念 130

7.7.2 估算平均无故障时间的方法 130

习题 131

第8章 软件维护 133

8.1 软件维护的种类 133

8.1.1 完善性维护 133

8.1.2 适应性维护 133

8.1.3 纠错性维护 134

8.1.4 预防性维护 134

8.2 软件维护的特点 134

8.2.1 结构化维护与非结构化维护 134

8.2.2 软件维护的问题和代价 135

8.3 软件维护的过程 136

8.3.1 维护组织 136

8.3.2 维护报告 137

8.3.3 维护的事件流 137

8.3.4 保存维护记录和评价维护活动 138

8.4 软件可维护性 139

8.4.1 决定软件可维护性的因素 139

8.4.2 文档 139

8.4.3 可维护性复审 140

8.5 软件再用 140

8.5.1 概念 140

8.5.2 软件再用实例介绍 142

8.6 软件维护工具 147

习题 147

第9章 软件工程管理 148

9.1 软件项目的特点和软件管理的职能 148

9.1.1 软件项目的规模 148

9.1.2 软件项目的特点 150

9.1.3 软件管理的特殊困难 150

9.1.4 软件管理的职能 151

9.2 成本估算 151

9.2.1 参数方程 151

9.2.2 标准值法 152

9.2.3 COCOMO模型 154

9.3 进度计划 156

9.3.1 Gantt图法 156

9.3.2 工程网络图 156

9.3.3 关键路径 158

9.3.4 机动时间 158

9.4 人员管理 159

9.4.1 Rayleigh-Norden曲线 159

9.4.2 人员-时间权衡定律和Brooks定律 160

9.4.3 人员组织 160

9.5 质量保证 161

9.5.1 软件质量 161

9.5.2 质量保证 162

9.6 项目计划 163

9.7 软件管理工具 163

习题 164

第10章 软件工程环境 165

10.1 软件开发环境 165

10.1.1 程序设计环境 165

10.1.2 集成化项目支持环境 173

10.2 用户软件工程方法和环境 175

10.2.1 自外向内和界面原型 175

10.2.2 交互式信息处理系统的设计 176

习题 184

附录 文档格式 185

返回顶部