图书介绍
软件工程 第2版PDF|Epub|txt|kindle电子书版本网盘下载
- 张海藩编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115140707
- 出版时间:2006
- 标注页数:360页
- 文件大小:22MB
- 文件页数:378页
- 主题词:软件工程-高等学校-教材
PDF下载
下载说明
软件工程 第2版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.1.4 消除软件危机的途径5
1.2 软件工程6
1.2.1 什么是软件工程6
1.2.2 软件工程的基本原理6
1.2.3 软件工程方法学8
1.3 小结10
习题11
第2章 软件过程13
2.1 软件生命周期的基本任务13
2.2 瀑布模型16
2.3 快速原型模型18
2.4 增量模型19
2.5 螺旋模型20
2.6 喷泉模型22
2.7 小结23
习题24
3.1 概述25
第二篇 传统方法学25
第3章 结构化分析25
3.2 与用户通信的技术26
3.2.1 访谈26
3.2.2 简易的应用规格说明技术27
3.2.3 软件原型28
3.3 分析建模与规格说明29
3.3.1 分析建模29
3.3.2 软件需求规格说明29
3.4.1 数据对象31
3.4.2 属性31
3.4 实体—关系图31
3.4.3 关系32
3.4.4 实体—关系图的符号32
3.5 数据流图33
3.5.1 数据流图符号33
3.5.2 例子34
3.5.3 命名37
3.6 状态转换图37
3.6.1 状态38
3.6.2 事件38
3.6.3 符号38
3.6.4 例子39
3.7 数据字典40
3.8 结构化分析实例41
3.8.1 问题陈述42
3.8.2 问题定义42
3.8.3 可行性研究43
3.8.4 需求分析48
3.9 小结53
习题55
第4章 结构化设计56
4.1 结构化设计与结构化分析的关系56
4.2 软件设计的概念和原理57
4.2.1 模块化57
4.2.3 逐步求精59
4.2.2 抽象59
4.2.4 信息隐藏60
4.3 模块独立61
4.3.1 耦合61
4.3.2 内聚62
4.4 启发规则63
4.4.1 改进软件结构提高模块独立性63
4.4.2 模块规模应该适中64
4.4.3 深度、宽度、扇出和扇入都应适当64
4.4.4 模块的作用域应该在控制域之内64
4.5.1 层次图和HIPO图65
4.5 表示软件结构的图形工具65
4.4.6 设计单入口单出口的模块65
4.4.7 模块功能应该可以预测65
4.4.5 力争降低模块接口的复杂程度65
4.5.2 结构图67
4.6 面向数据流的设计方法68
4.6.1 概念68
4.6.2 变换分析69
4.6.3 事务分析75
4.6.4 设计优化76
4.7 人机界面设计77
4.7.1 人机界面设计问题77
4.7.2 人机界面设计过程78
4.7.3 界面设计指南79
4.8 过程设计81
4.9 过程设计的工具83
4.9.1 程序流程图83
4.9.2 盒图(N_S图)84
4.9.3 PAD图84
4.9.4 判定表86
4.9.5 判定树87
4.9.6 过程设计语言(PDL)87
4.10 面向数据结构的设计方法88
4.10.1 Jackson图88
4.10.3 Jackson方法89
4.10.2 改进的Jackson图89
4.11 小结94
习题95
第5章 结构化实现98
5.1 编码98
5.1.1 选择程序设计语言98
5.1.2 编码风格100
5.2 软件测试基础102
5.2.1 测试目标102
5.2.3 测试准则103
5.2.4 流图103
5.2.2 黑盒测试和白盒测试103
5.3 逻辑覆盖106
5.4 控制结构测试108
5.4.1 基本路径测试108
5.4.2 条件测试111
5.4.3 数据流测试113
5.4.4 循环测试114
5.5 黑盒测试技术115
5.5.1 等价划分116
5.5.2 边界值分析118
5.5.3 错误推测119
5.6.1 测试步骤120
5.6 测试策略120
5.6.2 单元测试121
5.6.3 集成测试123
5.6.4 确认测试126
5.7 调试127
5.7.1 调试过程127
5.7.2 调试途径128
5.8 软件可靠性130
5.8.1 基本概念130
5.8.2 估算平均无故障时间的方法131
5.9 小结132
习题133
第三篇 面向对象方法学139
第6章 面向对象方法学导论139
6.1 面向对象程序设计实例139
6.1.1 用对象分解取代功能分解139
6.1.2 设计类等级141
6.1.3 定义属性和服务143
6.1.4 用C++语言实现144
6.2 面向对象方法学概述147
6.2.1 面向对象方法学的要点147
6.2.2 面向对象的软件过程149
6.3 面向对象方法学的主要优点150
6.4.1 对象153
6.4 面向对象的概念153
6.4.2 其他概念156
6.5 面向对象建模159
6.6 对象模型160
6.6.1 表示类的符号160
6.6.2 表示关系的符号161
6.7 动态模型164
6.8 功能模型165
6.9 三种模型之间的关系165
6.10 小结166
习题166
7.1.1 概述168
第7章 面向对象分析168
7.1 分析过程168
7.1.2 三个子模型与五个层次169
7.2 需求陈述170
7.2.1 书写要点170
7.2.2 例子171
7.3 建立对象模型172
7.3.1 确定类与对象172
7.3.2 确定关联174
7.3.3 划分主题177
7.3.4 确定属性177
7.3.5 识别继承关系178
7.3.6 反复修改179
7.4 建立动态模型182
7.4.1 编写脚本182
7.4.2 设想用户界面183
7.4.3 画事件跟踪图184
7.4.4 画状态图184
7.4.5 审查动态模型186
7.5 建立功能模型187
7.5.1 画出基本系统模型图187
7.5.2 画出功能级数据流图187
7.5.3 描述处理框功能188
7.6.3 与数据流图中处理框对应的操作189
7.6.4 利用继承减少冗余操作189
7.6 定义服务189
7.6.2 从事件导出的操作189
7.6.1 常规行为189
7.7 面向对象分析实例190
7.7.1 需求陈述190
7.7.2 建立对象模型190
7.7.3 建立动态模型191
7.7.4 建立功能模型193
7.7.5 进一步完善194
7.8 小结194
习题195
8.1 面向对象设计的准则197
第8章 面向对象设计197
8.1.1 模块化198
8.1.2 抽象198
8.1.3 信息隐藏198
8.1.4 弱耦合198
8.1.5 强内聚199
8.1.6 可重用199
8.2 启发规则199
8.2.3 设计简单的类200
8.2.2 一般—特殊结构的深度应适当200
8.2.1 设计结果应该清晰易懂200
8.2.4 使用简单的协议201
8.2.5 使用简单的服务201
8.2.6 把设计变动减至最小201
8.3 系统分解201
8.3.1 子系统之间的两种交互方式202
8.3.2 组织系统的两种方案202
8.3.3 设计系统的拓扑结构203
8.4 设计问题域子系统203
8.4.4 增添一般化类以建立协议204
8.4.3 把问题域类组合在一起204
8.4.5 ATM系统之例204
8.4.2 重用已有的类204
8.4.1 调整需求204
8.5 设计人—机交互子系统205
8.5.1 设计人—机交互界面的准则205
8.5.2 设计人—机交互子系统的策略206
8.6 设计任务管理子系统207
8.6.1 分析并发性208
8.6.2 设计任务管理子系统208
8.7 设计数据管理子系统209
8.7.1 选择数据存储管理模式209
8.7.2 设计数据管理子系统210
8.8.1 确定类中应有的服务212
8.8 设计类中的服务212
8.7.3 例子212
8.8.2 设计实现服务的方法213
8.9 设计关联214
8.9.1 关联的遍历214
8.9.2 实现单向关联214
8.9.3 实现双向关联215
8.9.4 关联对象的实现方法215
8.10 设计优化215
8.10.1 确定优先级215
8.10.2 提高效率的几项技术216
8.10.3 调整继承关系217
8.11 面向对象分析与设计实例218
8.11.1 面向对象分析219
8.11.2 面向对象设计221
8.12 小结225
习题226
第9章 面向对象实现227
9.1 程序设计语言227
9.1.1 面向对象语言的优点227
9.1.2 面向对象语言的技术特点228
9.1.3 选择面向对象语言231
9.2 程序设计风格232
9.2.1 提高可重用性232
9.2.3 提高健壮性234
9.2.2 提高可扩充性234
9.3 测试策略235
9.3.1 面向对象的单元测试235
9.3.2 面向对象的集成测试235
9.3.3 面向对象的确认测试236
9.4 设计测试用例236
9.4.1 测试类的方法236
9.4.2 集成测试方法238
9.5 小结240
习题240
10.1.1 代码行技术242
10.1 度量软件规模242
第10章 计划242
第四篇 软件项目管理242
10.1.2 功能点技术243
10.2 工作量估算245
10.2.1 静态单变量模型245
10.2.2 动态多变量模型245
10.2.3 COCOMO2模型246
10.3 进度计划248
10.3.1 基本原则249
10.3.2 估算软件开发时间250
10.3.3 Gantt图251
10.3.4 工程网络252
10.3.5 估算进度253
10.3.6 关键路径254
10.3.7 机动时间255
10.4 小结256
习题257
第11章 组织259
11.1 民主制程序员组259
11.2 主程序员组260
11.3 现代程序员组262
11.4 软件项目组263
11.4.1 三种组织方式264
11.4.2 四种组织范型265
习题266
11.5 小结266
第12章 控制267
12.1 风险管理267
12.1.1 软件风险分类267
12.1.2 风险识别268
12.1.3 风险预测272
12.1.4 处理风险的策略274
12.2 质量保证275
12.2.1 软件质量275
12.2.2 软件质量保证措施276
12.3.1 软件配置279
12.3 配置管理279
12.3.2 软件配置管理过程281
12.4 小结286
习题286
第13章 国际标准288
13.1 IEEE 1058.1软件项目管理计划标准288
13.1.1 软件项目管理计划的组成288
13.1.2 IEEE软件项目管理计划289
13.2 ISO9000质量标准291
13.2.1 基本思想291
13.2.2 ISO9000—3标准292
13.3 ISO/IEC 12207软件生命周期过程标准294
13.3.1 概述294
13.3.2 软件生命周期过程295
13.4 ISO/IEC TR 15504软件过程评估标准298
13.4.1 概述299
13.4.2 标准的结构299
13.5 能力成熟度模型300
13.5.1 能力成熟度模型的结构301
13.5.2 能力成熟度等级302
13.5.3 关键过程域303
13.5.4 应用CMM304
13.6 小结304
习题305
14.1 概述306
14.1.1 非形式化方法的缺点306
第14章 形式化方法306
第五篇 高级课题306
14.1.2 软件开发过程中的数学307
14.1.3 应用形式化方法的准则307
14.2 有穷状态机308
14.2.1 基本概念308
14.2.2 电梯问题309
14.2.3 评论312
14.3 Petri网312
14.3.1 基本概念312
14.3.2 应用实例314
14.4.1 简介315
14.4 Z语言315
14.4.2 评论317
14.5 小结318
习题318
第15章 统一建模语言UML320
15.1 概述320
15.1.1 UML的产生和发展320
15.1.2 UML的结构321
15.1.3 UML的图322
15.1.4 UML的应用领域323
15.2.1 用例图324
15.2 静态建模机制324
15.2.2 类图和对象图327
15.3 动态建模机制336
15.3.1 消息336
15.3.2 状态图336
15.3.3 顺序图337
15.3.4 协作图339
15.3.5 活动图340
15.4 描述物理架构的机制341
15.4.1 逻辑架构和物理架构341
15.4.2 构件图341
15.4.3 配置图342
15.5.1 使用UML的准则343
15.5 使用和扩展UML343
15.5.2 扩展UML的机制344
15.6 小结345
习题345
第16章 软件重用346
16.1 可重用的软件成分346
16.2 软件重用过程347
16.2.1 构件组装模型347
16.2.2 类构件348
16.2.3 重用过程模型349
16.3.1 分析过程350
16.3 领域工程350
16.3.2 领域特征351
16.3.3 结构建模和结构点352
16.4 开发可重用的构件352
16.4.1 为了重用的分析与设计352
16.4.2 基于构件的开发353
16.5 分类和检索构件354
16.5.1 描述可重用的构件355
16.5.2 重用环境357
16.6 软件重用的效益357
16.7 小结358
习题359
参考文献360