《软体工程》是2012年9月1日清华大学出版社出版的图书,作者是宋雨。
基本介绍
- 书名:软体工程
- 作者:宋雨
- ISBN:9787302277583
- 页数:417页
- 定价:46元
- 出版时间:2012.09.01
- 装帧:平装
- 开本:大32开
- 印刷日期:2012.09.29
内容简介
《软体工程》以软体开发过程为主线,系统地介绍了软体工程的基本原理、概念和技术方法。全书分16章,包括基本概念、软体计画、软体需求分析、软体设计、程式编码、软体测试、软体维护、软体复用、面向对象的软体工程、软体质量保证、软体的技术度量、软体开发工具与环境、软体工程管理、软体过程管理、基于构件的软体工程(CBSE)和套用Web工程,每章后面都附有习题供读者练习之用。本书的编写基于中国软体工程学科教程的要求,结合作者多年的教学和科研实践并参考了同类文献,包含了软体工程学科的重要分支。本书体系完整,可作为本科生或研究生软体工程课程的教材或参考书,也可供对该学科感兴趣的读者阅读
图书目录
第1章概述1
1.1计算机系统的开发过程1
1.2软体及其分类3
1.3软体工程的由来和发展4
1.4软体的生命周期6
1.5软体生存期模型7
1.6小结13
第2章软体计画15
2.1确定软体範围15
2.2软体开发中的资源需求15
2.3软体成本估算17
2.3.3面向对象项目的估算30
2.3.4自行开发或购买的决策31
2.4软体开发进度的安排32
2.4.1甘特图32
2.4.2PERT图33
2.4.3两种图的结合34
2.5小结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.1Coad/Yourdon方法62
3.5.2Booch方法63
3.5.3Rumbaugh的OMT方法63
3.5.4Jacobson方法63
3.5.5UML方法64
3.6小结67
第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.1Jackson方法101
4.6.2LCP方法105
4.7面向对象的设计方法107
4.7.1OOD基本概念108
4.7.2OOD任务110
4.7.3Coad与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.6Rational统一过程118
4.8.7功能驱动开发模式118
4.8.8极端编程119
4.9小结119
第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.1Smalltalk130
5.3.2Eiffel130
5.3.3SDL130
5.3.4C++131
5.3.5面向对象的Pascal131
5.3.6Java131
5.3.7C#131
5.4小结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.1OO软体测试策略155
6.5.2OO类测试方法156
6.5.3继承层次的测试158
6.6小结160
第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
习题7175第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.2OO软体复用技术191
8.5小结192
习题8193第9章面向对象的软体工程194
9.1面向对象的基本概念194
9.1.1对象195
9.1.2类196
9.1.3讯息、方法和变数197
9.1.4面向对象的基本特徵198
9.2面向对象建模及统一建模语言UML203
9.2.1面向对象建模203
9.2.2统一建模语言UML204
9.2.3UML模型208
9.2.4UML的扩展机制216
9.2.5UML建模工具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
习题9233第10章软体质量保证235
10.1软体质量的概念235
10.2软体质量保证236
10.2.1SQA活动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.5ISO9000质量标準242
10.5.1ISO9000简介242
10.5.2ISO9000认证标準243
10.5.3我国对ISO9000标準的使用246
10.6软体质量预测模型及套用247
10.6.1软体质量度量和质量预测模型的关係247
10.6.2广义回归神经网路结构及特点248
10.6.3软体质量预测模型的套用249
10.7小结250
习题10251第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.3SRS质量的度量259
11.3软体设计模型的度量259
11.3.1体系结构设计度量259
11.3.2构件级度量262
11.3.3界面设计度量265
11.4原始码度量266
11.4.1Halstead度量方法266
11.4.2Thayer複杂性度量266
11.5软体测试的度量267
11.5.1测试过程S曲线267
11.5.2缺陷追蹤和管理268
11.5.3外包软体验收测试中的度量268
11.6软体维护的度量269
11.6.1UKSMA和NESMA标準269
11.6.2软体维护的度量269
11.7面向对象的度量270
11.7.1面向对象度量方法270
11.7.2面向对象系统中考虑结构因素的类的内聚度量274
11.8小结276
习题11276第12章软体开发工具与环境279
12.1软体开发工具279
12.2软体开发环境280
12.2.1软体开发环境的组成280
12.2.2软体开发环境的分类281
12.3计算机辅助软体工程282
12.3.1CASE环境283
12.3.2软体开发CASE工具简介283
12.4小结289
习题12289第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
习题13324第14章软体过程管理326
14.1软体能力成熟度模型326
14.1.1CMM的必要性326
14.1.2CMM的提出与发展327
14.1.3CMM的作用328
14.2CMM的主要内容329
14.2.1CMM的专业术语329
14.2.2CMM的内容330
14.2.3CMM的内部结构332
14.3CMM各级之间的关係336
14.3.1评估软体企业的CMM级别337
14.3.2从初始级向可重複级过渡337
14.3.3从可重複级向已定义级过渡338
14.3.4向可管理级和最佳化级过渡338
14.4CMM实施的人员构成和组织机构的划分339
14.4.1人员的构成339
14.4.2组织机构的划分340
14.5个体软体过程342
14.5.1PSP概述342
14.5.2PSP的设计原则343
14.5.3PSP进化的框架343
14.5.4PSP的套用345
14.5.5PSP的扩展--团队软体过程347
14.6小结349
习题14349第15章基于构件的软体工程351
15.1基本概念351
15.1.1CBSE过程351
15.1.2领域工程352
15.1.3基于构件的开发352
15.1.4CBSE经济学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.1CORBA构件模型CCM361
15.4.2基于构件技术的移动通信监控系统362
15.4.3构件技术在电力信息化中的套用363
15.4.4基于演化构件的软体开发364
15.4.5基于复用技术的仿真系统软体364
15.5小结367
习题15368第16章套用Web工程369
16.1Web工程369
16.1.1基于Web的系统及套用的特点369
16.1.2WebApp工程的层次371
16.1.3Web工程过程371
16.1.4Web工程的最佳实践373
16.2WebApp项目计画374
16.2.1表述WebApp项目374
16.2.2制定WebApp项目计画376
16.2.3组建Web工程团队377
16.2.4Web工程的项目管理378
16.3WebApp分析382
16.3.1WebApp的需求分析382
16.3.2WebApp的分析模型385
16.3.3内容模型385
16.3.4互动模型387
16.3.5功能模型388
16.3.6配置模型389
16.3.7关係导航分析390
16.4WebApp设计392
16.4.1Web工程设计392
16.4.2WebApp界面设计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.5WebApp测试406
16.5.1WebApp测试概念406
16.5.2WebApp测试过程408
16.5.3WebApp测试策略409
16.6小结411
习题16413
参考文献415