一、軟件開發(fā)流程

目錄

  • 軟件
  • 軟件開發(fā)流程的演變
    • 瀑布模型
    • 敏捷模型
      • XP
      • SCRUM
    • DevOps

一、軟件

  • 與計(jì)算機(jī)系統(tǒng)操作有關(guān)的計(jì)算機(jī)程序、可能有的文件、文檔及數(shù)據(jù)。


    image.png

二、軟件開發(fā)流程的演變

image.png

1、瀑布模型

  • 軟件開發(fā)的各項(xiàng)活動(dòng)嚴(yán)格按照線性方式進(jìn)行
  • 當(dāng)前活動(dòng)接受上一項(xiàng)活動(dòng)的工作結(jié)果
  • 當(dāng)前活動(dòng)的工作結(jié)果需要進(jìn)行驗(yàn)證


    image.png
瀑布模型優(yōu)缺點(diǎn)
  • 優(yōu)點(diǎn)
    • 開發(fā)的各個(gè)階段比較清晰
    • 強(qiáng)調(diào)早期計(jì)劃及需求調(diào)查
    • 適合需求穩(wěn)定的產(chǎn)品開發(fā)
  • 缺點(diǎn)
    • 由于開發(fā)模型是線性的,增加了開發(fā)的風(fēng)險(xiǎn)
    • 早期的錯(cuò)誤可能要等到開發(fā)后期的階段才能發(fā)現(xiàn)

2、敏捷開發(fā)模型

  • XP
  • SCRUM
XP - 極限編程
image.png
SCRUM
image.png
敏捷模型總結(jié)
  • 增量迭代
  • 小步快跑

3、DevOps

image.png
DevOps 生命周期
  • 持續(xù)開發(fā):交付成果被分解成各個(gè)任務(wù)節(jié)點(diǎn),可以在很短的時(shí)間內(nèi)開發(fā)并進(jìn)行交付。包含編碼、構(gòu)建的階段。編碼階段可使用svn、git等工具進(jìn)行編碼的維護(hù);構(gòu)建階段可以使用打包工具將代碼打包。
  • 持續(xù)測(cè)試:使用自動(dòng)化測(cè)試工具持續(xù)測(cè)試,如selenium、appium工具,unittest、pytest測(cè)試框架。
  • 持續(xù)集成:不斷與現(xiàn)有代碼進(jìn)行合并,如使用Jenkins工具從倉(cāng)庫(kù)提取代碼進(jìn)行構(gòu)建。
  • 持續(xù)部署:只有通過(guò)了持續(xù)集成的代碼才會(huì)進(jìn)入持續(xù)部署,可以使用docker讓環(huán)境部署保持一致。
  • 持續(xù)監(jiān)控:通過(guò)線上監(jiān)控提高軟件質(zhì)量、監(jiān)控軟件性能。運(yùn)維人員監(jiān)控用戶行為,從而收集數(shù)據(jù)。


    image.png
DevOps對(duì)發(fā)布的影響
  • 減少變更范圍
  • 加強(qiáng)發(fā)布協(xié)調(diào)
  • 自動(dòng)化
CI / CD
  • 持續(xù)集成(Continuous integration,縮寫為CI)是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成他們的工作,通常每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過(guò)自動(dòng)化的構(gòu)建(包括編譯、發(fā)布、自動(dòng)化測(cè)試)來(lái)驗(yàn)證,根據(jù)測(cè)試結(jié)果,我們可以確定新代碼和原有代碼能否正確地集成在一起。
  • 持續(xù)交付(Continuous delivery,縮寫為CD) 是一種軟件工程手法,讓軟件產(chǎn)品的產(chǎn)出過(guò)程在一個(gè)短周期內(nèi)完成,以保證軟件可以穩(wěn)定、持續(xù)的保持在隨時(shí)可以發(fā)布的狀況。它的目標(biāo)在于讓軟件的構(gòu)建、測(cè)試與發(fā)布變得更快以及更頻繁。這種方式可以減少軟件開發(fā)的成本與時(shí)間,減少風(fēng)險(xiǎn)。
CD與DevOps的關(guān)系
  • DevOps的范圍更廣,是軟件交付過(guò)程所涉及的多個(gè)團(tuán)隊(duì)之間的合作,并且將軟件交付的過(guò)程自動(dòng)化。
  • 持續(xù)交付是一種自動(dòng)化交付的手段,關(guān)注點(diǎn)在于將不同的過(guò)程集中起來(lái),并且更快、更頻繁地執(zhí)行這些過(guò)程。
  • DevOps可以是持續(xù)交付下的一個(gè)產(chǎn)物,持續(xù)交付的成果直接匯入DevOps模型。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • [導(dǎo)航目錄](méi) 記錄今日份學(xué)習(xí)內(nèi)容,同時(shí)開始使用markdown方式記錄--2020-05-17 1.軟件開發(fā)流程...
    zhenzhen_b6bd閱讀 584評(píng)論 0 0
  • 摘要: 待補(bǔ)充 關(guān)鍵字:質(zhì)量紅線,質(zhì)量模型,質(zhì)量規(guī)范,迭代內(nèi)驗(yàn)收, 正文:軟件項(xiàng)目的實(shí)施過(guò)程是質(zhì)量的形成過(guò)程,體現(xiàn)...
    玲玲總總閱讀 809評(píng)論 0 0
  • 關(guān)鍵詞:軟件開發(fā)流程、 1. 軟件開發(fā)流程 軟件開發(fā)流程的概念:通過(guò)一系列步驟保證軟件產(chǎn)品的順利完成,是軟件產(chǎn)品在...
    編程半島閱讀 1,968評(píng)論 0 5
  • 一個(gè)軟件從開始到最后一共需要以下幾個(gè)流程: 1、計(jì)劃 2、分析 3、設(shè)計(jì) 4、編碼 5、測(cè)試 6、維護(hù)...
    涼小呆閱讀 3,778評(píng)論 0 1
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來(lái)的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過(guò)就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,517評(píng)論 2 7

友情鏈接更多精彩內(nèi)容