軟件可靠性是個(gè)大問(wèn)題(中)
軟件可靠性是個(gè)大問(wèn)題 不要認(rèn)為,軟件僅僅是一個(gè)計(jì)算機(jī)指令序列,它是為用戶提供所需信息處理能力的邏輯上的信息處理設(shè)備。用戶需要的是一個(gè)滿意的軟件產(chǎn)品。但是,不要把軟件的產(chǎn)品實(shí)現(xiàn)和開發(fā)管理混為一談,或者顧此失彼。產(chǎn)品實(shí)現(xiàn)包括從需求描述、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、測(cè)試驗(yàn)證到運(yùn)行維護(hù)的整個(gè)生命周期。但是,幾十年的經(jīng)驗(yàn)表明,要實(shí)現(xiàn)一個(gè)高質(zhì)量的軟件產(chǎn)品,開發(fā)管理極其重要。軟件生命周期定義了軟件過(guò)程的框架和原則,但沒有描述軟件過(guò)程的活動(dòng)、組織形式、工具和操作規(guī)程,以及開發(fā)方針和約束。這些正是當(dāng)下所謂軟件過(guò)程技術(shù)要研究的。由于當(dāng)今的軟件,無(wú)論是系統(tǒng)軟件、中間件或應(yīng)用軟件,都不是一個(gè)單位、一個(gè)人能夠完成的,需要合作和協(xié)同,因此,軟件產(chǎn)業(yè)需要國(guó)際標(biāo)準(zhǔn)。20世紀(jì)80年代,卡內(nèi)基-梅隆大學(xué)的軟件工程研究所在美國(guó)國(guó)防部的支持下,提出了評(píng)價(jià)軟件供應(yīng)商過(guò)程能力的能力成熟度模型(CMM)。一個(gè)軟件組織的能力成熟度的高低,就看該組織是否能站在比軟件項(xiàng)目更高的層次上考察其實(shí)施軟件開發(fā)所使用的軟件過(guò)程。能夠定義該軟件過(guò)程者為成熟度三級(jí);如能度量和管理,則達(dá)到成熟度四級(jí);如果還能優(yōu)化該過(guò)程,則達(dá)到了成熟度五級(jí)。只有在成熟的軟件過(guò)程管理之下,才能生產(chǎn)出高質(zhì)量的軟件產(chǎn)品。CMM模型現(xiàn)在還在不斷地豐富和改進(jìn)。質(zhì)量和生產(chǎn)率是軟件工程的兩個(gè)核心目標(biāo)。CMM等已被公認(rèn)為軟件質(zhì)量保證方面的事實(shí)標(biāo)準(zhǔn)。它強(qiáng)調(diào)軟件過(guò)程的管理與控制,忽略軟件人員個(gè)人的主動(dòng)性和創(chuàng)造性。所以,進(jìn)入二十一世紀(jì),在美國(guó)成立了Agile聯(lián)盟,提出了敏捷軟件開發(fā)方法,以適應(yīng)那些需求不夠確定、軟件開發(fā)團(tuán)隊(duì)不是很大的軟件開發(fā)項(xiàng)目。在2000年,美國(guó)政府和商業(yè)機(jī)構(gòu)公布了CMM水平評(píng)估結(jié)果。在第一、二級(jí)者超過(guò)一半,30%達(dá)到第三級(jí),只有17%達(dá)到第四、五級(jí)。實(shí)際情況可能比這還要糟。CMM現(xiàn)在正發(fā)展成CMMI,以更廣泛地評(píng)估一個(gè)單位創(chuàng)造復(fù)雜軟件系統(tǒng)的能力。一個(gè)信息技術(shù)(IT)項(xiàng)目經(jīng)理最重要的責(zé)任是為各種活動(dòng)分配資源。其他責(zé)任還有項(xiàng)目計(jì)劃和評(píng)估、控制、組織、合同管理,質(zhì)量管理,風(fēng)險(xiǎn)管理,通訊和人力資源管理。項(xiàng)目經(jīng)理的錯(cuò)誤決策也許是今天軟件失效的主要原因。技術(shù)管理的失誤引起技術(shù)差錯(cuò),但可以糾正,而錯(cuò)誤的項(xiàng)目管理決策,例如雇用程序員太少或合同類型的錯(cuò)誤,可能引起全盤皆輸。