软件开发过程变迁史
20世紀(jì)50年代:
軟件開發(fā)與計算機硬件生產(chǎn)和調(diào)試集成在一起。僅僅在硬件工程中加入了編碼、測試等相關(guān)的軟件開發(fā)活動。
20世紀(jì)60年代:
開發(fā)人員逐漸意識到軟件易于修改、容易復(fù)制產(chǎn)生新副本等不同于硬件的特點,開始采用特定的方法開發(fā)軟件,形成軟件工藝的概念。典型的開發(fā)方法是編程加修復(fù)。
20世紀(jì)80-90年代:
研究人員提出“軟件過程等重要的概念也是軟件”,揭示了開發(fā)優(yōu)秀軟件過程重要性,引入了過程需求、過程架構(gòu)、過程變更等概念。1991年CMU SEI研發(fā)了一系列評估軟件開發(fā)能力成熟度的方法框架CMM,用于評估和改進軟件過程。2000年,CMM發(fā)展為CMMI(能力成熟度模型集成)。
20世紀(jì)90年代后期:
為了應(yīng)變多變的需求,出現(xiàn)了多種具有快速迭代反饋、適應(yīng)需求變化等相對輕量級特點的敏捷方法,與傳統(tǒng)的注重計劃、控制變更的方法形成對比。敏捷方法強調(diào)更快地交付高價值的產(chǎn)品,形成了極限編程、scrum等方法為代表的多種敏捷開發(fā)實踐。
進入21世紀(jì)以后:
傳統(tǒng)的重量級軟件過程和新興的敏捷軟件過程都在不同領(lǐng)域得到了發(fā)展。大量軟件開發(fā)需求隨著互聯(lián)網(wǎng)的普及朝著快速、易變的方向發(fā)展,因此敏捷方法被廣泛應(yīng)用。同時敏捷方法也被應(yīng)用到了軟件運行維護方面。2009年DevOpsDays會議提出了DevOps。
近年來:
對軟件過程探討更加聚焦于軟件開發(fā)效能和質(zhì)量的提升方法。各大企業(yè)不斷推進持續(xù)集成、持續(xù)交付在軟件開發(fā)中的使用,形成了多種頗具成效的軟件過程實踐。
總結(jié)
- 上一篇: 平衡方案
- 下一篇: 乘的英语计算机和驾驶三门课程,新视野英语