軟件開(kāi)發(fā)之第一次軟件危機(jī)
1.第一次軟件危機(jī)
20世紀(jì)60年代以前,計(jì)算機(jī)剛剛投入實(shí)際使用,這個(gè)時(shí)期主要的軟件開(kāi)發(fā)方式是使用機(jī)器語(yǔ)言或者匯編語(yǔ)言在特定的機(jī)器上進(jìn)行軟件的設(shè)計(jì)與編寫。此時(shí)軟件規(guī)模較小,文檔資料通常也不存在,也不需要使用系統(tǒng)化的軟件開(kāi)發(fā)方法,基本上是個(gè)人設(shè)計(jì)編碼、個(gè)人操作使用的私人化的軟件生產(chǎn)模式。這個(gè)時(shí)代的程序一個(gè)典型的特征就是依賴特定的機(jī)器,程序員必須根據(jù)所使用的計(jì)算機(jī)的硬件特性編寫特定的程序。
隨著60年代中期大容量、高速度計(jì)算機(jī)問(wèn)世,使計(jì)算機(jī)的應(yīng)用范圍迅速擴(kuò)大。軟件系統(tǒng)的規(guī)模越來(lái)越大,復(fù)雜程度越來(lái)越高,程序設(shè)計(jì)的復(fù)雜度也隨之增長(zhǎng),軟件開(kāi)發(fā)量急劇增長(zhǎng),軟件可靠性問(wèn)題也越來(lái)越突出。原來(lái)的個(gè)人設(shè)計(jì)、個(gè)人開(kāi)發(fā)的方式不再能滿足要求,迫切需要改變軟件的生產(chǎn)方式,提高軟件的生產(chǎn)率,第一次軟件危機(jī)開(kāi)始爆發(fā)。
第一次軟件危機(jī)的現(xiàn)象主要表現(xiàn)在以下幾個(gè)方面:
1)軟件開(kāi)發(fā)費(fèi)用和進(jìn)度失控
費(fèi)用超支、進(jìn)度拖延的情況屢屢發(fā)生。有時(shí)為了趕進(jìn)度或者壓成本不得不采取一些權(quán)宜之計(jì),這樣又往往嚴(yán)重?fù)p害了軟件產(chǎn)品的質(zhì)量。
2)軟件的可靠性差
盡管耗費(fèi)了大量的人力物力,而系統(tǒng)的正確性卻越來(lái)越難以保證,出錯(cuò)率大大增加,由于軟件錯(cuò)誤而造成的損失十分驚人。
3)生產(chǎn)出來(lái)的軟件難以維護(hù)。
很多程序缺乏相應(yīng)的文檔資料,程序中的錯(cuò)誤難以定位,難以改正,有時(shí)改正了已有的錯(cuò)誤又引入新的錯(cuò)誤。隨著軟件的社會(huì)擁有量越來(lái)越大,維護(hù)占用了大量人力、物力和財(cái)力。
1968年北大西洋公約組織的計(jì)算機(jī)科學(xué)家在聯(lián)邦德國(guó)召開(kāi)國(guó)際會(huì)議,第一次討論軟件危機(jī)問(wèn)題,并正式提出了“軟件工程”一詞,從此一門為研究和克服軟件危機(jī)的新興的工程學(xué)科一軟件工程學(xué)應(yīng)運(yùn)而生, “軟件危機(jī)”的概念也是在那次會(huì)議上由F.L.Bauer提出的。