- ISBN:9787302607489
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:296
- 出版时间:2022-07-01
- 条形码:9787302607489 ; 978-7-302-60748-9
本书特色
教育学部高等学校软件工程专业教学指导委员会推荐教材,以《高等学校软件工程专业规范与知识体系》以及IEEE软件工程知识体系(SWEBOK)为基础,在软件构造(Software Construction)知识和能力要求基础上融入需求、设计、测试及团队协作等方面的知识和能力要求。 本书具有以下特色: 1.在覆盖经典软件工程方法与技术的同时突出体现了现代软件工程在开发过程和技术上的特点,例如开发运维一体化以及持续集成与持续交付、演化式设计、软件开发框架与平台复用、分布式与云原生软件体系结构、敏捷开发需求分析等。 2.按照“做中学”的实践化教学需要以及软件工程师的成长过程进行教学内容编排,从基本的协作开发和编码能力开始,逐渐过渡到更加抽象的软件设计和需求分析等内容。 3.强化高质量编码与可信软件开发的要求,体现现代软件工程对于软件工程师个人的质量意识和可信软件开发能力的要求。 4.华为公司软件人才能力提升变革项目团队参与编写,融入华为多年来在信息通信领域积累的软件开发方法、工具与相关实践。
内容简介
本书是软件工程的入门教材,系统地阐述了现代软件开发过程、方法、技术以及相关工具,使读者能够全面掌握现代软件工程的相关基础知识以及软件工程师所需要具备的基本实践能力。 全书共分为10章,覆盖了现代软件工程的主要内容,特别是需求分析、软件设计、软件构造、软件测试等。本书各章的顺序按照软件工程师的学习和成长过程进行编排,首先围绕高质量编码所需的知识和能力进行介绍,然后逐渐过渡到更加抽象的软件设计和需求分析等内容。第1章介绍软件工程的含义、发展历程和重要思想。第2章介绍软件过程模型、敏捷方法与精益思想以及开发运维一体化(DevOps)。第3章介绍软件版本管理与开发任务管理。第4章介绍代码质量的含义以及高质量编码方法。第5章介绍软件设计的整体内容并具体介绍组件级详细设计方法。第6章介绍组件级、框架级、平台级三个层次上的软件复用方法。第7章介绍软件体系结构的基本概念以及分布式软件体系结构和云原生软件体系结构。第8章介绍软件需求分析方法、敏捷开发中的需求工程以及可信需求的含义。第9章介绍软件测试方法以及相关工具。第10章介绍软件持续集成、发布以及软件构建和依赖管理。 本书可作为高等院校计算机、软件工程、人工智能、自动化等相关专业的本科生教材,也可供相关领域的专业技术人员参考。
目录
第1章软件工程概述
1.1软件的产生与发展
1.2软件工程的含义
1.3软件工程的系统观与演化观
1.4软件工程师的社会责任
1.5本书的内容结构
小结
第2章软件过程
2.1软件过程概述
2.1.1基本概念和发展历史
2.1.2软件生存周期过程标准
2.1.3软件过程模型
2.1.4软件过程改进
2.2敏捷方法与精益思想
2.2.1敏捷方法
2.2.2精益思想
2.2.3敏捷实践方法论
2.3开发运维一体化
2.3.1概览
2.3.2基本原则和技术实践
2.3.3持续集成、持续交付和持续部署
小结
第3章版本与开发任务管理
3.1版本与开发任务管理概述
3.1.1配置管理概述
3.1.2版本发布计划
3.2版本管理
3.2.1产品版本号命名
3.2.2代码版本管理
3.2.3代码分支与基线管理
3.3特性开发任务管理
3.3.1特性描述
3.3.2特性开发任务管理流程
3.3.3变更管理流程
3.4缺陷修复过程管理
3.4.1缺陷描述
3.4.2缺陷修复处理流程
3.5基于追踪与回溯的工作量与质量分析
3.5.1基于追踪的分析
3.5.2基于回溯的分析
小结
第4章高质量编码
4.1代码质量概述
4.1.1代码质量的含义
4.1.2可理解性和可维护性
4.1.3可靠性和信息安全性
4.1.4高效性
4.1.5可移植性
4.2代码风格
4.2.1标识符命名
4.2.2排版格式
4.2.3注释
4.3代码逻辑
4.3.1代码编写的基本要求
4.3.2重复代码问题
4.3.3代码复杂度问题
4.3.4高质量的子程序
4.4安全与可靠性编码
4.4.1数据验证
4.4.2代码逻辑问题
4.4.3错误处理
4.4.4断言
4.4.5异常处理
4.4.6安全编程函数
4.5代码质量控制
4.5.1个人测试与调试
4.5.2代码静态检查与质量门禁
4.5.3代码评审
4.5.4代码质量度量
4.6测试驱动开发
4.6.1TDD的概念与优势
4.6.2TDD的过程与原则
4.6.3TDD中的单元测试
小结
第5章软件设计
5.1软件设计概述
5.1.1软件设计目标
5.1.2软件设计层次
5.1.3软件设计思想
5.2面向对象设计
5.2.1面向对象设计过程
5.2.2面向对象设计描述
5.2.3内聚和耦合
5.2.4面向对象设计原则
5.2.5面向切面的编程
5.3契约式设计
5.4设计模式
5.5演化式设计
5.5.1演化式设计与计划设计
5.5.2代码坏味道
5.5.3软件重构
小结
第6章软件复用
6.1软件复用概述
6.1.1软件复用概念
6.1.2软件复用层次
6.1.3软件复用过程
6.1.4软件产品线
6.1.5开源软件复用
6.2组件级复用
6.2.1软件开发库复用
6.2.2在线服务复用
6.2.3接口描述规范
6.3框架级复用
6.4平台级复用
6.4.1典型平台能力
6.4.2基于平台的应用开发过程
6.5基于复用的软件开发案例
6.5.1后端服务开发
6.5.2前端We码小程序开发
小结
第7章软件体系结构
7.1软件体系结构概述
7.2软件体系结构决策
7.3软件体系结构描述
7.4软件体系结构风格
7.5分布式软件体系结构
7.5.1设计原则
7.5.2进程间通信
7.5.3负载均衡
7.5.4分布式存储
7.5.5可靠性保障
7.6云原生软件体系结构
7.6.1微服务体系结构
7.6.2微服务开发框架
7.6.3容器化部署
小结
第8章软件需求
8.1软件需求概述
8.1.1需求的含义及其来源
8.1.2需求的类型
8.1.3需求工程过程
8.1.4需求的质量要求
8.1.5系统需求与软件需求
8.2需求分解和精化
8.2.1系统愿景与上下文
8.2.2愿景与目标分解和精化
8.2.3优先级排序
8.2.4冲突识别与协商
8.3需求分析与描述
8.3.1场景分析与描述
8.3.2类分析与描述
8.3.3行为分析与描述
8.3.4需求文档
8.4敏捷开发中的需求工程
8.5软件可信需求
小结
第9章软件测试
9.1软件测试概念与原则
9.1.1软件质量事故
9.1.2软件测试概念
9.1.3软件测试原则
9.2软件测试过程模型
9.2.1V模型
9.2.2W模型
9.2.3敏捷测试模型
9.3软件测试类型
9.3.1单元测试
9.3.2集成测试
9.3.3系统测试
9.3.4验收测试
9.4黑盒软件测试方法
9.4.1等价类划分法
9.4.2边界值分析法
9.4.3判定表
9.4.4错误推测法
9.5白盒软件测试方法
9.6系统测试技术与工具
9.6.1功能测试
9.6.2性能测试
9.6.3兼容性测试
9.6.4易用性测试
9.6.5可靠性测试
9.6.6信息安全测试
小结
第10章软件集成与发布
10.1软件集成与发布概述
10.1.1持续集成与发布的前置条件
10.1.2持续集成与发布的价值
10.1.3云化与本地持续集成与发布
10.2持续集成
10.2.1集成过程
10.2.2持续集成的实践
10.2.3持续集成的自动化支持工具
10.2.4软件构建
10.3软件发布
10.3.1软件发布的反模式与基本原则
10.3.2蓝绿部署
10.3.3金丝雀发布
10.3.4暗发布
10.4部署流水线
10.4.1部署流水线概述
10.4.2华为软件开发云中的部署流水线
小结
参考文献
作者简介
彭鑫 复旦大学计算机科学技术学院副院长、软件学院副院长、教授、博士生导师,中国计算机学会软件工程专委会副主任,Journal of Software: Evolution and Process联合主编,ACM Transactions on Software Engineering and Methodology等期刊编委。研究方向包括软件智能化开发与运维、泛在计算软件系统等。 游依勇 华为技术有限公司软件工程学院院长,在软件开发、产品线总裁、人才培养、产业管理、生态建设等岗位具有20多年的工作经验,曾获得国家科学技术进步奖和中国电子学会科学技术奖一等奖。 赵文耘 复旦大学计算机科学技术学院教授、博士生导师。研究方向为软件工程、企业信息化。曾获国家科技进步二等奖、电子工业部科技进步特等奖、上海市科技进步二等奖、上海市教学成果二等奖等多项省部级奖项。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥69.3¥99.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥67.4¥89.8 -
LINUX实战——从入门到精通
¥51.8¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥81.8¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8