軟體開發質量控制研究

2021-09-30 21:37:47 字數 3308 閱讀 3257

軟體質量是指開發出來的軟體不僅可以滿足客戶明確提出來的要求還要滿足某些沒有明確提出來的要求,軟體質量越高,客戶需求滿足度就越高。軟體專案質量控 制不僅僅是控制軟體設計的最終結果,它其實要求貫穿於軟體設計專案的全過程,從軟體開發初期的客戶需求調查,到最終的軟體交付評審,每個階段都要進行仔細 的控制,才能提高軟體開發的質量。

一、軟體開發過程的問題分析

1、不能明確分析軟體的需求

軟體的需求是決定軟體質量的乙個非常關鍵的因素,如果不能夠準確明了的分析軟體需求,就達不到軟體應有的效果,從而不能真正滿足客戶的要求。然而軟體的 需求不是顯而易見的,它需要軟體開發人員和客戶或者業務人員之間進行充分有效地溝通和交流,使得在軟體開發一開始就能夠將需求提得既明確又充分,這樣才能 為以後的工作打好基礎,避免在一開始就偏離了軟體開發的方向。在設計開發的過程中也要不斷與客戶進行溝通和交流,及時按照客戶的意見調整軟體,才能提高軟體開發的質量。

2、軟體開發工作不規範

由於軟體質量許多指標不能量化,因此,軟體開發的***壞也沒有辦法直接考核軟體開發人員的責任,這樣就致使軟體開發人員不會很重視軟體開發的質量,往 往更關心專案開發的成本和進度。此外,軟體開發人員沒有制定軟體開發計畫或者並不能按照軟體開發的計畫進行工作,為了趕進度經常跨階段進行開發工作,這樣 就沒法保證軟體開發過程的科學性和系統性,軟體開發的質量也不能得到保證。軟體開發管理人員和技術人員也會影響軟體開發的質量。軟體開發工作需要他們之間 進行頻繁的溝通和交流,倘若不能及時溝通,對開發過程**現的不同認識和誤解等等問題不能及時消除,就勢必會影響到軟體產品的質量。此外,軟體開發人員在 開發過程中一旦出現流動,就會給軟體開發工作帶來很大的影響,也不利於提高軟體產品的質量。

二、提高軟體開發質量方法和對策

1、軟體產品質量控制方法

(1)軟體工程方法

軟體工程的基本方法就是把軟體開發過程劃分為若干個階段,在每個階段開發過程中都設定不同的目標、成本、時間等驗收標準,在前一階段工作通過驗收後才能 開始下一階段的工作,這樣就會達到提高軟體開發的質量的目標。軟體工程將開發過程分為軟體生產方法、需求分析、軟體設計、軟體生產工具、測試、驗證與確認、評審和管理等8個階段,每個階段都以軟體質量控制為核心,規範每個操作流程,從而提高軟體開發產品的質量。

(2)iso9000-3標準

iso9000系列標準原本並不能直接用於管理軟體製作,而是為製造硬體產品而制定的標準。後推行的iso9000-3標準為使軟體產品達到質量要求, 要求軟體開發機構建立質量保證體系,明確供需雙方的職責,針對所有可能影響軟體質量的各個因素都要採取有力措施,作出如何加強管理和控制的對策和措施。 iso9000-3標準敘述了需方和供方應如何進行有組織的質量保證活動,規定了從雙方簽訂開發合同到設計、實現以至維護整個軟體生存期中應當實施的質量 保證活動,但並沒有規定具體的質量管理和質量檢驗方法和步驟。

(3)cmm認證

cmm是一種專門針對軟體產品開發及服務的高效管理方法,強調軟體開發過程的不斷改進和提高,在軟體企業中引入cmm,有助於解決軟體開發過程中質量控 制方面出現的問題。cmm不僅對軟體企業工程能力進行評估,更著重於軟體開發過程的管理,強調「對軟體開發過程進行持續的改進」。cmm通過優化企業開發 流程,改善現有的規範、團隊配合工作方法,來彌補軟體企業對某個專案經理或開發工程師的單純依賴。軟體能力成熟度模型重點是從組織管理方面研究評估軟體生 產過程,從而提高軟體質量。

2、軟體開發質量控制對策

(1)合理規劃並嚴格按照計畫執行

在進行軟體開發之前首先要制定乙個提高軟體開發質量的保證計畫,在開發過程中嚴格按照計畫執行,不急於搶進度,保證軟體開發的質量。建立文件記錄需要跟蹤的工作以及保證軟體開發質量所需要的資訊。

(2)堅持軟體評審制度

堅持軟體評審是保證軟體質量的重要方法,軟體開發過程按階段可大致分為軟體需求分析、軟體設計、編碼和單元測試、軟體部件測試、軟體驗收六個階 段。軟體評審工作要貫穿於軟體開發的整個過程中,在軟體開發的各個階段都要進行評審,當前軟體開發階段的工作成果達到計畫要求以後才能開始下階段的工作。 評審工作可以以會議的形式組織開展,會議要各方面人員都要參加,包括客戶、軟體管理人員以及軟體開發人員等等,通過會議進行溝通交流,最終給出評審結果。 在每個階段評審過程中產生的問題要盡快在本階段解決,沒有解決之前不能進入下階段工作,這樣就可以保證軟體開發過程中每個階段的工作質量都能得到提高。

