![软件工程](https://cover.qianqiantushu.cc/63/s6d29816.jpg)
![软件工程](https://cover.qianqiantushu.cc/63/s6d29816.jpg)
软件工程PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:宋雨编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2012
- ISBN:9787302277583
- 页数:417 页
第1章 概述 1
1.1计算机系统的开发过程 1
1.2软件及其分类 3
1.3软件工程的由来和发展 4
1.4软件的生命周期 6
1.5软件生存期模型 7
1.6小结 13
习题1 13
第2章 软件计划 15
2.1确定软件范围 15
2.2软件开发中的资源需求 15
2.3软件成本估算 17
2.3.1估算方法 17
2.3.2估算模型 20
2.3.3面向对象项目的估算 30
2.3.4自行开发或购买的决策 31
2.4软件开发进度的安排 32
2.4.1甘特图 32
2.4.2 PERT图 33
2.4.3两种图的结合 34
2.5小结 36
习题2 36
第3章 软件需求分析 41
3.1需求分析的任务 41
3.2需求规约说明书 42
3.3结构化需求分析方法 44
3.3.1数据流图 44
3.3.2数据词典 50
3.3.3功能说明 52
3.4原型化需求分析方法 55
3.4.1原型开发的分类 56
3.4.2快速原型技术 58
3.4.3用户界面开发 61
3.5面向对象方法 62
3.5.1 Coad/Yourdon方法 62
3.5.2 Booch方法 63
3.5.3 Rumbaugh的OMT方法 63
3.5.4 Jacobson方法 63
3.5.5 UML方法 64
3.6小结 67
习题3 68
第4章 软件设计 70
4.1软件设计的任务 70
4.1.1概要设计 70
4.1.2详细设计 71
4.1.3软件设计的目标和准则 71
4.2软件设计的概念和原则 71
4.2.1软件体系结构 71
4.2.2软件结构中的若干概念 72
4.2.3软件的模块化 73
4.3软件概要设计 76
4.3.1充分理解SRS,确定设计策略 76
4.3.2模块化准则 77
4.3.3模块设计中的具体方法 77
4.3.4概要设计文档 80
4.4软件详细设计 81
4.4.1图示工具 81
4.4.2表格工具 85
4.4.3语言工具 85
4.4.4工具的比较 85
4.4.5程序复杂性的度量 87
4.4.6详细设计文档 89
4.5结构化设计方法 91
4.5.1软件结构图 92
4.5.2从DFD导出软件结构图 92
4.5.3软件设计的评判 98
4.6面向数据结构的设计方法 100
4.6.1 Jackson方法 101
4.6.2 LCP方法 105
4.7面向对象的设计方法 107
4.7.1 OOD基本概念 108
4.7.2 OOD任务 110
4.7.3 Coad与Yourdon的OOD方法 113
4.7.4层次化OOD方法 114
4.8其他设计方法 116
4.8.1面向方面程序设计 116
4.8.2面向Agent的设计方法 117
4.8.3泛型程序设计 117
4.8.4面向构件的技术 118
4.8.5敏捷方法 118
4.8.6 Rational统一过程 118
4.8.7功能驱动开发模式 118
4.8.8极端编程 119
4.9小结 119
习题4 121
第5章 程序编码 124
5.1程序设计语言的分类 124
5.1.1第一代语言——机器语言时代 124
5.1.2第二代语言——汇编语言时代 124
5.1.3第三代语言——高级语言时代 124
5.1.4第四代语言——非过程语言时代 125
5.2编码风格 125
5.2.1语句结构 125
5.2.2源程序文档化 127
5.2.3数据说明 128
5.2.4输入和输出 129
5.3面向对象的编程语言 130
5.3.1 Smalltalk 130
5.3.2 Eiffel 130
5.3.3 SDL 130
5.3.4 C+++ 131
5.3.5面向对象的Pascal 131
5.3.6 Java 131
5.3.7 C 131
5.4小结 132
习题5 132
第6章 软件测试 133
6.1软件测试基础 133
6.1.1测试目标 133
6.1.2测试原则 133
6.1.3可测试性 134
6.2测试步骤和策略 134
6.2.1软件测试过程与开发过程的对应关系 134
6.2.2测试信息流 135
6.2.3单元测试 135
6.2.4集成测试 136
6.2.5确认测试 141
6.2.6系统测试 142
6.3测试用例设计 143
6.3.1概述 143
6.3.2逻辑覆盖 144
6.3.3等价类划分 147
6.3.4边界值分析 148
6.3.5划分测试与随机测试 148
6.3.6错误推测法 148
6.3.7因果图法 149
6.3.8人工测试 149
6.3.9调试 150
6.4软件可靠性 151
6.4.1可靠性和可用性 152
6.4.2影响软件可靠性的因素 152
6.4.3软件可靠性模型 153
6.4.4软件可靠性工程 155
6.5面向对象的测试 155
6.5.1 OO软件测试策略 155
6.5.2 OO类测试方法 156
6.5.3继承层次的测试 158
6.6小结 160
习题6 161
第7章 软件维护 163
7.1软件维护的概念 163
7.1.1改正性维护 164
7.1.2适应性维护 164
7.1.3完善性维护 164
7.1.4预防性维护 164
7.2软件的可维护性 164
7.2.1可理解性 165
7.2.2可测试性 165
7.2.3可修改性 165
7.2.4可靠性 166
7.2.5可移植性 166
7.2.6可使用性 166
7.2.7效率 166
7.3提高可维护性的方法 166
7.3.1提供完整和一致的文档 167
7.3.2建立明确的软件质量目标和优先级 167
7.3.3使用现代化的开发技术和工具 168
7.3.4进行明确的质量保证审查 168
7.3.5选择可维护性好的程序设计语言 169
7.3.6采用软件维护的新方法 169
7.4软件再工程 170
7.4.1业务过程再工程 170
7.4.2软件再工程过程模型 171
7.4.3逆向工程 172
7.4.4软件重构 173
7.4.5正向工程 174
7.4.6再工程经济学 174
7.5小结 175
习题7 175
第8章 软件复用 177
8.1软件复用概念 177
8.1.1软件复用的类型 177
8.1.2软件复用的粒度 178
8.1.3软件复用机会的识别 179
8.2领域工程 181
8.2.1领域分析 181
8.2.2领域特征 182
8.3可复用构件的建造及复用 183
8.3.1构件应具有的特征 183
8.3.2领域构件的设计框架 184
8.3.3几种流行的构件技术 184
8.3.4建立可复用的构件库 186
8.3.5软件构件的复用 187
8.3.6基于Agent的软件复用 188
8.3.7基于复用的数据挖掘系统 189
8.4面向对象的软件复用技术 190
8.4.1复用技术对OO方法的支持 190
8.4.2 OO软件复用技术 191
8.5小结 192
习题8 193
第9章 面向对象的软件工程 194
9.1面向对象的基本概念 194
9.1.1对象 195
9.1.2类 196
9.1.3消息、方法和变量 197
9.1.4面向对象的基本特征 198
9.2面向对象建模及统一建模语言UML 203
9.2.1面向对象建模 203
9.2.2统一建模语言UML 204
9.2.3 UML模型 208
9.2.4 UML的扩展机制 216
9.2.5 UMI建模工具 219
9.3面向对象的软件需求分析及设计 220
9.3.1常用的面向对象软件工程方法 220
9.3.2基于UML的软件分析与设计 222
9.4面向对象的软件需求分析方法及其在图书馆系统的应用 223
9.4.1系统需求 224
9.4.2用面向对象方法进行系统需求分析 224
9.5基于UML的网络管理平台的分析与设计 228
9.5.1系统开发过程 228
9.5.2系统的实现 231
9.6小结 232
习题9 233
第10章 软件质量保证 235
10.1软件质量的概念 235
10.2软件质量保证 236
10.2.1 SQA活动 236
10.2.2软件可靠性与软件质量保证 237
10.2.3软件质量检验与软件质量保证 238
10.3软件复审 238
10.3.1软件错误的危害性 238
10.3.2软件复审与审核计划 239
10.3.3正式技术复审 239
10.4统计质量保证 240
10.5 ISO9000质量标准 242
10.5.1 ISO9000简介 242
10.5.2 ISO9000认证标准 243
10.5.3我国对ISO9000标准的使用 246
10.6软件质量预测模型及应用 247
10.6.1软件质量度量和质量预测模型的关系 247
10.6.2广义回归神经网络结构及特点 248
10.6.3软件质量预测模型的应用 249
10.7小结 250
习题10 251
第11章 软件的技术度量 252
11.1软件技术度量概述 252
11.1.1软件技术度量要解决的问题 252
11.1.2软件技术度量考虑的软件质量因素 252
11.1.3软件技术度量的原则 256
11.2软件分析模型的度量 256
11.2.1基于功能点的度量 256
11.2.2基于原语的度量——Bang度量 258
11.2.3 SRS质量的度量 259
11.3软件设计模型的度量 259
11.3.1体系结构设计度量 259
11.3.2构件级度量 262
11.3.3界面设计度量 265
11.4源代码度量 266
11.4.1 Halstead度量方法 266
11.4.2 Thayer复杂性度量 266
11.5软件测试的度量 267
11.5.1测试过程S曲线 267
11.5.2缺陷追踪和管理 268
11.5.3外包软件验收测试中的度量 268
11.6软件维护的度量 269
11.6.1 UKSMA和NESMA标准 269
11.6.2软件维护的度量 269
11.7面向对象的度量 270
11.7.1面向对象度量方法 270
11.7.2面向对象系统中考虑结构因素的类的内聚度量 274
11.8小结 276
习题11 276
第12章 软件开发工具与环境 279
12.1软件开发工具 279
12.2软件开发环境 280
12.2.1软件开发环境的组成 280
12.2.2软件开发环境的分类 281
12.3计算机辅助软件工程 282
12.3.1 CASE环境 283
12.3.2软件开发CASE工具简介 283
12.4小结 289
习题12 289
第13章 软件工程管理 290
13.1软件工程文化 290
13.1.1软件文化概念 290
13.1.2软件项目的五要素 291
13.1.3肯定开发者的成就 292
13.1.4不断学习新知识 292
13.1.5寻找卓越的需求 293
13.1.6质量文化 293
13.1.7方法、测量和工具 294
13.2现代人件 295
13.2.1团队开发 295
13.2.2程序员个人对软件系统的影响 296
13.2.3工作组织 297
13.3软件工程36计 302
13.3.1方法篇 302
13.3.2设计篇 305
13.3.3实现篇 306
13.3.4管理篇 308
13.4软件风险分析与管理 309
13.4.1软件风险及分类 309
13.4.2风险预测 310
13.4.3风险的缓解、监控和管理 312
13.5软件配置管理 314
13.5.1软件配置 314
13.5.2配置标识 315
13.5.3里程碑与变更控制 315
13.5.4配置状态登录 316
13.5.5配置审查 316
13.6软件工程标准化 317
13.6.1软件工程标准化的意义 317
13.6.2软件工程标准化的研究内容 317
13.6.3软件工程国家标准 318
13.7软件的知识产权保护 319
13.7.1软件知识产权的法律保护 319
13.7.2计算机软件是著作权法保护的客体 320
13.7.3软件著作权人享有的专有权利 321
13.7.4软件著作权的登记 323
13.8小结 323
习题13 324
第14章 软件过程管理 326
14.1软件能力成熟度模型 326
14.1.1 CMM的必要性 326
14.1.2 CMM的提出与发展 327
14.1.3 CMM的作用 328
14.2 CMM的主要内容 329
14.2.1 CMM的专业术语 329
14.2.2 CMM的内容 330
14.2.3 CMM的内部结构 332
14.3 CMM各级之间的关系 336
14.3.1评估软件企业的CMM级别 337
14.3.2从初始级向可重复级过渡 337
14.3.3从可重复级向已定义级过渡 338
14.3.4向可管理级和优化级过渡 338
14.4 CMM实施的人员构成和组织机构的划分 339
14.4.1人员的构成 339
14.4.2组织机构的划分 340
14.5个体软件过程 342
14.5.1 PSP概述 342
14.5.2 PSP的设计原则 343
14.5.3 PSP进化的框架 343
14.5.4 PSP的应用 345
14.5.5 PSP的扩展——团队软件过程 347
14.6小结 349
习题14 349
第15章 基于构件的软件工程 351
15.1基本概念 351
15.1.1 GBSE过程 351
15.1.2领域工程 352
15.1.3基于构件的开发 352
15.1.4 CBSE经济学 354
15.1.5软构件的可测试性 355
15.2可复用构件的分类与查询 357
15.2.1主要的分类方法 357
15.2.2基于刻面的检索 358
15.3基于构件的软件重用成熟度 359
15.3.1重用成熟度 359
15.3.2构件重用与软件成熟度的关系 360
15.4构件技术应用 361
15.4.1 CORBA构件模型CCM 361
15.4.2基于构件技术的移动通信监控系统 362
15.4.3构件技术在电力信息化中的应用 363
15.4.4基于演化构件的软件开发 364
15.4.5基于复用技术的仿真系统软件 364
15.5小结 367
习题15 368
第16章 应用Web工程 369
16.1 Web工程 369
16.1.1基于Web的系统及应用的特点 369
16.1.2 WebApp工程的层次 371
16.1.3 Web工程过程 371
16.1.4 Web工程的最佳实践 373
16.2 WebApp项目计划 374
16.2.1表述WebApp项目 374
16.2.2制定WebApp项目计划 376
16.2.3组建Web工程团队 377
16.2.4 Web工程的项目管理 378
16.3 WebApp分析 382
16.3.1 WebApp的需求分析 382
16.3.2 WebApp的分析模型 385
16.3.3内容模型 385
16.3.4交互模型 387
16.3.5功能模型 388
16.3.6配置模型 389
16.3.7关系导航分析 390
16.4 WebApp设计 392
16.4.1 Web工程设计 392
16.4.2 WebApp界面设计 395
16.4.3美学设计 399
16.4.4内容设计 400
16.4.5体系结构设计 400
16.4.6导航设计 403
16.4.7构件级设计 404
16.4.8超媒体设计模式 404
16.4.9面向对象的超媒体设计方法 405
16.5 WebApp测试 406
16.5.1 WebApp测试概念 406
16.5.2 WebApp测试过程 408
16.5.3 WebApp测试策略 409
16.6小结 411
习题16 413
参考文献 415
- 《市政工程基础》杨岚编著 2009
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《化学反应工程》许志美主编 2019
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《化学工程与工艺专业实验指导》郭跃萍主编 2019
- 《天水师范学院60周年校庆文库 新工科视域下的工程基础与应用研究》《天水师范学院60周年校庆文库》编委会编 2019
- 《高等工程教育改革探析》李瀛心,吴价宝著 1997
- 《城市基坑工程设计施工实践与应用》李欢秋,刘飞,郭进军编著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019