本書系統(tǒng)地探討了軟件工程從 1.0 到 3.0 的演進歷程,深入剖析了軟件工程 3.0 的新范式及其核心特征。書中詳細介紹了軟件工程 3.0 的實施策略和路線圖,以及提示工程、RAG、智能體、數(shù)據(jù)治理、模型工程和安全治理等核心能力的建設。通過對需求分析、架構設計、UI 生成、結對編程、測試智能化和運維監(jiān)控等關鍵環(huán)節(jié)的實踐案例分析,全面重塑了軟件開發(fā)生命周期。此外,書中還對軟件工程的未來進行了展望,探討了多模態(tài)技術和 AGI(通用人工智能)等對軟件研發(fā)的深遠影響。
本書適合軟件研發(fā)管理人員(包括研發(fā)總經(jīng)理、技術經(jīng)理、項目經(jīng)理、測試經(jīng)理等)、
軟件工程師、軟件測試工程師,以及對軟件工程智能化轉型感興趣的讀者閱讀參考。
系統(tǒng)性探索:全面梳理軟件工程從 1.0 到 3.0 的演進歷程,深入剖析 3.0 新范式特征。
核心能力聚焦:詳細解讀提示工程、RAG、智能體、數(shù)據(jù)治理、模型工程和安全治理等關鍵能力,助力讀者快速上手。
案例照亮實踐:提供軟件工程 3.0 實施策略和路線圖,并以各環(huán)節(jié)實踐案例重塑軟件開發(fā)生命周期。
前沿趨勢洞察:探討了多模態(tài)技術和AGI 對軟件研發(fā)的深遠影響,為讀者布局未來提供參考。
科技與人文: 本書不僅是一本技術指南,也是關于人類智能與技術關系的深刻探討。
中國工程院院士楊善林和蔣昌俊老師作序推薦
朱少民 同濟大學特聘教授、CCF 杰出會員、軟件綠色聯(lián)盟標準評測組組長、國內(nèi)軟件工程專家。專注于軟件測試、質(zhì)量管理和軟件工程的教學、科研與行業(yè)應用。QECon大會和 AiDD 峰會的發(fā)起人,通過軟件工程 3.0 時代個人自媒體賬號持續(xù)分享前沿觀點,推動行業(yè)交流與創(chuàng)新。先后獲得多項省部級科技進步獎,出版 20 余部著作及本譯作。十余年間,頻繁受邀在國內(nèi)外學術會與技術峰會發(fā)表主題演講,并為多家世界 500強企業(yè)提供專業(yè)咨詢與顧問服務。曾任思科(中國)軟件有限公司 QA 高級總監(jiān),擔任 IEEE ICST 2019 工業(yè)論壇主席及多個IEEE 國際學術會議程序委員,同時擔任《軟件學報》和《計算機學報》審稿人。 王干祥 華為云智能化軟件研發(fā)首席專家,PaaS技術創(chuàng)新Lab主任,中國計算機學會軟件工程專業(yè)委員會副主任。主導了華為公司的智能化軟件研發(fā)工作,致力于將AI技術與軟件分析技術相結合,推動軟件工程領域的創(chuàng)新與發(fā)展。近年來帶領團隊在軟件研發(fā)領域探索大模型系統(tǒng),并成功賦能公司的系列軟件研發(fā)工具。
第1章 演變之路:軟件工程的三個時代 001
1.1 1.0時代:傳統(tǒng)軟件工程 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的核心優(yōu)勢 014
1.3.4 軟件工程3.0時代的挑戰(zhàn) 016
第2章 為何定義軟件工程3.0 019
2.1 軟件新形態(tài):SaaM 021
2.1.1 溯源軟件2.0 022
2.1.2 SaaM的表示及其特點 023
2.2 AIGC引領的軟件開發(fā)新范式 026
2.2.1 軟件開發(fā)范式回顧 026
2.2.2 新范式:模型驅動研發(fā) 029
2.3 生產(chǎn)力革命:邁向10倍效能 031
2.4 生產(chǎn)關系:超級個體與新型團隊 033
第3章 軟件工程3.0實施策略和路線圖 039
3.1 實施策略 041
3.1.1 常見策略 041
3.1.2 因地制宜 043
3.1.3 價值優(yōu)先推進策略 046
3.2 實施三部曲 049
3.2.1 自我評估并選擇合適的實施方案 051
3.2.2 局部、有限的實施并適當擴展實施范圍 053
3.2.3 全面實施與持續(xù)改進 056
3.3 如何微調(diào)適合自己的領域大模型 057
3.4 如何選擇第三方研發(fā)大模型 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 軟件研發(fā)中的提示工程實踐 085
4.2 RAG技術:利用已有數(shù)字資產(chǎn) 091
4.2.1 RAG介紹 092
4.2.2 RAG技術實踐 096
4.3 智能體技術:構建行動與反饋之閉環(huán) 099
4.3.1 基于LLM的智能體 100
4.3.2 示例:AutoGPT 102
4.3.3 多智能體 103
4.3.4 智能體框架 108
4.4 數(shù)據(jù)治理能力:兵馬未動,糧草先行 112
4.4.1 數(shù)據(jù)質(zhì)量標準 113
4.4.2 數(shù)據(jù)清洗 114
4.4.3 數(shù)據(jù)增強 117
4.5 模型工程能力:量體裁衣,釋放潛能 118
4.5.1 模型微調(diào)技術 119
4.5.2 微調(diào)中的強化學習 123
4.5.3 模型推理部署 125
4.5.4 模型評測與改進 127
4.6 安全治理能力:行穩(wěn)致遠 135
第5章 SE 3.0實踐場:重塑軟件開發(fā)生命周期 139
5.1 需求獲取、分析與定義:循序漸進、水到渠成 142
5.1.1 RAG 智能體助力需求分析 142
5.1.2 業(yè)務需求收集與獲取 145
5.1.3 業(yè)務需求建模與分析 149
5.1.4 需求定義(生成需求文檔) 157
5.1.5 需求評審與優(yōu)化 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 結對編程成為常態(tài):從代碼生成到代碼評審 212
5.4.1 人機結對編程的到來 213
5.4.2 OpenAI o1代碼生成能力展示 216
5.4.3 大模型編程能力評測 227
5.4.4 AI程序員與優(yōu)秀的編程工具 231
5.4.5 小結 237
5.5 TDD青春煥發(fā) 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驅動運維:異常監(jiān)控與定位 288
5.7.1 LLM在運維上的核心能力 289
5.7.2 LLM在運維上的應用案例 293
5.7.3 小結 297
第6章 未來展望 299
6.1 LLM是銀彈、一統(tǒng)天下嗎? 301
6.2 軟件復雜度問題能徹底解決嗎? 303
6.3 未來的軟件會更加安全可信嗎? 306
6.4 未來的研發(fā)工具、研發(fā)角色、AIGC如何協(xié)同? 310
6.5 多模態(tài)給軟件研發(fā)帶來新能力 313
6.6 AGI對軟件研發(fā)會有怎樣的影響? 316
參考資料 321
后記