软件工程:第2版
¥
6
1.7折
¥
35
九品
仅1件
作者张海藩 著
出版社人民邮电出版社
出版时间2006-01
版次2
装帧平装
货号25-6-9-70
上书时间2023-04-21
商品详情
- 品相描述:九品
图书标准信息
-
作者
张海藩 著
-
出版社
人民邮电出版社
-
出版时间
2006-01
-
版次
2
-
ISBN
9787115140708
-
定价
35.00元
-
装帧
平装
-
开本
16开
-
纸张
其他
-
页数
360页
-
正文语种
简体中文
- 【内容简介】
-
《软件工程(第2版)》是《软件工程》的第二版。《软件工程(第2版)》由五篇共16章构成,第一篇讲述软件工程与软件过程;第二篇讲述结构化分析、设计与实现;第三篇讲述面向对象的概念、模型、分析、设计与实现;第四篇讲述软件项目的计划、组织和控制,并介绍了一些相关的国际标准;第五篇讲述形式化方法、统一建模语言UML和软件重用。
- 【作者简介】
-
张海藩,教授,1963年毕业于北京大学汁算技术专业。长期从事“软件工程概论”、“面向对象程序设计”等课程的教学工作,曾被评为北京市优秀教师。参加的科研项目曾获全国科学大会奖、中国科学院科研特等奖等;主持的科研项日获原机电部科技进步奖。编著有《软件工程导论》、《软件工程》、《面向对象程序设计实用教程》等十多本教材。
- 【目录】
-
第一篇软件工程与软件过程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
第二篇传统方法学25
第3章结构化分析25
3.1概述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实体-关系图31
3.4.1数据对象31
3.4.2属性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.2抽象59
4.2.3逐步求精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.4.5力争降低模块接口的复杂程度65
4.4.6设计单入口单出口的模块65
4.4.7模块功能应该可以预测65
4.5表示软件结构的图形工具65
4.5.1层次图和HIPO图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.3PAD图84
4.9.4判定表86
4.9.5判定树87
4.9.6过程设计语言(PDL)87
4.10面向数据结构的设计方法88
4.10.1Jackson图88
4.10.2改进的Jackson图89
4.10.3Jackson方法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.2黑盒测试和白盒测试103
5.2.3测试准则103
5.2.4流图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测试策略120
5.6.1测试步骤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用对象分解取代功能分解141
6.1.2设计类等级143
6.1.3定义属性和服务144
6.1.4用C++语言实现147
6.2面向对象方法学概述147
6.2.1面向对象方法学的要点149
6.2.2面向对象的软件过程150
6.3面向对象方法学的主要优点153
6.4面向对象的概念153
6.4.1对象156
6.4.2其他概念159
6.5面向对象建模160
6.6对象模型160
6.6.1表示类的符号161
6.6.2表示关系的符号164
6.7动态模型165
6.8功能模型165
6.9三种模型之间的关系166
6.10小结166
习题166
第7章面向对象分析168
7.1分析过程168
7.1.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定义服务189
7.6.1常规行为189
7.6.2从事件导出的操作189
7.6.3与数据流图中处理框对应的操作189
7.6.4利用继承减少冗余操作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章面向对象设计197
8.1面向对象设计的准则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.1设计结果应该清晰易懂200
8.2.2一般-特殊结构的深度应适当200
8.2.3设计简单的类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.1调整需求204
8.4.2重用已有的类204
8.4.3把问题域类组合在一起204
8.4.4增添一般化类以建立协议204
8.4.5ATM系统之例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.7.3例子212
8.8设计类中的服务212
8.8.1确定类中应有的服务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.2提高可扩充性234
9.2.3提高健壮性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
第四篇软件项目管理242
第10章计划242
10.1度量软件规模242
10.1.1代码行技术243
10.1.2功能点技术245
10.2工作量估算245
10.2.1静态单变量模型245
10.2.2动态多变量模型245
10.2.3COCOMO2模型246
10.3进度计划248
10.3.1基本原则249
10.3.2估算软件开发时间250
10.3.3Gantt图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
11.5小结266
习题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配置管理279
12.3.1软件配置279
12.3.2软件配置管理过程281
12.4小结286
习题286
第13章国际标准288
13.1IEEE1058.1软件项目管理计划标准288
13.1.1软件项目管理计划的组成288
13.1.2IEEE软件项目管理计划288
13.2ISO9000质量标准289
13.2.1基本思想291
13.2.2ISO9000-3标准291
13.3ISO/IEC12207软件生命周期过程标准292
13.3.1概述294
13.3.2软件生命周期过程294
13.4ISO/IECTR15504软件过程评估标准295
13.4.1概述298
13.4.2标准的结构299
13.5能力成熟度模型299
13.5.1能力成熟度模型的结构300
13.5.2能力成熟度等级301
13.5.3关键过程域302
13.5.4应用CMM303
13.6小结304
习题305
第五篇高级课题306
第14章形式化方法306
14.1概述306
14.1.1非形式化方法的缺点306
14.1.214.1.2软件开发过程中的数学307
14.1.3应用形式化方法的准则307
14.2有穷状态机308
14.2.1基本概念308
14.2.2电梯问题309
14.2.3评论312
14.3Petri网312
14.3.1基本概念312
14.3.2应用实例314
14.4Z语言315
14.4.1简介315
14.4.2评论317
14.5小结318
习题318
第15章统一建模语言UML320
15.1概述320
15.1.1UML的产生和发展320
15.1.2UML的结构321
15.1.3UML的图322
15.1.4UML的应用领域323
15.2静态建模机制324
15.2.1用例图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使用和扩展UML343
15.5.1使用UML的准则343
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领域工程350
16.3.1分析过程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
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价