书籍详情

软件工程(微课视频版)

软件工程(微课视频版)

作者:杜文峰,袁琳,朱安民,叶聪

出版社:清华大学出版社

出版时间:2023-02-01

ISBN:9787302606840

定价:¥69.80

购买这本书可以去
内容简介
  全书共5篇、14章,涵盖软件工程领域涉及的主要内容。前四篇内容主要包括:软件的发展历程,软件的定义和特点,软件危机产生的原因,软件工程产生的背景以及软件生命周期中各阶段的工作;如何利用数据流图、状态转换图和数据字典等来建模用户需求,如何采用层次图、IPO图及程序流程图来设计软件,如何有效地将结构化设计结果转换为程序代码,对完成的软件进行测试;如何提取用户需求、分析用户活动、建模系统状态、提取类的候选者和类关系,对象之间如何交互来完成业务逻辑、如何实现面向对象设计结果,为以面向对象方法实现的软件设计测试用例;经典的软件开发过程、现代主流的软件开发过程以及项目开发过程中的管理实践。最后一篇讲解腾讯公司内部的敏捷开发流程和开发平台,以及结合领域驱动设计总结如何分析、设计和实现云原生软件系统。 本书配有1000分钟左右的MOOC视频、教学大纲、PPT课件、习题等丰富的教学资源。 本书可作为高等学校计算机相关专业的教材、软件工程专业的导论课教材,也可作为计算机软件相关领域从业者的参考资料和相关培训的教材。
作者简介
暂缺《软件工程(微课视频版)》作者简介
目录


第一篇 软件工程基础
第1章 软件发展史及软件工程 3
1.1 软件的发展历程 3
1.2 软件的定义和特点 5
1.3 软件危机 6
1.4 软件工程 7
1.5 软件开发方法 9
1.6 软件工程知识体系 12
1.7 小结 13
1.8 习题 13
第2章 软件生命周期 14
2.1 项目构想和立项 14
2.2 可行性分析 15
2.3 项目开发计划 17
2.3.1 制订项目开发计划 17
2.3.2 项目开发计划评审 19
2.4 需求分析 19
2.4.1 需求的定义和组成 20
2.4.2 需求管理 21
2.5 软件设计 24
2.5.1 软件设计的目标和任务 25
2.5.2 软件设计阶段 26
2.5.3 模块化与模块独立 26
2.5.4 经典软件体系结构 27
2.5.5 设计复审 34
2.6 软件实现 35
2.6.1 程序设计语言的选择 35
2.6.2 软件编码规范 37
2.6.3 软件效率 38
2.7 软件测试 41
2.7.1 软件测试的发展历程 42
2.7.2 软件测试技术 45
2.7.3 软件测试策略 50
2.7.4 软件测试步骤 55
2.7.5 软件测试的原则 56
2.7.6 软件调试 58
2.7.7 软件可靠性 61
2.8 软件维护 61
2.8.1 软件维护分类 62
2.8.2 软件维护实施 62
2.9 小结 67
2.10 习题 67
第二篇 结构化方法
第3章 结构化分析 71
3.1 结构化需求描述方法 71
3.2 结构化需求建模 73
3.2.1 数据流图 73
3.2.2 处理/加工逻辑说明 77
3.2.3 状态转换图 80
3.2.4 数据模型 82
3.3 小结 87
3.4 习题 88
第4章 结构化设计 89
4.1 结构化设计与结构化分析的关系 89
4.2 结构化模块及模块独立性 90
4.2.1 结构化的模块独立性 90
4.2.2 结构化设计启发式规则 97
4.3 系统结构设计 98
4.3.1 系统结构图 99
4.3.2 HIPO图 101
4.3.3 面向数据流的设计方法 101
4.4 数据设计 109
4.4.1 数据元素设计 110
4.4.2 数据结构设计 110
4.4.3 文件格式设计 111
4.4.4 数据库设计 113
4.5 过程设计 116
4.5.1 程序流程图 116
4.5.2 PDL 118
4.5.3 模块过程设计 121
4.6 设计优化 121
4.7 小结 122
4.8 习题 122
第5章 结构化实现 123
5.1 结构化实现与结构化设计的关系 123
5.2 结构化编码 124
5.2.1 结构化程序的源代码组成 124
5.2.2 结构化程序的编译过程 126
5.2.3 结构化程序多文件组织 127
5.2.4 结构化模块集成 129
5.3 结构化测试 132
5.3.1 结构化测试阶段 132
5.3.2 结构化白盒测试覆盖标准 134
5.3.3 结构化白盒测试用例设计 138
5.3.4 结构化黑盒测试用例设计 143
5.3.5 结构化测试实施 146
5.4 小结 147
5.5 习题 147
第三篇 面向对象方法
第6章 统一建模语言 151
6.1 统一建模语言的发展史 151
6.2 UML中的图 152
6.2.1 用例图 152
6.2.2 活动图 154
6.2.3 类图 155
6.2.4 对象图 158
6.2.5 顺序图 158
6.2.6 通信图 162
6.2.7 状态图 164
6.2.8 构件图 166
6.2.9 部署图 167
6.2.10 包图 169
6.3 小结 171
6.4 习题 171
第7章 面向对象分析 172
7.1 业务用例分析 172
7.2 业务用例描述 173
7.3 活动建模 174
7.4 分析模型 176
7.4.1 对象建模 176
7.4.2 交互建模 180
7.4.3 状态建模 182
7.4.4 划分内容主题 183
7.4.5 完善分析模型 184
7.5 面向对象分析评审 185
7.6 小结 186
7.7 习题 186
第8章 面向对象设计 187
8.1 分析模型到设计模型的转换 187
8.2 面向对象设计原则 188
8.2.1 面向对象的模块独立性 188
8.2.2 面向对象设计启发式规则 191
8.2.3 设计模式 198
8.3 面向对象架构设计 201
8.3.1 软件架构设计 202
8.3.2 类方法设计 207
8.3.3 类属性设计 211
8.4 软件构件设计 214
8.4.1 构件设计原则 214
8.4.2 软件构件的设计方法 215
8.5 部署设计 218
8.6 小结 222
8.7 习题 222
第9章 面向对象实现 223
9.1 面向对象编码 223
9.1.1 项目文件组织 223
9.1.2 面向对象业务实现 226
9.2 面向对象测试 228
9.2.1 面向对象测试阶段 228
9.2.2 面向对象测试策略 230
9.2.3 面向对象测试用例设计 231
9.3 小结 239
9.4 习题 240


