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