图书介绍
软件工程教程PDF|Epub|txt|kindle电子书版本网盘下载
![软件工程教程](https://www.shukui.net/cover/26/30234857.jpg)
- 孙涌,陈建明,王辉编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111300021
- 出版时间:2010
- 标注页数:335页
- 文件大小:27MB
- 文件页数:349页
- 主题词:软件工程-高等学校-教材
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.2 软件危机过程2
1.2 软件工程学的范畴5
1.3 软件开发的生命周期5
1.4 传统软件工程和面向对象软件工程7
1.5 软件的特点10
1.6 软件工程的基本目标11
小结12
习题12
第2章 软件生命周期过程模型13
2.1 过程及软件生命周期13
2.2 软件过程模型14
2.2.1 瀑布模型15
2.2.2 具有原型化的瀑布模型17
2.3 演化过程模型18
2.3.1 原型化模型18
2.3.2 螺旋模型19
2.3.3 操作说明模型20
2.4 增量过程模型21
2.4.1 RAD模型21
2.4.2 增量和迭代模型22
2.5 其他类型的过程模型23
2.5.1 喷泉模型23
2.5.2 智能模型24
2.5.3 V模型25
2.5.4 变换模型25
小结26
习题26
第3章 需求分析27
3.1 需求分析的任务27
.3.1.1 需求定义27
3.1.2 需求的层次28
3.1.3 需求的开发与管理28
3.2 需求获取技术30
3.2.1 需求分析人员的组成30
3.2.2 需求的类型30
3.2.3 获取需求的途径31
3.3 需求规格说明书36
3.3.1 需求说明的目的36
3.3.2 需求说明的方法36
3.4 需求描述技术36
3.4.1 结构化技术36
3.4.2 形式化技术40
3.5 需求验证48
小结49
习题49
第4章 概要设计51
4.1 概要设计的概念51
4.1.1 概要设计的目标和任务51
4.1.2 概要设计的过程53
4.1.3 概要设计的工具53
4.2 模块独立性55
4.2.1 模块化55
4.2.2 模块的耦合性56
4.2.3 模块的内聚性60
4.3 结构化设计方法63
4.3.1 概念63
4.3.2 变换分析66
4.3.3 事务分析68
4.3.4 设计的后处理69
4.4 数据设计70
4.4.1 数据设计的原则70
4.4.2 数据结构设计71
4.4.3 文件设计71
4.4.4 数据库设计72
小结73
习题73
第5章 详细设计74
5.1 详细设计的任务74
5.2 详细设计的方法75
5.2.1 设计表示法75
5.2.2 结构化程序设计77
5.2.3 面向数据结构的设计80
5.2.4 详细设计文档与复审85
小结90
习题91
第6章 编码与语言选择92
6.1 编码的目的和任务92
6.2 编码所使用的语言93
6.2.1 程序设计语言范型93
6.2.2 程序设计语言的发展94
6.2.3 常用的编码语言96
6.2.4 编码语言的选择98
6.3 编码的风格99
小结103
习题103
第7章 面向对象方法104
7.1 面向对象的基本概念104
7.1.1 对象104
7.1.2 类与消息105
7.1.3 类的基本特征106
7.2 面向对象的开发方法106
7.2.1 概述107
7.2.2 面向对象方法的发展历程107
7.2.3 常用的面向对象分析的方法108
7.3 面向对象的设计111
7.3.1 面向对象设计概述111
7.3.2 底层设计——类的设计118
7.3.3 OOD的Yourdon的方法120
7.3.4 Booch的方法125
7.3.5 系统的设计过程126
小结129
习题129
第8章 统一建模语言130
8.1 统一建模语言简介130
8.1.1 发展历史130
8.1.2 UML简介131
8.1.3 UML视图简介132
8.1.4 视图132
8.1.5 UML类、构件、部署和协作图中的图标133
8.1.6 扩展组件134
8.1.7 各种视图间的关系134
8.2 概念与视图135
8.2.1 静态视图135
8.2.2 用例图136
8.2.3 交互视图136
8.2.4 状态图138
8.2.5 活动视图139
8.2.6 物理视图140
8.2.7 模型管理视图142
8.3 UML与Java的对应关系143
8.3.1 表示结构143
8.3.2 表示关系145
8.4 统一建模语言的综合应用149
8.4.1 项目概述149
8.4.2 静态分析和设计150
8.4.3 持久对象设计151
8.4.4 动态对象设计152
8.4.5 通用接口设计154
8.4.6 体系结构设计157
小结159
习题160
第9章 统一软件过程161
9.1 软件开发过程161
9.2 迭代和递增162
9.3 核心工作流162
9.3.1 需求流162
9.3.2 分析流164
9.3.3 设计流166
9.3.4 实现流167
9.3.5 测试流168
9.3.6 交付后维护170
9.3.7 退役170
9.4 统一过程的各阶段171
9.4.1 开始阶段171
9.4.2 细化阶段173
9.4.3 构建阶段173
9.4.4 转换阶段174
9.5 二维生命周期模型174
小结174
习题174
第10章 软件测试176
10.1 软件测试概述176
10.1.1 软件测试的目标176
10.1.2 软件测试的原则177
10.1.3 软件测试的方法178
10.1.4 软件测试与软件开发各阶段的关系178
10.1.5 测试信息流179
10.1.6 错误分类179
10.2 软件测试过程与策略182
10.2.1 单元测试182
10.2.2 集成测试183
10.2.3 确认测试186
10.2.4 平行运行187
10.3 设计测试方案187
10.3.1 逻辑覆盖188
10.3.2 等价划分191
10.3.3 边界值分析194
10.3.4 错误推测194
10.3.5 实用测试策略195
10.4 纠错198
10.5 对OOA和OOD模型的测试200
10.5.1 扩大测试的视角201
10.5.2 测试OOA和OOD模型201
10.6 面向对象的测试策略203
10.6.1 在OO语境中的单元测试203
10.6.2 在OO语境中的集成测试203
10.6.3 在OO语境中的有效性测试204
10.7 OO软件的测试用例设计204
10.7.1 OO概念的测试用例设计的含义204
10.7.2 传统测试用例设计方法的可用性204
10.7.3 基于故障的测试205
10.7.4 OO编程对测试的影响205
10.7.5 测试用例和类层次206
10.7.6 基于场景的测试设计206
10.7.7 测试表层结构和深层结构207
10.8 其他专门环境要求的测试208
10.8.1 GUI测试208
10.8.2 测试文档和帮助设施209
10.8.3 实时系统测试210
小结211
习题211
第11章 软件维护213
11.1 系统的变化213
11.1.1 系统的类型214
11.1.2 系统生命周期中的变化215
11.1.3 系统的生命范围216
11.2 软件维护的基本内容和特点218
11.2.1 软件维护概述218
11.2.2 软件维护的特点219
11.2.3 维护中的问题220
11.3 软件维护的实施221
11.3.1 软件维护的过程221
11.3.2 软件维护的技术224
11.4 软件的可维护性224
11.4.1 软件可维护性概述225
11.4.2 软件可维护性度量225
11.4.3 提高可维护性的方法225
11.5 软件维护的副作用226
11.5.1 代码副作用226
11.5.2 数据副作用227
11.5.3 文档副作用227
11.6 软件再工程227
11.6.1 软件再工程的过程227
11.6.2 软件再工程的方法228
小结228
习题229
第12章 软件质量及其管理230
12.1 软件质量的概念及属性230
12.1.1 软件质量概述230
12.1.2 软件质量的属性230
12.2 软件质量保证与控制231
12.2.1 软件质量保证概述232
12.2.2 软件质量保证计划232
12.2.3 软件质量成本234
12.2.4 软件质量控制234
12.3 软件质量度量235
12.3.1 软件质量度量概述235
12.3.2 质量度量模型235
12.3.3 三种度量模型的比较236
12.3.4 软件质量评价238
12.4 软件可靠性238
12.4.1 基本概念238
12.4.2 影响软件可靠性的因素239
12.4.3 软件可靠性模型240
12.4.4 软件可靠性工程242
12.5 CMM:软件能力成熟度模型242
12.5.1 CMM的发展242
12.5.2 基本概念243
12.5.3 SW-CMM的用途243
12.5.4 CMM的五个等级244
12.5.5 CMM的内部结构246
12.5.6 采用CMM的意义248
小结249
习题249
第13章 软件项目管理250
13.1 项目管理的概念250
13.1.1 项目管理过程250
13.1.2 项目管理的范围251
13.1.3 项目管理中的资源251
13.2 可行性研究252
13.2.1 可行性研究的任务和过程252
13.2.2 技术可行性研究253
13.2.3 经济可行性研究254
13.2.4 运行可行性研究256
13.3 软件项目估算257
13.3.1 代码行技术257
13.3.2 功能点技术257
13.4 软件开发成本估算260
13.4.1 软件开发成本估算方法260
13.4.2 专家判定技术260
13.4.3 软件开发成本估算的早期经验模型261
13.5 进度安排264
13.5.1 软件开发小组人数与软件生产率264
13.5.2 任务的确定与并行性264
13.5.3 制定开发进度计划265
13.5.4 项目的追踪和控制265
13.6 人员组织266
13.6.1 民主制程序员组266
13.6.2 主程序员组267
13.6.3 现代程序员组268
13.7 软件风险管理269
13.7.1 风险识别269
13.7.2 风险估计271
13.7.3 风险评价272
13.7.4 风险驾驭和监控273
13.8 软件配置管理274
13.8.1 软件配置274
13.8.2 软件配置管理过程275
小结276
习题276
第14章 CASE环境与工具278
14.1 工程环境278
14.1.1 软件开发环境的特点278
14.1.2 理想环境的模型280
14.1.3 CASE环境简介280
14.2 CASE环境的组成与结构281
14.2.1 CASE的组成构件281
14.2.2 CASE的一般结构283
14.3 CASE环境工具与实践284
14.3.1 CASE软件工程实践284
14.3.2 常用CASE工具介绍285
14.4 逐步求精287
小结290
习题290
第15章 软件工程新技术概述292
15.1 敏捷软件开发过程292
15.1.1 敏捷的概念293
15.1.2 敏捷过程的含义293
15.1.3 敏捷过程模型295
15.2 设计模式302
15.2.1 设计模式的基本概念302
15.2.2 关系环与组合模式303
15.2.3 工厂模式306
15.2.4 观察者模式与拉推数据315
15.3 Web工程简介320
15.3.1 Web系统和应用特点320
15.3.2 Web工程的层次321
15.3.3 Web分析322
15.3.4 Web设计323
15.3.5 Web测试324
15.3.6 Web的项目管理328
小结330
习题330
参考文献331