本文對軟件開(kāi)發(fā)質(zhì)量管理的層次進(jìn)行了初步的劃分,形成了軟件開(kāi)發(fā)質(zhì)量管理層次模型,并對模型中的各個(gè)層次內涵做了簡(jiǎn)要說(shuō)明。
質(zhì)量:一組固有特性滿(mǎn)足要求的程度,指產(chǎn)品或服務(wù)滿(mǎn)足規定或潛在需要的特征和特性的總和。它既包括有形產(chǎn)品也包括無(wú)形產(chǎn)品;既包括產(chǎn)品內在的特性、也包括產(chǎn)品外在的特性。即包括了產(chǎn)品的適用性和符合性的全部?jì)群?/div>
軟件質(zhì)量:與軟件產(chǎn)品滿(mǎn)足明確或隱含需求的能力有關(guān)的特征和特征的總和。有四個(gè)含義:1、能滿(mǎn)足給定需要的特性之全體;2、具有所希望的各種屬性的組合的程度;3、顧客或用戶(hù)認為能滿(mǎn)足其綜合期望的程度;4、軟件的組合特性,它確定軟件在使用中將滿(mǎn)足顧客預期要求的程度。
從用戶(hù)最感興趣的的角度來(lái)說(shuō),軟件質(zhì)量可以從三個(gè)不同的角度來(lái)看待:如何使用軟件、使用效果如何、軟件性能如何;從軟件開(kāi)發(fā)的團隊的角度來(lái)說(shuō),不僅要生產(chǎn)出滿(mǎn)足質(zhì)量要求的軟件,也對中間產(chǎn)品的質(zhì)量感興趣,也對如何運用最少的的資源、最快的進(jìn)度生產(chǎn)出質(zhì)量最優(yōu)的產(chǎn)品感興趣;從軟件維護者的角度看,對軟件維護方面的特性感興趣;對企業(yè)的管理層來(lái)說(shuō),注重的是總體效益和長(cháng)遠利益,就是說(shuō)質(zhì)量好的軟件一般可以幫助企業(yè)擴大市場(chǎng);反之,質(zhì)量差的軟件一般會(huì )造成企業(yè)市場(chǎng)萎縮。
軟件質(zhì)量特性:根據《GB/T16260-1996(idt ISO/IEC9126:1991)信息技術(shù) 軟件產(chǎn)品評價(jià) 質(zhì)量特性及其使用指南》軟件的質(zhì)量特性包括功能性、可靠性、易用性、效率、可維護性、可移植性等六個(gè)方面,每個(gè)方面都包含若干個(gè)子特性:
功能性:適合性、準確性、互操作性、依從性、安全性;
可靠性:成熟性、容錯性、易恢復性;
易用性:易理解性、易學(xué)性、易操作性;
效率:時(shí)間特性、資源特性;
可維護性:易分析性、易改變性、穩定性、易測試性;
可移植性:適應性、易安裝性、遵循性、易替換性;
質(zhì)量管理:在質(zhì)量方面指揮和控制組織的協(xié)調的活動(dòng),指對確定和達到質(zhì)量所必須的全總職能和活動(dòng)的管理,其管理職能主要包括制定質(zhì)量方針和質(zhì)量目標以及質(zhì)量策劃、質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn)。
軟件開(kāi)發(fā)質(zhì)量管理,就是為了開(kāi)發(fā)出符合質(zhì)量要求的軟件產(chǎn)品,貫穿于軟件開(kāi)發(fā)生存期過(guò)程的質(zhì)量管理工作。
軟件開(kāi)發(fā)質(zhì)量管理層次初步劃分如下:
1、技術(shù)層次(數據、編程、文檔)
2、方法體系層次(措施、項目、過(guò)程)
3、社會(huì )因素層次(質(zhì)量環(huán)境、技術(shù)標準、業(yè)務(wù)標準、人員)
軟件開(kāi)發(fā)質(zhì)量管理層次模型如下圖:
技術(shù)層次
1、數據質(zhì)量管理層次
多數情況下,軟件系統的最終目的是對用戶(hù)關(guān)心的各類(lèi)數據(信息)完成各種各樣靜態(tài)或者動(dòng)態(tài)的處理或管理任務(wù),為用戶(hù)創(chuàng )造他們所期望和額外的價(jià)值。因此數據質(zhì)量是用戶(hù)最為關(guān)心的,數據質(zhì)量也反映了軟件系統產(chǎn)品的質(zhì)量。數據質(zhì)量是數據抽取、數據轉換、數據整合、數據倉庫以及管理信息系統開(kāi)發(fā)等項目中質(zhì)量控制和質(zhì)量保證必須考慮的主要工作。數據質(zhì)量管理可分為人工比對、程序比對、統計分析三個(gè)層次。
1.1 人工比對
為了檢查數據的正確性,測試人員打開(kāi)相關(guān)數據庫,對轉換前和轉換后的數據進(jìn)行直接的比對,發(fā)現其不一致性,通知相關(guān)人員進(jìn)行糾正。
1.2 程序比對
為了自動(dòng)化地檢查數據的質(zhì)量,更好地進(jìn)行測試對比,程序員編寫(xiě)查詢(xún)比對程序給測試人員使用。測試人員使用此程序對轉換前和轉換后的數據進(jìn)行比對,發(fā)現其不一致性,通知相關(guān)人員進(jìn)行糾正。
1.3 統計分析
為了更加全面地從總體上檢查數據的質(zhì)量,需要通過(guò)統計分析的方法,主要通過(guò)對新舊數據不同角度、不同視圖的統計對數據轉換的正確程度進(jìn)行量化的分析,發(fā)現其在某個(gè)統計結果的不一致性,通知相關(guān)人員進(jìn)行糾正。
2、編程質(zhì)量管理層次
軟件系統是靠“編”出來(lái)的,為了確保軟件產(chǎn)品的質(zhì)量,就必須確保軟件程序代碼的質(zhì)量。為了提高編程質(zhì)量,應檢查源碼的邏輯、屬性、對象命名標準、語(yǔ)言代碼布局等內容;代碼的編譯、鏈接、集成和構建必須得到驗證和確認。編程質(zhì)量管理層次可分為黑盒測試、灰盒測試、白盒測試、編譯檢查、編程規范、編程邏輯、編程優(yōu)化。
2.1 黑盒測試
黑盒測試檢驗是否符合系統需求,也稱(chēng)功能測試或數據驅動(dòng)測試。它是在已知產(chǎn)品所應具有的功能,通過(guò)測試來(lái)檢測每個(gè)功能是否都能正常使用。在測試時(shí),把程序看作一個(gè)不能打開(kāi)的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規格說(shuō)明書(shū)的規定正常使用,程序是否能適當地接收輸入數據而產(chǎn)生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。
2.2 灰盒測試
灰盒測試介于白盒與黑盒二者之間,關(guān)注輸出對于輸入的正確性,同時(shí)也關(guān)注內部表現,但這種關(guān)注不像白盒那樣詳細、完整,只是通過(guò)一些表征性的現象、事件、標志來(lái)判斷內部的運行狀態(tài),有時(shí)候輸出是正確的,但內部其實(shí)已經(jīng)錯誤了,這種情況非常多,如果每次都通過(guò)白盒測試來(lái)操作,效率會(huì )很低,因此需要采取這樣的一種灰盒的方法。
2.3 白盒測試
白盒測試也稱(chēng)結構測試或邏輯驅動(dòng)測試,它是在知道產(chǎn)品內部工作過(guò)程的情況下,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能。白盒測試的主要方法有邏輯驅動(dòng)、基路測試等。
2.4 編譯檢查
使用開(kāi)發(fā)工具所帶的編譯功能或專(zhuān)門(mén)程序對軟件源碼進(jìn)行檢查,分析和尋找源碼存在的問(wèn)題。
2.5 編程規范
通過(guò)人工源碼檢查判斷源碼是否符合企業(yè)已經(jīng)制定的相關(guān)編程規范。制定編程規范,在企業(yè)內形成一個(gè)開(kāi)發(fā)約定和規則,有利于整體風(fēng)格統一、代碼的可讀性、可維護性和可擴展性。
2.6 編程邏輯
所編寫(xiě)的源碼是否考慮周全,無(wú)矛盾或遺漏之處。常見(jiàn)問(wèn)題如:忘記定義變量就使用、變量沒(méi)有賦值初就直接使用、輸入輸出的數據類(lèi)型與所用格式說(shuō)明符不一致、沒(méi)有注意數據的數值范圍造成數組越界或數據溢出、輸入時(shí)數組的組織方式與要求不符、循環(huán)語(yǔ)句可能會(huì )造成死循環(huán)、條件語(yǔ)句只考慮符合的情況而沒(méi)有考慮例外的情況、讀取文件或數據庫中的數據沒(méi)有考慮例外情況,等等。
2.7 編程優(yōu)化
通過(guò)人工或軟件檢查判斷是否可進(jìn)一步提高源碼總體性能和運行可管理性??傮w性能如內存管理、數據庫組織和內容、非數據庫信息、任務(wù)并行性、網(wǎng)絡(luò )多人操作、關(guān)鍵算法、與網(wǎng)絡(luò )、硬件和其他系統接口對性能的影響等等;運行可管理性如便于控制系統運行、監視系統狀態(tài)、錯誤處理;模塊間通信的簡(jiǎn)單性等等。
3、文檔質(zhì)量管理層次
文檔(包括模型)是軟件開(kāi)發(fā)過(guò)程中的中間成果,這些中間結果關(guān)系到軟件需求的準確性完整性、設計的合理性,對軟件系統的最終結果有決定性作用。文檔質(zhì)量管理層次包括文檔規范、文檔語(yǔ)法、文檔語(yǔ)義、文檔邏輯、文檔美學(xué)、文檔優(yōu)化。
3.1 文檔規范
文檔成果符合企業(yè)或業(yè)界已經(jīng)制定的文檔模板規范。企業(yè)甚至行業(yè)應當制定統一的文檔規范,形成一個(gè)文檔約定和規則,以統一文檔內容與風(fēng)格。
3.2 文檔語(yǔ)法
文檔成果正確使用通用的工具與術(shù)語(yǔ)、符合相關(guān)行業(yè)的技術(shù)標準。所有語(yǔ)言都有它的語(yǔ)法,所有質(zhì)量合格的文檔(包括模型)都應該是語(yǔ)法正確的,不正確的語(yǔ)法會(huì )影響規格說(shuō)明和可視化的質(zhì)量。
3.3 文檔語(yǔ)義
文檔成果表達正確、無(wú)歧義。所有質(zhì)量合格的文檔(包括模型)都代表它期望代表的語(yǔ)義,而且應該在代表這些語(yǔ)義的時(shí)候具有一致性。
3.4 文檔邏輯
文檔成果考慮周全,不矛盾,滿(mǎn)足客戶(hù)的關(guān)鍵要求,特別是要符合相關(guān)行業(yè)的業(yè)務(wù)標準。
3.5 文檔美學(xué)
文檔成果是最佳表述,文字、圖表是均衡和完整的。就是追求平衡的美,每個(gè)組成部分應該不大不小,可解讀、可變更、不同時(shí)代表太多的元素。
3.6 結果優(yōu)化
通過(guò)檢查判斷文檔成果(如項目計劃、需求規格、設計方案)是否還有改進(jìn)的空間,以盡可能達到最佳方案。任何一項設計,都可以有許多不同的方案,通過(guò)“方案優(yōu)化”選定一種最好的方案。
任何一位設計師在做一項設計的時(shí)候總是選擇他認為是最好的方案,都有某種程度上的“優(yōu)化”,因此他可以說(shuō)他的產(chǎn)品是經(jīng)過(guò)“優(yōu)化”的。無(wú)論何種意義上的優(yōu)化,都有一個(gè)共同的特點(diǎn),就是相對性。這個(gè)相對性有兩方面的意義,一是優(yōu)化是相對某種目標的,目標不同優(yōu)化的結果不同。另一方面是在大多數的情況下,優(yōu)化的結果并不是最優(yōu)的,只能是相對好的。
方法體系層次
1、措施質(zhì)量管理層次
為提高軟件質(zhì)量企業(yè)所采取的相關(guān)措施。決定成敗的不是目標,而是措施。任何好的規章制度或計劃,最終都需要具體措施才能落到實(shí)處。措施層次包括質(zhì)量檢查、質(zhì)量保證、預防不合格品、完美無(wú)缺。
1.1 質(zhì)量檢查
保證質(zhì)量的方式是進(jìn)行臨時(shí)性的最后檢查,然后消除次品。軟件測試是軟件質(zhì)量檢查的具體實(shí)現環(huán)節。把軟件測試有效地組織進(jìn)軟件的生產(chǎn)流程,是軟件質(zhì)量控制規劃的主要內容。
1.2 質(zhì)量保證
質(zhì)量目標仍主要通過(guò)生產(chǎn)部門(mén)或企業(yè)進(jìn)行生產(chǎn)過(guò)程的優(yōu)化和穩定化來(lái)保證質(zhì)量目標的達成。從軟件產(chǎn)業(yè)的發(fā)展初期到目前的大型軟件開(kāi)發(fā)過(guò)程,軟件質(zhì)量保證已經(jīng)成為開(kāi)發(fā)中的一個(gè)不可分割的部分。
1.3 預防不合格品
整個(gè)軟件業(yè)項目屬于需求分析和軟件設計的錯誤和缺陷約占軟件錯誤的64%,而屬于程序代碼的錯誤僅占36%。軟件錯誤具有隨著(zhù)階段的進(jìn)展而產(chǎn)生積累與放大效應,因此應當盡早消除錯誤,否則“差之毫厘,失之千里”。所以在軟件開(kāi)發(fā)生命周期的前期就通過(guò)對關(guān)鍵過(guò)程成果的評審控制來(lái)預防不合格品。
1.4 完美無(wú)缺
這一級上的企業(yè)都有一種內在的質(zhì)量文化氛圍,在此氛圍下的方方面面工作都有助于質(zhì)量的提高。每個(gè)員工都意識到質(zhì)量對企業(yè)成功的重要性,都在尋求提高質(zhì)量的新途徑,都在為達到完美無(wú)缺而奮斗。同時(shí),企業(yè)始終如一地面向外部客戶(hù),通過(guò)優(yōu)越的設計質(zhì)量來(lái)滿(mǎn)足客戶(hù)需要,并從供應商到客戶(hù)形成一個(gè)優(yōu)化的管理流程。
2、項目管理質(zhì)量層次
軟件開(kāi)發(fā)任務(wù)一般是以項目的形式完成,項目管理質(zhì)量包括組織資源、組建團隊、設定目標、確定范圍、確定優(yōu)先級、管理風(fēng)險、建立溝通機制等內容,其層次分為通用術(shù)語(yǔ)、通用過(guò)程、單一方法、基準比較、持續改進(jìn)。
科茲納博士對項目成功的定義,不僅要滿(mǎn)足傳統的項目時(shí)間、費用和性能的三大目標以及滿(mǎn)足客戶(hù)或用戶(hù)定義的質(zhì)量標準,還要滿(mǎn)足具有最少的或者雙方同意的范圍變更、沒(méi)有干擾組織的企業(yè)文化或者價(jià)值觀(guān)、沒(méi)有干擾組織的日常工作進(jìn)程等條件。
2.1 通用術(shù)語(yǔ)
企業(yè)了解了項目管理的重要性,并需要進(jìn)一步了解對項目管理基礎知識以及相關(guān)的語(yǔ)言和術(shù)語(yǔ)。在企業(yè)內部普及項目管理基礎知識,使用業(yè)界通語(yǔ)言和用術(shù)語(yǔ)進(jìn)行溝通,使大家形成對問(wèn)題的正確理解。
2.2 通用過(guò)程
企業(yè)認識到自己需要定義和建立通用過(guò)程,以便在一個(gè)項目上成功之后,還可以將該過(guò)程及其成功經(jīng)驗重復地用于其他許多個(gè)項目。在這一層次上,還包括理解項目管理原則對公司所用其他方法的應用和支持。
2.3 單一方法
企業(yè)盡量通過(guò)單一的方法開(kāi)發(fā),而不是使用多個(gè)方法,可以最好地實(shí)現協(xié)同效應和控制,認識到了把公司所以方法結合成一個(gè)單一方法所產(chǎn)生的協(xié)同效應,其核心是項目管理。與使用多個(gè)方法相比,只用一個(gè)方法所產(chǎn)生的協(xié)同效應使得程控更加容易。
2.4 基準比較
不斷將本企業(yè)的管理實(shí)踐與行業(yè)龍頭企業(yè)比較,以獲得信息來(lái)幫助自己改善。企業(yè)認識到為了保持競爭優(yōu)勢,過(guò)程改進(jìn)是必要的?;鶞时容^必須連續進(jìn)行。公司必須決定以誰(shuí)為基準點(diǎn)及需要比較什么。
2.5 持續改進(jìn)
質(zhì)量是“沒(méi)有最好,只有更好”。企業(yè)持續在必要時(shí)評估基準比較中獲得的信息,實(shí)施為改進(jìn)過(guò)程所必要的變革。在 ISO9000:2000 中,持續改進(jìn)不是一個(gè)單獨的過(guò)程或質(zhì)量體系要素,而是管理質(zhì)量體系的方法。
企業(yè)最重要的問(wèn)題是“明天這樣做的比今天好”企業(yè)要永不滿(mǎn)足,沒(méi)有終點(diǎn),永無(wú)休止地努力工作,追求進(jìn)步和持續改進(jìn),為未來(lái)努力奮斗。
3、過(guò)程質(zhì)量管理層次
《GB/T8566—2001(idt ISO/IEC12207)信息技術(shù)-軟件生存周期過(guò)程》把軟件生存周期的各個(gè)過(guò)程分為三類(lèi),即基本生存周期過(guò)程、支持生存周期過(guò)程、組織生存周期過(guò)程。
對于質(zhì)量,強調的是對過(guò)程的重視,通過(guò)保證每個(gè)環(huán)節的工作質(zhì)量,來(lái)保證最終質(zhì)量,而不是通過(guò)最后的檢驗測試找出缺陷。它們的質(zhì)量概念,不僅涵蓋產(chǎn)品,還包括企業(yè)的整個(gè)運營(yíng)過(guò)程,貫穿產(chǎn)業(yè)鏈的各個(gè)環(huán)節。確保生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,就是遵循一套有質(zhì)量原則的軟件開(kāi)發(fā)過(guò)程。目前軟件過(guò)程改進(jìn)主要根據能力成熟度模型集成CMMI,其層次分為初始級、可重復級、已定義級、已經(jīng)管級、優(yōu)化級。
3.1 初始級
企業(yè)的軟件過(guò)程是無(wú)序的,甚至是混亂的。幾乎沒(méi)有什么過(guò)程是經(jīng)過(guò)妥善定義的,項目的成功往往依賴(lài)于沒(méi)寫(xiě)個(gè)人的技能和經(jīng)驗。
3.2 可重復級
已經(jīng)建立了基本的項目管理過(guò)程規范,項目經(jīng)理能跟蹤成本、進(jìn)度、和產(chǎn)品功能等,項目能重復以前的成功。企業(yè)的過(guò)程能力可以概括為“有紀律的”。
3.3 已定義級
已經(jīng)將管理和開(kāi)發(fā)兩個(gè)方面的過(guò)程文檔化,并綜合成企業(yè)的標準軟件過(guò)程。所有項目都可以通過(guò)裁減企業(yè)標準過(guò)程而建立適合于本項目的過(guò)程規范。此過(guò)程能力可以概括成“標準的”和“一致的”,它建立在整個(gè)企業(yè)對軟件過(guò)程中的活動(dòng)、角色、職責的共同理解之上。
3.4 已管理級
對軟件過(guò)程與產(chǎn)品都有定量的理解和控制,有專(zhuān)門(mén)的數據庫系統來(lái)收集和分析數據。此過(guò)程能力可以概括成“定量的”和“可預測的”。
3.5 優(yōu)化級
能夠有效地識別企業(yè)過(guò)程的優(yōu)勢和薄弱環(huán)節,發(fā)現并采用最佳的軟件工程實(shí)踐,預先防范過(guò)程和產(chǎn)品中的缺陷。整個(gè)企業(yè)強調持續地改進(jìn)過(guò)程能力。
社會(huì )因素層次
1、企業(yè)質(zhì)量環(huán)境層次
企業(yè)質(zhì)量環(huán)境是有關(guān)創(chuàng )建和管理質(zhì)量環(huán)境的管理,包括質(zhì)量規劃、資源組織、提供相關(guān)工具等,其層次可分為質(zhì)量形象、質(zhì)量制度、質(zhì)量戰略、質(zhì)量文化、企業(yè)文化、全社會(huì )質(zhì)量意識。
1.1 質(zhì)量形象
企業(yè)的良好形象與其產(chǎn)品和服務(wù)的高質(zhì)量密不可分。質(zhì)量、信譽(yù)、品牌、服務(wù)等構成企業(yè)整體形象的堅實(shí)基礎,其中質(zhì)量形象是企業(yè)形象的核心。塑造良好的質(zhì)量形象是企業(yè)提高自身核心競爭力的重要手段。
1.2 質(zhì)量制度
企業(yè)建立了完善的質(zhì)量制度,包括ISO9001質(zhì)量管理體系、與質(zhì)量相關(guān)的配套管理、教育、激勵制度的完善程度,以及對于質(zhì)量制度的執行力度。
有些企業(yè)或部門(mén)制定了太多的規章制度,但都流于形式,最終落到實(shí)處的不多。再好的規章制度,再偉大的計劃,都成了一堆廢紙。對企業(yè)來(lái)說(shuō),最重要的不是制定了多少制度多少計劃,而是做了多少事情。
企業(yè)如果強調質(zhì)量,就要檢查質(zhì)量,不檢查質(zhì)量就是不重視質(zhì)量,有制度就必須執行好。
1.3 質(zhì)量戰略
在企業(yè)管理中以人為本,以提高質(zhì)量為中心,一切活動(dòng)圍繞質(zhì)量行為,將質(zhì)量管理提高到戰略的高度。制定質(zhì)量方針目標。
1.4 質(zhì)量文化
企業(yè)在長(cháng)期的質(zhì)量管理中形成的具有本企業(yè)特色的管理思想和精神理念,同時(shí)也是企業(yè)員工為實(shí)現質(zhì)量方針目標而自覺(jué)遵守的一條共同的價(jià)值觀(guān)和信念。
1.5 企業(yè)文化
一個(gè)企業(yè)中各個(gè)部門(mén),至少是企業(yè)高層管理者們所共同擁有的那些企業(yè)價(jià)值觀(guān)念、經(jīng)營(yíng)實(shí)踐、文化現象。它以企業(yè)的價(jià)值觀(guān)體系為基礎,以企業(yè)員工的群體意識形態(tài)為反映。
1.6 全社會(huì )質(zhì)量意識
產(chǎn)品質(zhì)量不完全取決于企業(yè)本身,社會(huì )環(huán)境、顧客的成熟程度對產(chǎn)品質(zhì)量起到比較重要的作用。顧客盲目壓低價(jià)格、壓縮進(jìn)度,造成的惡性競爭環(huán)境嚴重影響產(chǎn)品的質(zhì)量。
2、標準層次
國際競爭有三個(gè)層次:第一個(gè)層次是價(jià)格和質(zhì)量的競爭、第二個(gè)層次是專(zhuān)利技術(shù)的競爭、第三個(gè)層次是標準和制度的競爭。誰(shuí)掌握了標準的使用,誰(shuí)掌握了標準的制定權,誰(shuí)就可以搶占先機。一流企業(yè)賣(mài)標準,二流企業(yè)賣(mài)品牌,三流企業(yè)賣(mài)產(chǎn)品,四流企業(yè)賣(mài)企業(yè)。我國軟件企業(yè)要適應更高層次的競爭,就要在標準領(lǐng)域占據一席之地。
標準主要包括技術(shù)標準和業(yè)務(wù)標準兩大類(lèi)(當然還可以其他分類(lèi)如基礎標準、產(chǎn)品標準、質(zhì)量標準、管理標準、工作標準、安全標準、術(shù)語(yǔ)標準等等)。對標準化領(lǐng)域中需要協(xié)調統一的技術(shù)事項所制定的標準,稱(chēng)為技術(shù)標準。技術(shù)標準包含兩個(gè)方面:一是作為軟件開(kāi)發(fā)企業(yè)的軟件行業(yè)技術(shù)標準,包括知識體系指南、過(guò)程標準、建模標準、質(zhì)量管理標準、程序語(yǔ)言標準、數據庫標準;二是軟件開(kāi)發(fā)服務(wù)對象所在的行業(yè)技術(shù)標準,如安全保密標準、技術(shù)性能標準。業(yè)務(wù)標準指的是軟件開(kāi)發(fā)服務(wù)對象所在的組織或行業(yè)制定的業(yè)務(wù)流程標準和業(yè)務(wù)數據標準等。
運用統一的技術(shù)與業(yè)務(wù)標準是對于質(zhì)量能夠做出重大而且顯著(zhù)貢獻的因素之一,有助于減少無(wú)效的討論,有助于不同的產(chǎn)品之間的兼容和銜接。
標準要不斷地與時(shí)俱進(jìn),因此,標準是種動(dòng)態(tài)信息。
2.1 標準作用范圍級別
項目標準:項目團隊在軟件開(kāi)發(fā)周期的早期就確定下來(lái)的相互達成一致的標準集合;
企業(yè)標準:企業(yè)自行制定的規范整個(gè)企業(yè)架構和所有企業(yè)級交付產(chǎn)品的標準集合;
地方標準:由一個(gè)國家的地方一級行政機構(省、州或加盟共和國)制定的標準,稱(chēng)為地方標準。它一般由地方所屬的各企業(yè)與單位執行。同樣是一個(gè)行業(yè),每個(gè)地方可能有不同的業(yè)務(wù)政策、業(yè)務(wù)數據標準、業(yè)務(wù)流程標準;
行業(yè)標準(部頒標準):指沒(méi)有國家標準而又需要在全國某個(gè)行業(yè)范圍內統一的技術(shù)要求。行業(yè)規定的全國本行業(yè)必須遵守的的業(yè)務(wù)數據標準、業(yè)務(wù)流程標準,標準編號一般以行業(yè)名稱(chēng)的拼音頭個(gè)字母打頭,如環(huán)境HJ、電力DL、公安GA;
國家標準:是在全國范圍內統一的技術(shù)要求。由國家規定的標準,主要是數據標準,行業(yè)之間的接口標準,標準編號一般以GB、GB/T、GB/Z打頭。
國際標準:涉及到國際上多個(gè)國家或地區必須遵守的如金融、電信、財務(wù)、貿易等業(yè)務(wù)標準。國際標準一般由國際標準化組織制定,如ISO、ANSI、IEEE等等,這也是標準編號的打頭字母,如ISO9001。
2.2、標準強制程度級別
強制標準:保障人體健康、人身、財產(chǎn)安全的標準和法律、行政法規規定強制執行的標準是強制性標準,其他標準是推薦性標準;如編號以GB、HJ、DL、GA字母開(kāi)頭的標準,一般業(yè)務(wù)數據標準是強制標準。
推薦標準:推薦性標準又稱(chēng)非強制性標準或自愿性標準。是指生產(chǎn)、交換、使用等方面,通過(guò)經(jīng)濟手段或市場(chǎng)調節而自愿采用的一類(lèi)標準。如GB/T、HJ/T、DL/T、GA/T,一般業(yè)務(wù)流程標準、工作規范或指南等是推薦標準。
指導性標準:對標準化工作的原則和一些具體做法的統一規定,稱(chēng)為指導性標準。例如:產(chǎn)品型號編制規則、各類(lèi)標準編制導則等。如GB/Z、HJ/Z、DL/Z、GA/Z編號的標準。
2.3、軟件開(kāi)發(fā)常用技術(shù)標準
知識體系:軟件工程知識體系指南SWEBOK2004、項目管理知識體系指南PMBOK2000(最新的是PMBOK2004) 、組織管理標準等等;
過(guò)程標準:CMMI、PSP、TSP、RUP、軟件工程規范國家標準;(AP、XP、ASD等開(kāi)發(fā)過(guò)程思想好像還不能稱(chēng)其為標準)
建模標準:UML、軟件工程規范國家標準;
質(zhì)量管理標準:ISO9001:2000、TQC、6σ;
程序語(yǔ)言標準:Java、C++、PB、編程規范;
數據庫標準:Oracle數據庫后臺規范。
3、人員質(zhì)量管理層次
人員質(zhì)量是所有工作質(zhì)量的基礎。要提高工作質(zhì)量,就要以人為本,根本的問(wèn)題是提高人的質(zhì)量。人員質(zhì)量就是人員素質(zhì),層次分為個(gè)人素質(zhì)、團隊素質(zhì)、組織素質(zhì)、行業(yè)素質(zhì)、國民素質(zhì)。
3.1 個(gè)人素質(zhì)
軟件開(kāi)發(fā)的個(gè)人素質(zhì)的內涵很廣,包含多個(gè)方面,包括學(xué)習能力、總結能力、學(xué)識經(jīng)驗、進(jìn)取精神、社交能力、責任心、自我控制、成就動(dòng)機、靈活性、創(chuàng )造性潛力、管理潛力、工作態(tài)度、誠實(shí)水平等等。關(guān)鍵是根據自身特點(diǎn)發(fā)揮自己的特長(cháng),同時(shí)要有過(guò)硬扎實(shí)基本功的真才實(shí)學(xué),不做表面功夫花架子的花拳繡腿。這一點(diǎn)在做程序員的時(shí)候大家都會(huì )很注意學(xué)習,但在從程序員提升到設計師、分析師、項目經(jīng)理時(shí),往往存在不注意學(xué)習新角色所需知識技能,學(xué)了皮毛就覺(jué)得什么都會(huì )的情況。
3.2 團隊素質(zhì)
軟件開(kāi)發(fā)的團隊素質(zhì)的范圍涉及到很多團隊管理方面的知識經(jīng)驗技巧。關(guān)鍵是能夠合理地按照成員的特點(diǎn)分配工作任務(wù),同時(shí)計劃好各個(gè)工作人員的工作接口,鼓勵互相補位。團隊素質(zhì)的提高在于團隊建設,團隊建設活動(dòng)包括為提高團隊運作水平而進(jìn)行的管理,以及采用的專(zhuān)門(mén)的、重要的個(gè)別措施。團隊精神就是團隊的精神,因此要問(wèn)某個(gè)團隊有沒(méi)有團隊精神,不問(wèn)某個(gè)成員有沒(méi)有團隊精神。
軟件開(kāi)發(fā)團隊素質(zhì)可以學(xué)習參考TSP、RUP、SWEBOK、PMBOK、CMMI、ISO9001等要求進(jìn)行提高,也可以借鑒AP、XP、ASD等開(kāi)發(fā)經(jīng)驗(不管那種都不一定要完全照搬實(shí)施)。
3.3 組織素質(zhì)
軟件開(kāi)發(fā)的組織素質(zhì)內涵涉及到很多組織管理方面的知識經(jīng)驗技巧。組織應當為實(shí)現共同的愿景,建立學(xué)習型的組織,不斷持續改進(jìn)。企業(yè)組織高層領(lǐng)導可以不必需要那么多軟件開(kāi)發(fā)的專(zhuān)業(yè)知識,最主要是要認識到人是一切活動(dòng)的核心,是一切活動(dòng)成功的前提,所以要尊重專(zhuān)業(yè)人員使其發(fā)揮作用。根據彼得原理,大部分領(lǐng)導因為在某些方面突出而被提拔到他無(wú)法勝任的位置,因此有些被提拔上去的領(lǐng)導急于證明自己樣樣精通是可笑的。領(lǐng)導最重要的是選對人、用對人、激勵人、提高人,使每個(gè)人都充分發(fā)揮應有的作用。
3.4 行業(yè)素質(zhì)
行業(yè)素質(zhì)有兩層意思,一是作為軟件開(kāi)發(fā)企業(yè)的軟件行業(yè),另一個(gè)是軟件開(kāi)發(fā)服務(wù)對象所在的行業(yè)。行業(yè)素質(zhì)可以從幾個(gè)方面看,如行業(yè)機構的健全程度,行業(yè)學(xué)術(shù)的活躍程度,行業(yè)標準制定的完整程度、適用程度、先進(jìn)程度,行業(yè)標準規范的推廣力度和程度,行業(yè)從業(yè)人員的規模及總體水平,行業(yè)外貿出口金額,例如,為什么印度的軟件外貿出口金額讓中國望塵莫及?為什么印度可以擁有那么龐大的軟件藍領(lǐng)隊伍?印度軟件企業(yè)對CMMI是什么態(tài)度,中國軟件企業(yè)對CMMI是什么態(tài)度?為什么對于A(yíng)P、XP、“顛覆軟件工程”的片面理解在中國大有市場(chǎng)?
?。ㄗ⒁猓骸盾浖に嚒穼?shí)際上是從另一個(gè)角度來(lái)強調“個(gè)人素質(zhì)”的重要性,實(shí)際上是要說(shuō)明組織性規范性和創(chuàng )造性特色性之間的平衡,就像《軟件工藝》自己所說(shuō)的那樣,“軟件工藝并非與軟件工程或者計算機科學(xué)針?shù)h相對,格格不入。與科學(xué)和工程學(xué)相比,軟件工藝是另一種完全不同的教義,但又能與這兩者很好地共存,并從中獲益,它融合了藝術(shù)、科學(xué)、工程學(xué)三者”。如果因為強調“個(gè)人素質(zhì)”的作用,強調作坊工藝的作用,而否定團隊開(kāi)發(fā)、和使用有效地分析設計方法和過(guò)程,就是走向了另一個(gè)極端?!盾浖に嚒钒衍浖娜毕莳M隘地定義成“程序員所犯的錯誤”,所以其結論是“真正決定項目成敗的,是作為個(gè)體的程序員的技能、知識和經(jīng)驗。”實(shí)際上如果在需求、分析或設計上犯了錯,或者在項目管理上犯了錯,其造成的缺陷比“程序員所犯的錯誤”的影響不知道要大多少。另外極限編程所需的程序員隨時(shí)直接與用戶(hù)交談的條件也是大多數軟件開(kāi)發(fā)項目很難滿(mǎn)足的。)
3.5 國民素質(zhì)
中國的國民素質(zhì)與其他國家相比,有些地方是高的,有些地方是不足的。我們要發(fā)揚我們的優(yōu)點(diǎn),同時(shí)也要學(xué)習別人的優(yōu)點(diǎn),彌補自己的缺點(diǎn)。自己過(guò)去為什么會(huì )被人看不起、會(huì )被人侵略?發(fā)幾句牢騷,喊幾句口號起得了什么作用?我們應當從自己和他人兩個(gè)方面同時(shí)查找原因。關(guān)鍵是不斷提高自身的整體素質(zhì),增強國力。如果我們看看歐美日等國家的企業(yè)是如何進(jìn)行質(zhì)量管理的,就不難理解他們的產(chǎn)品質(zhì)量為什么那么好,甚至連印度在軟件質(zhì)量管理等方面也有很多值得我們學(xué)習的地方。
結束語(yǔ)
人是一切人類(lèi)活動(dòng)的基礎,要提高軟件開(kāi)發(fā)質(zhì)量,就必須以人為本,首先提高人的質(zhì)量。通過(guò)標準化、規范化的建設和落實(shí),通過(guò)創(chuàng )建良好的社會(huì )和企業(yè)質(zhì)量環(huán)境,在企業(yè)內部不斷改進(jìn)開(kāi)發(fā)過(guò)程質(zhì)量、項目管理質(zhì)量,改進(jìn)質(zhì)量措施。針對具體項目進(jìn)行良好的分析設計規劃,編寫(xiě)出質(zhì)量?jì)?yōu)良的系統程序,確保數據(信息)及其管理的質(zhì)量,為客戶(hù)、為社會(huì )提供滿(mǎn)意的產(chǎn)品和服務(wù)。