第四篇 软件过程及管理
第10章 软件过程 243
10.1 瀑布模型 244
10.2 演化模型 246
10.3 快速原型法 247
10.4 增量模型 249
10.5 螺旋模型 251
10.6 喷泉模型 253
10.7 构件组装模型 254
10.8 统一过程 255
10.9 能力成熟度模型 257
10.10 净室软件工程 258
10.11 敏捷开发过程 260
10.11.1 极限编程 261
10.11.2 Scrum 262
10.12 小结 264
10.13 习题 264
第11章 软件项目管理 265
11.1 项目管理概述 265
11.2 项目管理框架 266
11.3 项目阶段管理 268
11.3.1 项目准备与启动 268
11.3.2 项目计划 270
11.3.3 项目的执行与控制 277
11.3.4 项目的收尾与总结 295
11.4 小结 297
11.5 习题 297
第五篇 现代软件开发
第12章 腾讯敏捷软件开发 301
12.1 腾讯敏捷研发理念 301
12.2 腾讯敏捷解决方案 303
12.3 敏捷的核心应用 304
12.3.1 看板 304
12.3.2 需求 305
12.3.3 迭代 306
12.3.4 测试 307
12.3.5 缺陷 308
12.3.6 DevOps 310
12.3.7 报表 311
12.3.8 文档 312
12.4 小结 312
12.5 习题 313
第13章 基于领域驱动的云原生软件开发 314
13.1 云原生概述 314
13.2 云原生架构及其设计原则 317
13.3 领域驱动设计 322
13.4 基于领域的敏捷需求分析 323
13.4.1 领域分析及子领域识别 323
13.4.2 业务需求分析 324
13.5 云原生软件架构设计 324
13.5.1 界限上下文划分 325
13.5.2 实体及值对象分析 326
13.5.3 聚合分析与设计 327
13.5.4 事件识别及服务分析 330
13.5.5 存储库设计 331
13.5.6 数据一致性 332
13.5.7 软件前端设计 335
13.6 云原生软件系统实现及部署 336
13.6.1 云原生软件实现 336
13.6.2 容量估算及组件选型 341
13.6.3 系统测试 341
13.6.4 软件发布及部署 342
13.7 小结 343
13.8 习题 344
第14章 人机交互设计 345
14.1 人机交互 345
14.2 交互模型和框架 347
14.3 人机交互设计原则 350
14.4 人机交互界面的设计过程 354
14.5 小结 356
14.6 习题 356
参考文献 357
  
软件工程(微课视频版)

目 录

猜您喜欢

读书导航