注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书教育/教材/教辅教材研究生/本科/专科教材现代软件工程基础

现代软件工程基础

现代软件工程基础

定 价:¥59.80

作 者: 彭鑫,游依勇,赵文耘
出版社: 清华大学出版社
丛编项: 高等学校软件工程专业系列教材
标 签: 暂缺

购买这本书可以去


ISBN: 9787302607489 出版时间: 2022-06-01 包装:
开本: 16开 页数: 字数:  

内容简介

  本书是软件工程的入门教材,系统地阐述了现代软件开发过程、方法、技术以及相关工具,使读者能够全面掌握现代软件工程的相关基础知识以及软件工程师所需要具备的基本实践能力。 \n全书共分为10章,覆盖了现代软件工程的主要内容,特别是需求分析、软件设计、软件构造、软件测试等。本书各章的顺序按照软件工程师的学习和成长过程进行编排,首先围绕高质量编码所需的知识和能力进行介绍,然后逐渐过渡到更加抽象的软件设计和需求分析等内容。第1章介绍软件工程的含义、发展历程和重要思想。第2章介绍软件过程模型、敏捷方法与精益思想以及开发运维一体化(DevOps)。第3章介绍软件版本管理与开发任务管理。第4章介绍代码质量的含义以及高质量编码方法。第5章介绍软件设计的整体内容并具体介绍组件级详细设计方法。第6章介绍组件级、框架级、平台级三个层次上的软件复用方法。第7章介绍软件体系结构的基本概念以及分布式软件体系结构和云原生软件体系结构。第8章介绍软件需求分析方法、敏捷开发中的需求工程以及可信需求的含义。第9章介绍软件测试方法以及相关工具。第10章介绍软件持续集成、发布以及软件构建和依赖管理。 \n本书可作为高等院校计算机、软件工程、人工智能、自动化等相关专业的本科生教材,也可供相关领域的专业技术人员参考。 \n

作者简介

  彭鑫复旦大学计算机科学技术学院副院长、软件学院副院长、教授、博士生导师,中国计算机学会软件工程专委会副主任,Journal of Software: Evolution and Process联合主编,ACM Transactions on Software Engineering and Methodology等期刊编委。研究方向包括软件智能化开发与运维、泛在计算软件系统等。 \n \n游依勇华为技术有限公司软件工程学院院长,在软件开发、产品线总裁、人才培养、产业管理、生态建设等岗位具有20多年的工作经验,曾获得国家科学技术进步奖和中国电子学会科学技术奖一等奖。 \n \n赵文耘复旦大学计算机科学技术学院教授、博士生导师。研究方向为软件工程、企业信息化。曾获国家科技进步二等奖、电子工业部科技进步特等奖、上海市科技进步二等奖、上海市教学成果二等奖等多项省部级奖项。 \n

图书目录

第1章软件工程概述

\n


\n

1.1软件的产生与发展

\n


\n

1.2软件工程的含义

\n


\n

1.3软件工程的系统观与演化观

\n


\n

1.4软件工程师的社会责任

\n


\n

1.5本书的内容结构

\n


\n

小结

\n


\n

第2章软件过程

\n


\n

2.1软件过程概述

\n


\n

2.1.1基本概念和发展历史

\n


\n

2.1.2软件生存周期过程标准

\n


\n

2.1.3软件过程模型

\n


\n

2.1.4软件过程改进

\n


\n

2.2敏捷方法与精益思想

\n


\n

2.2.1敏捷方法

\n


\n

2.2.2精益思想

\n


\n

2.2.3敏捷实践方法论

\n


\n

2.3开发运维一体化

\n


\n

2.3.1概览

\n


\n

2.3.2基本原则和技术实践

\n


\n

2.3.3持续集成、持续交付和持续部署

\n


\n

小结

\n


\n

第3章版本与开发任务管理

\n


\n

3.1版本与开发任务管理概述

\n


\n

3.1.1配置管理概述

\n


\n

3.1.2版本发布计划

\n


\n

3.2版本管理

\n


\n

3.2.1产品版本号命名

\n


\n

3.2.2代码版本管理

\n


\n

3.2.3代码分支与基线管理

\n


\n

3.3特性开发任务管理

\n


\n

3.3.1特性描述

\n


\n

3.3.2特性开发任务管理流程

\n


\n

3.3.3变更管理流程

\n


\n

3.4缺陷修复过程管理

\n


\n

3.4.1缺陷描述

\n


\n

3.4.2缺陷修复处理流程

\n


\n

3.5基于追踪与回溯的工作量与质量分析

\n


\n

3.5.1基于追踪的分析

\n


\n

3.5.2基于回溯的分析

\n


\n

小结

\n


\n


\n


\n


\n

第4章高质量编码

\n


\n

4.1代码质量概述

\n


\n

4.1.1代码质量的含义

\n


\n

4.1.2可理解性和可维护性

\n


\n

4.1.3可靠性和信息安全性

\n


\n

4.1.4高效性

\n


\n

4.1.5可移植性

\n


\n

4.2代码风格

\n


\n

4.2.1标识符命名

\n


\n

4.2.2排版格式

\n


\n

4.2.3注释

\n


\n

4.3代码逻辑

\n


\n

4.3.1代码编写的基本要求

\n


\n

4.3.2重复代码问题

\n


\n

4.3.3代码复杂度问题

\n


\n

4.3.4高质量的子程序

\n


\n

4.4安全与可靠性编码

\n


\n

4.4.1数据验证

\n


\n

4.4.2代码逻辑问题

\n


\n

4.4.3错误处理

\n


\n

4.4.4断言

\n


\n

4.4.5异常处理

\n


\n

4.4.6安全编程函数

\n


\n

4.5代码质量控制

\n


\n

