- 商品参数
-
- 作者:
张刚著|
无编
- 出版社:人民邮电出版社
- 出版时间:2024-08
- 页数:无
- ISBN:9782792982112
- 版权提供:人民邮电出版社
内容介绍
大模型时代,能否利用好各种工具,成为软件工程师生产效率高低的关键分水岭。本书记录了一个融合专业技能和大模型能力的软件开发过程。案例来自真实场景,将需求分析、领域驱动设计、测试先行、由外而内开发、演进式设计等现代工程实践和大模型的能力有机结合,实现了*、高质量开发。该案例具有较高的业务复杂度和技术复杂度,读者可以在阅读过程中了解软件开发所面临的典型问题,并学习如何利用大模型解决这些问题。 本书适合希望建立软件开发全局观和想要了解现代软件开发实践的初学者,也适合希望借助大模型提升软件开发效率的专业*。此外,本书也可以作为《软件设计:从专业到*》的补充读物。
目录
第 1章 认识*软件开发 1
1 1 *探索和发现 1
1 1 1 洞察软件开发的复杂性本质 1
1 1 2 开发的核心是探索和发现 4
1 2 建设专业能力 6
1 2 1 分而治之 6
1 2 2 质量内建 7
1 2 3 持续演进 8
1 2 4 精益软件设计框架 9
1 3 用大模型提升开发效率 16
1 3 1 大模型可以帮助工程师做什么 16
1 3 2 和大模型协同的原则和技巧 26
第 2章 业务规划和流程分析 29
2 1 案例背景 29
2 2 精益创业和*小可行产品 29
2 2 1 精益创业为什么重要 30
2 2 2 成功的核心是快速学习 30
2 2 3 开发 测量 认知 31
2 2 4 *小可行产品 32
2 3 共享出行的业务规划 32
2 4 业务流程分析 35
2 4 1 业务流程 35
2 4 2 业务流程的表达 35
2 4 3 事件驱动的业务流程分析 37
2 5 共享出行的业务流程分析 38
2 5 1 写下终态业务事件 38
2 5 2 由后到前列出所有关键的业务事件 39
2 5 3 分析异常情况 39
2 5 4 定义执行者和动作 41
第3章 分析系统需求,澄清需求细节 43
3 1 需求分析活动概览 43
3 2 大模型如何支持需求分析 46
3 3 管理需求全景图 49
3 4 在需求分析过程中沉淀领域模型 50
3 4 1 探索和发现领域模型 51
3 4 2 领域模型的价值 54
3 5 需求澄清和实例化 55
3 5 1 围绕业务目标,澄清需求细节 55
3 5 2 业务规则描述 56
3 5 3 使用测试用例澄清需求 58
第4章 构建初始架构 63
4 1 架构的使命和目标 63
4 1 1 架构的定义 63
4 1 2 如何形成高质量决策 64
4 2 大模型如何支持架构设计 65
4 3 理性决策和演进式架构 69
4 3 1 设计的理性模型 69
4 3 2 如何让架构可演进 75
4 4 共享出行的关键架构决策 76
4 4 1 独立App 还是*小程序 76
4 4 2 架构分解 77
4 4 3 开发、购买还是复用 80
4 4 4 容器化部署 82
4 5 从构建一个空系统开始 83
4 5 1 空系统并不是什么*没做 83
4 5 2 初始化Spring Boot 项目 84
4 5 3 搭建代码框架 85
4 6 制定自动化测试方案 88
4 6 1 需要完备的自动化测试 88
4 6 2 测试先行的开发策略 89
4 6 3 选择有*的自动化测试方案 89
第5章 实现核心域 92
5 1 用大模型辅助开发核心域 92
5 2 用代码表达领域模型 93
5 2 1 用大模型生成领域层代码 93
5 2 2 理解DDD 战术模式 98
5 3 发布出行计划 103
5 3 1 基于需求编写测试代码和产品代码 103
5 3 2 修复大模型输出中的问题 106
5 3 3 事件和事务耦合 107
5 3 4 实现API 109
5 4 撮合出行计划 110
5 4 1 从实例化需求到自动化测试 111
5 4 2 由外而内实现系统功能 114
5 4 3 注册事件监听,完成集成 122
5 5 通过WebSocket 发送通知 123
5 5 1 WebSocket 和STOMP 协议 123
5 5 2 实现基于WebSocket 的通知 125
第6章 实现通用域:以认证授权为例 129
6 1 认证授权基础 129
6 1 1 基本概念 129
6 1 2 认证授权流程 130
6 1 3 令牌格式和OIDC 协议 132
6 2 Keycloak 基础 135
6 2 1 部署Keycloak 135
6 2 2 配置Realm 136
6 2 3 创建客户端 137
6 2 4 创建测试用户 138
6 2 5 测试认证授权,获取访问令牌 138
6 2 6 用API 创建用户 138
6 3 用大模型辅助开发认证授权服务 139
6 3 1 *小程序身份认证方案 139
6 3 2 实现登录功能 141
6 4 用大模型辅助开发自动化测试 144
6 4 1 利用大模型规划和编写自动化测试 144
6 4 2 改进设计获得更好的可测试性 146
6 4 3 Mock 外部依赖 147
6 4 4 运行测试 149
6 5 用大模型辅助集成Spring *配置 149
6 5 1 使用Spring Security 保护API 150
6 5 2 基于HTTP 请求头的用户ID 识别 152
第7章 构建持续集成基础设施 157
7 1 持续集成加速演进式设计 157
7 2 用大模型辅助构建持续集成流水线 161
7 2 1 安装Jenkins 161
7 2 2 设计持续集成流水线 164
7 3 用大模型支持容器化部署 167
7 3 1 编写Dockerfile 167
7 3 2 用Kubernetes 管理服务 168
7 3 3 编写Kubernetes 资源配置文件 170
7 3 4 在Kubernetes 集群中部署资源 172
第8章 实现*小程序 174
8 1 *小程序开发基础 174
8 1 1 *小程序的结构 174
8 1 2 小程序开发环境 176
8 2 规划界面原型 176
8 2 1 原型设计 177
8 2 2 映射到页面和组件 177
8 3 用大模型辅助前端开发 179
8 3 1 完成页面整体框架 179
8 3 2 实现plan 组件 180
8 3 3 重构和封装 183
8 3 4 和后端集成 185
8 4 用大模型辅助完成权限管理 190
8 4 1 获取访问令牌 190
8 4 2 在API 调用中添加访问令牌 192
第9章 持续演进 194
9 1 业务发展要求演进式设计 194
9 2 上车点管理 195
9 2 1 更新领域模型 195
9 2 2 在撮合成功后计算并指定上车点 197
9 2 3 出发地附近没有上车点 199
9 2 4 合并距离相近的上车点 201
9 3 顺风车业务 202
9 3 1 业务流程分析 202
9 3 2 更新领域模型 204
9 3 3 发布出行计划 204
9 3 4 撮合出行计划 207
作者介绍
张刚,软件工程博士、*技术*、CCF 软件工程委员会执行委员、贝尔实验室杰出工程师。先后任职于阿尔卡特朗讯、上海理工大学和阿里巴巴。20 余年软件开发、架构设计和技术*的成功经验,先进软件工程方法与实践的持续探索者和积极传播者。
1