課程簡介
數(shù)字?jǐn)?shù)時(shí)代的軟件研發(fā)需要先進(jìn)的軟件工程能力,本課程聚焦大型軟件企業(yè)在軟件工程領(lǐng)域的最佳實(shí)踐與經(jīng)驗(yàn)總結(jié),為學(xué)員帶來企業(yè)級(jí)全方位的軟件工程能力提升與落地實(shí)踐的經(jīng)典案例解讀。
目標(biāo)收益
深入理解軟件工程的時(shí)代背景和重要性
全面掌握中大型企業(yè)在軟件研發(fā)各階段(需求,設(shè)計(jì),開發(fā),測試,運(yùn)維)的最佳實(shí)踐
全面掌握軟件研發(fā)過程優(yōu)化的主流實(shí)踐與方法
幫助提升企業(yè)級(jí)軟件研發(fā)的工程能力
理解研發(fā)過程中的常見誤區(qū),避免實(shí)施中的踩坑
解決企業(yè)級(jí)軟件研發(fā)過程中典型問題,并提供性解決方案
深入理解國內(nèi)外廠商在軟件工程能力提升上的實(shí)踐與探索
深入理解互聯(lián)網(wǎng)大廠和傳統(tǒng)企業(yè)的成功/失敗案例
培訓(xùn)對(duì)象
軟件研發(fā)負(fù)責(zé)人,研發(fā)管理負(fù)責(zé)人,運(yùn)維負(fù)責(zé)人,DevOps負(fù)責(zé)人,測試負(fù)責(zé)人,工程效能負(fù)責(zé)人
研發(fā)管理人員,研發(fā)流程工程師
軟件架構(gòu)師,資深研發(fā)工程師
測試架構(gòu)師,資深測試工程師
運(yùn)維架構(gòu)師,資深運(yùn)維工程師,DevOps工程師,SRE
課程大綱
軟件研發(fā)過程優(yōu)化導(dǎo)論 |
1.為什么你的軟件研發(fā)越來越慢,成本越來越不可控? 2.當(dāng)今軟件研發(fā)的本質(zhì) 3.軟件工程的四大內(nèi)在屬性 4.軟件的規(guī)模與復(fù)雜度困局 5.軟件技術(shù)債務(wù)的種類與特點(diǎn) 6.質(zhì)量和效率真的不可兼得? 7.軟件研發(fā)過程優(yōu)化的體系化方法 8.軟件研發(fā)成本估算的可行性 |
理想中的軟件研發(fā)與現(xiàn)實(shí)中的軟件研發(fā) |
1.軟件企業(yè)研發(fā)過程中遇到的主要問題 2.研發(fā)過程改進(jìn)和優(yōu)化的核心思路 3.互聯(lián)網(wǎng)企業(yè)研發(fā)過程優(yōu)化對(duì)軟件工程的啟發(fā) 4.敏捷研發(fā)模式的理想和現(xiàn)實(shí) 5.敏捷研發(fā)模式的主要誤區(qū)與應(yīng)對(duì)措施 6.案例:傳統(tǒng)軟件企業(yè)的研發(fā)過程優(yōu)化案例 7.案例:互聯(lián)網(wǎng)企業(yè)的研發(fā)過程優(yōu)化案例 |
軟件研發(fā)中的需求分析 |
1.如何應(yīng)對(duì)產(chǎn)品經(jīng)理的“一句話”需求 2.需求質(zhì)量對(duì)軟件研發(fā)的重要性 3.需求問題空間和軟件解決方案空間的異同 4.需求優(yōu)先級(jí)評(píng)估的卡農(nóng)模型 5.需求團(tuán)隊(duì)和研發(fā)團(tuán)隊(duì)的常見合作模式與主要問題 6.需求團(tuán)隊(duì)和研發(fā)團(tuán)隊(duì)的改善探索:基于業(yè)務(wù)架構(gòu)師的實(shí)踐 7.需求顆粒度(大小)的把控原則 8.需求拆分的常見問題與應(yīng)對(duì)策略 9.需求管理的多種形式和應(yīng)用場景(瀑布模型 VS 敏捷模型) 10.需求變更的應(yīng)對(duì)方法和最佳實(shí)踐 11.需求不明確以及需求不穩(wěn)定的主要應(yīng)對(duì)措施 12.版本發(fā)布模式與需求管理 13.案例:傳統(tǒng)軟件產(chǎn)品需求分析案例詳解 14.案例:互聯(lián)網(wǎng)軟件產(chǎn)品需求分析案例詳解 |
本地開發(fā)與開發(fā)者自測的工程實(shí)踐與流程優(yōu)化(上) |
1.高效獲取一致性的本地開發(fā)環(huán)境 2.基于AI精準(zhǔn)提升的代碼輸入效率的常用工具 3.基于Copilot的開發(fā)模式 4.整潔Git的設(shè)計(jì) 5.前端低代碼能力與常用工具 6.后端低代碼能力與常用工具 7.本地編譯加速的常用方式與工具 8.commit message的規(guī)范 9.code search平臺(tái)的使用 10.個(gè)人本地測試的測試環(huán)境管理與提效 11.第三方依賴庫的管理 12.軟件成分分析與代碼安全流程優(yōu)化 |
本地開發(fā)與開發(fā)者自測的工程實(shí)踐與流程優(yōu)化(下) |
1.開發(fā)者自測與測試左移的關(guān)鍵實(shí)踐 2.代碼靜態(tài)質(zhì)量的前期把控 3.代碼動(dòng)態(tài)質(zhì)量的前期把控 4.靜態(tài)代碼掃描的流程優(yōu)化 5.單元測試普遍做的不好的根本原因 6.單元測試的實(shí)用范圍分析 7.單元測試與代碼覆蓋率的關(guān)系 8.提升單元測試執(zhí)行效果的關(guān)鍵實(shí)踐 9.單元測試的自動(dòng)生成技術(shù)原理解讀 10.單元測試的代碼管理 11.單元測試的測試版本管理 12.單模塊的接口測試與Mock 13.代碼覆蓋率統(tǒng)計(jì)與質(zhì)量門禁 |
代碼質(zhì)量提升與代碼評(píng)審 |
1.代碼評(píng)審普遍實(shí)施不到位的根本原因 2.代碼評(píng)審的開展時(shí)機(jī) 3.代碼評(píng)審的核心理念 4.代碼評(píng)審的最佳實(shí)踐(小批量、多批次、找對(duì)人) 5.代碼評(píng)審的責(zé)任認(rèn)定 6.如何提升代碼評(píng)審本身的質(zhì)量 7.代碼評(píng)審的常用工具體系 8.代碼評(píng)審的典型案例分析與解讀 9.代碼評(píng)審的社會(huì)學(xué)屬性探究 10.代碼委員會(huì)機(jī)制與代碼評(píng)審流程改進(jìn) 11.代碼評(píng)審的其他最佳實(shí)踐 |
持續(xù)集成(CI)的工程實(shí)踐與流程優(yōu)化(上) |
1.持續(xù)集成(CI)流水線的整體解讀 2.持續(xù)集成(CI)流水線的主流實(shí)踐與工具 3.持續(xù)集成(CI)完整步驟詳解與最佳實(shí)踐 4.代碼合流CI流水線的設(shè)計(jì) 5.代碼合流CI流水線的擴(kuò)展能力 6.慢SQL掃描的擴(kuò)展 7.典型分支模型解讀與適用場景分析(主干開發(fā),Github Flow,GitFlow,AOne Flow) 8.影響分支模式選擇的主要因素 9.分支模型的流程優(yōu)化與定制 10.分支模型的典型問題與應(yīng)對(duì)策略 11.開發(fā)協(xié)作模式的選擇 |
持續(xù)集成(CI)的工程實(shí)踐與流程優(yōu)化(下) |
1.靜態(tài)代碼檢查常見問題 2.靜態(tài)代碼檢查規(guī)則庫的選擇與優(yōu)化 3.靜態(tài)代碼檢查的前沿實(shí)踐與工具 4.制品庫的管理(傳統(tǒng)制品和容器鏡像) 5.制品的版本號(hào)管理 6.DevSecOps的概念與實(shí)踐 7.DevPerfOps的概念與實(shí)踐 8.研發(fā)效能雙流模型的設(shè)計(jì)理念與落地實(shí)踐 9.研發(fā)效能雙流模型的詳細(xì)解讀 10.雙流聯(lián)動(dòng)的技術(shù)選型與實(shí)現(xiàn) |
持續(xù)集成(CI)中的軟件測試 |
1.持續(xù)集成(CI)中的自動(dòng)化測試策略 2.持續(xù)集成(CI)中的API接口測試 3.持續(xù)集成(CI)中的GUI自動(dòng)化測試 4.持續(xù)集成(CI)中的安全掃描與測試 5.持續(xù)集成(CI)中的性能基線測試 6.持續(xù)集成(CI)中的測試環(huán)境管理與優(yōu)化 7.持續(xù)集成(CI)中的測試數(shù)據(jù)管理與優(yōu)化 8.基線環(huán)境和特性環(huán)境的設(shè)計(jì)與實(shí)踐 9.實(shí)現(xiàn)特性環(huán)境的主流工具詳解 |
系統(tǒng)集成與測試階段的最佳實(shí)踐 |
1.瀑布模式下的測試策略 2.敏捷模式下的測試策略 3.基于高效測試策略的測試流程優(yōu)化與改進(jìn) 4.分層的測試體系建設(shè) 5.測試中臺(tái)的頂層設(shè)計(jì)與落地實(shí)踐 6.測試中臺(tái)中各個(gè)測試服務(wù)的詳細(xì)解讀 7.自動(dòng)化測試:錄制回放式 VS 腳本式 8.自動(dòng)化測試的局限性和影響效能的誤區(qū) 9.企業(yè)級(jí)測試成功實(shí)踐:探索式測試的威力 10.企業(yè)級(jí)測試提效成功實(shí)踐:流量錄制與回放 11.企業(yè)級(jí)測試提效成功實(shí)踐:基于MBT和大數(shù)據(jù)的精準(zhǔn)測試 12.企業(yè)級(jí)測試提效成功實(shí)踐:基于代碼覆蓋率染色的精準(zhǔn)測試 13.企業(yè)級(jí)測試提效成功實(shí)踐:測試數(shù)據(jù)構(gòu)造能力建設(shè) 14.企業(yè)級(jí)測試提效成功實(shí)踐:測試環(huán)境的高效管理 15.企業(yè)級(jí)測試提效成功實(shí)踐:智能化技術(shù)對(duì)自動(dòng)化測試的增強(qiáng) |
發(fā)布與運(yùn)維階段的工程實(shí)踐與流程優(yōu)化 |
1.人肉運(yùn)維和自動(dòng)化運(yùn)維 2.SRE背景下運(yùn)維角色的變更 3.從CI/CD到CO/CE 4.常用的灰度發(fā)布方式與策略設(shè)計(jì) 5.監(jiān)管控一體化的運(yùn)維體系設(shè)計(jì) 6.SRE的核心概念與實(shí)踐詳解 7.AIOps的基本原理與落地實(shí)踐 |
軟件工程能力提升與流程優(yōu)化的行業(yè)實(shí)踐解讀 |
1.Google軟件工程能力核心實(shí)踐解讀 2.eBay軟件工程能力核心實(shí)踐解讀 3.BAT的軟件工程能力核心實(shí)踐解讀 |
軟件研發(fā)過程優(yōu)化導(dǎo)論 1.為什么你的軟件研發(fā)越來越慢,成本越來越不可控? 2.當(dāng)今軟件研發(fā)的本質(zhì) 3.軟件工程的四大內(nèi)在屬性 4.軟件的規(guī)模與復(fù)雜度困局 5.軟件技術(shù)債務(wù)的種類與特點(diǎn) 6.質(zhì)量和效率真的不可兼得? 7.軟件研發(fā)過程優(yōu)化的體系化方法 8.軟件研發(fā)成本估算的可行性 |
理想中的軟件研發(fā)與現(xiàn)實(shí)中的軟件研發(fā) 1.軟件企業(yè)研發(fā)過程中遇到的主要問題 2.研發(fā)過程改進(jìn)和優(yōu)化的核心思路 3.互聯(lián)網(wǎng)企業(yè)研發(fā)過程優(yōu)化對(duì)軟件工程的啟發(fā) 4.敏捷研發(fā)模式的理想和現(xiàn)實(shí) 5.敏捷研發(fā)模式的主要誤區(qū)與應(yīng)對(duì)措施 6.案例:傳統(tǒng)軟件企業(yè)的研發(fā)過程優(yōu)化案例 7.案例:互聯(lián)網(wǎng)企業(yè)的研發(fā)過程優(yōu)化案例 |
軟件研發(fā)中的需求分析 1.如何應(yīng)對(duì)產(chǎn)品經(jīng)理的“一句話”需求 2.需求質(zhì)量對(duì)軟件研發(fā)的重要性 3.需求問題空間和軟件解決方案空間的異同 4.需求優(yōu)先級(jí)評(píng)估的卡農(nóng)模型 5.需求團(tuán)隊(duì)和研發(fā)團(tuán)隊(duì)的常見合作模式與主要問題 6.需求團(tuán)隊(duì)和研發(fā)團(tuán)隊(duì)的改善探索:基于業(yè)務(wù)架構(gòu)師的實(shí)踐 7.需求顆粒度(大?。┑陌芽卦瓌t 8.需求拆分的常見問題與應(yīng)對(duì)策略 9.需求管理的多種形式和應(yīng)用場景(瀑布模型 VS 敏捷模型) 10.需求變更的應(yīng)對(duì)方法和最佳實(shí)踐 11.需求不明確以及需求不穩(wěn)定的主要應(yīng)對(duì)措施 12.版本發(fā)布模式與需求管理 13.案例:傳統(tǒng)軟件產(chǎn)品需求分析案例詳解 14.案例:互聯(lián)網(wǎng)軟件產(chǎn)品需求分析案例詳解 |
本地開發(fā)與開發(fā)者自測的工程實(shí)踐與流程優(yōu)化(上) 1.高效獲取一致性的本地開發(fā)環(huán)境 2.基于AI精準(zhǔn)提升的代碼輸入效率的常用工具 3.基于Copilot的開發(fā)模式 4.整潔Git的設(shè)計(jì) 5.前端低代碼能力與常用工具 6.后端低代碼能力與常用工具 7.本地編譯加速的常用方式與工具 8.commit message的規(guī)范 9.code search平臺(tái)的使用 10.個(gè)人本地測試的測試環(huán)境管理與提效 11.第三方依賴庫的管理 12.軟件成分分析與代碼安全流程優(yōu)化 |
本地開發(fā)與開發(fā)者自測的工程實(shí)踐與流程優(yōu)化(下) 1.開發(fā)者自測與測試左移的關(guān)鍵實(shí)踐 2.代碼靜態(tài)質(zhì)量的前期把控 3.代碼動(dòng)態(tài)質(zhì)量的前期把控 4.靜態(tài)代碼掃描的流程優(yōu)化 5.單元測試普遍做的不好的根本原因 6.單元測試的實(shí)用范圍分析 7.單元測試與代碼覆蓋率的關(guān)系 8.提升單元測試執(zhí)行效果的關(guān)鍵實(shí)踐 9.單元測試的自動(dòng)生成技術(shù)原理解讀 10.單元測試的代碼管理 11.單元測試的測試版本管理 12.單模塊的接口測試與Mock 13.代碼覆蓋率統(tǒng)計(jì)與質(zhì)量門禁 |
代碼質(zhì)量提升與代碼評(píng)審 1.代碼評(píng)審普遍實(shí)施不到位的根本原因 2.代碼評(píng)審的開展時(shí)機(jī) 3.代碼評(píng)審的核心理念 4.代碼評(píng)審的最佳實(shí)踐(小批量、多批次、找對(duì)人) 5.代碼評(píng)審的責(zé)任認(rèn)定 6.如何提升代碼評(píng)審本身的質(zhì)量 7.代碼評(píng)審的常用工具體系 8.代碼評(píng)審的典型案例分析與解讀 9.代碼評(píng)審的社會(huì)學(xué)屬性探究 10.代碼委員會(huì)機(jī)制與代碼評(píng)審流程改進(jìn) 11.代碼評(píng)審的其他最佳實(shí)踐 |
持續(xù)集成(CI)的工程實(shí)踐與流程優(yōu)化(上) 1.持續(xù)集成(CI)流水線的整體解讀 2.持續(xù)集成(CI)流水線的主流實(shí)踐與工具 3.持續(xù)集成(CI)完整步驟詳解與最佳實(shí)踐 4.代碼合流CI流水線的設(shè)計(jì) 5.代碼合流CI流水線的擴(kuò)展能力 6.慢SQL掃描的擴(kuò)展 7.典型分支模型解讀與適用場景分析(主干開發(fā),Github Flow,GitFlow,AOne Flow) 8.影響分支模式選擇的主要因素 9.分支模型的流程優(yōu)化與定制 10.分支模型的典型問題與應(yīng)對(duì)策略 11.開發(fā)協(xié)作模式的選擇 |
持續(xù)集成(CI)的工程實(shí)踐與流程優(yōu)化(下) 1.靜態(tài)代碼檢查常見問題 2.靜態(tài)代碼檢查規(guī)則庫的選擇與優(yōu)化 3.靜態(tài)代碼檢查的前沿實(shí)踐與工具 4.制品庫的管理(傳統(tǒng)制品和容器鏡像) 5.制品的版本號(hào)管理 6.DevSecOps的概念與實(shí)踐 7.DevPerfOps的概念與實(shí)踐 8.研發(fā)效能雙流模型的設(shè)計(jì)理念與落地實(shí)踐 9.研發(fā)效能雙流模型的詳細(xì)解讀 10.雙流聯(lián)動(dòng)的技術(shù)選型與實(shí)現(xiàn) |
持續(xù)集成(CI)中的軟件測試 1.持續(xù)集成(CI)中的自動(dòng)化測試策略 2.持續(xù)集成(CI)中的API接口測試 3.持續(xù)集成(CI)中的GUI自動(dòng)化測試 4.持續(xù)集成(CI)中的安全掃描與測試 5.持續(xù)集成(CI)中的性能基線測試 6.持續(xù)集成(CI)中的測試環(huán)境管理與優(yōu)化 7.持續(xù)集成(CI)中的測試數(shù)據(jù)管理與優(yōu)化 8.基線環(huán)境和特性環(huán)境的設(shè)計(jì)與實(shí)踐 9.實(shí)現(xiàn)特性環(huán)境的主流工具詳解 |
系統(tǒng)集成與測試階段的最佳實(shí)踐 1.瀑布模式下的測試策略 2.敏捷模式下的測試策略 3.基于高效測試策略的測試流程優(yōu)化與改進(jìn) 4.分層的測試體系建設(shè) 5.測試中臺(tái)的頂層設(shè)計(jì)與落地實(shí)踐 6.測試中臺(tái)中各個(gè)測試服務(wù)的詳細(xì)解讀 7.自動(dòng)化測試:錄制回放式 VS 腳本式 8.自動(dòng)化測試的局限性和影響效能的誤區(qū) 9.企業(yè)級(jí)測試成功實(shí)踐:探索式測試的威力 10.企業(yè)級(jí)測試提效成功實(shí)踐:流量錄制與回放 11.企業(yè)級(jí)測試提效成功實(shí)踐:基于MBT和大數(shù)據(jù)的精準(zhǔn)測試 12.企業(yè)級(jí)測試提效成功實(shí)踐:基于代碼覆蓋率染色的精準(zhǔn)測試 13.企業(yè)級(jí)測試提效成功實(shí)踐:測試數(shù)據(jù)構(gòu)造能力建設(shè) 14.企業(yè)級(jí)測試提效成功實(shí)踐:測試環(huán)境的高效管理 15.企業(yè)級(jí)測試提效成功實(shí)踐:智能化技術(shù)對(duì)自動(dòng)化測試的增強(qiáng) |
發(fā)布與運(yùn)維階段的工程實(shí)踐與流程優(yōu)化 1.人肉運(yùn)維和自動(dòng)化運(yùn)維 2.SRE背景下運(yùn)維角色的變更 3.從CI/CD到CO/CE 4.常用的灰度發(fā)布方式與策略設(shè)計(jì) 5.監(jiān)管控一體化的運(yùn)維體系設(shè)計(jì) 6.SRE的核心概念與實(shí)踐詳解 7.AIOps的基本原理與落地實(shí)踐 |
軟件工程能力提升與流程優(yōu)化的行業(yè)實(shí)踐解讀 1.Google軟件工程能力核心實(shí)踐解讀 2.eBay軟件工程能力核心實(shí)踐解讀 3.BAT的軟件工程能力核心實(shí)踐解讀 |