[導(dǎo)航目錄] 記錄今日份學(xué)習(xí)內(nèi)容蛔六,同時(shí)開始使用markdown方式記錄--2020-05-17
1.軟件開發(fā)流程
- 需求分析
- 概要設(shè)計(jì)
- 詳細(xì)設(shè)計(jì)
- 編碼
- 測試
- 軟件交付
- 驗(yàn)收
- 維護(hù)
2.軟件開發(fā)流程的演變
2.1 傳統(tǒng)瀑布模型
項(xiàng)目計(jì)劃 =》需求分析 =》軟件設(shè)計(jì) =》程序開發(fā) =》軟件測試 =》集成維護(hù)
2.2 敏捷開發(fā)模型
- 更強(qiáng)調(diào)程序員團(tuán)隊(duì)與業(yè)務(wù)專家之間的緊密協(xié)作
- 面對面的溝通
- 頻繁交付新的軟件版本
- 緊湊而自我組織型的團(tuán)隊(duì)
- 能夠很好的適應(yīng)需求變化的代碼編寫和團(tuán)隊(duì)組織方法
- 更注重軟件開發(fā)過程中人的作用
2.2.1 XP - 極限編程
XP是一種近螺旋式的開發(fā)方法苍在,它將復(fù)雜的開發(fā)過程分解成一個(gè)個(gè)相對比較簡單的小周期该编;通過積極的交流反饋等方法岛宦,可以清楚開發(fā)進(jìn)度失尖、變化较剃、待解決問題和潛在困難等眉孩,可以及時(shí)調(diào)整開發(fā)過程
[圖片上傳中...(image.png-304ee9-1589682743432-0)]
2.2.2. SCRUM
Scrum是用于開發(fā)个绍、交付和持續(xù)支持復(fù)雜產(chǎn)品的一個(gè)框架,是一個(gè)增量的浪汪、迭代的開發(fā)過程
- 3個(gè)角色:產(chǎn)品負(fù)責(zé)人(Product Owner)巴柿、Scrum Master、開發(fā)團(tuán)隊(duì)
- 3個(gè)工件:產(chǎn)品Backlog死遭、SprintBacklog广恢、產(chǎn)品增量(Increment)
- 5個(gè)事件:Sprint:Sprint計(jì)劃會議(Sprint Planning Meeting)、每日站會(Daily Scrum Meeting)呀潭、Sprint評審會議(Sprint Review Meeting)钉迷、Sprint回顧會議(Sprint Retrospective Meeting)
- 5個(gè)價(jià)值:承諾、專注钠署、開放糠聪、尊重、勇氣
- 三大支柱:透明性(Transparency)谐鼎、檢驗(yàn)(Inspection)舰蟆、適應(yīng)(Adaptation)
-
XP與Scrum區(qū)別
迭代長度:1-2周/2-4周
是否允許修改需求:未實(shí)現(xiàn)的可以/不可以
是否嚴(yán)格優(yōu)先級:必須/可優(yōu)先被依賴需求
是否嚴(yán)格的工程方法:嚴(yán)格規(guī)定/自覺保證
2.3 DevOps開發(fā)模型
DevOps(Development和Operations的組合詞)是一組過程、方法與系統(tǒng)的統(tǒng)稱狸棍,用于促進(jìn)開發(fā)身害、技術(shù)運(yùn)營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合草戈。
它是一種重視“軟件開發(fā)人員(Dev)”和“IT運(yùn)維技術(shù)人員(Ops)”之間溝通合作的文化塌鸯、運(yùn)動或慣例。透過自動化“軟件交付”和“架構(gòu)變更”的流程唐片,來使得構(gòu)建丙猬、測試丢习、發(fā)布軟件能夠更加地快捷、頻繁和可靠淮悼。
它的出現(xiàn)是由于軟件行業(yè)日益清晰地認(rèn)識到:為了按時(shí)交付軟件產(chǎn)品和服務(wù),開發(fā)和運(yùn)維工作必須緊密合作揽思。
需求頻繁變化袜腥、開發(fā)需要敏捷、測試需要敏捷钉汗;
-
減少變更范圍羹令、加強(qiáng)發(fā)布協(xié)調(diào)、自動化
持續(xù)開發(fā):
計(jì)劃:jira
編碼:Git损痰、SVN
打包:Ant福侈、Maven、Grade持續(xù)測試:
自動化測試工具:Selenium卢未、Appium肪凛、Pytest、TestNG等
可以使用Docker容器實(shí)時(shí)模擬測試環(huán)境-
持續(xù)集成:
新功能代碼與現(xiàn)有代碼集成的階段:Jenkins
image.png 持續(xù)部署:
將代碼部署到生產(chǎn)環(huán)境的階段:配置管理工具辽社、容器化工具持續(xù)監(jiān)控:
非常關(guān)鍵的階段:使用監(jiān)控工具密切監(jiān)視系統(tǒng)的運(yùn)行狀態(tài)
2.4 CI/CD
CI 持續(xù)集成(Continuous integration)
CD 持續(xù)交付(Continuous delivery)