《软件工程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:江开耀等编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2003
  • ISBN:7560612725
  • 页数:276 页
图书介绍:

第一部分 传统的软件工程 1

第1章 软件工程引论 1

1.1 软件产品的概念与特征 1

1.1.1 软件产品的概念与分类 1

1.1.2 软件产品的特征 2

1.1.3 软件发展的阶段划分 3

1.2 软件危机 4

1.2.1 软件危机及其表现 4

1.2.2 产生软件危机的原因 5

1.2.3 解决软件危机的途径 7

1.3 软件工程的产生及其发展 7

1.4 小结 9

习题 9

第2章 软件工程过程模型 10

2.1 软件工程的技术基础 10

2.2 软件工程过程 11

2.3 软件过程模型 12

2.4 线性顺序模型 13

2.5 原型模型 14

2.6 快速应用开发模型 15

2.7 演化软件过程模型 16

2.7.1 增量模型 16

2.7.2 螺旋模型 17

2.8 软件过程技术 18

2.9 软件重用技术 18

习题 20

2.10 小结 20

第3章 系统工程基础与可行性研究 21

3.1 基于计算机的系统 21

3.1.1 基于计算机的系统概述 21

3.1.2 计算机系统工程 22

3.2 系统需求识别 25

3.2.1 系统分析的目标 25

3.2.2 系统分析过程 25

3.3 可行性研究与分析 26

3.3.1 效益度量方法 27

3.3.2 成本-效益分析 28

3.3.3 技术分析 29

3.3.4 方案制定与评估 30

3.4 系统体系结构建模 30

3.4.1 建立系统结构流程图 30

3.5 系统定义与评审 33

3.5.1 系统定义文档模板 33

3.4.2 系统结构的规格说明定义 33

3.5.2 系统定义的评审 34

3.6 小结 35

习题 35

第4章 软件需求分析与建模 36

4.1 需求分析 36

4.1.1 需求分析的任务 36

4.1.2 需求分析的步骤 37

4.1.3 需求分析的原则 37

4.2.1 实体模型 38

4.2 数据建模 38

4.2.2 数据建模的其他图形工具 40

4.3 功能建模 42

4.3.1 数据流图的基本符号 42

4.3.2 数据流与加工之间的关系 43

4.3.3 数据流模型的建立方法 44

4.3.4 建立数据流模型的原则 46

4.4 行为建模 46

4.4.1 状态迁移图 47

4.4.2 Petri网 48

4.5 数据字典 50

4.5.1 数据字典的基本符号 50

4.5.2 数据字典中的条目及说明格式 50

4.5.3 加工逻辑的描述 52

4.5.4 数据字典的建立 54

4.6 结构化需求分析的若干技术 54

4.7.1 软件需求规格说明的主要内容 55

4.7 验证软件需求 55

4.7.2 软件需求的验证 56

4.8 小结 57

习题 57

第5章 软件设计 59

5.1 软件设计中的基本概念和原理 59

5.2 体系结构设计概述 63

5.2.1 体系结构设计的任务 64

5.2.2 体系结构设计中可采用的工具 65

5.2.3 体系结构设计的原则 66

5.2.4 体系结构设计说明书 68

5.3 面向数据流的体系结构设计方法 69

5.3.1 数据流图的类型 69

5.3.2 面向数据流的体系结构设计过程 69

5.4 详细设计概述 73

5.4.1 详细设计的任务 73

5.4.2 详细设计可采用的工具 74

5.4.3 详细设计的原则 78

5.4.4 详细设计说明书 79

5.5 面向数据流的详细设计方法 79

5.6 面向数据结构的设计方法 81

5.7 小结 85

习题 85

第6章 软件编码 87

6.1 程序设计语言 87

6.1.1 程序设计语言的分类 87

6.1.2 程序设计语言的特性 88

6.1.3 程序设计语言的选择 90

6.2 编码风格及软件效率 91

6.2.1 编码风格 91

6.2.2 软件效率 94

6.3 程序复杂度的概念及度量方法 95

6.3.1 程序图 95

6.3.2 程序复杂度的度量方法 96

习题 98

6.4 小结 98

第7章 软件测试技术 100

7.1 软件测试基础 100

7.1.1 软件测试的概念、目的和原则 100

7.1.2 软件测试的过程 102

7.1.3 软件测试的方法 103

7.2 白盒测试技术 104

7.2.1 白盒测试概念 104

7.2.2 白盒测试的测试用例设计 105

7.3 黑盒测试技术 108

7.3.1 黑盒测试概念 108

7.3.2 黑盒测试的测试用例设计 109

7.4 软件测试计划和测试分析报告 116

7.5 软件测试策略 117

7.5.1 单元测试 118

7.5.2 集成测试 121

7.5.3 确认测试 123

7.5.4 系统测试 124

7.6 小结 125

习题 125

第二部分 面向对象的软件工程 129

第8章 面向对象的方法学引论 129

8.1 软件工程的新途径 129

8.1.1 面向对象的思想 129

8.1.2 面向对象的基本概念 129

8.2 面向对象建模 132

8.3 对象模型 133

8.3.1 类-&-对象的表示符号 134

