图书目录

目录

第一部分软件工程概述

第1章绪论

1.1软件的概念及特点

1.2软件危机

1.2.1软件危机的表现与产生原因

1.2.2软件危机的启示

1.3软件工程

1.3.1软件工程的概念

1.3.2软件工程的基本目标和原则

1.3.3软件工程的发展

1.4软件开发方法

1.5计算机辅助软件工程及其工具

1.6软件工程人员的职业道德

1.6.1软件工程人员的职业道德概述

1.6.2软件工程人员的职业道德实例

1.7“小型网上书店系统”案例介绍

拓展阅读: 青鸟工程——以科技报国诠释爱国与奉献精神

本章小结

习题

第2章软件过程

2.1软件生命周期与软件过程

2.1.1软件生命周期

2.1.2软件过程

2.2典型的软件过程模型

2.2.1瀑布模型

2.2.2快速原型模型

2.2.3增量模型

2.2.4螺旋模型

2.2.5喷泉模型

2.2.6基于组件的开发模型

2.2.7统一软件开发过程模型

2.2.8几种过程模型的对比

2.2.9几种过程模型之间的关系

2.2.10选择软件过程模型

2.3软件过程模型实例

拓展阅读: 微信——以极致创新重构数字生活

本章小结

习题

第3章敏捷软件开发

3.1敏捷方法

3.2Scrum

3.2.1Scrum概述

3.2.2Sprint

3.2.3每日站会

3.2.4用户故事

3.2.5Backlog

3.2.6结对编程

3.3极限编程

3.3.1XP方法的4个价值观

3.3.2XP方法的12个核心实践

3.4看板

3.4.1看板概述

3.4.2看板与Scrum的区别

3.53种敏捷方法的对比

3.6CI/CD

3.6.1CI/CD概述

3.6.2CI/CD的优势

3.7DevOps

3.7.1DevOps概述

3.7.2DevOps的特点

3.8敏捷软件开发、CI/CD和DevOps

3.9测试驱动开发

3.9.1测试驱动开发概述

3.9.2测试驱动开发与敏捷软件开发

3.10敏捷软件开发实例(1)

3.11敏捷软件开发实例(2): 大语言模型如何赋能敏捷软件开发

拓展阅读: 钉钉软件——以求实精神深耕企业数字化

本章小结

习题

第二部分软件需求与设计

第4章可行性研究与项目开发计划

4.1项目立项概述

4.2可行性研究的任务

4.2.1技术可行性

4.2.2操作可行性

4.2.3经济可行性

4.3可行性研究的步骤

4.4可行性研究实例

4.5制订项目开发计划

4.6案例: “小型网上书店系统”的软件开发计划书

拓展阅读: 汉字激光照排系统——以创新与奉献精神铸就印刷革命

本章小结

习题

第5章软件需求

5.1什么是软件需求

5.1.1软件需求的本质

5.1.2软件需求的特点与重要性

5.1.3软件需求的分类与层次

5.1.4软件需求与需求工程

5.2需求工程的过程

5.2.1需求工程的一般步骤

5.2.2软件需求获取

5.2.3软件需求分析

5.2.4软件需求文档化

5.2.5软件需求确认和验证

5.2.6软件需求管理

5.3敏捷软件开发中的软件需求

5.4软件需求实例(1)

5.5软件需求实例(2): 大语言模型如何赋能软件需求

拓展阅读: 高斯数据库——以工匠精神铸就国产数据库标杆

本章小结

习题

第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.2.4分层体系结构风格

6.2.5客户端/服务器体系结构风格

6.2.6MVC体系结构风格

6.2.73种体系结构风格的对比

6.3软件体系结构设计

6.3.1软件体系结构设计的目的

6.3.2软件体系结构多视图的设计

6.3.3软件体系结构设计的一般步骤

6.4用户界面设计

6.5软件详细设计

6.5.1什么是软件详细设计

6.5.2数据设计

6.6软件设计规约与评审

6.7软件设计实例(1)

6.8软件设计实例(2): 大语言模型如何赋能软件设计

拓展阅读: 鸿蒙操作系统——以奋斗精神铸就国之重器

本章小结

习题

第7章结构化分析与设计

7.1结构化分析

7.1.1结构化分析概述

7.1.2结构化分析建模

7.2结构化设计

7.2.1结构化设计概述

7.2.2结构化设计与结构化分析

7.2.3结构化设计的启发规则

7.2.4结构化概要设计

7.2.5结构化详细设计

7.3结构化分析与设计实例

拓展阅读: DeepSeek——以民族精神领跑中国AI

本章小结

习题

第三部分面向对象分析与设计

第8章面向对象方法与UML

8.1面向对象方法

8.1.1面向对象的基本概念

8.1.2面向对象方法的优势

8.1.3面向对象方法的实施步骤

8.2UML

8.2.1UML简述

8.2.2UML图

8.3静态建模机制

8.3.1用例图

8.3.2类图与对象图

8.3.3包图

8.4动态建模机制

8.4.1顺序图

8.4.2协作图

8.4.3状态图

8.4.4活动图

8.5描述物理架构的机制

8.5.1组件图

8.5.2部署图

8.6面向对象方法与UML实例

