軟件工程3.0:大模型驅動的研發新範式
朱少民 王千祥
相關主題
商品描述
本書系統地探討了軟件工程從 1.0 到 3.0 的演進歷程,深入剖析了軟件工程 3.0 的新範式及其核心特徵。書中詳細介紹了軟件工程 3.0 的實施策略和路線圖,以及提示工程、RAG、智能體、數據治理、模型工程和安全治理等核心能力的建設。通過對需求分析、架構設計、UI 生成、結對編程、測試智能化和運維監控等關鍵環節的實踐案例分析,全面重塑了軟件開發生命周期。此外,書中還對軟件工程的未來進行了展望,探討了多模態技術和 AGI(通用人工智能)等對軟件研發的深遠影響。
本書適合軟件研發管理人員(包括研發總經理、技術經理、項目經理、測試經理等)、
軟件工程師、軟件測試工程師,以及對軟件工程智能化轉型感興趣的讀者閱讀參考。
作者簡介
朱少民
同濟大學特聘教授、CCF 傑出會員、軟件綠色聯盟標準評測組組長、國內軟件工程專家。專註於軟件測試、質量管理和軟件工程的教學、科研與行業應用。QECon大會和 AiDD 峰會的發起人,通過“軟件工程 3.0 時代”個人自媒體賬號持續分享前沿觀點,推動行業交流與創新。先後獲得多項省部級科技進步獎,出版 20 餘部著作及本譯作。十餘年間,頻繁受邀在國內外學術會與技術峰會發表主題演講,並為多家世界 500強企業提供專業咨詢與顧問服務。曾任思科(中國)軟件有限公司 QA 高級總監,擔任 IEEE ICST 2019 工業論壇主席及多個IEEE 國際學術會議程序委員,同時擔任《軟件學報》和《電腦學報》審稿人。
王乾祥
華為雲智能化軟件研發首席專家,PaaS技術創新Lab主任,中國電腦學會軟件工程專業委員會副主任。主導了華為公司的智能化軟件研發工作,致力於將AI技術與軟件分析技術相結合,推動軟件工程領域的創新與發展。近年來帶領團隊在軟件研發領域探索大模型系統,並成功賦能公司的系列軟件研發工具。
目錄大綱
第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
後記