軟體開發專案中的質量管理研究

2022-05-11 22:01:56 字數 2825 閱讀 2385

作者:錢潔萍

**:《科技創新導報》2023年第11期

摘要:隨著知識經濟時代的到來,整個社會的高效運作對計算機軟體產品的依賴程度越來越高,軟體質量以及軟體質量管理日益成為人們關注的焦點,對軟體的開發過程進行質量管理是解決軟體質量問題的重要方法。本文詳細介紹了軟體質量的概念、軟體質量工程體系的思想和內容、軟體質量控制和管理的方法和技術,包括軟體質量標準、軟體質量保證和軟體測試等;針對實際的軟體質量工作,深入**了需求分析、軟體設計、編碼和測試等各個階段的軟體質量活動。

關鍵詞:軟體質量質量控制過程管理軟體測試軟體專案管理

中圖分類號:tp3 文獻標識碼:a 文章編號:1674-098x(2012)04(b)-0039-01

隨著計算機應用領域的不斷擴大,軟體產業已成為人們生活生產中不可或缺的一部分,軟體的質量直接關係到人們的生命財產安全,銀行系統中的軟體錯誤會導致金融混亂,醫療系統中的軟體錯誤可能造成生命危險,航空管理系統中的錯誤會造成飛機失事。軟體質量越來越成為國內外工業界和學術界關注的焦點,對軟體質量控制技術和方法的研究也已成為軟體工程領域的乙個重要課題。

軟體質量是指軟體的功能和效能滿足使用者需求和期望的程度,是軟體的一種內在特性。影響軟體質量的三個重要因素是軟體的正確性、可靠性和安全性。正確性是指程式滿足其規格說明和完成使用者任務目標的程度,它的評價準則包括可跟蹤性、完整性和一致性;可靠性是指程式在規定的精度下,能夠完成其要求功能的期望程度,它的評價準則包括簡潔性、準確性、一致性、容錯性、模組性;安全性是指控制或保護程式和資料機制的有效性。

i其他影響軟體質量的因素還有:可測試性、可維修性、可適應性、可理解性、可用性、效率和風險性。軟體質量缺乏保證,軟體缺乏競爭力,最為關鍵的原因是忽視軟體開發過程的質量控制,缺乏軟體開發和維護的科學方法。

所以,我們應當高度重視軟體開發過程,它重點覆蓋需求、編碼和測試三個階段。

第一階段:需求分析。軟體開發的基礎就是必須要明確專案需求,力求做到需求明確、變更少,減少帶來不確定因素。

首先,專案需求說明書要描述明確詳盡,儘量減少由於與使用者溝通不徹底和記憶的缺失導致程式開發人員對需求說明書的理解產生偏差。其次,要規範管理需求變更。

第二階段:編碼走查。**質量在很大程度上影響著軟體質量,專案組成員的程式設計能力、風格、習慣、對專案需求的理解和個性的不同所開發的**質量也不完全相同,一些難以**的人為因素帶來的隱患也將嚴重影響**質量,導致軟體質量不高,影響使用者正常使用並為後續維護帶來更大的難度和工作量。

實施完整的**評審在專案進度中不太現實,可以根據需要引進**走查,定期要求開發人員講解所開發**的主要部分。這項措施可以促進程式設計師本人積極提公升所開發**的質量,同時在**走查過程中能夠獲得他人的寶貴意見,提高編碼效率,使開發成員共享專案實施過程中解決問題的思路和方法,共同關注軟體開發過程中的各個環節,使軟體質量更有保障。

第三階段:形成正式測試制度。要保證軟體質量不但要注重軟體開發過程規範化,更不能忽視軟體測試工作。

在業界,很多大公司都採用測試制度作為評價軟體質量的標準。通過跟蹤缺陷、錯誤及隱患的修正過程,確保軟體產品、中間產品和文件符合軟體工程過程需求和使用者的最終需求。軟體測試的目的是根據使用者需求檢查系統是否符合專案合同與任務書規定的要求。

從最初的需求到部署階段,都應制訂詳細的計畫並編制相應的文件,測試活動要盡可能覆蓋整個專案過程,如測試計畫、測試用例文件、測試報告等。通過測試活動盡可能早得發現每個階段中軟體存在的缺陷,嚴格按照使用者需求進行測試,既不能為求速度而縮短測試規模,也不能忽視使用者需求而提高測試要求。只有通過了全部測試的軟體,才是符合使用者質量要求的合格軟體。

