- ISBN:9787115629036
- 装帧:平装
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:300
- 出版时间:2024-03-01
- 条形码:9787115629036 ; 978-7-115-62903-6
本书特色
【内容特点】
本书内容紧跟时代发展,项目案例丰富,并配有丰富的教学配套资源。本书的特色具体如下。
1. 完善的理论和充分的实践有机结合。本教材内容丰富,对概念、基本原理等抽象内容的讲解清晰易懂,且融入大量具体的实践经验。同时,本教材有实际的案例贯穿软件开发的各过程,方便学生理解晦涩的概念。
2. 丰富的配套资源全方位助力教学。本教材配套资源丰富,配有思政教学大纲、教学课件、课程教案、微课视频、案例开发文档与代码、模拟试卷、习题解答、题库、实验等。丰富的配套资源一方面方便教师教学,另一方面使得有意深入了解相关内容的读者能够拓宽视野,深入理解软件工程理论与实践。
3. 内容循序渐进,与时俱进。本教材教学操作性强,讲解知识循序渐进,易于教师讲授和学生自学;课时合理,符合一般教学安排;同时添加了技术发展新趋势和实践者的普遍经验的内容,开拓了读者视野。
4. 视角新颖独特,重难点突出。如本教材在讲述面向对象设计时,针对问题域子系统、人机交互子系统、任务管理子系统、数据管理子系统进行了深入的分析并举例说明。
5.此次改版对组织结构和内容进行了优化升级。增加了软件工程人员的职业道德(第1章),过程模型的对比(第2章),代码重用、分析和评价代码的质量(第9章),自动化测试、软件部署与软件交付、自动化运维(第10章)等内容;将原“第8章 体系结构设计”进行了拆分;将“案例: ““墨韵”读书会书籍共享平台”的软件开发计划书”从原第12章移到了第3章;将案例““墨韵”读书会书籍共享平台”用*新的开发工具进行了重新开发;附录中提供工具(如Visio、Rose、Visual Studio Code、Project)的介绍、基于““墨韵”读书会书籍共享平台”的实验和两个综合案例。【内容特点】
本书内容紧跟时代发展,项目案例丰富,并配有丰富的教学配套资源。本书的特色具体如下。
1. 完善的理论和充分的实践有机结合。本教材内容丰富,对概念、基本原理等抽象内容的讲解清晰易懂,且融入大量具体的实践经验。同时,本教材有实际的案例贯穿软件开发的各过程,方便学生理解晦涩的概念。
2. 丰富的配套资源全方位助力教学。本教材配套资源丰富,配有思政教学大纲、教学课件、课程教案、微课视频、案例开发文档与代码、模拟试卷、习题解答、题库、实验等。丰富的配套资源一方面方便教师教学,另一方面使得有意深入了解相关内容的读者能够拓宽视野,深入理解软件工程理论与实践。
3. 内容循序渐进,与时俱进。本教材教学操作性强,讲解知识循序渐进,易于教师讲授和学生自学;课时合理,符合一般教学安排;同时添加了技术发展新趋势和实践者的普遍经验的内容,开拓了读者视野。
4. 视角新颖独特,重难点突出。如本教材在讲述面向对象设计时,针对问题域子系统、人机交互子系统、任务管理子系统、数据管理子系统进行了深入的分析并举例说明。
5.此次改版对组织结构和内容进行了优化升级。增加了软件工程人员的职业道德(第1章),过程模型的对比(第2章),代码重用、分析和评价代码的质量(第9章),自动化测试、软件部署与软件交付、自动化运维(第10章)等内容;将原“第8章 体系结构设计”进行了拆分;将“案例: ““墨韵”读书会书籍共享平台”的软件开发计划书”从原第12章移到了第3章;将案例““墨韵”读书会书籍共享平台”用*新的开发工具进行了重新开发;附录中提供工具(如Visio、Rose、Visual Studio Code、Project)的介绍、基于““墨韵”读书会书籍共享平台”的实验和两个综合案例。
【资源特点】本教材配套教学资源丰富,除了配有教学大纲、教案、教学PPT、习题答案、开发文档、源代码之外,还配有1000分钟左右的微课视频,使得有意深入了解相关内容的读者能够拓宽视野,深入理解软件工程理论与实践,这在同类教材中并不多见。
【服务特点】作者可以提供直播以及微信服务群等支持。
内容简介
本书按照典型的软件开发过程组织和编写内容,旨在培养读者的软件工程思想及实际软件开发的能力。全书共11章,内容涉及软件与软件工程、软件过程、可行性研究与项目开发计划、结构化分析、结构化设计、面向对象方法与UML、面向对象分析、面向对象设计、软件实现、软件测试与维护、软件工程管理。本书理论与实践相结合,内容翔实,可操作性强。 本书可作为高等院校计算机科学与技术、软件工程及相关专业“软件工程”课程的教材。
目录
第1章 软件与软件工程 2
1.1 软件 2
1.1.1 软件的概念及特点 2
1.1.2 软件的分类 3
1.2 软件危机 5
1.2.1 软件危机的表现与产生原因 5
1.2.2 软件危机的启示 6
1.3 软件工程 6
1.3.1 软件工程的概念 6
1.3.2 软件工程研究的内容 7
1.3.3 软件工程的目标和原则 7
1.3.4 软件工程知识体系 8
1.4 软件开发方法 9
1.5 软件工程工具 11
1.6 软件工程人员的职业道德 12
1.6.1 ACM/IEEE道德准则 13
1.6.2 职业伦理 13
1.6.3 应该注意的一些道德问题 13
1.7?“‘墨韵’读书会图书共享平台”案例介绍 15
本章小结 15
习题 15
第2章 软件过程 17
2.1 软件生命周期的基本任务 17
2.2 软件过程模型 18
2.2.1 瀑布模型 18
2.2.2 快速原型模型 18
2.2.3 增量模型 19
2.2.4 螺旋模型 20
2.2.5 喷泉模型 21
2.2.6 统一软件开发过程模型 21
2.2.7 基于组件的开发模型 22
2.2.8 敏捷模型 23
2.2.9 几种模型的对比 32
2.2.10 几种模型之间的关系 32
2.2.11 如何选择软件过程模型 33
2.3 软件过程模型实例 34
本章小结 34
习题 34
第二部分 可行性研究与项目开发计划
第3章 可行性研究与项目开发计划 3
3.1 项目立项概述 37
3.2 可行性研究的内容 38
3.2.1 技术可行性研究 38
3.2.2 操作可行性研究 38
3.2.3 经济可行性研究 38
3.3 可行性研究的步骤 40
3.4 可行性研究实例 41
3.5 制定项目开发计划 49
3.6 案例:“‘墨韵’读书会图书共享平台”的软件开发计划书 50
本章小结 50
习题 50
第三部分 结构化分析与设计
第4章 结构化分析 53
4.1 需求分析 53
4.1.1 需求分析的任务和原则 53
4.1.2 需求分析的步骤 55
4.1.3 需求管理 56
4.1.4 需求分析的常用方法 57
4.2 结构化分析方法 58
4.3 结构化分析建模 59
4.3.1 功能建模 59
4.3.2 数据建模 62
4.3.3 行为建模 63
4.3.4 数据字典 65
4.3.5 加工规格说明 65
4.4 结构化分析的图形工具 67
4.4.1 层次方框图 67
4.4.2 Warnier图 67
4.4.3 IPO图 68
4.5 结构化分析实例 69
本章小结 71
习题 71
第5章 结构化设计 74
5.1 软件设计的基本概念 74
5.1.1 软件设计的意义和目标 75
5.1.2 软件设计的原则 75
5.1.3 软件设计的分类 78
5.2 软件体系结构 79
5.2.1 软件体系结构概述 79
5.2.2 软件体系结构的作用 80
5.2.3 典型的软件体系结构风格 81
5.2.4 客户端/服务器模式的分布式体系结构 82
5.2.5 MVC模型 84
5.3 结构化设计概述 85
5.4 结构化设计与结构化分析的关系 85
5.5 结构化设计方法 86
5.5.1 表示软件结构的图形工具 86
5.5.2 面向数据流的设计方法 87
5.5.3 面向数据结构的设计方法 90
5.6 接口设计 94
5.6.1 接口设计概述 94
5.6.2 界面设计 94
5.7 数据设计 95
5.8 过程设计 98
5.8.1 程序流程图 98
5.8.2 N-S图 99
5.8.3 PAD 99
5.8.4 过程设计语言 100
5.9 软件设计评审 101
5.10 软件设计实例 101
本章小结 106
习题 106
第四部分 面向对象分析与设计
第6章 面向对象方法与UML 110
6.1 面向对象的软件工程方法 110
6.1.1 面向对象的基本概念 110
6.1.2 面向对象的软件工程方法的特征与优势 112
6.1.3 面向对象的实施步骤 112
6.2 UML 113
6.2.1 UML简述 113
6.2.2 UML的应用范围 113
6.2.3 UML的图 114
6.3 静态建模机制 114
6.3.1 用例图 114
6.3.2 类图和对象图 116
6.3.3 包图 120
6.4 动态建模机制 121
6.4.1 顺序图 121
6.4.2 协作图 122
6.4.3 状态图 123
6.4.4 活动图 123
6.5 描述物理架构的机制 124
6.5.1 组件图 125
6.5.2 部署图 125
6.6 面向对象方法与UML实例 125
本章小结 128
习题 129
第7章 面向对象分析 132
7.1 面向对象分析与结构化分析 132
7.2 面向对象分析方法 132
7.2.1 面向对象分析过程 133
7.2.2 面向对象分析原则 134
7.3 面向对象建模 135
7.3.1 建立对象模型 135
7.3.2 建立动态模型 140
7.3.3 建立功能模型 142
7.3.4 3种模型之间的关系 143
7.4 面向对象分析实例 143
7.5 案例:“‘墨韵’读书会图书共享平台”的需求规格说明书 153
本章小结 153
习题 154
第8章 面向对象设计 156
8.1 面向对象设计与结构化设计 156
8.2 面向对象设计与面向对象分析的关系 156
8.3 面向对象设计的过程与原则 157
8.3.1 面向对象设计的过程 157
8.3.2 面向对象设计的原则 158
8.4 面向对象设计的启发规则 161
8.5 系统设计 161
8.5.1 系统分解 162
8.5.2 问题域子系统的设计 163
8.5.3 人机交互子系统的设计 165
8.5.4 任务管理子系统的设计 166
8.5.5 数据管理子系统的设计 168
8.6 对象设计 171
8.6.1 设计类中的服务 171
8.6.2 设计类的关联 172
8.6.3 对象设计优化 173
8.7 软件设计模式 176
8.7.1 工厂模式 177
8.7.2 桥接模式 177
8.7.3 策略模式 178
8.7.4 其他模式 178
8.8 面向对象设计实例 179
8.9 案例:“‘墨韵’读书会图书共享平台”的软件设计说明书 191
本章小结 191
习题 191
第五部分 软件实现、测试与维护
第9章 软件实现 195
9.1 编程语言 195
9.1.1 编程语言的发展与分类 195
9.1.2 选择编程语言时需考虑的因素 199
9.2 编码风格与规范 199
9.3 面向对象实现 203
9.4 代码复用 204
9.5 分析和评价代码的质量 205
9.6 软件实现实例 206
9.7 案例:“‘墨韵’读书会图书共享平台”的源代码 207
本章小结 207
习题 208
第10章 软件测试与维护 210
10.1 软件测试的基本概念 210
10.1.1 软件测试的原则 211
10.1.2 软件测试的分类 212
10.1.3 软件测试模型 212
10.2 测试用例 214
10.2.1 测试用例编写 214
10.2.2 测试用例设计 214
10.2.3 测试用例场景 214
10.3 软件测试方法 214
10.4 黑盒测试 215
10.4.1 等价类划分法 215
10.4.2 边界值分析法 217
10.4.3 错误推测法 219
10.4.4 因果图法 219
10.4.5 决策表法 221
10.4.6 场景法 221
10.4.7 黑盒测试方法选择 223
10.5 白盒测试 223
10.5.1 代码检查法 223
10.5.2 静态结构分析法 224
10.5.3 程序插桩技术 224
10.5.4 逻辑覆盖法 224
10.5.5 基本路径法 226
10.5.6 白盒测试方法选择 227
10.5.7 白盒测试与黑盒测试比较 228
10.6 软件测试的一般步骤 228
10.7 单元测试 229
10.7.1 单元测试概述 229
10.7.2 单元测试内容 229
10.7.3 单元测试方法 230
10.8 集成测试 231
10.8.1 集成测试概述 231
10.8.2 集成测试策略 231
10.9 系统测试 234
10.9.1 系统测试概述 234
10.9.2 系统测试类型 234
10.10 验收测试 236
10.10.1 验收测试概述 236
10.10.2 验收测试内容 236
10.10.3 α测试和β测试 236
10.11 回归测试 237
10.12 面向对象测试 237
10.13 自动化测试 239
10.14 软件调试 240
10.14.1 调试过程 240
10.14.2 调试途径 240
10.15 软件维护 241
10.15.1 软件部署与软件交付 241
10.15.2 软件维护的过程 241
10.15.3 软件维护的分类 243
10.15.4 软件的可维护性 243
10.15.5 软件维护的副作用 244
10.15.6 软件运维 245
10.15.7 软件再工程——重构、正向工程、逆向工程 246
10.16 软件测试实例 247
10.17 案例:“‘墨韵’读书会图书共享平台”的测试报告和部署文档 255
本章小结 256
习题 256
第六部分 软件工程管理
第11章 软件工程管理 260
11.1 软件估算 260
11.1.1 软件估算的概念 260
11.1.2 软件估算的方法 261
11.1.3 软件估算的原则与技巧 263
11.2 软件开发进度计划 263
11.2.1 甘特图 263
11.2.2 PERT图 264
11.3 软件开发人员组织 267
11.3.1 民主制程序员组 267
11.3.2 主程序员组 267
11.3.3 现代程序员组 267
11.4 软件开发风险管理 268
11.4.1 软件开发风险 268
11.4.2 软件开发风险管理 268
11.5 软件质量保证 270
11.5.1 软件质量的基本概念 270
11.5.2 软件质量保证的措施 271
11.6 软件配置管理 271
11.6.1 软件配置管理术语 272
11.6.2 配置管理的过程 274
11.7 软件工程标准与软件文档 274
11.7.1 软件工程标准 274
11.7.2 软件文档 276
11.8 软件过程能力成熟度模型 277
11.9 软件项目管理 279
11.9.1 软件项目管理概述 279
11.9.2 软件项目管理与软件工程的关系 280
11.10 软件安全 280
11.11 软件工程管理实例 280
11.12 案例:“‘墨韵’读书会图书共享平台”的用户使用说明书 282
本章小结 282
习题 283
附录A 软件工程常用工具及其应用 285
附录B 基于“‘墨韵’读书会图书共享平台”的实验 291
附录C 软件开发综合项目实践详解(图书馆信息管理系统) 293
附录D 综合案例 294
案例1:问卷星球 294
案例2:在线音乐播放平台 295
附录E 本书配套微课视频清单 296
参考文献 299
作者简介
吕云翔,北京航空航天大学软件学院副教授。长期从事“软件工程基础”课程的一线教学,曾多次获得北航校级教学成果奖。“软件工程基础”课程获评2021中国计算机教育大会计算机类教学资源建设优秀课程配套资源与优秀教学案例奖。具有多年的软件开发、项目管理、计算机教学经验,对IT行业具有较全面的认识,主编畅销教材多部。
-
当代中国政府与政治(新编21世纪公共管理系列教材)
¥33.6¥48.0 -
落洼物语
¥8.7¥28.0 -
中国当代文学名篇选读
¥19.1¥53.0 -
中医基础理论
¥50.7¥59.0 -
北大人文课(平装)
¥13.9¥45.0 -
外国教育史-第2版
¥24.4¥40.0 -
宪法-第二版
¥12.2¥29.0 -
当代中国政府与政治 第二版
¥57.8¥68.0 -
EPLAN电气设计
¥29.9¥39.8 -
闯进数学世界――探秘历史名题
¥21.3¥32.8 -
企业法务教程
¥34.8¥49.0 -
习近平新时代中国特色社会主义思想概论
¥18.2¥26.0 -
金融学
¥29.9¥49.0 -
计算机操作系统教程(第4版)(清华大学计算机系列教材)
¥31.9¥49.0 -
三国史
¥27.5¥50.0 -
飞机总体设计
¥46.8¥78.0 -
古代汉语(第四册)
¥16.1¥35.0 -
编辑审稿实务教程
¥35.1¥45.0 -
管理学:原理与方法(第7版)(博学.大学管理类)/周三多
¥30.9¥49.0 -
海商法-第四版
¥30.2¥48.0