您现在的位置:首页 > 知识库 > 计算机与软件 >21世纪大学本科计算机专业系列教材 软件工程
21世纪大学本科计算机专业系列教材 软件工程

21世纪大学本科计算机专业系列教材 软件工程

资料大小: 59.18 MB
文档格式: PDF文档
资料语言: 简体中文
资料类别: 计算机与软件
更新日期: 2020-04-22
下载说明:
推荐信息: 编著   软件工程   钱乐秋   赵文耘   牛军钰

本地下载(30点)  备用下载(30点)

内容简介
软件工程
出版时间:2007
丛编项: 21世纪大学本科计算机专业系列教材
内容简介
  钱乐秋教授等编写的《软件工程》教材适用于计算机类(本科)专业的软件工程课程,支持毕业生从事软件的开发和管理工作。教材覆盖ACM/IEEE-CS 联合推出的CCSE2005-SEEK要求的软件工程的基本知识领域,满足计算机类(本科)专业的软件工程课程的大纲要求。主要内容包括:软件工程的概念和基本理论;软件开发的结构化方法、面向对象方法;软件测试方法和技术;软件项目管理;基于构件的开发、敏捷开发方法、Web应用、CMM&CMMI等新方法和过程。教材结构清晰、语言简洁、图文并貌,专业术语规范。每章末附有小结和习题,书末附参考文献。该教材具有如下特点:1.内容安排恰当。取舍得当,重点突出,满足《高等学校计算机科学与技术专业专业规范》相应课程大纲要求,覆盖了ACM&IEEE制订的CC2005-CS中有关软件工程的主要知识点。2.内容比较新。该教材既介绍传统的软件开发方法,又介绍了一些能反映当今软件工程的最新技术和方法,如UML2.0,基于构件的软件开发,基于WEB的应用,敏捷软件开发,能力成熟度模型集成CMMI等。3.注重软件开发方法的介绍。该教材在介绍软件工程的基本概念和基本原理的基础上,重点介绍典型的软件开发方法,有利于培养学生的软件开发能力,体现了以适当知识为载体,实现专业基本能力培养的思想,对课程的讲授有很好的引导作用。4.专业术语规范,用词严格,叙述准确,设计了适当的习题,进一步引导读者考虑理论与实际应用结合。5.教材结构合理,语言简洁、通顺,图文并貌,适宜读者自学。