測試是驅動開發過程的關鍵:首先,測試驅動開發主旨是「測試優先實踐」,「測試優先實踐」重視單元測試,採用先編寫測試,再編寫**。其本質是細粒度的目標管理方法,使用測試**建立目標,編寫**完成測試目標,再制定下乙個目標,反覆迴圈,實現測試驅動開發。

這種方法使得測試成為設計的一部分,在實際中能起到非常好的效果,它規定了需要設計的類、方法,以及方法需要滿足的結果。測試的目標要比設計的目標粒度更小,但在成本上卻更為經濟。其原因有四:

(1)減輕了測試的工作量,先進行單元測試,可以減少後續的測試工作量。(2)細粒度的設計需要花費大量的成本。(3)測試可以實現一部分的設計工作,採用測試優先實踐,設計上可以節省一些工作量。

(4)在編寫測試**上付出的成本,在回歸測試上會得到回報。兩相權衡,編寫測試的代價並不高。其次,測試必須是自動化的,避免**回歸。

以往採用的手動測試通過輸入資料,觀察程式輸出,來判斷是否正確。它是對輸入、輸出的檢驗,乙個端到端的過程,最大優勢是簡單,但手動測試可能會引入錯誤,比如資料量大的情況下人為輸入錯誤,大量重複的手動測試會使成本變高,另外手動測試僅測試系統的輸入和輸出,無法對元件進行隔離測試,覆蓋面窄導致發現問題和解決問題的成本都很高。所以測試要做到自動化,它產生的價值大大高於其成本。

那麼哪些東西是需要納入到自動化測試的範圍的呢?例如,乙個典型的分層應用來說,有資料庫層、資料庫訪問層,業務邏輯層、介面控制層、介面層。測試特點各不相同的層次,哪些需進執行自動化測試呢?

「測試一切可能」是測試的基本原則,「讓一切測試都變成自動化」是測試驅動開發的準則。當然,自動化測試需要付出成本,例如,對業務方法的自動化測試比較簡單,對關聯到資料庫的業務方法的測試因介面涉及到大量的人機互動則繁瑣一些。在測試的推動下,軟體的結構變得更加合理。

在mvc介面中,控制器測試是重點,模型僅僅包含資料,測試非常容易,乙個優秀檢視不包含邏輯,用某種方式表現模型,方便替換,不產生任何影響。例如,xslt檢視可以替換jsp檢視,設計優秀的檢視除了對頁面要素進行檢查也是不需要測試的。從開發文化角度看,介面自動化測試要求開發人員和使用者進行充分溝通,慎重思考頁面設計,保證頁面設計的抗變性和可擴充套件性,繪製出滿足需要的頁面並確保測試**穩定,減少麻煩。

這實質是原型方法的應用,通過自動化測試提高軟體質量,驅動設計優化。最後,明確測試的分類。(1)單元測試。

(2)整合測試。(3)接受測試。由此說明,測試可以驅動設計。

軟體開發專案中的質量管理研究

摘要 隨著知識經濟時代的到來,整個社會的高效運作對計算機軟體產品的依賴程度越來越高,軟體質量以及軟體質量管理日益成為人們關注的焦點,對軟體的開發過程進行質量管理是解決軟體質量問題的重要方法。本文詳細介紹了軟體質量的概念 軟體質量工程體系的思想和內容 軟體質量控制和管理的方法和技術,包括軟體質量標準 ...

軟體開發專案管理

軟體開發專案管理,補習對軟體開發專案的工作範圍 可能遇到的風險 需求的資源 要實現的任務 經歷的里程碑 話費的工作量,以及進度的安排等等做到心中有數。而軟體專案管理可以提供這些資訊。軟體具有可見性差 定量化難等特殊性。但通常可以 根據以往開發類似軟體的經驗來進行成本估算。將軟體專案劃分為若干個子系統...

軟體開發專案中的調研物件與被調研物件

軟體開發過程中較為關鍵的一環就是軟體的調研。調研的結果直接關係到軟體產品使用價值的高低,也必然影響到軟體的 以及市場的反響。任何乙個被使用者認可的軟體無不經過詳細調研過程。正因為如此,我認為有必要談一談軟體調研的有關問題。特別是目前大部分較小的軟體公司不太注重軟體的質量和使用者需求,調研過程過於簡單...