廉波
[摘要]本文指出了軟件開發(fā)過程中質(zhì)量控制的重要性,通過分析開發(fā)過程中存在的問題,提出了一些提高軟件開發(fā)質(zhì)量的方法的對(duì)策措施。
[關(guān)鍵詞]軟件開發(fā);軟件工程;質(zhì)量控制
[中圖分類號(hào)]TP311.5
[文獻(xiàn)標(biāo)識(shí)碼]A
[文章編號(hào)]1672-5158(2013)05-0168-01
一、軟件開發(fā)過程的問題分析
(1)不能明確分析軟件的需求。軟件的需求是決定軟件質(zhì)量的一個(gè)非常關(guān)鍵的因素,如果不能夠準(zhǔn)確明了的分析軟件需求,就達(dá)不到軟件應(yīng)有的效果,從而不能真正滿足客戶的要求。然而軟件的需求不是顯而易見的,它需要軟件開發(fā)人員和客戶或者業(yè)務(wù)人員之間進(jìn)行充分有效地溝通和交流,使得在軟件開發(fā)一開始就能夠?qū)⑿枨筇岬眉让鞔_又充分,這樣才能為以后的工作打好基礎(chǔ),避免在一開始就偏離了軟件開發(fā)的方向。在設(shè)計(jì)開發(fā)的過程中也要不斷與客戶進(jìn)行溝通和交流,及時(shí)按照客戶的意見調(diào)整軟件,才能提高軟件開發(fā)的質(zhì)量。
(2)軟件開發(fā)工作不規(guī)范。由于軟件質(zhì)量許多指標(biāo)不能量化,因此,軟件開發(fā)的質(zhì)量好壞也沒有辦法直接考核軟件開發(fā)人員的責(zé)任,這樣就致使軟件開發(fā)人員不會(huì)很重視軟件開發(fā)的質(zhì)量,往往更關(guān)心項(xiàng)目開發(fā)的成本和進(jìn)度。此外,軟件開發(fā)人員沒有制定軟件開發(fā)計(jì)劃或者并不能按照軟件開發(fā)的計(jì)劃進(jìn)行工作,為了趕進(jìn)度經(jīng)常跨階段進(jìn)行開發(fā)工作,這樣就沒法保證軟件開發(fā)過程的科學(xué)性和系統(tǒng)性,軟件開發(fā)的質(zhì)量也不能得到保證。軟件開發(fā)管理人員和技術(shù)人員也會(huì)影響軟件開發(fā)的質(zhì)量。軟件開發(fā)工作需要他們之間進(jìn)行頻繁的溝通和交流,倘若不能及時(shí)溝通,對(duì)開發(fā)過程中出現(xiàn)的不同認(rèn)識(shí)和誤解等等問題不能及時(shí)消除,就勢(shì)必會(huì)影響到軟件產(chǎn)品的質(zhì)量。此外,軟件開發(fā)人員在開發(fā)過程中一旦出現(xiàn)流動(dòng),就會(huì)給軟件開發(fā)工作帶來很大的影響,也不利于提高軟件產(chǎn)品的質(zhì)量。
二、提高軟件開發(fā)質(zhì)量方法和對(duì)策
1 軟件產(chǎn)品質(zhì)量控制方法。
(1)軟件工程方法。軟件工程的基本方法就是把軟件開發(fā)過程劃分為若干個(gè)階段,在每個(gè)階段開發(fā)過程中都設(shè)置不同的目標(biāo)、成本、時(shí)間等驗(yàn)收標(biāo)準(zhǔn),在前一階段工作通過驗(yàn)收后才能開始下一階段的工作,這樣就會(huì)達(dá)到提高軟件開發(fā)的質(zhì)量的目標(biāo)。軟件工程將開發(fā)過程分為軟件生產(chǎn)方法、需求分析、軟件設(shè)計(jì)、軟件生產(chǎn)工具、測(cè)試、驗(yàn)證與確認(rèn)、評(píng)審和管理等8個(gè)階段,每個(gè)階段都以軟件質(zhì)量控制為核心,規(guī)范每個(gè)操作流程,從而提高軟件開發(fā)產(chǎn)品的質(zhì)量。
(2)ISO9000-3標(biāo)準(zhǔn)。ISO9000系列標(biāo)準(zhǔn)原本并不能直接用于管理軟件制作,而是為制造硬件產(chǎn)品而制定的標(biāo)準(zhǔn)。后推行的ISO9000-3標(biāo)準(zhǔn)為使軟件產(chǎn)品達(dá)到質(zhì)量要求,要求軟件開發(fā)機(jī)構(gòu)建立質(zhì)量保證體系,明確供需雙方的職責(zé),針對(duì)所有可能影響軟件質(zhì)量的各個(gè)因素都要采取有力措施,作出如何加強(qiáng)管理和控制的對(duì)策和措施。ISO9000-3標(biāo)準(zhǔn)敘述了需方和供方應(yīng)如何進(jìn)行有組織的質(zhì)量保證活動(dòng),規(guī)定了從雙方簽訂開發(fā)合同到設(shè)計(jì)、實(shí)現(xiàn)以至維護(hù)整個(gè)軟件生存期中應(yīng)當(dāng)實(shí)施的質(zhì)量保證活動(dòng),但并沒有規(guī)定具體的質(zhì)量管理和質(zhì)量檢驗(yàn)方法和步驟。
(3)cMM認(rèn)證。CMM是一種專門針對(duì)軟件產(chǎn)品開發(fā)及服務(wù)的高效管理方法,強(qiáng)調(diào)軟件開發(fā)過程的不斷改進(jìn)和提高,在軟件企業(yè)中引入CMM,有助于解決軟件開發(fā)過程中質(zhì)量控制方面出現(xiàn)的問題。CMM不僅對(duì)軟件企業(yè)工程能力進(jìn)行評(píng)估,更著重于軟件開發(fā)過程的管理,強(qiáng)調(diào)“對(duì)軟件開發(fā)過程進(jìn)行持續(xù)的改進(jìn)”。CMM通過優(yōu)化企業(yè)開發(fā)流程,改善現(xiàn)有的規(guī)范、團(tuán)隊(duì)配合工作方法,來彌補(bǔ)軟件企業(yè)對(duì)某個(gè)項(xiàng)目經(jīng)理或開發(fā)工程師的單純依賴。軟件能力成熟度模型重點(diǎn)是從組織管理方面研究評(píng)估軟件生產(chǎn)過程,從而提高軟件質(zhì)量。
2 軟件開發(fā)質(zhì)量控制對(duì)策。
(1)合理規(guī)劃并嚴(yán)格按照計(jì)劃執(zhí)行。在進(jìn)行軟件開發(fā)之前首先要制定一個(gè)提高軟件開發(fā)質(zhì)量的保證計(jì)劃,在開發(fā)過程中嚴(yán)格按照計(jì)劃執(zhí)行,不急于搶進(jìn)度,保證軟件開發(fā)的質(zhì)量。建立文檔記錄需要跟蹤的工作以及保證軟件開發(fā)質(zhì)量所需要的信息。
(2)堅(jiān)持軟件評(píng)審制度。堅(jiān)持軟件評(píng)審是保證軟件質(zhì)量的重要方法,軟件開發(fā)過程按階段可大致分為軟件需求分析、軟件設(shè)計(jì)、編碼和單元測(cè)試、軟件部件測(cè)試、軟件驗(yàn)收六個(gè)階段。軟件評(píng)審工作要貫穿于軟件開發(fā)的整個(gè)過程中,在軟件開發(fā)的各個(gè)階段都要進(jìn)行評(píng)審,當(dāng)前軟件開發(fā)階段的工作成果達(dá)到計(jì)劃要求以后才能開始下階段的工作。評(píng)審工作可以以會(huì)議的形式組織開展,會(huì)議要各方面人員都要參加,包括客戶、軟件管理人員以及軟件開發(fā)人員等等,通過會(huì)議進(jìn)行溝通交流,最終給出評(píng)審結(jié)果。
(3)采用先進(jìn)的軟件設(shè)計(jì)技術(shù)和方法。在軟件開發(fā)過程中應(yīng)盡量采用先進(jìn)的設(shè)計(jì)技術(shù)和方法,如面向?qū)ο蠛突跇?gòu)件的方法,來提高軟件設(shè)計(jì)產(chǎn)品的質(zhì)量。面向?qū)ο蟮姆椒▋?yōu)點(diǎn)是能夠提高軟件的重復(fù)利用性,將錯(cuò)誤和缺憾最小化,還有利于用戶的參與,能夠很好的提高軟件產(chǎn)品的質(zhì)量。基于構(gòu)件的開發(fā)方法又稱為“即插即用編程”方法,構(gòu)件可以向軟件供應(yīng)商購(gòu)買,也可以自行開發(fā),而且可以重復(fù)多次使用,然后將編制好的構(gòu)件插入到設(shè)計(jì)好的框架中去,從而形成一個(gè)大型的軟件。如果某個(gè)構(gòu)件不符合開發(fā)的要求,可以對(duì)某個(gè)構(gòu)件進(jìn)行修改,不會(huì)對(duì)其他構(gòu)件造成影響,也不會(huì)影響到整個(gè)系統(tǒng)功能。
(4)軟件質(zhì)量控制的關(guān)鍵——軟件測(cè)試。在軟件開發(fā)過程中,軟件測(cè)試也是軟件質(zhì)量控制的關(guān)鍵,軟件測(cè)試主要包括單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。在開發(fā)的每個(gè)階段都要通過測(cè)試,如果測(cè)試結(jié)果與預(yù)期結(jié)果不一致,就要查找出軟件中存在的問題,針對(duì)問題提出解決方案,不斷改進(jìn)軟件質(zhì)量。通過軟件測(cè)試不僅可以尋找出軟件中存在的與軟件客戶需求不一致的錯(cuò)誤和缺陷,還可以節(jié)省大量的時(shí)間和人力,確保軟件開發(fā)的質(zhì)量。開始測(cè)試之前要制定好測(cè)試計(jì)劃,確定好測(cè)試的范圍方法等等。在測(cè)試過程中要做好記錄,詳細(xì)記錄每個(gè)測(cè)試過程中的數(shù)據(jù),而且每個(gè)階段測(cè)試的結(jié)果都要進(jìn)行存檔,如果測(cè)試過程中出現(xiàn)錯(cuò)誤,就要編寫錯(cuò)誤問題的報(bào)告,經(jīng)過調(diào)試解決所發(fā)現(xiàn)的問題以后才能進(jìn)行下階段工作。
(5)注重文檔管理。目前很多軟件開發(fā)商都忽視了軟件開發(fā)過程中的文檔管理,其實(shí)文檔管理在軟件開發(fā)過程中起著非常重要的作用,在軟件開發(fā)的過程中建立并保存文檔,有利于軟件的使用和維護(hù),有益于軟件質(zhì)量的提高。文檔管理要貫穿于整個(gè)軟件開發(fā)的全過程,即軟件在每階段的開發(fā)、測(cè)試、評(píng)估都要保存相關(guān)的文檔,這樣有利于軟件的開發(fā)和維護(hù),出現(xiàn)了錯(cuò)誤有章可循,有助于軟件開發(fā)質(zhì)量控制。
(6)客戶要參與到軟件開發(fā)中去。軟件客戶要參與到軟件開發(fā)的全過程中去,在開發(fā)之初對(duì)軟件的需求不是很明確的情況下,要加強(qiáng)與軟件開發(fā)人員的溝通和交流,不斷了解自身更深層次的需求。軟件開發(fā)需要多方參與,尤其是軟件客戶方面的人,在需求調(diào)查和分析階段,軟件客戶要將自己的需求和軟件開發(fā)人員進(jìn)行有效地溝通,使得軟件開發(fā)人員能夠最大限度的了解客戶需求,才能按照需求目標(biāo)開發(fā)出令客戶滿意的軟件。在軟件測(cè)試和評(píng)審階段,客戶應(yīng)按照自己的需求對(duì)設(shè)計(jì)開發(fā)的軟件進(jìn)行檢測(cè)和評(píng)審,提出自己的意見和建議,以便在得出結(jié)論以后能夠盡快及時(shí)的得到修正。軟件開發(fā)人員對(duì)于客戶提出的意見和建議要按照要求進(jìn)行修改和完善,及早與用戶進(jìn)行溝通,避免影響驗(yàn)收。
參考文獻(xiàn)
[1]張?zhí)煊?《中小型軟件開發(fā)質(zhì)量控制研究》.《微電子學(xué)與計(jì)算機(jī)》.2004
[2]楊鳴.《淺談軟件開發(fā)質(zhì)量控制》.《煤礦現(xiàn)代化》.2002