第1章 演变之路:软件工程的三个时代 001
1.1 1.0时代:传统软件工程 003
1.2 2.0时代:敏捷软件工程 005
1.3 3.0时代开启:智能软件工程 007
1.3.1 软件工程3.0的特征 008
1.3.2 软件工程跨时代的比较 012
1.3.3 软件工程3.0的核心优势 014
1.3.4 软件工程3.0时代的挑战 016
第2章 为何定义软件工程3.0 019
2.1 软件新形态:SaaM 021
2.1.1 溯源软件2.0 022
2.1.2 SaaM的表示及其特点 023
2.2 AIGC引领的软件开发新范式 026
2.2.1 软件开发范式回顾 026
2.2.2 新范式:模型驱动研发 029
2.3 生产力革命:迈向10倍效能 031
2.4 生产关系:超级个体与新型团队 033
第3章 软件工程3.0实施策略和路线图 039
3.1 实施策略 041
3.1.1 常见策略 041
3.1.2 因地制宜 043
3.1.3 价值优先推进策略 046
3.2 实施三部曲 049
3.2.1 自我评估并选择合适的实施方案 051
3.2.2 局部、有限的实施并适当扩展实施范围 053
3.2.3 全面实施与持续改进 056
3.3 如何微调适合自己的领域大模型 057
3.4 如何选择第三方研发大模型 061
3.5 如何选择第三方API服务 063
3.6 如何应对安全问题 065
第4章 软件工程3.0的核心能力建设 069
4.1 提示工程能力:高效驾驭大模型 071
4.1.1 提示词要素与框架 073
4.1.2 提示词的思维链和思维树 078
4.1.3 软件研发中的提示工程实践 085
4.2 RAG技术:利用已有数字资产 091
4.2.1 RAG介绍 092
4.2.2 RAG技术实践 096
4.3 智能体技术:构建行动与反馈之闭环 099
4.3.1 基于LLM的智能体 100
4.3.2 示例:AutoGPT 102
4.3.3 多智能体 103
4.3.4 智能体框架 108
4.4 数据治理能力:兵马未动,粮草先行 112
4.4.1 数据质量标准 113
4.4.2 数据清洗 114
4.4.3 数据增强 117
4.5 模型工程能力:量体裁衣,释放潜能 118
4.5.1 模型微调技术 119
4.5.2 微调中的强化学习 123
4.5.3 模型推理部署 125
4.5.4 模型评测与改进 127
4.6 安全治理能力:行稳致远 135
第5章 SE 3.0实践场:重塑软件开发生命周期 139
5.1 需求获取、分析与定义:循序渐进、水到渠成 142
5.1.1 RAG+智能体助力需求分析 142
5.1.2 业务需求收集与获取 145
5.1.3 业务需求建模与分析 149
5.1.4 需求定义(生成需求文档) 157
5.1.5 需求评审与优化 164
5.1.6 小结 168
5.2 架构设计:AI辅助设计的奥秘 169
5.2.1 从技术方案、架构到类的设计 170
5.2.2 技术架构设计评审 182
5.2.3 小结 196
5.3 UI革命:GUI生成和CUI 197
5.3.1 生成软件UI及其代码 198
5.3.2 从UI上提升用户体验 206
5.3.3 小结 211
5.4 结对编程成为常态:从代码生成到代码评审 212
5.4.1 人机结对编程的到来 213
5.4.2 OpenAI o1代码生成能力展示 216
5.4.3 大模型编程能力评测 227
5.4.4 AI程序员与优秀的编程工具 231
5.4.5 小结 237
5.5 TDD青春焕发 239
5.5.1 大模型时代的UTDD 240
5.5.2 大模型时代的ATDD 247
5.5.3 小结 256
5.6 测试智能化:从API测试到E2E测试 258
5.6.1 LLM驱动测试分析与设计 259
5.6.2 LLM生成测试用例与脚本 266
5.6.3 LLM驱动非功能性测试 278
5.6.4 小结 286
5.7 LLM驱动运维:异常监控与定位 288
5.7.1 LLM在运维上的核心能力 289
5.7.2 LLM在运维上的应用案例 293
5.7.3 小结 297
第6章 未来展望 299
6.1 LLM是银弹、一统天下吗? 301
6.2 软件复杂度问题能彻底解决吗? 303
6.3 未来的软件会更加安全可信吗? 306
6.4 未来的研发工具、研发角色、AIGC如何协同? 310
6.5 多模态给软件研发带来新能力 313
6.6 AGI对软件研发会有怎样的影响? 316
参考资料 321
后记