《软件工程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:王宜贵主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111107896
  • 页数:221 页
图书介绍:本书系统地介绍了软件工程的基本概念,软件开发方法等。

第1章 软件工程概述 1

1.1 软件的概念 1

1.2 软件危机 3

1.3 软件工程的目标和原则 4

1.4 软件生命周期和开发模型 5

1.5 软件开发方法和软件开发工具 8

1.5.1 软件开发方法的概念 8

1.5.2 软件开发的基本方法 9

1.5.3 软件开发工具 10

1.6 小结 10

1.7 习题 11

第2章 软件开发计划制定 12

2.1 问题定义 12

2.2 可行性研究 13

2.3.1 软件开发计划的内容 14

2.3 软件开发计划 14

2.3.2 软件开发计划编写实例 15

2.4 小结 16

2.5 习题 17

第3章 软件需求分析 18

3.1 需求分析的概念 18

3.1.1 需求分析的任务 18

3.1.2 需求分析的过程 18

3.1.3 需求获取技术 20

3.2 结构化分析方法 21

3.2.1 结构化分析概述 21

3.2.2 数据流图 22

3.2.3 数据词典 26

3.2.4 小说明 27

3.3 需求分析的其他工具 29

3.3.1 E-R模型 29

3.3.3 IPO图 30

3.3.2 层次方框图 30

3.3.4 Warnier图 31

3.4 需求规格说明书 32

3.5 小结 32

3.6 习题 33

第4章 软件设计 34

4.1 软件设计原则 34

4.1.1 模块化 34

4.1.2 抽象化 35

4.1.3 信息隐蔽 35

4.2 模块化设计 35

4.2.1 模块的特性 35

4.2.2 模块独立性 36

4.2.3 内聚 36

4.2.4 耦合 37

4.3.1 结构图 38

4.3 结构化设计方法 38

4.3.2 系统结构图中模块 40

4.3.3 数据流图的类型 40

4.3.4 变换分析 41

4.3.5 事务分析 43

4.3.6 系统结构图的改进 43

4.3.7 设计的后处理 44

4.4.2 结构化程序设计 45

4.4.1 详细设计概述 45

4.4 详细设计 45

4.4.3 程序流程图 46

4.4.4 N-S图 47

4.4.5 问题分析图 48

4.4.6 程序设计语言 49

4.5 Jackson方法 50

4.5.1 Jackson方法概述 50

4.5.2 三种基本结构 51

4.5.3 设计过程 52

4.6 小结 54

4.7 习题 55

第5章 程序编码 56

5.1 结构化程序设计(StructuredProgramming) 56

5.1.1 结构化程序设计的提出 56

5.1.2 结构化程序设计思想 57

5.1.3 自顶向下,逐步求精的设计方法 58

5.2 程序设计风格 60

5.2.1 程序内部的文档 60

5.2.2 数据说明 62

5.2.3 语句构造 62

5.2.4 输入和输出(I/O) 63

5.3 程序的效率 64

5.3.1 程序运行时间 64

5.3.2 存储器效率 64

5.3.3 输入/输出的效率 64

5.4.1 程序设计语言的分类 65

5.4 程序设计语言 65

5.4.2 程序设计语言性能的讨论 67

5.4.3 程序设计语言的选择 69

5.5 程序复杂性度量 69

5.5.1 McCabe度量法 69

5.5.2 Halstead方法 70

5.6 小结 71

5.7 习题 71

6.1.1 检验的手段 73

第6章 软件检验 73

6.1 检验的基本概念 73

6.1.2 软件测试的目标和原则 74

6.1.3 软件测试常用方法 75

6.2 软件评审 77

6.2.1 软件评审过程 77

6.2.2 软件评审条款 78

6.2.3 软件评审特点 78

6.3.1 单元测试 79

6.3 测试的过程与策略 79

6.3.2 集成测试 81

6.3.3 确认测试 83

6.3.4 系统测试 83

6.4 测试用例设计 83

6.4.1 逻辑覆盖 84

6.4.2 等价类划分 87

6.4.3 边界值分析 88

6.4.4 错误推测法 89

6.5 程序调试 90

6.5.1 调试方法 90

6.5.2 调试策略 91

6.6 小结 92

6.7 习题 93

7.1 面向对象的基本概念 95

7.1.1 对象(Object) 95

第7章 面向对象的软件工程 95

7.1.2 类(Class) 96

7.1.3 继承(Inheritance) 96

7.1.4 其他概念 97

7.2 面向对象的软件开发过程 98

7.2.1 面向对象的分析(OOA) 98

7.2.2 面向对象的设计(OOD) 99

7.3.1 对象模型 100

7.3 对象模型化技术 100

7.2.3 面向对象的实现(OOP) 100

7.3.2 动态模型 102

7.3.3 功能模型 103

7.4 Coad/Yourdon面向对象分析与设计技术 103

7.4.1 面向对象的分析技术(OOA) 103

7.4.2 面向对象的设计技术(OOD) 105

7.5 Booch方法 106

7.5.1 Booch方法的设计步骤 106

7.5.2 Booch方法的基本图形符号 107

7.7 习题 108

7.6 小结 108

