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