軟件質量和測試的背景課件_第1頁
軟件質量和測試的背景課件_第2頁
軟件質量和測試的背景課件_第3頁
軟件質量和測試的背景課件_第4頁
軟件質量和測試的背景課件_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1第1章軟件測試和軟件質量的背景2內容提要1.1 軟件特征與軟件工程 1.1.1 軟件分類 1.1.2 層次化軟件工程

1.1.3 軟件范型的轉變 1.1.4 現代軟件開發 1.2 軟件質量 1.2.1 質量概念 1.2.2 質量運動 1.2.3 軟件質量概念 1.2.4 軟件質量評價體系與標準 思考 31.1 軟件特征與軟件工程要理解軟件的含義并全面地理解軟件工程,我們首先要明確軟件的特征,并據此知道軟件與人類建造的其它事物之間的區別。IEEE定義對軟件的定義如下:軟件是計算機程序、規程以及可能的相關文檔和運行計算機系統需要的數據。軟件包含計算機程序、規程、文檔和軟件系統運行所必需的數據四個部分。4軟件具有與硬件完全不同的特征軟件是開發產生的,而不是用傳統方法制造。軟件不會有像硬件一樣的磨損。很多軟件不能通過已有構件組裝,只能自己定義。5硬件、軟件失效曲線圖(浴缸曲線)(鋸齒曲線)結論:軟件維護比硬件維護更復雜61.1.1 軟件分類當前的計算機軟件分為七個大類,使得軟件工程正面臨持續的挑戰:系統軟件應用軟件Web應用軟件工程和科學軟件嵌入式軟件產品線軟件人工智能軟件7新的挑戰也逐漸顯現出來普適計算網絡資源開源軟件新經濟普適計算又稱普存計算、普及計算(英文中叫做pervasivecomputing或者Ubiquitouscomputing)又稱為環境智能,強調和環境融為一體的計算,而計算機本身則從人們的視線里消失。在普適計算的模式下,人們能夠在任何時間、任何地點、以任何方式進行信息的獲取與處理。核心理念是小型、便宜、網絡化的處理設備廣泛分布在日常生活的各個場所,計算設備將不只依賴命令行、圖形界面進行人機交互,而更依賴“自然”的交互方式,計算設備的尺寸將縮小到毫米甚至納米級。8新的挑戰也逐漸顯現出來普適計算網絡資源開源軟件新經濟網絡資源,是利用計算機系統通過通信設備傳播和網絡軟件管理的信息資源。與傳統的信息資源相比,網絡信息資源在數量、結構、分布和傳播的范圍、載體形態、內涵傳遞手段等方面都顯示出新的特點。存儲數字化,傳輸網絡化;表現形式多樣化,內容豐富;數量巨大,增長迅速;傳播速度快、范圍廣,具有交互性;結構復雜,分布廣泛;信息源復雜、無序;動態不穩定性。9新的挑戰也逐漸顯現出來普適計算網絡資源開源軟件新經濟開放源碼軟件《open-source》是一個新名詞,它被定義為描述其源碼可以被公眾使用的軟件,并且此軟件的使用,修改和分發也不受許可證的限制。具有質量可靠、透明度高、客戶控制軟件等優點。互聯網的普及,將原來分散開發人員聚合在一起,只要有一個合適的基礎和好的框架,他們就可以開發出產品級的工具軟件從而開源成為了一種趨勢。10新的挑戰也逐漸顯現出來普適計算網絡資源開源軟件新經濟