8.3.2 结构的表示符号 134

8.3.3 主题 136

8.3.4 关联与链属性 136

8.3.5 服务与消息连接 138

8.3.6 对象模型举例 138

8.4 动态模型 139

8.5 功能模型 142

习题 143

第9章 面向对象分析 144

9.1 面向对象分析过程 144

9.2 建立对象模型 147

9.2.1 确定类-&-对象 147

9.2.2 确定关联 150

9.2.3 确定属性 153

9.2.4 确定主题 155

9.2.5 识别结构 155

9.2.6 优化对象模型 156

9.3 建立动态模型 158

9.3.1 编写脚本 158

9.3.2 事件跟踪图 159

9.3.3 状态图 161

9.3.4 优化动态模型 162

9.4 建立功能模型 163

9.5 定义服务 164

习题 165

第10章 面向对象设计 166

10.1 面向对象的设计准则 166

10.1.1 设计准则 166

10.1.2 设计策略 168

10.1.3 系统分解与组织 169

10.2 问题域子系统设计 171

10.3 人机交互子系统设计 173

10.4 任务管理子系统设计 175

10.5 数据管理子系统设计 177

10.5.1 选择数据存储管理模式 177

10.5.2 设计数据管理子系统 178

10.6 服务与关联的设计 180

10.6.1 设计服务 180

10.6.2 设计关联 182

10.7 面向对象设计的优化 184

习题 188

第11章 面向对象实现 189

11.1 面向对象的程序设计语言 189

11.1.1 面向对象语言的优点 189

11.1.2 面向对象语言的技术特点 191

11.1.3 选择面向对象语言 194

11.2 面向对象的程序实现特征 195

11.2.1 提高可重用性 195

11.2.2 提高可扩充性 197

11.2.3 提高健壮性 198

11.3 面向对象测试 198

11.3.1 OO软件的单元测试 199

11.3.2 OO软件的集成测试 199

11.3.3 OO软件的确认测试与系统测试 200

11.3.4 设计测试用例 200

11.4 组件技术简介 203

11.4.1 组件的概念及特点 203

11.4.2 组件分类及开发工具 204

11.4.3 组件开发原则与组件管理 205

11.4.4 应用组件技术开发应用系统 206

习题 207

第三部分 软件工程项目管理 209

第12章 软件工程项目管理基础 209

12.1 项目管理的范围 210

12.2 人员角色管理 210

12.2.1 项目参与者 210

12.2.2 项目负责人 211

12.2.3 软件项目组的组织结构 212

12.2.4 小组内的协调和通信 213

12.3 问题管理 214

12.4 过程管理 215

12.5 小结 215

习题 216

第13章 软件度量 217

13.1 软件度量 217

13.3 面向功能的度量 218

13.2 面向规模的度量 218

13.4 软件质量的度量 221

13.4.1 影响软件质量的因素 221

13.4.2 软件质量度量 222

13.5 在软件过程中集成度量数据 223

13.5.1 建立基线 223

13.5.2 度量数据的收集、计算和评价 224

13.6 小结 225

习题 226

第14章 软件计划 227

14.1 软件范围界定 227

14.2 资源需求 229

14.3 项目估算 230

14.3.1 基于问题分解的估算 231

14.3.2 基于过程分解的估算 233

14.3.4 COCOMO模型 234

14.3.3 经验估算模型 234

14.3.5 软件方程式 236

14.3.6 自动估算工具 237

14.4 软件项目计划的结构 237

14.5 项目计划的分解求精 239

14.5.1 任务的确定与并发处理 239

14.5.2 制定明细的开发进度计划 240

14.6 计划跟踪监督 241

14.7 计划执行情况的度量与计划调控 242

14.8 小结 243

习题 243

第15章 软件工程风险管理 245

15.1 软件风险 246

15.2 风险识别 246

15.3 风险预测 247

15.3.1 建立风险表 247

15.3.2 风险评估 249

15.4 风险缓解、监控与管理 249

15.5 RMMM计划 251

习题 252

15.6 小结 252

第16章 软件质量保证 253

16.1 软件质量与SQA 253

16.1.1 软件质量 253

16.1.2 SQA活动 254

16.2 软件复审 254

16.2.1 软件复审 255

16.2.2 软件缺陷对成本的影响 255

16.2.3 缺陷的放大和消除 255

16.3 正式的技术复审 257

16.3.1 复审会议的组织 257

16.3.2 复审报告和记录保存 258

16.3.3 复审指南 258

16.4 基于统计的质量保证 259

16.5.1 可靠性和可用性 261

16.5.2 平均无故障运行时间的估算 261

16.5 软件可靠性 261

16.6 SQA计划 263

16.7 小结 264

习题 264

第17章 软件配置管理 266

17.1 软件配置管理的任务 266

17.1.1 基线 266

17.1.2 软件配置项 268

17.3 软件配置中对象的标识 270

17.2 SCM过程 270

17.4 版本控制 272

17.5 变更控制 273

17.6 配置审核与状态报告 274

17.6.1 配置审核 274

17.6.2 配置状态报告 274

17.7 小结 275

习题 275

参考文献 276