4.5.1个人测试与调试

\n


\n

4.5.2代码静态检查与质量门禁

\n


\n

4.5.3代码评审

\n


\n

4.5.4代码质量度量

\n


\n

4.6测试驱动开发

\n


\n

4.6.1TDD的概念与优势

\n


\n

4.6.2TDD的过程与原则

\n


\n

4.6.3TDD中的单元测试

\n


\n

小结

\n


\n

第5章软件设计

\n


\n

5.1软件设计概述

\n


\n

5.1.1软件设计目标

\n


\n

5.1.2软件设计层次

\n


\n

5.1.3软件设计思想

\n


\n

5.2面向对象设计

\n


\n

5.2.1面向对象设计过程

\n


\n

5.2.2面向对象设计描述

\n


\n

5.2.3内聚和耦合

\n


\n

5.2.4面向对象设计原则

\n


\n

5.2.5面向切面的编程

\n


\n

5.3契约式设计

\n


\n

5.4设计模式

\n


\n

5.5演化式设计

\n


\n

5.5.1演化式设计与计划设计

\n


\n

5.5.2代码坏味道

\n


\n

5.5.3软件重构

\n


\n

小结

\n


\n

第6章软件复用

\n


\n

6.1软件复用概述

\n


\n

6.1.1软件复用概念

\n


\n

6.1.2软件复用层次

\n


\n

6.1.3软件复用过程

\n


\n

6.1.4软件产品线

\n


\n

6.1.5开源软件复用

\n


\n

6.2组件级复用

\n


\n

6.2.1软件开发库复用

\n


\n

6.2.2在线服务复用

\n


\n

6.2.3接口描述规范

\n


\n

6.3框架级复用

\n


\n

6.4平台级复用

\n


\n

6.4.1典型平台能力

\n


\n

6.4.2基于平台的应用开发过程

\n


\n

6.5基于复用的软件开发案例

\n


\n

6.5.1后端服务开发

\n


\n

6.5.2前端We码小程序开发

\n


\n

小结

\n


\n

第7章软件体系结构

\n


\n

7.1软件体系结构概述

\n


\n

7.2软件体系结构决策

\n


\n

7.3软件体系结构描述

\n


\n

7.4软件体系结构风格

\n


\n

7.5分布式软件体系结构

\n


\n

7.5.1设计原则

\n


\n

7.5.2进程间通信

\n


\n

7.5.3负载均衡

\n


\n

7.5.4分布式存储

\n


\n

7.5.5可靠性保障

\n


\n

7.6云原生软件体系结构

\n


\n

7.6.1微服务体系结构

\n


\n

7.6.2微服务开发框架

\n


\n

7.6.3容器化部署

\n


\n

小结

\n


\n

第8章软件需求

\n


\n

8.1软件需求概述

\n


\n

8.1.1需求的含义及其来源

\n


\n

8.1.2需求的类型

\n


\n

8.1.3需求工程过程

\n


\n

8.1.4需求的质量要求

\n


\n

8.1.5系统需求与软件需求

\n


\n

8.2需求分解和精化

\n


\n

8.2.1系统愿景与上下文

\n


\n

8.2.2愿景与目标分解和精化

\n


\n

8.2.3优先级排序

\n


\n

8.2.4冲突识别与协商

\n


\n

8.3需求分析与描述

\n


\n

8.3.1场景分析与描述

\n


\n

8.3.2类分析与描述

\n


\n

8.3.3行为分析与描述

\n


\n

8.3.4需求文档

\n


\n

8.4敏捷开发中的需求工程

\n


\n

8.5软件可信需求

\n


\n

小结

\n


\n

第9章软件测试

\n


\n

9.1软件测试概念与原则

\n


\n

9.1.1软件质量事故

\n


\n

9.1.2软件测试概念

\n


\n

9.1.3软件测试原则

\n


\n

9.2软件测试过程模型

\n


\n

9.2.1V模型

\n


\n

9.2.2W模型

\n


\n

9.2.3敏捷测试模型

\n


\n

9.3软件测试类型

\n


\n

9.3.1单元测试

\n


\n

9.3.2集成测试

\n


\n

9.3.3系统测试

\n


\n

9.3.4验收测试

\n


\n

9.4黑盒软件测试方法

\n


\n

9.4.1等价类划分法

\n


\n

9.4.2边界值分析法

\n


\n

9.4.3判定表

\n


\n

9.4.4错误推测法

\n


\n

9.5白盒软件测试方法

\n


\n

9.6系统测试技术与工具

\n


\n

9.6.1功能测试

\n


\n

9.6.2性能测试

\n


\n

9.6.3兼容性测试

\n


\n

9.6.4易用性测试

\n


\n

9.6.5可靠性测试

\n


\n

9.6.6信息安全测试

\n


\n

小结

\n


\n

第10章软件集成与发布

\n


\n

10.1软件集成与发布概述

\n


\n

10.1.1持续集成与发布的前置条件

\n


\n

10.1.2持续集成与发布的价值

\n


\n

10.1.3云化与本地持续集成与发布

\n


\n

10.2持续集成

\n


\n

10.2.1集成过程

\n


\n

10.2.2持续集成的实践

\n


\n

10.2.3持续集成的自动化支持工具

\n


\n

10.2.4软件构建

\n


\n

10.3软件发布

\n


\n

10.3.1软件发布的反模式与基本原则

\n


\n

10.3.2蓝绿部署

\n


\n

10.3.3金丝雀发布

\n


\n

10.3.4暗发布

\n


\n

10.4部署流水线

\n


\n

10.4.1部署流水线概述

\n


\n

10.4.2华为软件开发云中的部署流水线

\n


\n

小结

\n


\n

参考文献

\n


\n


\n


本目录推荐