新經濟是指在經濟全球化背景下,信息技術(IT)革命以及由信息技術革命帶動的、以高新科技產業為龍頭的經濟。新經濟是信息化帶來的經濟文化成果。新經濟之所以“新”,源于推動其產生與發展的原動力——信息、技術革命所具有的全新的革命意義。同以往的任何一次技術革命不同,信息技術革命改變的不是人類對自然資源的利用方式。111.1.2 層次化軟件工程FritzBauer在NATO(北大西洋公約組織)會議上給出的定義仍是我們進一步展開討論的基礎:軟件工程:是為了經濟地獲得可靠的和能在實際機器上高效運行的軟件而建立和使用的好的工程原則。美國電氣和電子工程師協會(InstituteofElectricalandElectronicsEngineers,IEEE)給出了一個更加綜合的定義:軟件工程:(1)將系統化的、規范的、可度量的方法應用于軟件的開發、運行和維護的過程,即將工程化應用于軟件中。(2)(1)中所述方法的研究。12軟件過程、軟件方法和軟件工具軟件工程是一種層次化的技術,以質量保證為基礎。著眼質量的理念促進過程改進,進而有更成熟的方法出現13軟件工程的視圖拋開要工程化的實體,我們必須先回答下列問題:要解決的問題是什么?明確問題要用于解決該問題的實體具有什么特點?需求如何實現該實體?其解決方案是怎樣的?設計如何建造該實體?開發與實現采用什么方法去發現該實體設計和建造過程中產生的錯誤?質量監控當該實體的用戶要求修改、適應和增強時,如何支持這些活動?使用與維護工程是對技術實體或社會實體的分析、設計、建造、驗證和管理。14三個階段我們可以把與軟件工程相關的工作分為三個階段,其中的每個階段能夠回答上述的一個或多個問題:定義階段針對“做什么”系統或信息工程、軟件項目計劃、需求分析開發階段針對“如何做”軟件設計、代碼生成、軟件測試維護階段針對“改變”

