本书围绕一个真实的案例展开,完整记录了一个融合专业技能和大模型能力的软件开发过程
介绍如何基于坚实的专业基础,借助大模型,实现从业务探索、需求分析、架构设计、编码实现到上线运行的完整过程,展示了大模型支持端到端软件开发的可行性。
实战性强,提供了完整的从0到1的案例,从设计到上线,完整案例分享,不仅仅是一些提示词技巧
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 大模型辅助软件开发:方法与实战 |
分类 | 教育考试-考试-计算机类 |
作者 | 张刚 |
出版社 | 人民邮电出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书围绕一个真实的案例展开,完整记录了一个融合专业技能和大模型能力的软件开发过程 介绍如何基于坚实的专业基础,借助大模型,实现从业务探索、需求分析、架构设计、编码实现到上线运行的完整过程,展示了大模型支持端到端软件开发的可行性。 实战性强,提供了完整的从0到1的案例,从设计到上线,完整案例分享,不仅仅是一些提示词技巧 内容推荐 大模型时代,能否利用好各种工具,成为软件工程师生产效率高低的关键分水岭。本书记录了一个融合专业技能和大模型能力的软件开发过程。案例来自真实场景,将需求分析、领域驱动设计、测试先行、由外而内开发、演进式设计等现代工程实践和大模型的能力有机结合,实现了高效、高质量开发。该案例具有较高的业务复杂度和技术复杂度,读者可以在阅读过程中了解软件开发所面临的典型问题,并学习如何利用大模型解决这些问题。 本书适合希望建立软件开发全局观和想要了解现代软件开发实践的初学者,也适合希望借助大模型提升软件开发效率的专业开发者。此外,本书也可以作为《软件设计:从专业到卓越》的补充读物。 目录 第 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 书评(媒体评论) 目前,利用大模型进行代码补全、片段生成、代码解释等工作的方法已经日渐成熟,我们需要思考如何利用大模型实现更加全面和系统的生成式软件开发,因为只有这样才能在更大的量级上实现软件开发的“提质增效”《大模型辅助软件开发:方法与实战》是当前少有的关于大模型辅助开发的系统性实践,将带领读者开启一场畅淋漓的体验:演进式设计思路主导下的高效人机协作。 ——彭鑫 复旦大学计算机科学技术学院副院长 教授,教育部长江学者 大模型及各类 Copilot 产品持续冲击视野,我不断思考一个问题:大模型是否会从根本上颠覆软件工程开发范式?具体说,大型可以做什么,不可以做什么?本书在前者给了我很多启示,例如基于 DDD方法的 prompt 能够快速生成基本可用的模型代码!事实上,本书就在尝试定义工程师和大模型的交互边界。在软件工程根本之处探索总是富有乐趣的,感谢张刚老师展开的“小径”。 ——许晓斌 阿里巴巴技术总监 毋庸置疑,丰富的软件开发和生成式 AI使用经验能显著提升个人的开发效率。张刚博士作为一名在软件工程和架构领域有多年实践经验的工程师,也一直在生成式 AI 领域不断探索,并在这本书里分享这条探索之路上的宝贵经验,为读者提供了一个全面且深刻的视角:与关注如何使用模型相比,读者更应关注如何构建和设计出优秀的问题。这种问题构建能力,才是充分利用生成式 AI的核心所在。 ——黄峰达(@Phodal) Thoughtworks AI辅助研发工具与开源负责人 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。