图书介绍
软件工程pdf电子书版本下载
- 郑人杰,马素霞,麻志毅编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115210265
- 出版时间:2009
- 标注页数:397页
- 文件大小:27MB
- 文件页数:408页
- 主题词:软件工程-高等学校-教材
PDF下载
下载说明
软件工程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 软件工程基础 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软件工程的目标 4
1.2.3软件工程的基本原理 5
1.3软件生命周期 6
1.4软件工程方法学 8
1.4.1结构化方法学 8
1.4.2面向对象方法 9
1.5软件工程知识体系及知识域介绍 9
1.6软件产业的形成与发展 12
1.6.1我国软件产业的形成 12
1.6.2全球软件产业的发展 13
1.6.3软件产业的发展模式 13
1.6.4软件工程在软件产业中的作用 15
小结 15
习题 16
第2章 软件需求获取与确认 17
2.1软件需求获取的任务 17
2.2软件需求的获取与确认过程 18
2.3快速原型化方法 19
2.4基于用况的方法 20
2.4.1系统边界 20
2.4.2参与者 21
2.4.3用况 22
2.4.4用况图 27
2.5需求管理 28
小结 29
习题 29
第2部分 结构化软件开发方法 31
第3章 结构化分析建模 31
3.1软件需求分析阶段的任务 31
3.2结构化分析方法简介 33
3.3功能建模 33
3.3.1数据流图的基本图形符号 33
3.3.2环境图 34
3.3.3数据流图的分层 35
3.3.4实例研究 36
3.4数据建模 38
3.4.1数据对象 38
3.4.2属性 39
3.4.3关系 39
3.5行为建模 41
3.5.1状态 41
3.5.2状态转换 41
3.5.3事件 42
3.6数据字典 43
3.6.1词条描述 43
3.6.2数据结构描述 44
3.7加工规格说明 46
3.7.1决策表 47
3.7.2决策树 48
3.8需求规格说明 49
3.8.1软件需求规格说明 49
3.8.2数据需求说明 50
小结 51
习题 51
第4章 总体设计 53
4.1软件设计的概念及目标 53
4.1.1软件设计的概念 53
4.1.2软件设计的目标 53
4.2软件设计的任务 56
4.2.1软件设计的阶段与任务 56
4.2.2结构化设计与结构化分析的关系 57
4.3模块结构与数据结构 57
4.3.1模块结构及表示 58
4.3.2数据结构及表示 61
4.4创建良好设计的原则 62
4.4.1分而治之和模块化 62
4.4.2模块独立性 63
4.4.3提高抽象层次 68
4.4.4复用性设计 69
4.4.5灵活性设计 69
4.4.6预防过期 69
4.4.7可移植性设计 70
4.4.8可测试性设计 70
4.4.9防御性设计 71
4.5面向数据流的设计方法 71
4.5.1设计过程 71
4.5.2典型的数据流类型和系统结构 72
4.5.3变换型映射方法 74
4.5.4事务型映射方法 76
4.5.5软件模块结构的改进方法 79
4.5.6实例研究 82
4.6接口设计 86
4.6.1接口设计概述 86
4.6.2人机交互界面 87
4.7数据设计 89
4.7.1文件设计 89
4.7.2数据库设计 90
4.8软件设计规格说明 90
小结 91
习题 92
第5章 详细设计与编码 93
5.1结构化程序设计 93
5.1.1结构化程序设计的概念与原则 93
5.1.2自顶向下、逐步细化的设计过程 94
5.2过程设计的工具 96
5.2.1程序流程图 96
5.2.2 N-S图 99
5.2.3 PAD图 100
5.2.4伪代码 101
5.3程序设计语言 103
5.3.1程序设计语言的性能 103
5.3.2程序设计语言的分类 104
5.3.3程序设计语言的选择 106
5.4程序设计风格 107
5.4.1源程序文档化 107
5.4.2数据说明标准化 109
5.4.3语句结构简单化 109
5.4.4输入/输出规范化 112
5.5程序复杂程度度量 113
5.5.1 McCabe方法 113
5.5.2 Halstead方法 115
小结 116
习题 116
第6章 软件测试 118
6.1软件测试的基本概念 118
6.1.1什么是软件测试 118
6.1.2软件测试的目的和原则 119
6.1.3软件测试的对象 120
6.1.4测试信息流 121
6.1.5测试与软件开发各阶段的关系 122
6.1.6白盒测试与黑盒测试 122
6.2白盒测试的测试用例设计 124
6.2.1逻辑覆盖 124
6.2.2语句覆盖 125
6.2.3判定覆盖 125
6.2.4条件覆盖 125
6.2.5判定—条件覆盖 126
6.2.6条件组合覆盖 126
6.2.7路径测试 127
6.3基本路径测试 128
6.4黑盒测试的测试用例设计 131
6.4.1等价类划分 131
6.4.2边界值分析 134
6.5软件测试的策略 136
6.5.1单元测试 137
6.5.2组装测试 139
6.5.3确认测试 142
6.5.4系统测试 144
6.5.5测试的类型 144
6.6人工测试 147
6.6.1静态分析 147
6.6.2人工测试的几种形式 148
6.7调试 149
小结 150
习题 150
第3部分 面向对象软件开发方法 153
第7章 面向对象方法概述 153
7.1面向对象的基本思想 153
7.2面向对象的主要概念及基本原则 154
7.2.1面向对象的主要概念 154
7.2.2面向对象的基本原则 156
7.3面向对象方法的发展史及现状简介 157
7.4关于统一建模语言 158
小结 160
习题 160
第8章 面向对象分析 161
8.1什么是面向对象分析 161
8.2建立基本模型——类图 164
8.2.1对象与类 164
8.2.2定义属性与操作 168
8.2.3建立关系 173
8.3建立行为模型 187
8.3.1顺序图 187
8.3.2活动图 191
8.3.3状态机图 195
8.4建立组织模型——包图 202
8.4.1概念与表示法 202
8.4.2如何划分与组织包 204
小结 205
习题 205
第9章 面向对象设计与测试 207
9.1什么是面向对象设计 207
9.2问题域部分的设计 208
9.2.1为复用类而增加结构 208
9.2.2提高性能 209
9.2.3增加一般类以建立共同协议 210
9.2.4按编程语言调整继承 211
9.2.5对复杂关联的转化并决定关联的实现方式 213
9.2.6调整与完善属性 214
9.2.7构造及优化算法 215
9.2.8决定对象间的可访问性 215
9.2.9定义对象 216
9.3人机交互部分的设计 216
9.3.1什么是人机交互部分 216
9.3.2如何分析人机交互部分 217
9.3.3如何设计人机交互部分 218
9.4控制驱动部分的设计 222
9.4.1什么是控制驱动部分 223
9.4.2控制流 223
9.4.3如何设计控制驱动部分 223
9.5数据管理部分的设计 227
9.5.1什么是数据管理部分 228
9.5.2数据库和数据库管理系统 228
9.5.3如何设计数据管理部分 229
9.6面向对象测试的概念 235
9.6.1面向对象软件测试的问题 235
9.6.2面向对象软件测试的参考过程模型 236
9.7面向对象测试方法 237
9.7.1面向对象的分析与设计测试 237
9.7.2面向对象的程序测试 237
9.7.3面向对象的系统测试 239
小结 239
习题 239
第4部分 软件生存期模型与软件体系结构 241
第10章 软件生存期模型 241
10.1软件过程框架 241
10.1.1软件过程框架的内容 241
10.1.2通用过程框架 241
10.1.3典型的普适性活动 243
10.2传统软件过程模型 243
10.2.1瀑布模型 243
10.2.2快速原型模型 245
10.2.3增量模型 245
10.2.4螺旋模型 247
10.2.5喷泉模型 248
10.3现代软件过程模型 249
10.3.1基于构件的开发模型 249
10.3.2形式化方法模型 250
10.3.3面向方面的软件开发 251
10.3.4统一过程 251
10.3.5敏捷过程模型 253
小结 255
习题 256
第11章 软件体系结构 257
11.1软件体系结构的基本概念 257
11.1.1什么是体系结构 257
11.1.2体系结构模式、风格和框架的概念 258
11.1.3体系结构的重要作用 259
11.2典型的体系结构风格 259
11.2.1数据流风格 259
11.2.2调用—返回风格 260
11.2.3仓库风格 262
11.3特定领域的软件体系结构 264
11.3.1类属模型 264
11.3.2参考模型 265
11.4分布式系统结构 266
11.4.1多处理器体系结构 266
11.4.2客户机/服务器体系结构 267
11.4.3分布式对象体系结构 271
11.4.4代理 272
11.5体系结构框架 272
11.5.1模型—视图—控制器 272
11.5.2 J2EE体系结构框架 273
11.5.3 PCMEF与PCBMER框架 274
11.6体系结构建模 276
11.6.1类及其依赖性 277
11.6.2接口及其依赖性 279
11.6.3包及其依赖性 281
11.6.4构件及其依赖性 282
11.6.5结点与部署图 284
小结 285
习题 285
第5部分 软件维护与软件管理 287
第12章 软件维护 287
12.1软件维护的概念 287
12.1.1软件维护的定义 287
12.1.2影响维护工作量的因素 288
12.1.3软件维护的策略 288
12.2软件维护活动 289
12.2.1软件维护申请报告 289
12.2.2软件维护工作流程 290
12.2.3维护档案记录 291
12.2.4维护评价 291
12.3程序修改的步骤及修改的副作用 291
12.3.1分析和理解程序 291
12.3.2修改程序 292
12.3.3修改程序的副作用及其控制 293
12.3.4重新验证程序 294
12.4软件的可维护性 295
12.4.1软件可维护性的定义 295
12.4.2可维护性的度量 296
12.5提高可维护性的方法 298
12.5.1建立明确的软件质量目标和优先级 298
12.5.2使用提高软件质量的技术和工具 298
12.5.3质量保证审查 298
12.5.4改进文档 300
小结 301
习题 301
第13章 软件项目管理 302
13.1软件项目管理概述 302
13.1.1软件项目管理的目标 302
13.1.2软件项目管理涉及的几个方面 302
13.2项目估算 304
13.2.1项目策划与项目估算 304
13.2.2软件规模估算的功能点方法 305
13.2.3软件开发成本估算 310
13.3风险管理 316
13.3.1什么是软件风险 316
13.3.2风险管理的任务 318
13.3.3风险评估 319
13.3.4风险控制 322
13.3.5做好风险管理的建议 325
13.4进度管理 325
13.4.1进度控制问题 325
13.4.2甘特图 328
13.4.3时标网状图 329
13.4.4 PERT图 329
13.5需求管理 331
13.5.1系统需求与软件需求 331
13.5.2需求工程 333
13.5.3需求变更 335
13.5.4需求变更控制 337
13.5.5可追溯性管理 340
13.6配置管理 341
13.6.1什么是软件配置管理 342
13.6.2软件配置标识 342
13.6.3变更管理 344
13.6.4版本控制 348
13.6.5系统建立 349
13.6.6配置审核 350
13.6.7配置状态报告 351
小结 351
习题 352
第14章 软件工程标准及软件文档 353
14.1标准的概念 353
14.2软件标准化的意义 354
14.3标准的分类与分级 355
14.4软件工程标准的制定与实施 358
14.5软件组织内的标准化工作 359
14.6软件文档的作用和分类 360
14.7软件基本文档的内容要求 362
14.8对文档编制的质量要求 366
14.9文档的管理和维护 368
小结 369
习题 369
第15章 软件过程与软件过程改进 371
15.1软件过程概述 371
15.2软件生存期过程国际标准 373
15.3软件过程成熟度 377
15.3.1什么是软件过程成熟度 377
15.3.2过程制度化 379
15.4软件能力成熟度模型(CMM/CMMI) 381
15.4.1 CMM与SEI 381
15.4.2 CMM的演化 382
15.4.3 CMM族和CMMI 382
15.4.4 CMMI 1.2简介 383
15.4.5 CMMI评估 391
15.5软件过程改进 392
15.5.1软件过程改进的IDEAL模型 392
15.5.2软件过程改进框架 393
15.5.3有效的软件过程 394
小结 395
习题 396
参考文献 397