發(fā)布時間:2020-06-29
在計算機發(fā)展的初期,計算機應用的領域還比較狹窄,尤其是軟件的應用尤其少。那時,計算機主要側重于科學計算,程序設計是少數聰明人干的活,軟件開發(fā)幾乎等同于程序設計。那時,程序員通常采用“邊想邊做邊用邊改”的模式,很少做系統(tǒng)性的需求分析和系統(tǒng)設計。
隨著軟件復雜性的增加,程序員們不知不覺就陷入了“邊做邊改”的困境:程序質量低下,錯誤頻發(fā),進度延誤,費用劇增等問題日益嚴重。這些問題,統(tǒng)稱為“軟件危機”。
20世紀60年代末、70年代初,一些程序員意識到,若要把軟件開發(fā)和應用做好,就必須有條理的安排好需求分析、系統(tǒng)設計、軟件編碼、驗證測試、系統(tǒng)維護等活動,于是就產生了軟件生命周期模型,典型的代表是1970年提出的瀑布模型。
那時候,他們主要關注的是技術開發(fā)活動,還沒有考慮到軟件開發(fā)過程中的管理活動。因此,各種軟件生命周期模型幾乎都不涉及到管理,如后來出現(xiàn)的噴泉模型、增量模型、快速原型模型、螺旋模型、迭代模型、RUP模型等。
對軟件過程(Software Process)的研究,則相對滯后。20世紀80年代末,業(yè)界才開始研究軟件過程,典型的案例是1986年美國國防部(DoD)委托卡內基梅隆大學(CMU)的軟件工程研究院(SEI)研究如何評估軟件開發(fā)商的能力,并最終導致CMM 1.0在1991年誕生。
軟件過程是為生產出高質量軟件產品所需完成的任務的框架,即形成軟件產品的一系列步驟,包括中間產品、資源、角色及過程中采取的方法、規(guī)程(Procedure)、技術和工具等。軟件過程包括三個基本要素:人、方法與規(guī)程、技術與工具,三者必須協(xié)調好,才能開發(fā)出好的產品。也即,過程與產品之間存在某種因果關系,只有好的過程,才可能得到好的產品,而差的過程只會得到差的產品。
軟件過程主要針對軟件生產和管理進行研究。為了獲得滿足工程目標的軟件,不僅涉及工程開發(fā),而且還涉及工程支持和工程管理。軟件過程可概括為三類:基本過程類、支持過程類和組織過程類。
基本過程類包括獲取過程、供應過程、開發(fā)過程、運作過程,維護過程和管理過程。
支持過程類包括文檔過程、配置管理過程、質量保證過程、驗證過程、確認過程、聯(lián)合評審過程、審計過程以及問題解決過程。
組織過程類包括基礎設施過程、改進過程以及培訓過程。
軟件過程構成了軟件項目管理控制的基礎,并且創(chuàng)建了一個環(huán)境以便于技術方法的采用、工作產品(模型、文檔、報告、表格等)的產生、里程碑的創(chuàng)建、質量的保證、正常變更的正確管理。
從字面上理解,“軟件生命周期”涵蓋了軟件的所有過程,所以用“軟件生命周期模型”來表示軟件過程的模型是最恰當不過的,但由于歷史的原因,人們很早就把“軟件生命周期”這一術語占用了,弄得現(xiàn)在這二個術語都不貼切。為了區(qū)別,現(xiàn)在人們常常用“軟件開發(fā)模型”來代替“軟件生命周期模型”。
推薦閱讀:
您的信息已成功提交!
我們的客服人員稍后會與您聯(lián)系