第8章 软件维护 110

8.1 软件维护的概念 110

8.1.1 软件维护定义 110

8.1.2 软件维护的特点 111

8.2 软件维护活动 113

8.2.1 维护机构 113

8.2.2 维护报告 113

8.2.3 维护事件流 114

8.2.4 维护记录 116

8.2.5 维护评价 116

8.3 程序修改的步骤及副作用 116

8.3.1 程序修改的步骤 116

8.3.2 程序修改的副作用 117

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

8.4 软件的可维护性 118

8.4.2 提高可维护性的方法 119

8.4.3 可维护性复审 122

8.5 软件逆向工程和再工程 122

8.6 小结 123

8.7 习题 123

第9章 软件复用技术 125

9.1 软件复用技术概述 125

9.1.1 软件复用的意义 125

9.1.2 软件复用的过程 125

9.1.3 软件复用的类型 126

9.1.4 分层式体系结构 127

9.2 构件库的构造 128

9.2.1 领域分析 128

9.2.2 构件的开发 129

9.2.4 软件构件的复用 131

9.2.3 构件库的组织 131

9.3 面向对象的软件复用技术 132

9.3.1 类构件 133

9.3.2 类库 134

9.4 小结 134

9.5 习题 135

第10章 软件管理 136

10.1 软件过程 136

10.1.1 软件过程的概念 136

10.1.2 软件过程模型 136

10.2 软件项目管理过程 136

10.3 软件质量的度量 137

10.3.1 软件度量的分类 137

10.4 估算 138

10.4.1 软件项目的估算 138

10.3.2 软件质量的度量 138

10.4.2 软件开发成本估算 140

10.5 成本—效益分析 141

10.5.1 度量效益的几种方法 142

10.5.2 成本—效益的分析 143

10.6 风险分析 144

10.6.1 风险识别 144

10.6.2 风险估计 145

10.6.3 风险评价 146

10.6.4 风险驾驭和监控 146

10.7 进度安排 147

10.7.1 软件开发小组人数与软件生产率 147

10.7.2 任务的并行性 147

10.7.3 制定开发进度计划 148

10.7.4 进度安排的图形方法 148

10.8.1 软件项目管理的困难 150

10.8.3 软件项目组织的建立 150

10.7.5 项目的追踪和控制 150

10.8 软件项目的组织 150

10.8.2 项目任务的划分 151

10.8.4 人员配备 152

10.8.5 指导与检验 153

10.8.6 软件项目中人的因素 153

10.9 小结 154

10.10 习题 154

11.1.1 质量保证的概念 156

11.1.2 软件质量保证的主要任务 156

第11章 软件质量保证 156

11.1 软件质量保证概述 156

11.1.3 质量保证与检验 157

11.2 软件质量保证体系与实施 158

11.2.1 软件质量保证体系 158

11.2.2 质量保证的实施 159

11.3.1 评审内容 160

11.3 正式技术评审 160

11.3.2 正式技术评审 161

11.4 软件配置管理 162

11.4.1 软件配置项(SoftwareConfigurationItem,简称SCI) 162

11.4.2 基线(Baseline) 162

11.4.3 软件配置管理的过程和任务 162

11.5 软件工程标准化 164

11.5.1 软件工程标准化的意义 164

11.5.2 软件工程标准的制定与推行 165

11.5.3 软件工程标准的层次 165

11.6 软件文档 166

11.6.1 文档的概念 166

11.6.2 软件文档的分类 166

11.6.3 软件文档的工作 166

11.6.4 软件文档的编制 167

11.7 软件过程评估与过程改进 167

11.7.3 软件过程的改进 168

11.7.2 过程模型建造技术 168

11.7.1 剪裁过程 168

11.8 软件过程能力评估的CMM模型 169

11.8.1 软件机构的过程成熟度 169

11.8.2 软件机构的能力成熟度模型CMM 169

11.8.3 关键过程领域KPA 170

11.8.4 利用CMM对软件机构进行成熟度评估 171

11.9 在软件开发机构中贯彻ISO9000国际标准 172

11.9.1 ISO9000标准的特点 172

11.8.5 软件人员能力成熟度模型P-CMM 172

11.9.2 ISO9000系列标准的内容 173

11.9.3 ISO9000系列质量标准概要 174

11.10 小结 175

11.11 习题 175

第12章 软件工具和软件开发环境 177

12.1 软件工具 177

12.1.1 软件开发工具 177

12.1.2 软件维护工具 181

12.1.3 软件管理和软件支持工具 182

12.1.4 软件开发工具的评价和选择 183

12.2 软件开发环境 184

12.2.1 集成型软件开发环境 184

12.2.2 ECMA/NIST集成化软件开发环境参考模型 187

12.2.3 可移植公共工具环境 190

12.3 实例——青鸟系统 190

12.3.1 支持面向对象方法的CASE工具集(JBOO) 190

12.3.2 支持结构化方法的CASE工具集(JBST) 191

12.5 习题 193

12.4 小结 193

第13章 软件开发实例 194

13.1 可行性研究 194

13.2 系统开发计划 196

13.3 需求分析 196

13.4 系统设计 206

13.5 程序设计 212

附录A 215