(3)採用先進的軟體設計技術和方法

在軟體開發過程中應盡量採用先進的設計技術和方法,如物件導向和基於構件的方法,來提高軟體設計產品的質量。物件導向的方法優點是能夠提高軟體 的重複利用性,將錯誤和缺憾最小化,還有利於使用者的參與,能夠很好的提高軟體產品的質量。基於構件的開發方法又稱為「即插即用程式設計」方法,構件可以向軟體 **商購買,也可以自行開發,而且可以重複多次使用,然後將編制好的構件插入到設計好的框架中去,從而形成乙個大型的軟體。如果某個構件不符合開發的要 求,可以對某個構件進行修改,不會對其他構件造成影響,也不會影響到整個系統功能。

(4)軟體質量控制的關鍵――軟體測試

在軟體開發過程中,軟體測試也是軟體質量控制的關鍵,軟體測試主要包括單元測試、整合測試、確認測試和系統測試。在開發的每個階段都要通過測 試,如果測試結果與預期結果不一致,就要查詢出軟體中存在的問題,針對問題提出解決方案,不斷改進軟體質量。通過軟體測試不僅可以尋找出軟體中存在的與軟 件客戶需求不一致的錯誤和缺陷,還可以節省大量的時間和人力,確保軟體開發的質量。開始測試之前要制定好測試計畫,確定好測試的範圍方法等等。在測試過程 中要做好記錄,詳細記錄每個測試過程中的資料,而且每個階段測試的結果都要進行存檔,如果測試過程**現錯誤,就要編寫錯誤問題的報告,經過除錯解決所發 現的問題以後才能進行下階段工作。

(5)注重文件管理

目前很多軟體開發商都忽視了軟體開發過程中的文件管理,其實文件管理在軟體開發過程中起著非常重要的作用,在軟體開發的過程中建立並儲存文件, 有利於軟體的使用和維護,有益於軟體質量的提高。文件管理要貫穿於整個軟體開發的全過程,即軟體在每階段的開發、測試、評估都要儲存相關的文件,這樣有利 於軟體的開發和維護,出現了錯誤有章可循,有助於軟體開發質量控制。文件要提供給參與軟體開發的各個小組,不僅利於軟體開發過程中的交流和溝通,還可以通 過文件來控制軟體開發的進度,避免趕進度、跨進度工作。在整個軟體設計開發過程中,文件會不斷進行生成、修改、補充完善,要做好文件的記錄儲存工作。

(6)客戶要參與到軟體開發中去

軟體客戶要參與到軟體開發的全過程中去,在開發之初對軟體的需求不是很明確的情況下,要加強與軟體開發人員的溝通和交流,不斷了解自身更深層次 的需求。軟體開發需要多方參與,尤其是軟體客戶方面的人,在需求調查和分析階段,軟體客戶要將自己的需求和軟體開發人員進行有效地溝通,使得軟體開發人員 能夠最大限度的了解客戶需求,才能按照需求目標開發出令客戶滿意的軟體。在軟體測試和評審階段,客戶應按照自己的需求對設計開發的軟體進行檢測和評審,提 出自己的意見和建議,以便在得出結論以後能夠盡快及時的得到修正。軟體開發人員對於客戶提出的意見和建議要按照要求進行修改和完善,及早與使用者進行溝通, 避免影響驗收。

軟體質量控制

從 源頭控制好質量,團隊中有一人負責整個產品的質量和 審核,對於狗屎 要給予嚴厲的批評。不定期的經常舉行內部培訓,發布後bug彙總總結分析,不斷提高開發團隊技術 水平。發布後出現bug和開發者掛鉤,除了不能解決的,嚴重bug必須在2個工作日內解決,對於不能解決的bug要給出原因 是先期設計導致的?別...

實用軟體質量控制課程大綱

實用軟體質量控制課程大綱 物件導向 qa 測試工程師 開發工程師 質量經理 專案經理 授課方式 案例分析 工具應用 專案演練 大綱 需求管理與變更控制。需求分析質量控制與需求評審。需求評審演練。規範 質量控制。評審及其自動化。評審工具的應用。單元測試設計。單元測試覆蓋率度量。單元測試工具與框架的應用...

軟體開發的質量紅線

質量紅線是我的乙個客戶提出的概念,即質量管理的底線 最低要求 最低標準,無論在什麼情況下,專案都不能違背這個底線,比如專案組在進行多快好省四個要素平衡時,無論如何平衡,都不能違背質量的最低要求。我認為這個名詞很直觀形象,因此借用一下。在定義質量紅線時應該從質量的投入與質量的產出兩個方面進行定義。質量...