软件工程原理PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:沈备军,陈昊鹏,陈雨亭编著;傅育熙主审
- 出 版 社:北京:高等教育出版社
- 出版年份:2013
- ISBN:9787040369069
- 页数:540 页
第一部分 软件式工程基础 3
第1章 绪论 3
1.1软件 3
1.1.1软件的作用和特性 3
1.1.2软件的发展和面临的新挑战 4
1.1.3软件危机 6
1.2工程 8
1.2.1软件开发与艺术、科学和工程的关系 8
1.2.2工程的定义和特性 8
1.2.3工程的准则 9
1.3软件工程 9
1.3.1软件工程的概念和知识域 9
1.3.2软件工程的金三角 10
1.3.3控制软件开发的复杂性 13
1.3.4软件工程经济学 15
1.4案例概述 15
本章小结 16
参考文献 16
习题1 16
第2章 软件过程 17
2.1软件过程的概念 17
2.1.1软件过程的定义和作用 17
2.1.2软件过程的分类 17
2.1.3软件过程的核心元素 19
2.2软件生命周期模型 20
2.2.1瀑布模型 20
2.2.2增量模型 22
2.2.3演化模型 23
2.3统一软件过程 27
2.3.1阶段 27
2.3.2迭代 29
2.3.3过程规范 29
2.4敏捷过程 30
2.4.1敏捷过程的价值观和原则 31
2.4.2 XP 32
2.4.3 Scrum 35
2.4.4 MSF 37
2.5软件过程的选择、裁剪、评估和改进 37
2.5.1软件过程的选择和裁剪 37
2.5.2软件过程的评估 39
2.5.3软件过程的改进 43
本章小结 45
参考文献 45
习题2 45
第3章 软件建模 47
3.1模型和建模 47
3.1.1模型 47
3.1.2软件模型的3个层次:CIM、PIM和PSM 48
3.1.3软件建模方法 48
3.2结构化方法 49
3.2.1结构化分析 49
3.2.2结构化设计 55
3.3面向对象方法 62
3.3.1面向对象的基本概念 62
3.3.2面向对象的基本原则 63
3.3.3面向对象的分析和设计 65
3.3.4结构化方法和面向对象方法的比较 66
3.4基于构件的开发方法 67
3.4.1构件 68
3.4.2基于构件的软件开发 71
3.4.3构件开发 72
3.4.4构件管理 73
3.4.5应用开发和构件组装 74
3.4.6与面向对象方法的关系 75
3.5面向服务方法 76
3.5.1面向服务架构的基本概念 76
3.5.2面向服务建模的内涵 78
3.5.3面向服务建模的方法 80
3.6模型驱动开发方法 81
3.6.1从代码驱动到模型驱动 82
3.6.2元模型和MOF 83
3.6.3基于MDA的软件开发方法 85
3.7形式化方法 88
3.7.1形式化方法的概念 88
3.7.2形式化规约 88
3.7.3形式化开发 89
3.7.4形式化验证 89
3.8敏捷建模方法 90
3.8.1敏捷建模的原则 90
3.8.2敏捷建模的实践 92
本章小结 93
参考文献 93
习题3 94
第4章 需求工程 95
4.1软件需求面临的挑战 95
4.2需求工程的概念 97
4.2.1软件需求 97
4.2.2需求的层次 98
4.2.3优秀需求应具有的特性 99
4.2.4软件需求工程 100
4.3需求获取 101
4.3.1需求来源 101
4.3.2需求获取技术 102
4.4需求分析建模 103
4.4.1分析模型 103
4.4.2分析建模的准则 104
4.5需求定义和验证 104
4.5.1软件前景文档 104
4.5.2软件需求规约 108
4.5.3用户界面原型 110
4.5.4软件需求验证 110
4.6需求管理 112
4.6.1定义需求基线 112
4.6.2需求变更控制和版本控制 113
4.6.3需求跟踪 114
本章小结 115
参考文献 116
习题4 116
第5章 面向对象的分析建模 117
5.1面向对象的分析模型 117
5.1.1用例图 117
5.1.2活动图 118
5.1.3类图 120
5.1.4时序图 124
5.1.5通信图 126
5.1.6包图 126
5.2分析建模的步骤 127
5.3用例建模 128
5.3.1执行者的识别 128
5.3.2用例的识别 129
5.3.3用例图的构建 130
5.3.4用例规约的撰写 131
5.3.5用例模型的优化 135
5.4建立概念模型 140
5.5用例实现的识别 142
5.6分析类的识别 142
5.6.1 3种分析类 143
5.6.2识别边界类 143
5.6.3识别控制类 144
5.6.4识别实体类 145
5.7用例分析 146
5.7.1职责分配的通用原则 146
5.7.2时序图和通信图的构建 146
5.7.3类图的构建 147
本章小结 150
参考文献 150
习题5 150
第6章 设计工程 151
6.1设计工程概述 151
6.1.1软件设计过程 151
6.1.2软件设计模型 152
6.2软件设计原则 152
6.2.1抽象 153
6.2.2分解和模块化 153
6.2.3封装和信息隐藏 154
6.2.4高内聚和低耦合 154
6.3软件质量属性的设计策略 157
6.3.1可用性设计策略 157
6.3.2可修改性设计策略 159
6.3.3性能设计策略 161
6.3.4安全性设计策略 163
6.3.5可测试性设计策略 164
6.3.6易用性设计策略 165
6.4架构风格 166
6.4.1通用结构的架构风格 166
6.4.2分布式系统的架构风格 170
6.4.3交互式系统的架构风格 172
6.4.4自适应系统的架构风格 174
6.4.5其他架构风格 177
6.5设计模式 179
6.5.1创建型设计模式 180
6.5.2结构型设计模式 185
6.5.3行为型设计模式 191
6.6人机界面设计 200
6.6.1界面设计原则 200
6.6.2人机交互方式 201
6.6.3界面设计过程 202
6.6.4界面设计问题 203
本章小结 205
参考文献 205
习题6 206
第7章 面向对象的设计建模 207
7.1面向对象的设计模型 207
7.1.1设计建模过程 207
7.1.2构件图 208
7.1.3部署图 210
7.1.4状态机图 212
7.2架构设计 213
7.2.1 4+1架构视图 213
7.2.2逻辑视图设计 213
7.2.3进程视图设计 215
7.2.4开发视图设计 216
7.2.5物理视图设计 217
7.2.6场景视图设计 218
7.2.7视图选择 218
7.3包和子系统设计 220
7.3.1包设计原则 220
7.3.2子系统设计 223
7.4类设计 224
7.4.1类设计原则 224
7.4.2类设计过程 229
7.5持久化设计 232
7.5.1实体对象模型与数据库设计 232
7.5.2数据库设计 236
7.5.3持久化框架 240
本章小结 241
参考文献 241
习题7 241
第8章 软件测试 243
8.1软件测试概念 243
8.1.1软件测试定义 243
8.1.2软件测试原则 244
8.1.3软件可测试性 246
8.2软件测试策略 247
8.2.1软件测试层次 247
8.2.2软件质量属性测试 250
8.2.3其他软件测试策略 252
8.3软件测试技术 254
8.3.1测试技术分类 254
8.3.2基于直觉和经验的测试 256
8.3.3基于代码的测试 257
8.3.4基于规约的测试 261
8.3.5基于错误的测试 265
8.3.6基于模型的测试 267
8.3.7基于应用类型的测试 271
8.4软件测试过程 274
8.4.1测试计划 275
8.4.2测试设计 275
8.4.3测试开发 276
8.4.4测试执行 276
8.4.5测试评估 277
8.5自动化测试 277
8.5.1自动化测试的定义和优势 277
8.5.2自动化测试适用的场合 279
8.5.3自动化测试的误区 279
8.5.4测试工具 280
本章小结 281
参考文献 281
习题8 282
第9章 软件演化和软件维护 283
9.1软件演化 283
9.1.1软件演化的定义 283
9.1.2软件演化法则 284
9.2软件维护基础 284
9.2.1软件维护的重要性 284
9.2.2软件维护的概念和分类 285
9.3软件维护的关键问题 286
9.3.1技术问题 286
9.3.2管理问题 287
9.3.3维护成本估算 288
9.4软件维护过程与维护活动 289
9.4.1维护过程 289
9.4.2维护活动 290
9.5软件维护技术 291
9.5.1程序理解 291
9.5.2逆向工程 292
9.5.3再工程 293
本章小结 293
参考文献 293
习题9 294
第二部分 软件工程管理 297
第10章 软件项目管理 297
10.1项目和项目管理 297
10.1.1项目管理的基本概念 297
10.1.2项目管理的相关标准 298
10.1.3软件项目管理的特点 299
10.2项目管理的知识域和过程 299
10.2.1项目管理知识域 299
10.2.2项目管理过程 301
10.3软件项目从立项到收尾 304
10.3.1软件项目立项 304
10.3.2软件项目启动 308
10.3.3软件项目规划 309
10.3.4软件项目执行 310
10.3.5软件项目监控 311
10.3.6软件项目收尾 312
10.4软件项目经理的职责 312
本章小结 314
参考文献 314
习题10 314
第11章 软件项目估算和计划 315
11.1软件项目计划 315
11.1.1软件项目计划的内容 315
11.1.2软件项目规划的关键活动 317
11.2软件估算 318
11.2.1估算对项目的影响 318
11.2.2估算原则 319
11.2.3估算方法 320
11.2.4软件规模估算 323
11.2.5大致估算 328
11.3进度安排 332
11.3.1关键路径法 333
11.3.2进度计划 334
11.3.3战胜进度压力 335
11.4挣值管理 337
11.4.1 3个基本参数 337
11.4.2 4个评价指标 338
11.4.3两个预测变量 339
本章小结 340
参考文献 340
习题11 340
第12章 软件质量管理 342
12.1软件质量概念 342
12.1.1软件质量定义 342
12.1.2软件质量模型 342
12.1.3软件质量的价值和成本 344
12.2软件质量管理 345
12.2.1质量管理的发展 345
12.2.2软件质量管理的内容 346
12.3项目级软件质量管理 347
12.3.1软件质量计划 347
12.3.2验证和确认 348
12.3.3质量分析与评价 351
12.3.4软件配置管理 353
12.4组织级软件质量管理 359
12.4.1质量管理体系标准ISO 9000 360
12.4.2质量管理体系的建立 362
12.4.3质量管理体系的持续改进 363
12.5软件质量管理技术 363
12.5.1静态技术 364
12.5.2动态技术 364
12.6软件评审 365
12.6.1评审方法分类 366
12.6.2审查 370
12.6.3评审的陷阱 372
12.7软件审核 374
12.7.1审核分类 374
12.7.2审核过程 374
本章小结 375
参考文献 375
习题12 376
第13章 软件风险管理 377
13.1风险管理概念 377
13.1.1风险的定义和分类 377
13.1.2风险管理的成本和收益 378
13.1.3被动和主动的风险策略 378
13.2风险管理的成熟度模型 379
13.3风险管理过程 380
13.3.1风险识别 381
13.3.2风险分析与排序 382
13.3.3风险管理计划制定 384
13.3.4风险跟踪和报告 385
13.3.5风险控制 386
13.3.6从风险中学习 386
13.4十大软件风险 386
13.4.1需求误解 387
13.4.2缺少上层的支持 387
13.4.3需求变更失控 387
13.4.4未能合理管理客户期望值 388
13.4.5不现实的进度计划和成本预算 388
13.4.6质量低劣 390
13.4.7人员薄弱 391
13.4.8技术和架构风险 391
13.4.9软件外包失败 391
13.4.10缺乏足够的用户参与 392
本章小结 392
参考文献 392
习题13 393
第14章 软件度量 394
14.1软件度量的概念 394
14.1.1度量目的 394
14.1.2度量定义和分类 394
14.1.3度量原则 395
14.2软件产品度量 396
14.2.1产品结构度量 396
14.2.2产品质量度量 398
14.3软件过程度量 399
14.3.1过程度量的特性 399
14.3.2常用过程度量方法 400
14.3.3过程稳定性 401
14.3.4过程能力 402
14.3.5过程基准比对 404
14.4软件度量过程 404
14.4.1建立度量目标和选择度量 405
14.4.2定义度量规程 407
14.4.3获取度量数据 407
14.4.4分析度量数据 408
14.4.5存储和交流度量结果 411
本章小结 411
参考文献 411
习题14 412
第15章 软件人员管理 413
15.1软件人员管理模型 413
15.1.1软件人员的特点 413
15.1.2 PCMM 414
15.2激励 416
15.2.1激励理论 416
15.2.2开发人员的激励因素 420
15.2.3最重要的激励因素 421
15.3团队建设 425
15.3.1高业绩团队 425
15.3.2团队建设方法 427
15.3.3团队建设的5个阶段 428
15.4团队模式 428
15.5沟通 432
15.5.1有效的沟通方法 432
15.5.2冲突管理 432
本章小结 433
参考文献 433
习题15 433
第三部分 高级主题 437
第16章 软件产品线工程 437
16.1软件产品线工程的提出 437
16.2软件产品线工程的3个基本活动 439
16.2.1软件产品线工程的组成 439
16.2.2领域工程和应用工程的关系 440
16.3产品线的可变性 441
16.4领域工程 444
16.4.1领域 444
16.4.2领域分析 446
16.4.3领域设计 451
16.4.4领域实现 454
16.5领域工程的代表性方法 455
16.5.1 FODA 455
16.5.2 FORM 457
16.5.3 Software Product Lines 457
16.5.4 FAST 457
16.5.5 PuLSE 458
16.5.6 FeatuRSEB 458
16.5.7青鸟领域工程方法和FODM 459
本章小结 459
参考文献 459
习题16 460
第17章 面向服务的软件开发 461
17.1面向服务架构概述 461
17.1.1 SOA产生的动因 461
17.1.2 SOA与Web Services 462
17.1.3 SOA对应用系统的分析与设计的影响 463
17.1.4 SOA对应用系统的开发与部署的影响 464
17.2面向服务的分析与设计 465
17.2.1业务建模的方法 465
17.2.2企业服务总线 466
17.2.3服务组织方式 468
17.2.4业务服务到软件服务的映射 469
17.2.5服务粒度的确定 470
17.3面向服务的系统实现 471
17.3.1服务的实现 471
17.3.2 Web 2.0客户端 472
17.3.3服务的调试与测试 472
本章小结 473
参考文献 473
习题17 474
第18章 形式化软件开发 475
18.1形式化方法的概念 475
18.2形式化规约 476
18.2.1数学基础 476
18.2.2形式化规约语言 480
18.2.3 Z语言 480
18.3形式化验证 484
18.3.1定理证明 485
18.3.2模型检验 486
18.4软件开发过程中的形式化方法 486
18.4.1考虑因素 486
18.4.2在软件过程中引入形式化方法的策略 490
18.4.3形式化方法的10条戒律 492
18.5形式化方法的应用案例 493
18.5.1案例介绍 493
18.5.2具体案例:卡西尼号探测器故障保护软件 495
18.6形式化方法的争议及未来 497
本章小结 498
参考文献 498
习题18 499
第19章 软件安全工程 500
19.1软件安全基本概念 500
19.1.1信息安全基本概念 500
19.1.2软件确保与软件安全工程 501
19.2安全软件开发过程 503
19.3软件安全需求 505
19.3.1软件安全需求工程SQUARE 505
19.3.2合规性需求 506
19.4安全的软件架构与设计 507
19.4.1安全原则与目标 507
19.4.2安全模式与安全设计模式 509
19.4.3架构风险分析 513
19.5安全编码 517
19.5.1安全编码原则 517
19.5.2安全编码规范 519
19.5.3代码的静态分析 520
19.6安全测试与应急响应 520
19.7安全的项目管理 521
本章小结 522
参考文献 522
习题19 524
第20章 软件工程职业化建设和职业道德规范 526
20.1软件工程的职业化建设 526
20.1.1走向一个成熟的软件工程职业 526
20.1.2职业化建设的框架 527
20.1.3软件工程职业化建设的进展 528
20.1.4职业化建设的3个层次 531
20.2软件工程职业道德规范 532
20.2.1软件工程职业道德规范和职业实践标准 532
20.2.2职业道德规范的履行 534
20.2.3软件工程师的职业责任 535
本章小结 536
参考文献 536
习题20 537
附录IEEE软件工程知识体系(SWEBOK) 538
- 《市政工程基础》杨岚编著 2009
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《化学反应工程》许志美主编 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《高等院校保险学专业系列教材 保险学原理与实务》林佳依责任编辑;(中国)牟晓伟,李彤宇 2019
- 《化学工程与工艺专业实验指导》郭跃萍主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《全国高等中医药行业“十三五”创新教材 中医药学概论》翟华强 2019
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《习近平总书记教育重要论述讲义》本书编写组 2020
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《高等数学试题与详解》西安电子科技大学高等数学教学团队 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《教育学考研应试宝典》徐影主编 2019
- 《语文教育教学实践探索》陈德收 2018
- 《家庭音乐素养教育》刘畅 2018