本文對軟件開發(fā)質(zhì)量管理的層次進(jìn)行了初步的劃分,形成了軟件開發(fā)質(zhì)量管理層次模型,并對模型中的各個層次內(nèi)涵做了簡要說明。
1 概述
質(zhì)量:一組固有特性滿足要求的程度,指產(chǎn)品或服務(wù)滿足規(guī)定或潛在需要的特征和特性的總和。它既包括有形產(chǎn)品也包括無形產(chǎn)品;既包括產(chǎn)品內(nèi)在的特性、也包括產(chǎn)品外在的特性。即包括了產(chǎn)品的適用性和符合性的全部內(nèi)涵。
軟件質(zhì)量:與軟件產(chǎn)品滿足明確或隱含需求的能力有關(guān)的特征和特征的總和。有四個含義:1、能滿足給定需要的特性之全體;2、具有所希望的各種屬性的組合的程度;3、顧客或用戶認(rèn)為能滿足其綜合期望的程度;4、軟件的組合特性,它確定軟件在使用中將滿足顧客預(yù)期要求的程度。
從用戶最感興趣的的角度來說,軟件質(zhì)量可以從三個不同的角度來看待:如何使用軟件、使用效果如何、軟件性能如何;從軟件開發(fā)的團(tuán)隊的角度來說,不僅要生產(chǎn)出滿足質(zhì)量要求的軟件,也對中間產(chǎn)品的質(zhì)量感興趣,也對如何運用最少的的資源、最快的進(jìn)度生產(chǎn)出質(zhì)量最優(yōu)的產(chǎn)品感興趣;從軟件維護(hù)者的角度看,對軟件維護(hù)方面的特性感興趣;對企業(yè)的管理層來說,注重的是總體效益和長遠(yuǎn)利益,就是說質(zhì)量好的軟件一般可以幫助企業(yè)擴(kuò)大市場;反之,質(zhì)量差的軟件一般會造成企業(yè)市場萎縮。
軟件質(zhì)量特性:根據(jù)《GB/T16260-1996(idt ISO/IEC9126:1991)信息技術(shù) 軟件產(chǎn)品評價
質(zhì)量特性及其使用指南》軟件的質(zhì)量特性包括功能性、可靠性、易用性、效率、可維護(hù)性、可移植性等六個方面,每個方面都包含若干個子特性:
功能性:適合性、準(zhǔn)確性、互操作性、依從性、安全性;
可靠性:成熟性、容錯性、易恢復(fù)性;
易用性:易理解性、易學(xué)性、易操作性;
效率:時間特性、資源特性;
可維護(hù)性:易分析性、易改變性、穩(wěn)定性、易測試性;
可移植性:適應(yīng)性、易安裝性、遵循性、易替換性;
質(zhì)量管理:在質(zhì)量方面指揮和控制組織的協(xié)調(diào)的活動,指對確定和達(dá)到質(zhì)量所必須的全總職能和活動的管理,其管理職能主要包括制定質(zhì)量方針和質(zhì)量目標(biāo)以及質(zhì)量策劃、質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn)。
軟件開發(fā)質(zhì)量管理,就是為了開發(fā)出符合質(zhì)量要求的軟件產(chǎn)品,貫穿于軟件開發(fā)生存期過程的質(zhì)量管理工作。
軟件開發(fā)質(zhì)量管理層次初步劃分如下:
1、技術(shù)層次(數(shù)據(jù)、編程、文檔)
2、方法體系層次(措施、項目、過程)
3、社會因素層次(質(zhì)量環(huán)境、技術(shù)標(biāo)準(zhǔn)、業(yè)務(wù)標(biāo)準(zhǔn)、人員)
軟件開發(fā)質(zhì)量管理層次模型如下圖:
2 技術(shù)層次
2.1 數(shù)據(jù)質(zhì)量管理層次
多數(shù)情況下,軟件系統(tǒng)的最終目的是對用戶關(guān)心的各類數(shù)據(jù)(信息)完成各種各樣靜態(tài)或者動態(tài)的處理或管理任務(wù),為用戶創(chuàng)造他們所期望和額外的價值。因此數(shù)據(jù)質(zhì)量是用戶最為關(guān)心的,數(shù)據(jù)質(zhì)量也反映了軟件系統(tǒng)產(chǎn)品的質(zhì)量。數(shù)據(jù)質(zhì)量是數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)整合、數(shù)據(jù)倉庫以及管理信息系統(tǒng)開發(fā)等項目中質(zhì)量控制和質(zhì)量保證必須考慮的主要工作。數(shù)據(jù)質(zhì)量管理可分為人工比對、程序比對、統(tǒng)計分析三個層次。
2.1.1 人工比對
為了檢查數(shù)據(jù)的正確性,測試人員打開相關(guān)數(shù)據(jù)庫,對轉(zhuǎn)換前和轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行直接的比對,發(fā)現(xiàn)其不一致性,通知相關(guān)人員進(jìn)行糾正。
2.1.2 程序比對
為了自動化地檢查數(shù)據(jù)的質(zhì)量,更好地進(jìn)行測試對比,程序員編寫查詢比對程序給測試人員使用。測試人員使用此程序?qū)D(zhuǎn)換前和轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行比對,發(fā)現(xiàn)其不一致性,通知相關(guān)人員進(jìn)行糾正。
2.1.3 統(tǒng)計分析
為了更加全面地從總體上檢查數(shù)據(jù)的質(zhì)量,需要通過統(tǒng)計分析的方法,主要通過對新舊數(shù)據(jù)不同角度、不同視圖的統(tǒng)計對數(shù)據(jù)轉(zhuǎn)換的正確程度進(jìn)行量化的分析,發(fā)現(xiàn)其在某個統(tǒng)計結(jié)果的不一致性,通知相關(guān)人員進(jìn)行糾正。
2.2 編程質(zhì)量管理層次
軟件系統(tǒng)是靠“編”出來的,為了確保軟件產(chǎn)品的質(zhì)量,就必須確保軟件程序代碼的質(zhì)量。為了提高編程質(zhì)量,應(yīng)檢查源碼的邏輯、屬性、對象命名標(biāo)準(zhǔn)、語言代碼布局等內(nèi)容;代碼的編譯、鏈接、集成和構(gòu)建必須得到驗證和確認(rèn)。編程質(zhì)量管理層次可分為黑盒測試、灰盒測試、白盒測試、編譯檢查、編程規(guī)范、編程邏輯、編程優(yōu)化。
2.2.1 黑盒測試
黑盒測試檢驗是否符合系統(tǒng)需求,也稱功能測試或數(shù)據(jù)驅(qū)動測試。它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。
2.2.2 灰盒測試
灰盒測試介于白盒與黑盒二者之間,關(guān)注輸出對于輸入的正確性,同時也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不像白盒那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運行狀態(tài),有時候輸出是正確的,但內(nèi)部其實已經(jīng)錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。
2.2.3 白盒測試
白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是在知道產(chǎn)品內(nèi)部工作過程的情況下,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能。白盒測試的主要方法有邏輯驅(qū)動、基路測試等。
2.2.4 編譯檢查
使用開發(fā)工具所帶的編譯功能或?qū)iT程序?qū)浖创a進(jìn)行檢查,分析和尋找源碼存在的問題。
2.2.5 編程規(guī)范
通過人工源碼檢查判斷源碼是否符合企業(yè)已經(jīng)制定的相關(guān)編程規(guī)范。制定編程規(guī)范,在企業(yè)內(nèi)形成一個開發(fā)約定和規(guī)則,有利于整體風(fēng)格統(tǒng)一、代碼的可讀性、可維護(hù)性和可擴(kuò)展性。
2.2.6 編程邏輯
所編寫的源碼是否考慮周全,無矛盾或遺漏之處。常見問題如:忘記定義變量就使用、變量沒有賦值初就直接使用、輸入輸出的數(shù)據(jù)類型與所用格式說明符不一致、沒有注意數(shù)據(jù)的數(shù)值范圍造成數(shù)組越界或數(shù)據(jù)溢出、輸入時數(shù)組的組織方式與要求不符、循環(huán)語句可能會造成死循環(huán)、條件語句只考慮符合的情況而沒有考慮例外的情況、讀取文件或數(shù)據(jù)庫中的數(shù)據(jù)沒有考慮例外情況,等等。
2.2.7 編程優(yōu)化
通過人工或軟件檢查判斷是否可進(jìn)一步提高源碼總體性能和運行可管理性??傮w性能如內(nèi)存管理、數(shù)據(jù)庫組織和內(nèi)容、非數(shù)據(jù)庫信息、任務(wù)并行性、網(wǎng)絡(luò)多人操作、關(guān)鍵算法、與網(wǎng)絡(luò)、硬件和其他系統(tǒng)接口對性能的影響等等;運行可管理性如便于控制系統(tǒng)運行、監(jiān)視系統(tǒng)狀態(tài)、錯誤處理;模塊間通信的簡單性等等。
2.3 文檔質(zhì)量管理層次
文檔(包括模型)是軟件開發(fā)過程中的中間成果,這些中間結(jié)果關(guān)系到軟件需求的準(zhǔn)確性完整性、設(shè)計的合理性,對軟件系統(tǒng)的最終結(jié)果有決定性作用。文檔質(zhì)量管理層次包括文檔規(guī)范、文檔語法、文檔語義、文檔邏輯、文檔美學(xué)、文檔優(yōu)化。
2.3.1 文檔規(guī)范
文檔成果符合企業(yè)或業(yè)界已經(jīng)制定的文檔模板規(guī)范。企業(yè)甚至行業(yè)應(yīng)當(dāng)制定統(tǒng)一的文檔規(guī)范,形成一個文檔約定和規(guī)則,以統(tǒng)一文檔內(nèi)容與風(fēng)格。
2.3.2 文檔語法
文檔成果正確使用通用的工具與術(shù)語、符合相關(guān)行業(yè)的技術(shù)標(biāo)準(zhǔn)。所有語言都有它的語法,所有質(zhì)量合格的文檔(包括模型)都應(yīng)該是語法正確的,不正確的語法會影響規(guī)格說明和可視化的質(zhì)量。
2.3.3 文檔語義
文檔成果表達(dá)正確、無歧義。所有質(zhì)量合格的文檔(包括模型)都代表它期望代表的語義,而且應(yīng)該在代表這些語義的時候具有一致性。
2.3.4 文檔邏輯
文檔成果考慮周全,不矛盾,滿足客戶的關(guān)鍵要求,特別是要符合相關(guān)行業(yè)的業(yè)務(wù)標(biāo)準(zhǔn)。
2.3.5 文檔美學(xué)
文檔成果是最佳表述,文字、圖表是均衡和完整的。就是追求平衡的美,每個組成部分應(yīng)該不大不小,可解讀、可變更、不同時代表太多的元素。
2.3.6 結(jié)果優(yōu)化
通過檢查判斷文檔成果(如項目計劃、需求規(guī)格、設(shè)計方案)是否還有改進(jìn)的空間,以盡可能達(dá)到最佳方案。任何一項設(shè)計,都可以有許多不同的方案,通過“方案優(yōu)化”選定一種最好的方案。
任何一位設(shè)計師在做一項設(shè)計的時候總是選擇他認(rèn)為是最好的方案,都有某種程度上的“優(yōu)化”,因此他可以說他的產(chǎn)品是經(jīng)過“優(yōu)化”的。無論何種意義上的優(yōu)化,都有一個共同的特點,就是相對性。這個相對性有兩方面的意義,一是優(yōu)化是相對某種目標(biāo)的,目標(biāo)不同優(yōu)化的結(jié)果不同。另一方面是在大多數(shù)的情況下,優(yōu)化的結(jié)果并不是最優(yōu)的,只能是相對好的。
【?發(fā)表評論?0條?】