拓展阅读: 抖音——以包容精神连接万千世界

本章小结

习题

第9章面向对象分析

9.1面向对象分析方法

9.1.1面向对象分析的过程

9.1.2面向对象分析的原则

9.2面向对象建模

9.2.1建立用例模型

9.2.2建立对象模型

9.2.3建立动态模型

9.2.4建立功能模型

9.2.54种模型之间的关系

9.3面向对象分析实例(1)

9.4面向对象分析实例(2): 大语言模型如何赋能面向对象分析

9.5案例: “小型网上书店系统”的需求规格说明书

拓展阅读: 北斗卫星导航系统——群星闪耀的中国精神

本章小结

习题

第10章面向对象设计

10.1面向对象设计与面向对象分析的关系

10.2面向对象设计的过程与原则

10.2.1面向对象设计的过程

10.2.2面向对象设计的原则

10.3面向对象设计的启发规则

10.4软件设计模式

10.4.1工厂模式

10.4.2桥接模式

10.4.3策略模式

10.4.4其他模式

10.5系统设计

10.5.1系统物理架构设计

10.5.2系统软件架构设计——子系统设计

10.5.3问题域子系统的设计

10.5.4人机交互子系统的设计

10.5.5任务管理子系统的设计

10.5.6数据管理子系统的设计

10.6用户界面设计

10.7对象设计

10.7.1用例设计

10.7.2类设计

10.7.3数据设计

10.7.4对象设计优化

10.8面向对象设计实例(1)

10.9面向对象设计实例(2): 大语言模型如何赋能面向对象设计

10.10案例: “小型网上书店系统”的软件设计说明书

拓展阅读: 银河麒麟——以砥砺前行精神铸牢国产系统根基

本章小结

习题

第四部分编码实现、测试、运营与维护

第11章编码实现

11.1选择编程语言需考虑的因素

11.2编码风格与规范

11.3面向对象实现

11.3.1提高可重用性

11.3.2提高可扩展性

11.3.3提高健壮性

11.4代码重用

11.5分析和评价代码的质量

11.6智能时代的编码实现

11.7编码实现实例(1)

11.8编码实现实例(2): 大语言模型如何赋能编码实现

11.9案例: 使用Visual Studio Code、Vue和Django实现“小型网上书店

系统”的“用户登录”模块

11.10案例: “小型网上书店系统”的源代码和部署文档

拓展阅读: 大疆科技——以实干担当书写中国智造传奇

本章小结

习题

第12章软件测试

12.1软件测试的基本概念

12.1.1软件测试的目标

12.1.2软件测试的原则

12.1.3软件测试的分类

12.2测试用例

12.2.1测试用例的编写

12.2.2测试用例的设计

12.3软件测试方法

12.3.1白盒测试

12.3.2黑盒测试

12.3.3灰盒测试

12.4软件测试的一般步骤

12.4.1单元测试

12.4.2集成测试

12.4.3系统测试

12.4.4验收测试

12.5回归测试

12.6面向对象测试

12.7自动化测试

12.8敏捷测试

12.9软件调试

12.10软件测试实例(1)

12.11软件测试实例(2): 大语言模型如何赋能软件测试

12.12案例: 使用Visual Studio Code和unittest对“小型网上书店系统”的

“用户登录”模块进行单元测试

12.13案例: “小型网上书店系统”的测试分析报告

拓展阅读: 飞桨PaddlePaddle——以技术自强精神铸牢中国AI根基

本章小结

习题

第13章软件运营与维护

13.1软件交付、部署与运营

13.2软件维护的传统方法

13.2.1软件维护的过程

13.2.2软件维护的分类

13.2.3软件的可维护性

13.2.4软件维护的副作用

13.3软件维护的现代方法

13.4软件再工程——重构、正向工程、逆向工程

13.5软件运营与维护实例(1)

13.6软件运营与维护实例(2): 大语言模型如何赋能软件运营与维护

拓展阅读: 宇树科技——敢为人先,拓荒机器人新蓝海

本章小结

习题

第五部分软件工程管理

第14章软件工程管理

14.1软件项目管理

14.1.1软件项目管理概述

14.1.2软件项目管理与软件工程的关系

14.2软件估算

14.2.1软件估算的概念

14.2.2软件估算的方法

14.2.3软件估算的原则与技巧

14.3软件开发进度计划

14.3.1甘特图

14.3.2PERT图

14.4软件开发人员组织

14.5软件开发风险与风险管理

14.5.1软件开发风险

14.5.2软件开发风险管理

14.6软件质量保证

14.6.1软件质量的基本概念

14.6.2软件质量保证的措施

14.7软件配置管理

14.8软件过程能力成熟度模型

14.9软件工程管理实例(1)

14.10软件工程管理实例(2): 大语言模型如何赋能软件工程管理

14.11案例: 使用Project管理“小型网上书店系统”的开发过程

14.12案例: “小型网上书店系统”的用户使用说明书

拓展阅读: WPS Office——以亮剑精神守护民族软件之光

本章小结

附录A软件工程常用工具及其应用

附录B基于“小型网上书店系统”的实验

附录C软件开发项目综合实践详解(机票预订系统)

附录D综合案例

附录E本书配套微课视频清单

参考文献