為了解決軟體危機,用工程化的思想來進行軟體開發,於是出現了一門新的學科——軟體工程。
說道軟體工程,就不得不說與之相關的devops,其中包括持續整合,持續交付和持續部署等瀑布流模型這些東西不是和某種軟體工程方法關聯的,而是軟體開發需求,是為了保證軟體質量而準備的,而軟體工程是為了解決客戶端需求和軟體實現之間的你,因為客戶需求在軟體開發中經常是明確的,也是頻繁變更的的,devops和敏捷開發沒有什麼關係
瀑布流模型是傳統軟體開發方法中最出名的,因為無法應對客戶頻繁的變化、現在已經被淘汰。
瀑布模型將軟體生命週期分為制定計畫、需求分析、軟體設計、程式編寫、軟體測試和執行維護等六個基本活動,並且規定了他們自上而下、相互銜接的固定次序。
其他傳統方法
除了瀑布流模型,傳統的軟體開方法有增量模型、原型模型、螺旋式模型。
敏捷開發是當下最流行的開發方式,
敏捷開發的敏捷不是說開發進度會加快,而是對需求的變化可以敏捷應對
敏捷開發有兩種實現模型:極限程式設計以及scrum
敏捷開發是乙個軟體開發理念,甚至可以說是軟體開發的信仰!
宣言
我們一直在實踐中探尋更好的軟體開發方法,
身體力行的同時也幫助他人。由此我們建立了如下價值觀:
個體和互動 高於 流程和工具
工作的軟體 高於 詳盡的文件
客戶合作 高於 合同談判
響應變化 高於 遵循計畫
也就是說,儘管右項有其價值,
我們更重視左項的價值。
敏捷宣言的12條原則
我們最重要的目標,是通過持續不斷地
及早交付有價值的軟體使客戶滿意。
欣然面對需求變化,即使在開發後期也一樣。
為了客戶的競爭優勢,敏捷過程掌控變化。
經常地交付可工作的軟體,
相隔幾星期或一兩個月,傾向於採取較短的週期。
業務人員和開發人員必須相互合作,
專案中的每一天都不例外。
激發個體的鬥志,以他們為核心搭建專案。
提供所需的環境和支援,輔以信任,從而達成目標。
不論團隊內外,傳遞資訊效果最好效率也最高的方式是
面對面的交談。
可工作的軟體是進度的首要度量標準。
敏捷過程倡導可持續開發。
責任人、開發人員和使用者要能夠共同維持其步調穩定延續。
堅持不懈地追求技術卓越和良好設計,敏捷能力由此增強。
以簡潔為本,它是極力減少不必要工作量的藝術。
最好的架構、需求和設計出自自組織團隊。
團隊定期地反思如何能提高成效,
並依此調整自身的舉止表現
宣言和12條原則就是我們在實現敏捷開發過程中的嚮導!
在敏捷宣言和12條原則下,有兩種流行的實現模型:極限變成(xp)和scrum
首先文件比測試枯燥太多,其次,終端使用者的使用就是對程式的終極測試所以測試驅動的方法明顯更加高效。
敏捷開發之scrum掃盲,及敏捷開發中xp與scrum的區別
敏捷開發 與 傳統開發
你大概走了假敏捷:認真說說敏捷的實現和問題(手繪版)
軟體工程目標以及軟體工程實踐體驗!
軟體工程的目標 生產具有正確性 可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構 實現及文件為使用者可用的程度。開銷合宜是指軟體開發 執行的整個開銷滿足使用者要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程 過程模型及工程方...
軟體工程實踐總結
這個作業屬於哪個課程 這個作業要求在哪 homework 10864 這個作業的目標 對這個學期軟體工程這門課程的總結 作業正文 本文其他參考文獻 對比開篇部落格你對課程目標和期待,希望通過實踐鍛鍊,增強計算機專業的能力和就業競爭力 對比目前的所學所練所得,在哪些方面達到了你的期待和目標,哪些方面還...
軟體工程實踐總結
首先附上第一篇部落格的鏈結回望開學初對軟體工程的想象,結合自己這大半學期的經歷來說,張棟老師的軟體工程實踐課在某個程度上確實比別的老師苛刻,然而這也正是鍛鍊人的地方。可以這樣說吧,張老師的課確實是我從大一到現在感覺印象最深刻 最有意義的課程,沒有之一。蠻多感慨的,這課程就這樣結束了,不知道到怎麼去過...