1.以在线放课程“工程化编程实战”为核心内容,增加了常用工具、需求分析与建模方法、软件架构和软件过程等相关内容。 2.作者系中国科学技术大学软件学院软件工程10年教学改革的实践者,具有近20年代码编程 12年软件工程教学经验,他的慕课荣获“国家精品在线放课程”。 3.本书反其道而行之,以“实用”为原则构成全书体系,从写代码的工具着手,逐步深到模块化设计、需求建模、设计模式和软件架构等内容,章末设有练习环节,并提供可下载的配套源代码文件,让读者在做中学,而从“程序员”修炼成“软件工程师”。
售 价:¥
纸质售价:¥66.90购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
前言
资源与支持
配套资源
提交勘误
扫码关注本书
与我们联系
关于异步社区和异步图书
第一篇 工欲善其事,必先利其器
第1章 编程“神器”Visual Studio Code
1.1 Visual Studio Code的安装和基本用法
1.2 VS Code为什么能这么牛
1.3 基于VS Code的C/C++开发调试环境配置
1.4 VS Code远程开发环境配置
本章练习
第2章 五大场景玩转Git
2.1 Git分布式版本控制系统
2.2 场景一:Git本地版本库的基本用法
2.3 场景二:Git远程版本库的基本用法
2.4 Git背后的设计理念
2.5 场景三:团队项目中的分叉合并
2.6 场景四:Git Rebase整理提交记录
2.7 场景五:Fork + Pull request开发工作流程
本章练习
第3章 正则表达式十步通关
3.1 为什么使用正则表达式
3.2 第一关:基本的字符串搜索方法
3.3 第二关:同时搜索多个字符串的方法
3.4 第三关:在匹配字符串时的大小写问题
3.5 第四关:通配符的基本用法
3.6 第五关:匹配具有多种可能性的字符集
3.7 第六关:贪婪匹配和懒惰匹配
3.8 第七关:一些特殊位置和特殊字符
3.9 第八关:使用捕获组复用模式
3.10 第九关:基本的字符串搜索替换方法
3.11 第十关:在替换中使用捕获组复用模式
本章练习
第二篇 工程化编程实战
第4章 简约而不简单——代码规范和代码风格
4.1 实验项目介绍
4.2 代码风格的原则:简明、易读、无二义性
4.3 编写高质量代码的基本方法
本章练习
第5章 模块化软件设计
5.1 模块化思想背后的基本原理
5.2 模块化代码的基本写法举例
5.3 传统单体集中式架构与微服务架构
5.4 模块化软件设计中的基本方法
本章练习
第6章 可复用软件设计
6.1 消费者复用和生产者复用
6.2 接口的基本概念
6.3 可复用软件模块的接口设计示例
6.4 通用接口定义的基本方法
本章练习
第7章 可重入函数与线程安全
7.1 线程的基本概念
7.2 函数调用堆栈
7.3 可重入函数
7.4 什么是线程安全
7.5 LinkTable软件模块的线程安全分析
本章练习
第8章 子系统的工程化
8.1 menu子系统的可复用接口设计
8.2 Makefile工程文件举例
8.3 带参数的复杂命令函数接口的写法
8.4 看待软件质量的几个不同角度
8.5 编程的基本方法和原则
本章练习
第三篇 需求分析和软件设计
第9章 获取需求的主要方法
9.1 什么是需求
9.2 为什么需求非常重要
9.3 有哪些类型的需求
9.4 有哪些和需求相关的人员
9.5 获取需求的主要方法
9.6 高质量的需求是什么样子
9.7 绘图工具VS Code和draw.io
本章练习
第10章 对需求进行分析和建模
10.1 原型化方法和建模的方法
10.2 用例建模
10.3 业务领域建模
10.4 关联类及其关系数据模型
10.5 关系数据的MongoDB数据建模
10.6 软件业务概念的原型
本章练习
第11章 从需求分析向软件设计的过渡
11.1 敏捷统一过程
11.2 对象交互建模
11.3 形成软件设计方案
本章练习
第四篇 软件科学基础概论
第12章 软件是什么
12.1 软件的基本构成元素
12.2 软件的基本结构
12.3 软件中的一些特殊机制
12.4 软件的内在特性
本章练习
第13章 软件设计模式
13.1 什么是设计模式
13.2 软件设计模式的分类
13.3 常用的软件设计模式
13.4 观察者模式举例
13.5 软件设计模式背后的设计原则
本章练习
第14章 软件架构举例
14.1 三层架构
14.2 MVC架构
14.3 MVVM架构
本章练习
第15章 软件架构风格与描述方法
15.1 构建软件架构的基本方法
15.2 软件架构风格与策略
15.3 软件架构的描述方法
本章练习
第16章 什么是高质量软件
16.1 软件质量的3种视角
16.2 几种重要的软件质量属性
本章练习
第五篇 软件危机的前生后世
第17章 软件危机概述
17.1 软件危机产生的背景
17.2 软件危机的主要表现及根源
17.3 有关软件危机的争论
本章练习
第18章 软件过程模型
18.1 软件的生命周期概述
18.2 瀑布模型
18.3 原型化的瀑布模型
18.4 V模型
18.5 分阶段的增量和迭代开发过程
18.6 螺旋模型
本章练习
第19章 PSP和TSP
19.1 个体和团队
19.2 个体软件过程
19.3 团队软件过程
本章练习
第20章 CMM/CMMI
20.1 CMM/CMMI简介
20.2 CMM/CMMI的作用
20.3 CMM/CMMI的主要内容
20.4 CMMI的评估过程
本章练习
第21章 敏捷方法
21.1 敏捷方法产生的背景
21.2 敏捷软件开发宣言及所遵循的原则
21.3 Scrum敏捷开发方法
本章练习
第22章 DevOps
22.1 什么是DevOps
22.2 DevOps和敏捷方法
22.3 DevOps和精益原则
22.4 DevOps和全栈自动化
本章练习
测验题
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