軟件項(xiàng)目管理的質(zhì)量保證
發(fā)布時(shí)間:2023/5/4 9:36:00
項(xiàng)目開(kāi)發(fā)根據(jù)進(jìn)度分為需求、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試等各個(gè)階段,質(zhì)量保證工作始終貫穿各階段,同時(shí)又必須根據(jù)每個(gè)階段特點(diǎn)采取相應(yīng)的措施。軟件工程項(xiàng)目管理是一個(gè)系統(tǒng)工程,軟件工程項(xiàng)目管理的主要目標(biāo)是保證項(xiàng)目在規(guī)定時(shí)間內(nèi)高質(zhì)量地完成。項(xiàng)目管理包括了項(xiàng)目組開(kāi)發(fā)各階段的人員結(jié)構(gòu)的配置,質(zhì)量控制的實(shí)施方略,內(nèi)部文檔和產(chǎn)品文檔的組織編寫(xiě)等多項(xiàng)工作,其中質(zhì)量控制方法具有軟件開(kāi)發(fā)的特點(diǎn)。
項(xiàng)目開(kāi)發(fā)根據(jù)進(jìn)度分為需求、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試等各個(gè)階段,質(zhì)量保證工作始終貫穿各階段,同時(shí)又必須根據(jù)每個(gè)階段特點(diǎn)采取相應(yīng)的措施。需求分析是開(kāi)發(fā)人員對(duì)系統(tǒng)需要做什么和如何做的定義過(guò)程。從系統(tǒng)分析的經(jīng)驗(yàn)來(lái)看,這個(gè)過(guò)程往往是個(gè)循序漸進(jìn)的過(guò)程,一次性對(duì)系統(tǒng)形成完整的認(rèn)識(shí)是困難的。只有不斷地和客戶領(lǐng)域?qū)<疫M(jìn)行交流確認(rèn),方能逐步明了用戶的需求。從系統(tǒng)開(kāi)發(fā)的過(guò)程得知,系統(tǒng)分析時(shí)犯下的錯(cuò)誤,會(huì)在接下來(lái)的階段被成倍的放大,越是在開(kāi)發(fā)的后期,糾正分析時(shí)犯下的錯(cuò)誤所花費(fèi)的代價(jià)越是昂貴,也越發(fā)影響系統(tǒng)的工期和系統(tǒng)的質(zhì)量。
在具體項(xiàng)目中,一般的做法有兩種:一是請(qǐng)領(lǐng)域?qū)<覅⑴c到系統(tǒng)開(kāi)發(fā)的早期階段;二是開(kāi)發(fā)系統(tǒng)原型,原型包括功能性的原型和用戶界面性的原型,也可以是二者混合的原型,用這些原型確認(rèn)用戶的需求。讓領(lǐng)域?qū)<覅⑴c開(kāi)發(fā)的早期階段,是保證分析人員有充足的時(shí)間和領(lǐng)域?qū)<疫M(jìn)行充分的交流和確認(rèn)。在這個(gè)階段,原型可能在提交到用戶之前,首先被領(lǐng)域?qū)<掖_認(rèn),這樣保證了原型被認(rèn)可的程度和認(rèn)可過(guò)程耗費(fèi)的時(shí)間盡可能的短,從而在提高效率的同時(shí)保證了質(zhì)量。
在開(kāi)發(fā)方內(nèi)部還有三項(xiàng)保證措施:系統(tǒng)分析委員會(huì)保證系統(tǒng)分析集思廣益;質(zhì)量監(jiān)督組對(duì)分析工作的監(jiān)督;技術(shù)支持人員參與需求調(diào)研。分析委員會(huì)的意義在于任何分析人員在提交其所分析部分的分析說(shuō)明書(shū)前,必須通過(guò)委員會(huì)的共同審議,委員會(huì)的成員根據(jù)各自的分析經(jīng)驗(yàn)和自身所分析的部分對(duì)他人的分析報(bào)告提出質(zhì)疑。如此審議過(guò)后保證了各部分間相互關(guān)聯(lián)的部分被明確定義,避免了由于“疏忽”造成系統(tǒng)在后期進(jìn)行整合時(shí)出現(xiàn)較嚴(yán)重的系統(tǒng)鴻溝或系統(tǒng)重疊。
質(zhì)量監(jiān)督組在項(xiàng)目的任何階段都要提出監(jiān)督計(jì)劃。按照監(jiān)督計(jì)劃分配相應(yīng)的資源來(lái)保證某階段的開(kāi)發(fā)質(zhì)量。分析階段的監(jiān)督計(jì)劃會(huì)在分析任務(wù)之前被項(xiàng)目經(jīng)理、項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員以及技術(shù)支持所了解。為保證分析工作高質(zhì)量進(jìn)行,同時(shí)分析工作又不被過(guò)分打擾,質(zhì)量監(jiān)督組則主要針對(duì)《系統(tǒng)分析報(bào)告》進(jìn)行復(fù)審,并在認(rèn)為確實(shí)有必要的情況下才召開(kāi)質(zhì)量復(fù)審會(huì)議。質(zhì)量復(fù)審會(huì)議的主要參與者是項(xiàng)目經(jīng)理、項(xiàng)目負(fù)責(zé)人、分析人員和質(zhì)量監(jiān)督組組長(zhǎng)。會(huì)議的主要議題是提出質(zhì)量質(zhì)疑,給出改進(jìn)建議即可。具體是否存在質(zhì)量問(wèn)題,是否需要改進(jìn),不在會(huì)議中進(jìn)行討論,以此保證了會(huì)議參與的人數(shù)較少,會(huì)議的時(shí)間盡可能的短。
系統(tǒng)實(shí)現(xiàn)也就是代碼的生產(chǎn)過(guò)程。生產(chǎn)的類別有類的生產(chǎn),組件的生產(chǎn),構(gòu)件的生產(chǎn),應(yīng)用系統(tǒng)的整合,以及各種測(cè)試用例的生產(chǎn)。為了能夠提高生產(chǎn)的質(zhì)量,我們將生產(chǎn)的程序人員按職能分成兩組,測(cè)試用例的生產(chǎn)和測(cè)試用例生產(chǎn),也就是說(shuō)如果某個(gè)程序員生產(chǎn)了某個(gè)組件,則其測(cè)試用例不能再由該程序員來(lái)生產(chǎn),但他可以生產(chǎn)其他組件的測(cè)試用例。這樣交叉生產(chǎn)更容易發(fā)現(xiàn)組件的存在的問(wèn)題。測(cè)試人員按照測(cè)試用例來(lái)測(cè)試組件的各項(xiàng)指標(biāo)提出測(cè)試報(bào)告。
為了控制系統(tǒng)開(kāi)發(fā)過(guò)程中的往復(fù),不至于產(chǎn)生重大過(guò)失和往復(fù)的泛濫,文檔組和質(zhì)量監(jiān)督組協(xié)同完成軟件開(kāi)發(fā)的配置管理。軟件配置管理的目的在于控制軟件開(kāi)發(fā)過(guò)程中的“變化”,這種變化可能是外部引起的,如需求的變化。也可能是來(lái)自于內(nèi)部的變化,如早期設(shè)計(jì)的某個(gè)部件不夠完備,需要修改等。為了控制這些變化,把變化引起的波動(dòng)盡可能的控制在有限的范圍內(nèi)。
配置項(xiàng)是指需要進(jìn)行控制的任何文檔單元,它可能是需求說(shuō)明報(bào)告,也可能是需求說(shuō)明報(bào)告的某個(gè)點(diǎn)。在本項(xiàng)目中需要控制的內(nèi)部配置項(xiàng)包括需求報(bào)告,設(shè)計(jì)報(bào)告,組件代碼,組件接口文檔,構(gòu)件及相關(guān)構(gòu)件。測(cè)試組的工作被分成若干階段,不同階段的劃分是以保證軟件質(zhì)量的不同指標(biāo)為目標(biāo)的。測(cè)試的軟件指標(biāo)分別包括如下幾點(diǎn):
軟件的正確性:正確性測(cè)試主要是測(cè)試軟件的功能是否被正確的實(shí)現(xiàn)。測(cè)試的方式主要是按照功能的要求按照給定的輸入,看是否有給定的輸出,在非標(biāo)稱輸入時(shí),輸出是否異常等。同時(shí)也可以測(cè)試軟件的功能是否實(shí)現(xiàn)或完整實(shí)現(xiàn)。性能指標(biāo):該項(xiàng)目對(duì)性能的要求非同一般的軟件項(xiàng)目。性能測(cè)試往往包含了壓力測(cè)試、攻擊性測(cè)試等測(cè)試,軟件所能承受的極限是多少,一般來(lái)將軟件的極限應(yīng)當(dāng)高出用戶要求的性能,各種指標(biāo)也應(yīng)當(dāng)為用戶所了解。
易用性:軟件的使用界面在設(shè)計(jì)實(shí)現(xiàn)的時(shí)候應(yīng)當(dāng)設(shè)法使之與功能的實(shí)現(xiàn)相脫離。脫離的原因在于易用性是通過(guò)友好的界面實(shí)現(xiàn)的。然而讓開(kāi)發(fā)人員以使用者的角度來(lái)確定軟件是否易用是件非常困難的事情,在確定使用界面時(shí)往往需要多次的反復(fù)修改,甚至只能在軟件的最后交付之前或用戶使用一段時(shí)間之后才被提出來(lái)。
鑒于這種特點(diǎn),軟件在開(kāi)發(fā)的不同階段都作了相應(yīng)的保證措施,比如在軟件需求界定的時(shí)候請(qǐng)領(lǐng)域?qū)<覅⑴c,在軟件設(shè)計(jì)階段,讓功能的實(shí)現(xiàn)盡可能地包含在軟件的組件之中,也就是沒(méi)有界面要求的底層實(shí)現(xiàn)。界面的實(shí)現(xiàn)僅僅依賴于一個(gè)數(shù)據(jù)接口,界面僅僅負(fù)責(zé)將用戶輸入的數(shù)據(jù)送到指定的數(shù)據(jù)塊中,用于顯示的數(shù)據(jù)也在指定的數(shù)據(jù)塊中提取,只要保證數(shù)據(jù)塊被互斥的訪問(wèn)就可以了。有了這樣的設(shè)計(jì)結(jié)構(gòu),軟件的易用性也就相當(dāng)容易保證了。當(dāng)測(cè)試中發(fā)現(xiàn)易用性的問(wèn)題時(shí),軟件不會(huì)傷到筋骨,皮毛的修改總是非常容易的。只有在項(xiàng)目每個(gè)階段不斷實(shí)施質(zhì)量管理措施,才能盡早發(fā)現(xiàn)問(wèn)題,確保項(xiàng)目成功。