登錄

軟件危機(jī)

百科 > 計(jì)算機(jī) > 軟件危機(jī)

1.什么是軟件危機(jī)

  軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。

  軟件危機(jī)是落后的軟件生產(chǎn)方式無(wú)法滿(mǎn)足迅速增長(zhǎng)的計(jì)算機(jī)軟件需求, 從而導(dǎo)致軟件開(kāi)發(fā)與維 護(hù)過(guò)程中出現(xiàn)一系列嚴(yán)重問(wèn)題的現(xiàn)象。 這些嚴(yán)重的問(wèn)題阻礙著軟件生產(chǎn)的規(guī)?;?、商品化以及生產(chǎn)效率,讓軟件的開(kāi)發(fā)和生產(chǎn)成為制約軟件產(chǎn)業(yè)發(fā)展的“瓶徑”。

2.軟件危機(jī)的表現(xiàn)

  (1)對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。這種現(xiàn)象降低了軟件開(kāi)發(fā)組織的信譽(yù)。而為了趕進(jìn)度和節(jié)約成本所采取的一些權(quán)宜之計(jì)又往往損害了軟件產(chǎn)品的質(zhì)量,從而不可避免地會(huì)引起用戶(hù)的不滿(mǎn)。

  (2)用戶(hù)對(duì)“已完成的”軟件系統(tǒng)不滿(mǎn)意的現(xiàn)象經(jīng)常發(fā)生。軟件開(kāi)發(fā)人員和用戶(hù)之間的信息交流往往很不充分,“閉門(mén)造車(chē)”必然導(dǎo)致最終的產(chǎn)品不符合用戶(hù)的實(shí)際需要。

  (3)軟件質(zhì)量保證技術(shù)(審查、復(fù)審和測(cè)試) 沒(méi)有堅(jiān)持不懈地應(yīng)用到軟件開(kāi)發(fā)全過(guò)程中。

  (4)軟件常常是不可維護(hù)的。由于開(kāi)發(fā)過(guò)程沒(méi)有統(tǒng)一的、公認(rèn)的規(guī)范,軟件開(kāi)發(fā)人員按各自的風(fēng)格工作,各行其是。很多程序中的錯(cuò)誤是非常難改正的,實(shí)際上不可能使這些程序適應(yīng)新的硬件環(huán)境,難適應(yīng)用戶(hù)要求增加的新的功能需求,軟件的復(fù)用性不高。

  (5)軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。計(jì)算機(jī)軟件不僅僅是程序,還應(yīng)該有一整套文檔資料。這些文檔資料應(yīng)該是在軟件開(kāi)發(fā)過(guò)程中產(chǎn)生出來(lái)的,而且應(yīng)該是“最新式的”(即和程序代碼完全一致的)。軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料,文檔資料的作用是:管理和評(píng)價(jià)軟件開(kāi)發(fā)過(guò)程的進(jìn)展情況,開(kāi)發(fā)者與用戶(hù)和開(kāi)發(fā)者之間通信的工具,維護(hù)工具。

  (6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。由于微電子學(xué)技術(shù)的進(jìn)步和生產(chǎn)自動(dòng)化程fe的不斷提高,硬件成本逐年下降,然而軟件開(kāi)發(fā)需要大量人力,軟件成本隨著通貨膨脹以及軟件,規(guī)模和數(shù)量的不斷擴(kuò)大而持續(xù)上升。1985年美國(guó)軟件成本占計(jì)算機(jī)系統(tǒng)總成本的比例90%。

  (7)軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。軟件產(chǎn)品“供不應(yīng)求”的現(xiàn)象使人類(lèi)不能充分利用現(xiàn)代計(jì)算機(jī)硬件提供的巨大潛力。

3.軟件危機(jī)的原因

 ?。?)軟件是計(jì)算機(jī)的邏輯部件而不是物理部件。軟件問(wèn)題是在開(kāi)發(fā)時(shí)期引入的而在測(cè)試階段沒(méi)能測(cè)出來(lái)的故 障,修改軟件故障要修改軟件原來(lái)的設(shè)計(jì)。

  (2)軟件不同于一般程序,它的一個(gè)顯著特點(diǎn)是規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。為了在預(yù)定時(shí)間內(nèi)開(kāi)發(fā)出規(guī)模龐大的軟件,必須由許多人分工合作,軟件開(kāi)發(fā)工作量隨軟件規(guī)模增大非線(xiàn)性增長(zhǎng)。

 ?。?)與早期軟件開(kāi)發(fā)個(gè)體化特點(diǎn)有關(guān):認(rèn)為軟件開(kāi)發(fā)就是寫(xiě)程序并設(shè)法使之運(yùn)行,輕視需求分析和軟件維護(hù)。也就是說(shuō)是和軟件開(kāi)發(fā)和維護(hù)有關(guān)的許多錯(cuò)誤認(rèn)識(shí)和作法的形成,可以歸因于在計(jì)算機(jī)系統(tǒng)發(fā)展的早期階段軟件開(kāi)發(fā)的個(gè)體化特點(diǎn)。

 ?。?)缺乏正確的理論指導(dǎo)。缺乏有力的方法學(xué)和工具方面的支持。由于軟件開(kāi)發(fā)不同于大多數(shù)其他工業(yè)產(chǎn)品,其開(kāi)發(fā)過(guò)程是復(fù)雜的邏輯思維過(guò)程,其產(chǎn)品極大程度地依賴(lài)于開(kāi)發(fā)人員高度的智力投入。由于過(guò)分地依靠程序設(shè)計(jì)人員在軟件開(kāi)發(fā)過(guò)程中的技巧和創(chuàng)造性,加劇軟件開(kāi)發(fā)產(chǎn)品的個(gè)性化,也是發(fā)生軟件開(kāi)發(fā)危機(jī)的一個(gè)重要原因。

評(píng)論  |   0條評(píng)論