糾錯、適應、增強、預防15保護性活動還有很多保護性活動用來補充說明在軟件工程的一般視圖中的各個階段和相關步驟,這些典型的貫穿于整個軟件過程中的活動包括:軟件項目追蹤和控制正式的技術復審軟件質量保證軟件配置管理文檔的準備和產生可復用管理測試風險管理161.1.3 軟件范型的轉變軟件范型(SoftwareParadigm):軟件系統組織與結構設計的工程技術。既可以指軟件系統靜態的組織與結構模型,也可以指動態的軟件系統開發與構造構成模型。李德毅院士:軟件工程學科今后的走向是軟件在網絡環境下工作、軟件工程向需求工程傾斜、軟件結構用網絡拓撲表示、問題的形式化向著本體描述發展、軟件在演化中生長完善。正在進入面向服務的軟件工程時代。17181.1.4 現代軟件開發傳統軟件開發和現代軟件開發(有區別:以軟件危機為轉折點)軟件團隊與軟件開發人員的培養(微軟)191.2 軟件質量有些軟件開發者仍然相信軟件質量是在編碼之后才應該開始擔心的事情。這是荒謬的,因為軟件質量保證(SoftwareQualityAssurance,SQA)是一種應用于整個軟件過程的保護性活動,它包括:一種質量管理方法有效的軟件工程技術(方法和工具)在整個軟件過程中采用的正式技術復審一種多層次的測試策略對軟件文檔及其修改的控制保證軟件遵從軟件開發標準的規程度量和報告機制201.2.1 質量概念軟件質量評價:效率第一轉變為清晰第一我們應從以下幾個方面考慮軟件質量:軟件結構方面內部結構清晰、易于閱讀,界面友好、方便使用功能與性能方面可靠的工作,足夠健壯開發標準與文檔方面遵守開發準則,資料齊全三個方面相輔相成,但不同人從各自的要求出發,對軟件質量標準常有不同的要求。如管理人員,用戶,維護人員。不同類型的軟件也會有不同的質量要求。如實時控制軟件,MIS。質量的不同特性可能會矛盾。需要取舍和平衡。211.2.2 質量運動全面質量管理(TotalQualityManagement,TQM)一個組織以質量為中心,以全員參與為基礎,目的在于通過讓顧客滿意、本組織所有成員及社會收益而達到永續經營的管理途徑。全面質量管理通常都包括以下4個步驟:第1步是指一個連續的過程改進系統,其目標在于開發一個看的見的、可重復的和可度量的軟件過程。第2步只第1步完成之后才可啟動。這一步將檢查影響過程的其它因素,并優化這些因素對過程的影響。例如,軟件過程可能受到高層職員流動的影響,而該影響則是公司內部不斷重組而引起的。一個穩定的公司組織會對軟件質量的提高帶來很大的幫助,所以第2步可以幫助管理者對公司重組方式提出建議。前面兩個步驟關注的是過程,第3步(或稱為“第五感覺”)則關注軟件產品的用戶,它是通過檢查用戶使用產品的方式,而導致產品本身的改進和潛在地改進產品的生產過程。第4步將管理者的注意從當前的產品上移開并拓寬。作為一個面向商業的步驟,該步驟通過觀察產品的市場用途,來尋找產品在相關領域中的發展機會。在軟件領域,第4步可以被視為一種發現有利可圖的新產品,或視作尋找當前計算機系統的副產品用途的努力。22注意:大多數公司先要做好第一步。沒有成熟的軟件過程,后面步驟是無意義的。231.2.3 軟件質量概念IEEE關于軟件質量的定義:軟件質量是系統、部件或者過程滿足規定需求的程度。系統、部件或者過程滿足顧客或者用戶需要或期望的程度。該定義相對客觀,強調了產品(或服務)和客戶/社會需求的一致性。ANSI關于軟件質量的定義:按照ANSI(AmericanNationalStandardsInstitute,美國國家標準學會)在1983年的標準陳述,軟件質量定義為“與軟件產品滿足規定的和隱含的需求的能力有關的特征和特性的全體”。具體包括軟件產品中能滿足用戶給定需求的全部特性的集合,軟件具有所期望的各種屬性組合的程度,用戶主觀得出的軟件是否滿足其綜合期望的程度,決定所用軟件在使用中將滿足其綜合期望程度的軟件合成特性。強調了軟件的特性和特征,與需求的吻合程度以及綜合評價值246個主要特征我們把各類軟件綜合起來看,可以列出下列6個主要特征:功能性:軟件實現的功能達到要求的和隱含的用戶需求以及設計規范的程度,可靠性:軟件在指定條件和特定時間段內維持性能的能力程度,易使用性:用戶使用該軟件所付出的學習精力,效率:在指定條件下,軟件功能與所占用資源之間的比值,可維護性:當發現錯誤、運行環境改變或客戶需求改變時,程序能修改的容易程度,可移植性:將軟件從一種環境移入另一種環境的容易程度。25其他角度過程質量軟件產品是如何生產出來的間接地推斷軟件質量,稱為軟件的過程質量,可以理解為一個活動序列、和與此相關的輸入、輸出、約束條件、實現方法、輔助工具等因素共同組成的系統。用戶滿意度軟件的產品質量是最終的檢驗標準,而最終的檢驗者則是客戶。261.2.4 軟件質量評價體系與標準軟件質量貫穿整個軟件生存周期,涉及軟件質量需求、軟件質量度量、軟件屬性檢測、軟件質量管理技術和過程等。軟件質量保證涉及整個軟件開發過程,包括監視和改善過程、確保任何經過認可的標準與步驟均可遵循,并且保證問題被發現和被處理。IEEE給出軟件質量保證的定義,軟件質量保證(SQA)是:一種有計劃的,系統化的行動模式,它是為項目或者產品符合己有技術需求提供充分信任所必需的。設計用來評價開發或者制造產品的過程的一組活動,與質量控制有區別。盡局限于開發過程及技術層面,缺少進度和預算有關的活動。軟件質量控制很困難,如何進行質量評估很關鍵。271.2.4 軟件質量評價體系與標準擴展定義:軟件質量保證是一個有系統的,有計劃的行動集合,它是為提供軟件產品的軟件開發過程與維護過程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論