目录
第1章概论1
1.1计算机软件1
1.1.1软件的发展2
1.1.2软件的特点3
1.1.3软件的分类4
1.1.4软件语言4
1.2软件工程6
1.2.1软件工程定义6
1.2.2软件工程框架7
1.2.3软件生存周期7
1.3软件过程8
1.3.1ISO/IEC 12207软件生存周期过程9
1.3.2能力成熟度模型CMM12
1.3.3能力成熟度模型集成CMMI15
1.4软件过程模型18
1.4.1瀑布模型18
1.4.2演化模型20
1.4.3增量模型20
1.4.4原型模型21
1.4.5螺旋模型22
1.4.6喷泉模型24
1.4.7基于构件的开发模型24
1.4.8形式化方法模型25
1.5敏捷软件开发26
1.5.1敏捷软件开发的价值观及开发原则26
1.5.2XP方法简介28
1.5.3Agile与CMM33
1.6CASE工具与环境34
1.6.1软件工具34
1.6.2软件开发环境36
1.7小结38
习题38
目录软件工程第2章系统工程39
2.1基于计算机的系统40
2.2系统工程的任务41
2.3可行性分析42
2.3.1经济可行性42
2.3.2技术可行性43
2.3.3法律可行性44
2.3.4方案的选择和折衷44
2.4小结45
习题45
第3章需求工程46
3.1需求工程概述46
3.2需求获取48
3.2.1软件需求48
3.2.2需求获取方法与策略50
3.3需求分析、协商与建模54
3.3.1需求分析原则54
3.3.2信息域54
3.3.3抽象、分解与多视点分析55
3.3.4需求协商56
3.3.5需求建模56
3.4需求规约与验证57
3.4.1需求规约的原则57
3.4.2需求规约58
3.4.3需求验证59
3.5需求管理60
3.6小结61
习题61
第4章设计工程62
4.1软件设计工程概述62
4.2软件设计原则65
4.2.1抽象与逐步求精65
4.2.2模块化66
4.2.3信息隐藏67
4.2.4模块独立68
4.3软件体系结构设计70
4.3.1体系结构发展过程71
4.3.2软件体系结构的风格71
4.3.3评估可选的体系结构74
4.4部件级设计技术75
4.4.1结构化程序设计方法76
4.4.2图形表示法76
4.4.3判定表79
4.4.4设计性语言PDL81
4.5设计规约与设计评审81
4.5.1设计规约82
4.5.2设计评审83
4.6小结84
习题85
第5章结构化分析与设计86
5.1结构化分析方法概述86
5.2数据流图88
5.2.1数据流图的图形表示88
5.2.2分层数据流图的画法91
5.3分层数据流图的审查97
5.3.1分层数据流图的一致性和完整性97
5.3.2构造分层DFD时需要注意的问题102
5.3.3分解的程度104
5.4数据字典104
5.4.1字典条目的种类及描述符号104
5.4.2字典条目105
5.4.3字典条目实例110
5.4.4数据字典的实现110
5.5描述基本加工的小说明111
5.5.1结构化语言111
5.5.2判定表112
5.5.3判定树114
5.6结构化设计概述115
5.6.1结构图115
5.6.2启发式设计策略117
5.6.3结构化设计的步骤119
5.7数据流图到软件体系结构的映射121
5.7.1信息流121
5.7.2数据流图映射到结构图的步骤122
5.7.3变换分析123
5.7.4事务分析125
5.7.5分层DFD的映射127
5.8初始结构图的改进129
5.8.1结构图改进实例129
5.8.2结构图改进技巧133
5.9小结134
习题134
第6章面向数据结构的分析与设计136
6.1JSP方法136
6.1.1数据结构与程序结构的表示137
6.1.2JSP方法的分析和设计步骤139
6.2JSD方法简介145
6.3小结146
习题146
第7章面向对象的分析和设计148
7.1面向对象的基本概念149
7.2面向对象分析和设计过程152
7.2.1面向对象分析过程152
7.2.2面向对象设计过程155
7.2.3设计模式157
7.3UML概述158
7.3.1UML发展历史158
7.3.2UML简介159
7.3.3视图160
7.3.4图163
7.4用况建模165
7.4.1用况建模步骤166
7.4.2确定执行者167
7.4.3确定用况168
7.4.4用况描述169
7.4.5用况图中的关系171
7.4.6实例172
7.5静态建模175
7.5.1类图和对象图175
7.5.2CRC技术177
7.5.3类之间的关系182
7.6动态建模191
7.6.1状态机图191
7.6.2活动图200
7.6.3顺序图202
7.6.4通信图206
7.7物理体系结构建模208
7.7.1构件图208
7.7.2部署图209
7.8小结211
习题212
第8章基于构件的软件开发213
8.1基于构件的软件开发概述213
8.1.1构件214
8.1.2基于构件的软件开发过程216
8.1.3CBSD对质量、生产率和成本的影响218
8.2建造可复用构件220
8.2.1对可复用构件的要求220
8.2.2创建领域构件的设计框架221
8.2.3可变性分析221
8.2.4可变性机制222
8.3应用系统工程224
8.3.1基于CBSD的应用系统分析和设计224
8.3.2构件的鉴定、特化和组装226
8.4构件的管理227
8.4.1构件的分类描述227
8.4.2构件库管理系统228
8.5小结229
习题230
第9章人机界面设计231
9.1人的因素231
9.1.1人对感知过程的认识231
9.1.2用户的技能和行为方式232
9.1.3人体测量学对设计的影响233
9.2人机界面风格235
9.3人机界面分析与建模238
9.3.1人机界面设计过程238
9.3.2人机界面设计中涉及的模型239
9.3.3任务分析的途径与方法240
9.4界面设计活动240
9.4.1定义界面对象和动作240
9.4.2设计问题242
9.4.3黄金原则243
9.5实现工具246
9.6设计评估247
9.7小结248
习题248
第10章程序设计语言和编码249
10.1程序设计语言249
10.1.1程序设计语言的基本成分250
10.1.2程序设计语言的特性251
10.1.3程序设计语言的分类253
10.1.4程序设计语言的选择255
10.2程序设计风格255
10.2.1源程序文档化256
10.2.2数据说明259
10.2.3语句结构259
10.2.4输入和输出261
10.3小结262
习题262
第11章软件测试263
11.1软件测试基础263
11.1.1软件测试的目的263
11.1.2软件测试的基本原则264
11.1.3白盒测试和黑盒测试265
11.2白盒测试266
11.2.1逻辑覆盖测试266
11.2.2逻辑表达式错误敏感的测试271
11.2.3基本路径测试273
11.2.4数据流测试275
11.2.5循环测试276
11.3黑盒测试277
11.3.1等价类划分277
11.3.2边界值分析280
11.3.3比较测试281
11.3.4错误猜测282
11.3.5因果图282
11.4测试策略286
11.4.1V模型286
11.4.2单元测试288
11.4.3集成测试289
11.4.4确认测试292
11.4.5系统测试293
11.5面向对象测试295
11.5.1面向对象语境对测试的影响295
11.5.2面向对象测试策略296
11.5.3面向对象测试用例设计296
11.6测试完成标准297
11.7调试298
11.7.1调试过程298
11.7.2调试方法299
11.7.3纠正错误300
11.8小结301
习题301
第12章Web工程303
12.1基于Web系统和应用的属性303
12.2Web工程过程306
12.2.1过程框架306
12.2.2改善框架307
12.2.3Web工程中有用的规则307
12.2.4方法和工具308
12.3Web分析308
12.3.1Web的分析类别309
12.3.2分析元素310
12.4Web设计310
12.4.1体系结构设计311
12.4.2导航设计311
12.4.3界面设计312
12.4.4构件级设计313
12.5Web测试313
12.5.1质量评判标准314
12.5.2在WebApp环境下出现的错误314
12.5.3测试策略315
12.6小结315
习题315
第13章软件维护与再工程317
13.1软件维护317
13.1.1软件维护的概念317
13.1.2软件维护的过程320
13.1.3软件可维护性323
13.2再工程技术326
13.2.1再工程的概念326
13.2.2业务过程再工程327
13.2.3软件再工程过程328
13.2.4逆向工程330
13.3小结331
习题331
第14章软件项目管理332
14.1软件项目管理概述332
14.1.1软件项目管理的关注点332
14.1.2软件项目管理的内容335
14.2软件度量340
14.2.1面向规模的度量341
14.2.2面向功能的度量342
14.2.3软件质量模型346
14.2.4程序复杂性度量352
14.2.5软件可靠性度量354
14.3软件项目估算355
14.3.1代码行、功能点和工作量估算355
14.3.2IBM估算模型357
14.3.3CoCoMo模型357
14.3.4Putnam模型360
14.3.5软件可靠性估算361
14.4项目进度管理362
14.4.1人员与工作量之间的关系363
14.4.2任务的分解与并行364
14.4.3任务工作量的确定365
14.4.4进度安排366
14.5风险管理371
14.5.1风险标识371
14.5.2风险预测372
14.5.3风险评估373
14.5.4风险管理和控制373
14.6软件项目的组织375
14.6.1组织结构的模式375
14.6.2程序设计小组的组织形式376
14.6.3人员配备378
14.7软件质量管理379
14.7.1软件质量保证380
14.7.2软件评审381
14.8软件配置管理383
14.8.1软件配置管理的基本概念383
14.8.2软件配置管理的主要活动384
14.9小结388
习题388
词汇索引390
参考文献400