|
摘要:本文對軟件開發(fā)的層次進(jìn)行了初步的劃分,形成了軟件開發(fā)質(zhì)量管理層次模型,并對模型中的各個層次內(nèi)涵做了簡要說明。 關(guān)鍵字:質(zhì)量管理、軟件開發(fā)、層次。 概述 質(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ā)的團隊的角度來說,不僅要生產(chǎn)出滿足質(zhì)量要求的軟件,也對中間產(chǎn)品的質(zhì)量感興趣,也對如何運用最少的的資源、最快的進(jìn)度生產(chǎn)出質(zhì)量最優(yōu)的產(chǎn)品感興趣;從軟件維護(hù)者的角度看,對軟件維護(hù)方面的特性感興趣;對企業(yè)的管理層來說,注重的是總體效益和長遠(yuǎn)利益,就是說質(zhì)量好的軟件一般可以幫助企業(yè)擴大市場;反之,質(zhì)量差的軟件一般會造成企業(yè)市場萎縮。 軟件質(zhì)量特性:根據(jù)《GB/T16260-1996(idtISO/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ì)量管理工作。轉(zhuǎn)自名易軟件-建筑系統(tǒng) 軟件開發(fā)質(zhì)量管理層次初步劃分如下: 1、技術(shù)層次(數(shù)據(jù)、編程、文檔) 2、方法體系層次(措施、項目、過程) 3、社會因素層次(質(zhì)量環(huán)境、技術(shù)標(biāo)準(zhǔn)、業(yè)務(wù)標(biāo)準(zhǔn)、人員) 軟件開發(fā)質(zhì)量管理層次模型如下圖: 技術(shù)層次 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ù)倉庫以及開發(fā)等項目中質(zhì)量控制和質(zhì)量保證必須考慮的主要工作。數(shù)據(jù)質(zhì)量管理可分為人工比對、程序比對、統(tǒng)計分析三個層次。 1.1人工比對 為了檢查數(shù)據(jù)的正確性,測試人員打開相關(guān)數(shù)據(jù)庫,對轉(zhuǎn)換前和轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行直接的比對,發(fā)現(xiàn)其不一致性,通知相關(guān)人員進(jìn)行糾正。 1.2程序比對 為了自動化地檢查數(shù)據(jù)的質(zhì)量,更好地進(jìn)行測試對比,程序員編寫查詢比對程序給測試人員使用。測試人員使用此程序?qū)D(zhuǎn)換前和轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行比對,發(fā)現(xiàn)其不一致性,通知相關(guān)人員進(jìn)行糾正。 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、編程質(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.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灰盒測試 灰盒測試介于白盒與黑盒二者之間,關(guān)注輸出對于輸入的正確性,同時也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不像白盒那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運行狀態(tài),有時候輸出是正確的,但內(nèi)部其實已經(jīng)錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。 2.3白盒測試 白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是在知道產(chǎn)品內(nèi)部工作過程的情況下,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能。白盒測試的主要方法有邏輯驅(qū)動、基路測試等。 2.4編譯檢查 使用開發(fā)工具所帶的編譯功能或?qū)iT程序?qū)浖创a進(jìn)行檢查,分析和尋找源碼存在的問題。 2.5編程規(guī)范 通過人工源碼檢查判斷源碼是否符合企業(yè)已經(jīng)制定的相關(guān)編程規(guī)范。制定編程規(guī)范,在企業(yè)內(nèi)形成一個開發(fā)約定和規(guī)則,有利于整體風(fēng)格統(tǒng)一、代碼的可讀性、可維護(hù)性和可擴展性。 2.6編程邏輯 所編寫的源碼是否考慮周全,無矛盾或遺漏之處。常見問題如:忘記定義變量就使用、變量沒有賦值初就直接使用、輸入輸出的數(shù)據(jù)類型與所用格式說明符不一致、沒有注意數(shù)據(jù)的數(shù)值范圍造成數(shù)組越界或數(shù)據(jù)溢出、輸入時數(shù)組的組織方式與要求不符、循環(huán)語句可能會造成死循環(huán)、條件語句只考慮符合的情況而沒有考慮例外的情況、讀取文件或數(shù)據(jù)庫中的數(shù)據(jù)沒有考慮例外情況,等等。 2.7編程優(yōu)化 通過人工或軟件檢查判斷是否可進(jìn)一步提高源碼總體性能和運行可管理性。總體性能如內(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)、錯誤處理;模塊間通信的簡單性等等。 3、文檔質(zhì)量管理層次 文檔(包括模型)是軟件開發(fā)過程中的中間成果,這些中間結(jié)果關(guān)系到軟件需求的準(zhǔn)確性完整性、設(shè)計的合理性,對軟件系統(tǒng)的最終結(jié)果有決定性作用。文檔質(zhì)量管理層次包括文檔規(guī)范、文檔語法、文檔語義、文檔邏輯、文檔美學(xué)、文檔優(yōu)化。 3.1文檔規(guī)范 文檔成果符合企業(yè)或業(yè)界已經(jīng)制定的文檔模板規(guī)范。企業(yè)甚至行業(yè)應(yīng)當(dāng)制定統(tǒng)一的文檔規(guī)范,形成一個文檔約定和規(guī)則,以統(tǒng)一文檔內(nèi)容與風(fēng)格。 3.2文檔語法 文檔成果正確使用通用的工具與術(shù)語、符合相關(guān)行業(yè)的技術(shù)標(biāo)準(zhǔn)。所有語言都有它的語法,所有質(zhì)量合格的文檔(包括模型)都應(yīng)該是語法正確的,不正確的語法會影響規(guī)格說明和可視化的質(zhì)量。 3.3文檔語義 文檔成果表達(dá)正確、無歧義。所有質(zhì)量合格的文檔(包括模型)都代表它期望代表的語義,而且應(yīng)該在代表這些語義的時候具有一致性。 3.4文檔邏輯 文檔成果考慮周全,不矛盾,滿足客戶的關(guān)鍵要求,特別是要符合相關(guān)行業(yè)的業(yè)務(wù)標(biāo)準(zhǔn)。 3.5文檔美學(xué) 文檔成果是最佳表述,文字、圖表是均衡和完整的。就是追求平衡的美,每個組成部分應(yīng)該不大不小,可解讀、可變更、不同時代表太多的元素。 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)的,只能是相對好的。 方法體系層次 1、措施質(zhì)量管理層次 為提高軟件質(zhì)量企業(yè)所采取的相關(guān)措施。決定成敗的不是目標(biāo),而是措施。任何好的規(guī)章制度或計劃,最終都需要具體措施才能落到實處。措施層次包括質(zhì)量檢查、質(zhì)量保證、預(yù)防不合格品、完美無缺。 1.1質(zhì)量檢查 保證質(zhì)量的方式是進(jìn)行臨時性的最后檢查,然后消除次品。軟件測試是軟件質(zhì)量檢查的具體實現(xiàn)環(huán)節(jié)。把軟件測試有效地組織進(jìn)軟件的生產(chǎn)流程,是軟件質(zhì)量控制規(guī)劃的主要內(nèi)容。 1.2質(zhì)量保證 質(zhì)量目標(biāo)仍主要通過生產(chǎn)部門或企業(yè)進(jìn)行生產(chǎn)過程的優(yōu)化和穩(wěn)定化來保證質(zhì)量目標(biāo)的達(dá)成。從軟件產(chǎn)業(yè)的發(fā)展初期到目前的大型軟件開發(fā)過程,軟件質(zhì)量保證已經(jīng)成為開發(fā)中的一個不可分割的部分。 1.3預(yù)防不合格品 整個軟件業(yè)項目屬于需求分析和軟件設(shè)計的錯誤和缺陷約占軟件錯誤的64%,而屬于程序代碼的錯誤僅占36%。軟件錯誤具有隨著階段的進(jìn)展而產(chǎn)生積累與放大效應(yīng),因此應(yīng)當(dāng)盡早消除錯誤,否則“差之毫厘,失之千里”。所以在軟件開發(fā)生命周期的前期就通過對關(guān)鍵過程成果的評審控制來預(yù)防不合格品。 1.4完美無缺 這一級上的企業(yè)都有一種內(nèi)在的質(zhì)量文化氛圍,在此氛圍下的方方面面工作都有助于質(zhì)量的提高。每個員工都意識到質(zhì)量對企業(yè)成功的重要性,都在尋求提高質(zhì)量的新途徑,都在為達(dá)到完美無缺而奮斗。同時,企業(yè)始終如一地面向外部客戶,通過優(yōu)越的設(shè)計質(zhì)量來滿足客戶需要,并從到客戶形成一個優(yōu)化的管理流程。 2、項目管理質(zhì)量層次 軟件開發(fā)任務(wù)一般是以項目的形式完成,項目管理質(zhì)量包括組織資源、組建團隊、設(shè)定目標(biāo)、確定范圍、確定優(yōu)先級、管理風(fēng)險、建立溝通機制等內(nèi)容,其層次分為通用術(shù)語、通用過程、單一方法、基準(zhǔn)比較、持續(xù)改進(jìn)。 科茲納博士對項目成功的定義,不僅要滿足傳統(tǒng)的項目時間、費用和性能的三大目標(biāo)以及滿足客戶或用戶定義的質(zhì)量標(biāo)準(zhǔn),還要滿足具有最少的或者雙方同意的范圍變更、沒有干擾組織的企業(yè)文化或者價值觀、沒有干擾組織的日常工作進(jìn)程等條件。 2.1通用術(shù)語 企業(yè)了解了項目管理的重要性,并需要進(jìn)一步了解對項目管理基礎(chǔ)知識以及相關(guān)的語言和術(shù)語。在企業(yè)內(nèi)部普及項目管理基礎(chǔ)知識,使用業(yè)界通語言和用術(shù)語進(jìn)行溝通,使大家形成對問題的正確理解。 2.2通用過程
|