- 相關(guān)推薦
如何做好軟件工程質(zhì)量管理
提起如今的IT項(xiàng)目,軟件工程倍受關(guān)注。而軟件的質(zhì)量更是眾人關(guān)注的焦點(diǎn),因?yàn)槟壳斑沒有一套完善的評(píng)估標(biāo)準(zhǔn)。甚至有人提出,現(xiàn)在的軟件開發(fā)根本提不上是“工程”,因?yàn)樗赡哿,還沒有一套成熟的標(biāo)準(zhǔn)來(lái)比照;因而軟件項(xiàng)目極易出現(xiàn)失敗或失誤。大量實(shí)踐證明,軟件工程項(xiàng)目的成敗,通常是因?yàn)楣芾韱?wèn)題(協(xié)同工作的能力),而不是技術(shù)上的問(wèn)題。要想做一盤“完美”的軟件大餐,質(zhì)量管理的作用是不言而喻的。
在實(shí)際的項(xiàng)目質(zhì)量管理中,質(zhì)量管理總是圍繞著質(zhì)量保證(Quality Assurance)過(guò)程和質(zhì)量控制(Quality Control)過(guò)程兩方面。這兩個(gè)過(guò)程相互作用,在實(shí)際應(yīng)用中還可能會(huì)發(fā)生交叉。正如引言所述,關(guān)于軟件的質(zhì)量,很難下一個(gè)非常明確的定義。本文主要針對(duì)軟件工程中的質(zhì)量管理來(lái)進(jìn)行討論。
做軟件“大餐”的工序
軟件質(zhì)量保證(Software Quality Assurance,以下簡(jiǎn)稱SQA)的目的是驗(yàn)證在軟件開發(fā)過(guò)程中是否遵循了合適的過(guò)程和標(biāo)準(zhǔn)。軟件質(zhì)量保證過(guò)程一般包含以下幾項(xiàng)活動(dòng):
首先是建立SQA組;其次是選擇和確定SQA活動(dòng),即選擇SQA組所要進(jìn)行的質(zhì)量保證活動(dòng),這些SQA活動(dòng)將作為SQA計(jì)劃的輸入;然后是制定和維護(hù)SQA計(jì)劃,這個(gè)計(jì)劃明確了SQA活動(dòng)與整個(gè)軟件開發(fā)生命周期中各個(gè)階段的關(guān)系;還有執(zhí)行SQA計(jì)劃、對(duì)相關(guān)人員進(jìn)行培訓(xùn)、選擇與整個(gè)軟件工程環(huán)境相適應(yīng)的質(zhì)量保證工具;最后是不斷完善質(zhì)量保證過(guò)程活動(dòng)中存在的不足,改進(jìn)項(xiàng)目的質(zhì)量保證過(guò)程。
獨(dú)立的SQA組是衡量軟件開發(fā)活動(dòng)優(yōu)劣與否的尺度之一。SQA組的這一獨(dú)立性,使其享有一項(xiàng)關(guān)鍵權(quán)利——“越級(jí)上報(bào)”。當(dāng)SQA組發(fā)現(xiàn)產(chǎn)品質(zhì)量出現(xiàn)危機(jī)時(shí),它有權(quán)向項(xiàng)目組的上級(jí)機(jī)構(gòu)直接報(bào)告這一危機(jī)。這無(wú)疑對(duì)項(xiàng)目組起到相當(dāng)?shù)?ldquo;威懾”作用,也可以看成是促使項(xiàng)目組重視軟件開發(fā)質(zhì)量的一種激勵(lì)。這一形式使許多問(wèn)題在組內(nèi)得以解決,提高了軟件開發(fā)的質(zhì)量和效率。
選擇和確定SQA活動(dòng)這一過(guò)程的目的是策劃在整個(gè)項(xiàng)目開發(fā)過(guò)
程中所需要進(jìn)行的質(zhì)量保證活動(dòng)。質(zhì)量保證活動(dòng)應(yīng)與整個(gè)項(xiàng)目的開發(fā)計(jì)劃和配置管理計(jì)劃相一致。一般把該活動(dòng)分為以下五類:
1)評(píng)審軟件產(chǎn)品、工具與設(shè)施
軟件產(chǎn)品常被稱為“無(wú)形”的產(chǎn)品。評(píng)審時(shí)難度更大。在此要注意的一點(diǎn)是:在評(píng)審時(shí)不能只對(duì)最終的軟件代碼進(jìn)行評(píng)審,還要對(duì)軟件開發(fā)計(jì)劃、標(biāo)準(zhǔn)、過(guò)程、軟件需求、軟件設(shè)計(jì)、數(shù)據(jù)庫(kù)、手冊(cè)以及測(cè)試信息等進(jìn)行評(píng)審。評(píng)估軟件工具主要是為了保證項(xiàng)目組采用合適的技術(shù)和工具。評(píng)估項(xiàng)目設(shè)施的目的是保證項(xiàng)目組有充足設(shè)備和資源進(jìn)行軟件開發(fā)工作。這也為規(guī)劃今后軟件項(xiàng)目的設(shè)備購(gòu)置、資源擴(kuò)充、資源共享等提供依據(jù)。
2)SQA活動(dòng)審查的軟件開發(fā)過(guò)程
SQA活動(dòng)審查的軟件開發(fā)過(guò)程主要有:軟件產(chǎn)品的評(píng)審過(guò)程、項(xiàng)目的計(jì)劃和跟蹤過(guò)程、軟件需求分析過(guò)程、軟件設(shè)計(jì)過(guò)程、軟件實(shí)現(xiàn)和單元測(cè)試過(guò)程、集成和系統(tǒng)測(cè)試過(guò)程、項(xiàng)目交付過(guò)程、子承包商控制過(guò)程、配置管理過(guò)程。特別要強(qiáng)調(diào)的是,為保證軟件質(zhì)量,應(yīng)賦予SQA阻止交付某些不符合項(xiàng)目需求和標(biāo)準(zhǔn)產(chǎn)品的權(quán)利。
3)參與技術(shù)和管理評(píng)審
參與技術(shù)和管理評(píng)審的目的是為了保證此類評(píng)審滿足項(xiàng)目要求,便于監(jiān)督問(wèn)題的解決。
4)做SQA報(bào)告
SQA活動(dòng)的一個(gè)重要內(nèi)容就是報(bào)告對(duì)軟件產(chǎn)品或軟件過(guò)程評(píng)估的結(jié)果,并提出改進(jìn)建議。SQA應(yīng)將其評(píng)估的結(jié)果文檔化。
5)做SQA度量
SQA度量是記錄花費(fèi)在SQA活動(dòng)上時(shí)間、人力等數(shù)據(jù)。通過(guò)大量數(shù)據(jù)的積累、分析,可以使企業(yè)領(lǐng)導(dǎo)對(duì)質(zhì)量管理的重要性有定量的認(rèn)識(shí),利于質(zhì)量管理活動(dòng)的進(jìn)一步開展。
需要說(shuō)明的是,并不是每個(gè)項(xiàng)目的質(zhì)量保證過(guò)程都必須包含上述這些活動(dòng)或僅限于這些活動(dòng),要根據(jù)項(xiàng)目的具體情況來(lái)定。
SQA計(jì)劃中必須明確定義在軟件開發(fā)的各個(gè)階段是如何進(jìn)行質(zhì)量保證活動(dòng)的。它通常包含以下內(nèi)容:質(zhì)量目標(biāo);定義每個(gè)開發(fā)階段的開始和結(jié)束邊界;詳細(xì)策劃要進(jìn)行的質(zhì)量保證活動(dòng);明確質(zhì)量活動(dòng)的職責(zé);SQA組的職責(zé)和權(quán)限;SQA組的資源需求,包括人員、工具和設(shè)施;定義由SQA組執(zhí)行的評(píng)估;定義由SQA組負(fù)責(zé)組織的評(píng)審;SQA組進(jìn)行評(píng)審和檢查時(shí)所參見的項(xiàng)目標(biāo)準(zhǔn)和過(guò)程;需由SQA組產(chǎn)生的文檔。
選擇合適的SQA工具并不是試圖通過(guò)選擇SQA工具來(lái)保證軟件產(chǎn)品的質(zhì)量,而是用以支持SQA的活動(dòng)。選定SQA工具時(shí),首先需要明確質(zhì)量保證目標(biāo)。根據(jù)目標(biāo)制定選擇SQA工具的需求并文檔化,包括對(duì)平臺(tái)、操作系統(tǒng)以及SQA工具與軟件工程平臺(tái)接口的要求等。
如何使白壁“無(wú)瑕”
按工序去做也不一定能得到一盤完美的“大餐”,因?yàn)榛鸷畹纫蛩貙?shí)在很難掌握。萬(wàn)一掌握不好怎么辦?軟件質(zhì)量控制主要就是發(fā)現(xiàn)和消除軟件產(chǎn)品的缺陷。對(duì)于高質(zhì)量的軟件來(lái)講,最終產(chǎn)品應(yīng)該盡可能達(dá)到零缺陷。而軟件開發(fā)是一個(gè)以人為中心的活動(dòng),所以出現(xiàn)缺陷是不可避免的。因此,要想交付一個(gè)高質(zhì)量的軟件,消除缺陷的活動(dòng)就變得很重要。缺陷消除是通過(guò)“評(píng)審”和“測(cè)試”這類質(zhì)量控制活動(dòng)來(lái)實(shí)現(xiàn)的。
缺陷在軟件開發(fā)的任何階段都可能會(huì)被引入。項(xiàng)目質(zhì)量管理過(guò)程包含了許多可以識(shí)別缺陷、消除缺陷的過(guò)程。“識(shí)別缺陷”和“消除缺陷”本來(lái)是兩個(gè)不同的過(guò)程,但在這里為了簡(jiǎn)便統(tǒng)一用“消除”來(lái)代表它們。潛在的缺陷越大,用來(lái)消除它所花的費(fèi)用越高。因此成熟的軟件開發(fā)過(guò)程在每一個(gè)可能會(huì)引入潛在缺陷的階段完成之后都會(huì)開展質(zhì)量控制活動(dòng)。這些為了消除缺陷的活動(dòng)包括:需求評(píng)審、設(shè)計(jì)評(píng)審、代碼走查、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試以及驗(yàn)收測(cè)試等。
質(zhì)量控制的任務(wù)就是策劃可行的質(zhì)量管理活動(dòng),然后正確地執(zhí)行和控制這些活動(dòng)以保證絕大多數(shù)的缺陷可以在開發(fā)過(guò)程中被發(fā)現(xiàn)。
正如前面提到的,在進(jìn)行評(píng)審和測(cè)試時(shí)可檢測(cè)到缺陷。評(píng)審是面向人的過(guò)程,測(cè)試是運(yùn)行軟件(或部分軟件)以便發(fā)現(xiàn)缺陷。在一個(gè)項(xiàng)目里,評(píng)審和測(cè)試活動(dòng)是預(yù)先策劃好的(計(jì)劃書中確定執(zhí)行哪些質(zhì)量控制活動(dòng)和何時(shí)執(zhí)行這些活動(dòng))。在執(zhí)行過(guò)程中,根據(jù)已定義好的過(guò)程來(lái)執(zhí)行這些活動(dòng)。通過(guò)執(zhí)行這些活動(dòng)來(lái)識(shí)別缺陷,然后消除這些缺陷。例如,系統(tǒng)測(cè)試過(guò)程一般包括制定測(cè)試計(jì)劃,測(cè)試計(jì)劃中應(yīng)列出在測(cè)試執(zhí)行過(guò)程中所有的測(cè)試用例,評(píng)審測(cè)試計(jì)劃,并且最終執(zhí)行測(cè)試計(jì)劃。
【如何做好軟件工程質(zhì)量管理】相關(guān)文章:
軟件工程質(zhì)量管理論文12-04
論企業(yè)如何做好培訓(xùn)工作03-19
如何做好現(xiàn)場(chǎng)監(jiān)理工作03-17
護(hù)理部如何加強(qiáng)護(hù)理質(zhì)量管理05-13