• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      軟件開發(fā)項目中的質量管理研究

      2012-12-31 00:00:00錢潔萍
      科技創(chuàng)新導報 2012年11期

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

      關鍵詞:軟件質量 質量控制 過程管理 軟件測試 軟件項目管理

      中圖分類號:TP3文獻標識碼:A文章編號:1674-098X(2012)04(b)-0039-01

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

      軟件質量是指軟件的功能和性能滿足用戶需求和期望的程度,是軟件的一種內在特性。影響軟件質量的三個重要因素是軟件的正確性、可靠性和安全性。正確性是指程序滿足其規(guī)格說明和完成用戶任務目標的程度,它的評價準則包括可跟蹤性、完整性和一致性;可靠性是指程序在規(guī)定的精度下,能夠完成其要求功能的期望程度,它的評價準則包括簡潔性、準確性、一致性、容錯性、模塊性;安全性是指控制或保護程序和數(shù)據(jù)機制的有效性。i其他影響軟件質量的因素還有:可測試性、可維修性、可適應性、可理解性、可用性、效率和風險性。軟件質量缺乏保證,軟件缺乏競爭力,最為關鍵的原因是忽視軟件開發(fā)過程的質量控制,缺乏軟件開發(fā)和維護的科學方法。所以,我們應當高度重視軟件開發(fā)過程,它重點覆蓋需求、編碼和測試三個階段。

      第一階段:需求分析。軟件開發(fā)的基礎就是必須要明確項目需求,力求做到需求明確、變更少,減少帶來不確定因素。首先,項目需求說明書要描述明確詳盡,盡量減少由于與用戶溝通不徹底和記憶的缺失導致程序開發(fā)人員對需求說明書的理解產生偏差。其次,要規(guī)范管理需求變更。

      第二階段:編碼走查。代碼質量在很大程度上影響著軟件質量,項目組成員的編程能力、風格、習慣、對項目需求的理解和個性的不同所開發(fā)的代碼質量也不完全相同,一些難以預測的人為因素帶來的隱患也將嚴重影響代碼質量,導致軟件質量不高,影響用戶正常使用并為后續(xù)維護帶來更大的難度和工作量。實施完整的代碼評審在項目進度中不太現(xiàn)實,可以根據(jù)需要引進代碼走查,定期要求開發(fā)人員講解所開發(fā)代碼的主要部分。這項措施可以促進程序員本人積極提升所開發(fā)代碼的質量,同時在代碼走查過程中能夠獲得他人的寶貴意見,提高編碼效率,使開發(fā)成員共享項目實施過程中解決問題的思路和方法,共同關注軟件開發(fā)過程中的各個環(huán)節(jié),使軟件質量更有保障。

      第三階段:形成正式測試制度。要保證軟件質量不但要注重軟件開發(fā)過程規(guī)范化,更不能忽視軟件測試工作。在業(yè)界,很多大公司都采用測試制度作為評價軟件質量的標準。通過跟蹤缺陷、錯誤及隱患的修正過程,確保軟件產品、中間產品和文檔符合軟件工程過程需求和用戶的最終需求。軟件測試的目的是根據(jù)用戶需求檢查系統(tǒng)是否符合項目合同與任務書規(guī)定的要求。從最初的需求到部署階段,都應制訂詳細的計劃并編制相應的文檔,測試活動要盡可能覆蓋整個項目過程,如測試計劃、測試用例文檔、測試報告等。通過測試活動盡可能早得發(fā)現(xiàn)每個階段中軟件存在的缺陷,嚴格按照用戶需求進行測試,既不能為求速度而縮短測試規(guī)模,也不能忽視用戶需求而提高測試要求。只有通過了全部測試的軟件,才是符合用戶質量要求的合格軟件。測試是驅動開發(fā)過程的關鍵:首先,測試驅動開發(fā)主旨是“測試優(yōu)先實踐”,“測試優(yōu)先實踐”重視單元測試,采用先編寫測試,再編寫代碼。其本質是細粒度的目標管理方法,使用測試代碼建立目標,編寫代碼完成測試目標,再制定下一個目標,反復循環(huán),實現(xiàn)測試驅動開發(fā)。這種方法使得測試成為設計的一部分,在實際中能起到非常好的效果,它規(guī)定了需要設計的類、方法,以及方法需要滿足的結果。測試的目標要比設計的目標粒度更小,但在成本上卻更為經濟。其原因有四:(1)減輕了測試的工作量,先進行單元測試,可以減少后續(xù)的測試工作量。(2)細粒度的設計需要花費大量的成本。(3)測試可以實現(xiàn)一部分的設計工作,采用測試優(yōu)先實踐,設計上可以節(jié)省一些工作量。(4)在編寫測試代碼上付出的成本,在回歸測試上會得到回報。兩相權衡,編寫測試的代價并不高。其次,測試必須是自動化的,避免代碼回歸。以往采用的手動測試通過輸入數(shù)據(jù),觀察程序輸出,來判斷是否正確。它是對輸入、輸出的檢驗,一個端到端的過程,最大優(yōu)勢是簡單,但手動測試可能會引入錯誤,比如數(shù)據(jù)量大的情況下人為輸入錯誤,大量重復的手動測試會使成本變高,另外手動測試僅測試系統(tǒng)的輸入和輸出,無法對組件進行隔離測試,覆蓋面窄導致發(fā)現(xiàn)問題和解決問題的成本都很高。所以測試要做到自動化,它產生的價值大大高于其成本。那么哪些東西是需要納入到自動化測試的范圍的呢?例如,一個典型的分層應用來說,有數(shù)據(jù)庫層、數(shù)據(jù)庫訪問層,業(yè)務邏輯層、界面控制層、界面層。測試特點各不相同的層次,哪些需進執(zhí)行自動化測試呢?“測試一切可能”是測試的基本原則,“讓一切測試都變成自動化”是測試驅動開發(fā)的準則。當然,自動化測試需要付出成本,例如,對業(yè)務方法的自動化測試比較簡單,對關聯(lián)到數(shù)據(jù)庫的業(yè)務方法的測試因界面涉及到大量的人機交互則繁瑣一些。在測試的推動下,軟件的結構變得更加合理。在MVC界面中,控制器測試是重點,模型僅僅包含數(shù)據(jù),測試非常容易,一個優(yōu)秀視圖不包含邏輯,用某種方式表現(xiàn)模型,方便替換,不產生任何影響。例如,XSLT視圖可以替換JSP視圖,設計優(yōu)秀的視圖除了對頁面要素進行檢查也是不需要測試的。從開發(fā)文化角度看,界面自動化測試要求開發(fā)人員和用戶進行充分溝通,慎重思考頁面設計,保證頁面設計的抗變性和可擴展性,繪制出滿足需要的頁面并確保測試代碼穩(wěn)定,減少麻煩。這實質是原型方法的應用,通過自動化測試提高軟件質量,驅動設計優(yōu)化。最后,明確測試的分類。(1)單元測試。(2)集成測試。(3)接受測試。由此說明,測試可以驅動設計。

      除了上述幾方面,風險控制、變更管理和配置管理等等也是軟件質量管理必須慎重考慮的因素。軟件質量是軟件開發(fā)項目管理的核心,提高軟件產品質量勢在必行,只有充分認識軟件質量的重要性,了解影響軟件質量的因素,才能有的放矢,采用科學的技術方法和先進的管理技術來確保軟件的質量。

      參考文獻

      [1]楊根興,等.軟件質量保證.測試與評價.清華大學出版社;第1版、第15頁.

      望都县| 灌云县| 神农架林区| 镇康县| 浮山县| 佛学| 海林市| 浮山县| 昭觉县| 湘乡市| 潼南县| 商都县| 西宁市| 六盘水市| 左权县| 固镇县| 辽阳县| 柘荣县| 吴桥县| 宜宾市| 抚远县| 满城县| 霍林郭勒市| 甘谷县| 连南| 营口市| 正镶白旗| 宽甸| 扬州市| 东阳市| 鸡东县| 怀远县| 仙游县| 靖边县| 新龙县| 无锡市| 文化| 甘肃省| 乐都县| 泗阳县| 钟山县|