




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、當前軟件質量的現狀軟件質量的根本概念軟件質量保證軟件的可靠性軟件開發中的可靠性控制軟件配置管理軟件質量與可靠性.0 當前軟件質量的現狀來自北京航空航天大學可靠性工程研討所的數據軟件工程中途中止的占25%軟件產品在交付時通常在產品中還殘留15%的缺陷軟件公司化在軟件返工修正上的資源為30-44%軟件失效往往比硬件失效高一個數量級. 中船總某軍艦上計算機軟件問題:中船總某軍艦計算機CPU運轉850小時缺點120多次 軟件占70% MTBF10h致命缺點12次 軟件占70% MTBF100h0 當前軟件質量的現狀續.自動控制技術ACT實驗機我國第一架實驗機由于軟件缺點而墜機在我國正在研制的假設干型號
2、的機型中,由軟件引起的缺點與由硬件引起的缺點之比已達3:1。有些型號在試飛階段,軟件缺點占缺點總數的80%。0 當前軟件質量的現狀續.0 當前軟件質量的現狀續NASA美國航空航天局的統計.1 軟件質量的根本概念軟件質量的定義軟件質量特性軟件質量模型軟件質量的度量和評價.1.1軟件質量的定義ANSI/IEEE Std 729-1983的定義與軟件產品滿足規定的和隱含的需求的才干有關的特征或特性的全體M.J. Fisher的定義 一切描畫計算機軟件優秀程度的特性的組合.質量特性及其組合,是軟件開發與維護中的重要思索要素為滿足軟件的各項準確定義的功能、性能需求,符合文檔化的開發規范,需求相應地給出或
3、設計一些質量特性及其組合。假設這些質量特性及其組合都能在產品中得到滿足,那么這個軟件產質量量就是高的。1.1軟件質量的定義續.軟件需求是度量軟件質量的根底不符合需求的軟件就不具備質量。規范還定義了一組開發準那么開發準那么是軟件質量的保證軟件質量還在不斷的開展和完善軟件質量是各種特性的復雜組合。它隨著運用的不同而不同,隨著用戶提出的質量要求不同而不同。1.1軟件質量的定義續.1.2軟件質量特性軟件質量特性,反映了軟件的本質討論一個軟件的質量,問題最終要歸結到定義軟件的質量特性。定義一個軟件的質量,就等價于為該軟件定義一系列質量特性。人們通常把影響軟件質量的特性用軟件質量模型來描畫。.1.3軟件質
4、量模型軟件質量特性通常用分層模型來定義,它包括根本質量特性和二次特性根本質量特性可以由一些子質量特性定義和度量。二次特性在必要時又可由它的一些子質量特性定義和度量。著名的軟件質量模型1976年 Boehm 質量模型1979年 McCall質量模型1985年 ISO 質量模型.1.3.1 Boehm質量模型.1.3.2 McCall質量模型.1.3.3 ISO的軟件質量評價模型按照ISO/TC97/SC7/WG3/1985-1-30/N382,軟件質量度量模型由三層組成軟件質量需求評價準那么SQRC軟件質量設計評價準那么SQDC軟件質量度量評價準那么SQMC高層和中層建立國際規范,低層可由各運用
5、單位視實踐情況制定.1.3.3 ISO的軟件質量評價模型(續).1.3.4 ISO質量特性國際規范 ISO/IEC9126- 1991 質量特性:功能性可靠性可維護性效率可運用性可移植性.1.3.4 ISO質量特性國際規范續 ISO/IEC9126- 1991 引薦21個子特性:適宜性 準確性 互用性 依從性 平安性 成熟性 容錯性 可恢復性 可了解性 易學習性 操作性 時間特性 資源特性 可分析性 穩定性 可變卦性 可測試性 可安裝性 可交換性 順應性 一致性 .1.3.4 ISO質量特性國際規范續 ISO/IEC9126- 1991 質量特性的相互影響.1.4 軟件質量的度量和評價軟件質量
6、特性度量有兩類:預測型驗收型預測度量是利用定量或定性的方法,估算軟件質量的評價值,以得到軟件質量的比較準確的估算值。驗收度量是在軟件開發各階段的檢查點,對軟件的要求質量進展確認性檢查的詳細評價值,它是對開發過程中的預測進展評價。1.4.1 軟件質量度量的種類.預測度量又分為:尺度度量二元度量尺度度量,是一種定量度量。它適用于一些可以直接度量的特性。如出錯率二元度量,是一種定性度量。它適用于一些只能間接度量的特性,例如,可運用性、靈敏性等等。1.4.2 預測度量.尺度度量檢查表1.4.2 預測度量續.二元度量檢查表1.4.2 預測度量續.經過對照檢查工程,確定一種質量特性的有無。例如,在設計和編
7、碼階段的復雜性度量,利用尺度度量方法來做。對模塊復雜性的度量采用McCabe 環路度量。對于二元度量,可針對檢查表中每一項都應給以記分,指定信息存在時記 “1,否那么記 “0。表中一切各項的分數相加,即得度量結果。1.4.3 預測度量的實施.2 軟件的質量保證質量保證的概念軟件質量保證的主要義務質量保證的根本措施質量保證的實施軟件的構造特性與評價規范.2.1質量保證的概念什么是質量保證,它是為保證產品和效力充分滿足消費者要求的質量而進展的有方案、有組織的活動。質量保證是面向消費者的活動,是為了使產品實現用戶要求的功能,站在用戶立場上來掌握產質量量的。軟件的質量保證就是向用戶提供稱心的高質量的軟
8、件產品。.軟件的質量保證活動也和普通的質量保證活動一樣,是確保軟件產品從誕生到消亡為止的一切階段的質量的活動。即為了確定、到達和維護需求的軟件質量而進展的一切有方案、有系統的管理活動。2.1質量保證的概念續.2.2 軟件質量保證的主要義務用戶要求定義熟練掌握正確定義用戶要求的技術熟練運用定義軟件需求的支持工具掌握搜集和積累有關用戶業務領域的各種業務的資料和技術的技藝。減少反復勞動和無效力動既有軟件能否可以復用新消費軟件應具有復用性注重需求測試,減少因需求規格闡明有誤、設計有誤而呵斥的返工建立相互交流、信息往來通暢、具橫向交流特征的信息流通網.掌握開發新軟件的方法采用先進的開發技術:如構造化技術
9、、面向對象技術 運用數據庫技術或網絡化技術 運用新型開發工具或環境 改良開發過程組織外部協作必需明確規定進度管理、質量管理、交接檢查、維護體制等各方面的要求,建立跟蹤檢查的體制2.2 軟件質量保證的主要義務續.發揚每個開發者的才干開發者必需有學習各專業業務知識、消費技術和管理技術的能動性。制定技術培訓方案、技術程度規范。提高軟件開發的工程才干要想消費出高質量的軟件產品必需有高程度的軟件工程才干。在軟件開發環境或軟件工具箱的支持下,運用先進的開發技術、工具和管理方法開發軟件的才干。 2.2 軟件質量保證的主要義務續.提高方案和管理質量的才干工程開發初期方案階段的工程方案評價方案執行過程中及方案完
10、成報告的評價將評價、評審任務在工程實施之前就列入整個開發工程的工程方案中提高軟件開發工程管理的準確度2.2 軟件質量保證的主要義務續.2.3.1確定軟件等級,實行分級管理在需求分析階段應根據軟件失效后對系統平安性和性能的不同影響程度,將軟件劃分為假設干個等級。普通,可根據軟件的平安性、重要性將軟件劃分為關鍵軟件、重要軟件和普通軟件。在軟件研制過程中,應視軟件的等級采取不同的管理措施。2.3 質量保證的根本措施.2.3.2給出關鍵、重要軟件的可靠性目的在確定軟件可靠性目的時應留意:a. 采用運用部門能察看到且可驗證的目的b. 分配時按軟件平安關鍵程度適當加權c. 給出目的時應明確驗收方法。常用的
11、軟件可靠性目的有:MTBF、MTTF可用性AMDT初期缺點率2.3 質量保證的根本措施續.2.3.3 制定軟件的可靠性、平安性設計準那么a.每個階段的詳細質量要求和判據;b.需求分析、設計和編程階段需遵守可靠性、平安性設計準那么和相應的設計檢查單;c. 每階段應進展的詳細驗證和評價活動類型、活動方案和責任者及其職責。 2.3 質量保證的根本措施續.2.3.4 仔細編制符合國軍標規定的軟件設計文檔應及時、仔細地根據GJB438A-96或其它相應規范的要求,對級別不同的軟件編制相該當文檔。在轉階段評審中,必需對相應的軟件文檔進展仔細評審。2.3 質量保證的根本措施續.2.3.5 嚴厲進展軟件的階段
12、評審軟件研制單位應仔細組織并嚴厲進展軟件的階段評審;特別應仔細組織好軟件需求評審,軟件詳細設計評審,軟件測試和驗收評審。在評審前必需確定方式、內容、要求和評審組成員。在評審應對評審中的問題進展更改、跟蹤歸零。2.3 質量保證的根本措施續.2.3.6 加強軟件的配置管理應根據國軍標有關規定對軟件配置標識、配置控制、配置情況記錄和配置審核進展管理。必需制定“軟件配置管理方案,并按方案實施規定的管理活動。應按照型號軟件的研制進程對軟件的版本進展標識并實施控制。軟件研制單位應建立本單位的軟件開發庫,受控庫和廢品庫,并制定各軟件庫的管理規程。已歸檔軟件產品的更改必需嚴厲履行審批手續,更改后的軟件必需進展
13、回歸測試,并重新歸檔。2.3 質量保證的根本措施續.2.3.7 強化軟件測試a) 制定軟件測試方案b) 在軟件研的同時進展測試c) 規范軟件的測試d) 平安關鍵軟件的第三方測試2.3 質量保證的根本措施續.2.3.8 建立閉環的軟件缺點報告、分析和糾正系統(SFRACAS)在系統分析和設計階段開場,就應建立SFRACAS,在軟件測試過程中,應按有關規定記錄、整理、分析有關缺點數據,實施閉環控制,有效地消除軟件缺陷、缺點,控制軟件研制任務的質量。在軟件各開發、測試部門及外場測試部門及外場實驗,運用部門應建立問題報告制度,軟件的更改必需仔細填寫“軟件問題報告單及“軟件更改報告單。對軟件的更改記錄和
14、信息應納入系統承制單位的信息閉環管理系統。2.3 質量保證的根本措施續.2.4 質量保證活動的實施-TPDCATarget 設定質量目的。Plan 設定評測檢查工程(質量評價準那么)。制定實現質量目的的方法或手段。Do 制造高質量的規格闡明和程序。在接受質量檢查前先做自我檢查。Check 質量檢查,評價結果用質量圖的方式表示Action:對評價發現的問題進展改良活動,假照實現并到達了質量目的就轉入下一個工程階段。這樣反復“Plan到“Action的過程,直到整個開發工程完成。.2.5 軟件的構造特性與評價規范邏輯數據層次 評價規范全部數據元素定義終了一切層次的操作符定義終了功能層次 評價規范全
15、部功能元素定義終了一切層次的操作符定義終了邏輯數據與功能的對應關系 評價準那么一切數據都與功能對應一切功能元素都與數據對應邏輯數據與功能的相互關系個數部分. 物理數據層次 評價準那么全部數據元素定義終了物理數據之間的一切指針定義終了上述指針都具有層次性模塊層次評價準那么一切模塊定義終了模塊之間一切控制關系定義終了上述關系都是規范過程調用方式各層次上的模塊大小適當2.5 軟件的構造特性與評價規范續.物理數據與模塊的對應關系評價準那么 一切物理數據都與模塊對應一切模塊都與物理數據對應對應于一個物理數據的模塊數以一對一為好功能與模塊的對應關系評價準那么一切功能都與模塊對應對應模塊的功能個數以一對一為
16、好2.5 軟件的構造特性與評價規范續.3 軟件可靠性與可靠性工程軟件生存期與軟件壽命的關系軟件可靠性定義測試中的可靠性分析SPQL評價軟件可靠性工程軟件可靠性的測試與驗證.3.1軟件生存期與軟件壽命的關系軟件壽命的根本概念一切有生命的東西都有“壽命概念延伸:產品的壽命就是指該產品從出廠直到喪失運用價值的繼續時間。從軟件工程的角度來說,軟件產品的壽命是指軟件的整個生存期。從用戶的角度來看,更關懷的是軟件在交付運用后的情況MTBF:平均失效間隔時間 軟件在運用期間可以正常任務的繼續時間叫做軟件的運用壽命。軟件的運用壽命與運用環境有關。.軟件缺點與失效軟件發生失效(failure)標志著軟件一次運用
17、壽命的終了失效是由缺點引起的:設計者的失誤致使系統中留下錯誤的設計bug,使軟件存有缺點(fault),這些缺點導致系統的錯誤執行錯誤(error),從而導致系統無法到達預期的結果失效(failure)。缺點往往是物理地或靜態地存在的,而失誤、錯誤和失效都是系統的一種動態的轉眼即逝的景象發生過失效的軟件通常依然是可用的。只需當軟件頻繁失效,或者公認曾經“過時了的時侯,軟件才被廢棄,意味著當前這一版本軟件壽命的終結。3.1軟件生存期與軟件壽命的關系續.3.2 軟件可靠性定義軟件可靠性軟件在給定的時間間隔及規定的環境條件下,按設計要求,勝利地運轉程序,實現規定的功能的概率。環境條件指的是軟件的運用
18、環境。無論什么軟件,假設不對它的運用環境加以限制,都是會失效的。這種失效的數據,不能用來度量軟件的可靠性。規定的時間普通為軟件的運轉時間, 是一個隨機變量.規定的功能在思索軟件可靠性時,首先該當明確軟件的功能是什么,哪些功能是主要的,哪些功能是次要的。普通從軟件需求分析闡明和設計闡明中可以了解這些情況。由于功能不同,失效帶來的損失就不一樣。因此,還要明確哪些失效是致命的,哪些失效是非致命的,哪些又是容易修復的。此外,還要明確,怎樣才算是完成了一個規定的功能。勝利地運轉程序指不僅程序能正確地運轉,滿足用戶對它的功能要求, 而且當程序一旦遭到不測的損傷,或系統缺點時,能盡快恢復,仍能正常地運轉。3
19、.2 軟件可靠性定義續.3.3 測試中的可靠性分析利用測試的統計數據,估算軟件的可靠性推測錯誤的產生頻度,即推測錯誤產生的時間間隔估算錯誤產生頻度的一種方法是估算平均失效等待時間MTTF (Mean Time To Failure)推測殘留在程序中的錯誤數評價測試的準確度和覆蓋率.SPQL:軟件產質量量程度(Software Product Quality Level)SPQL 用如下公式度量: SPQL AcCv 其中Ac (Test Accuracy) 測試的準確度,它反映了測試的質量;測試質量可以用測試的缺點捕捉率和脫漏率來衡量Cv (Test Coverage) 測試的覆蓋度,它反映了
20、測試的數量。測試數量可以是執行的測試用例數、確認的程序途徑數等等3.4 SPQL評價.Ac的意義:闡明在測試的過程中以多大的把握捕捉了軟件中潛在的缺點。Ac的測定:預先植入播種缺點,然后經過測試,根據播種缺點的捕捉率來推測原有缺點的捕獲率。3.4.1 測試準確度Ac.Cv的意義:闡明在整個測試期間發現軟件潛在缺點的能夠性有多大。Cv的測定:可經過被測對象軟件潛在的原有缺點的捕捉率來測定的。3.4.2 測試覆蓋率Cv.3.5.1軟件可靠性工程的根本概念軟件可靠性工程(SRE)Software Reliability Engineering:為了到達軟件產品的可靠性要求而進展的一系列軟件工程活動。
21、軟件可靠性工程涉及以下四方面活動和有關技術:軟件可靠性分析:進展軟件可靠性的需求分析、目的分配、缺點樹分析、缺點方式和影響分析、軟件開發過程中有關軟件可靠性的的特性分析軟件可靠性設計和實現:進展防錯設計、容錯設計、檢錯設計、糾錯設計、缺點恢復設計、軟件可靠性增長3.5 軟件可靠性工程.3.5.1軟件可靠性工程的根本概念軟件可靠性丈量、測試和評價:在軟件生存周期各階段進展有關軟件可靠性設計、制造和管理方面的屬性丈量,進展基于軟件運轉剖面的測試用例隨機輸入的軟件測試、軟件可靠性估計、軟件可靠性估計、軟件可靠性驗證、軟件可靠性管理:確定影響軟件可靠性的要素,制定必要的設計和實現準那么以及對軟件開發各
22、階段軟件可靠性相關的過程和產品的要求,根據上述有關丈量數據和分析結果控制和改良開發過程,進展風險管理,改良費用效益關系,改良開發過程,對采購或重用的軟件進展可靠性管理, 3.5 軟件可靠性工程續.3.5.1軟件可靠性工程的根本概念實施軟件可靠性工程要處理三個問題即軟件可靠性目的確實定與分配軟件可靠性要求的實現軟件可靠性的驗證。3.5 軟件可靠性工程續.3.5.2 為什么要實施軟件可靠性工程(SRE)?1. SRE can help solve the most important software development problem, making you and your organiz
23、ation more competitive.可以處理軟件開發中的大多數重要問題,提升競爭力2. SRE is a proven, standard, widespread best practice.經過證明的、權威的、普遍的最正確工程實際3. SRE is widely applicable. 廣泛的適用性4. SRE cost is low. 低廉的本錢5. SRE schedule impact is minor. 基于SRE的方案、進度非常合理6. SRE has additional advantages. 其他優勢3.5 軟件可靠性工程續.3.5.3 Just Right準那么對
24、軟件可靠性的要求應該是Just Right,這與軟件測試的Good enough一樣,也是權衡投入產出比的一種原那么1.選擇可靠性目的,比如缺點率2. 選定缺點率的公共丈量方法3. 為每個相關系統設定系統總目的缺點率FIO ( failure intensity objective) 4. 開展如下任務: A. 找出軟件的總FIO B. 設計軟件可靠性戰略,用最低的開發本錢,來滿足軟件FIO和目的進度的要求,3.5 軟件可靠性工程續.3.5.3 Just Right準那么如何確定可靠性目的采用用戶系統能察看到且可驗證的目的根據系統可靠性目的進展分配分配時按軟件平安關鍵程度適當加權給出目的時明確
25、驗收方法3.5 軟件可靠性工程續.3.5.3 Just Right準那么常用的軟件可靠性目的 MTBF、MTTF 可用性A MDTMean Down Time 初期缺點 偶爾缺點3.5 軟件可靠性工程續.3.5.4 可靠性指點方針Failure ImpactHundreds of deaths, more than $109 costOne or two deaths around $106 costAround $1000 costAround $100 costAround $10 costTypical FIO(Failures/hr)10-910-610-310-210-1Time B
26、etween Failures114,000 years114 years6 weeks100 hr10 hr3.5 軟件可靠性工程續.可靠性指點方針的運用可接受的Down機時間5 分鐘/年5 分鐘/月 or 1 小時/年10 分鐘/周 or 9小時/年可靠性5 nines(0.99999)4 nines(0.9999)3 nines(0.999)3.5.4 可靠性指點方針的運用3.5 軟件可靠性工程續.結果分析可靠性評價測試運轉軟件配置和規格闡明書剖面用例結果預期結果和缺點判據失效數據選取測試用例構造運行剖面被測軟件軟件可靠性模型鼓勵器主控機仿真器輸入信號信息輸出信號控制運轉剖面構造測試用例
27、生成網絡通訊數據搜集/比較/分析可靠性評價、估計目的系統子系統仿真與數據交聯控制實時數據記錄測試用例實時控制命令實時輸入信號實時運轉結果控制命令3.6 軟件可靠性的測試與驗證.結果分析排錯與回歸測試評價和估計參數估計停頓測試測試運轉軟件配置和規格闡明書剖面用例結果預期結果和缺點判據軟件目的值未達目的已達目的參數軟件可靠性模型選取測試用例構造運行剖面被測軟件3.6 軟件可靠性的測試與驗證續.4 軟件開發過程中的質量控制軟件開發的主要階段軟件開發各階段的質量控制評審在質量控制中的作用.系統分析和軟件定義軟件需求分析設計 概要設計 詳細設計代碼編寫和單元測試軟件測試 部件測試 集成測試 系統測試驗收
28、消費4 軟件開發中的質量控制4.1 軟件開發的主要階段.4.21 系統分析和軟件定義主要任務:分析系統要求和運用環境.擬定軟件研制義務書完成標志:軟件研制義務書(或類似作用的文件)管理義務: 1.擬訂質量(可靠性、平安性)大綱要求 2.確定資源保證 3.組織交辦、承辦雙方協調,承制方大力支持質量控制手段: 1.制定軟件質保方案 2.評審軟件研制義務書 3.明確軟件驗收方法4.2 軟件開發各階段的質量控制.4.2.2 軟件需求分析主要任務: 1.確定運轉環境 2.確定功能、性能和接口要求,編寫需求規格闡明 3.確定關鍵軟件4.制定工程開發方案 5.制定計算機軟件/硬件系統測試方案完成標志: 1.
29、軟件需求規格闡明 2.工程開發方案3.計算機軟件系統測試方案(初步)管理義務: 1.制定質量大綱實施方案 2.組織評審3.進展配置管理 4.進展進度管理 5.組織交辦、承辦雙方協調并由交辦方認可質量控制手段: 1.評審軟件需求規格闡明 2.與開發部門一同確定平安/關鍵軟件 3.評審系統測試方案4.2 軟件開發各階段的質量控制續.4.2.3 設計概要設計主要任務:1.建立總體構造、劃分模塊 2.定義各功能模塊接口 3.進展可靠性、平安性分析和設計 4.制定計算機軟件部件集成和測試方案完成標志:1.概要設計闡明 2.計算機軟件部件集成和測試方案(初步)管理義務:1.組織評審 2.組織記錄并報告問題
30、 3.進展配置管理 4.進展進度管理質量控制手段: 1評審概要設計闡明 2.評審軟件集成測試方案4.2 軟件開發各階段的質量控制續.4.2.4 設計詳細設計主要任務:1.設計模塊內的算法和細節 2.確定模塊間詳細接口信息 3.擬訂軟件單元測試方案完成標志:1.詳細設計闡明管理義務: 1.組織評審 2.組織記錄并報告問題 3.進展配置管理 4.進展進度管理質量控制手段: 1.評審詳細設計闡明 2.檢查配置管理與質保運轉情況4.2 軟件開發各階段的質量控制續.4.2.5 編碼和單元測試主要任務:1.編寫源程序 2.進展調試 3.進展靜態分析和單元測試 4.編寫軟件運用闡明 5.設計測試用例,編寫測
31、試程序完成標志:1.源程序 2.測試用例,測試程序 3.軟件運用闡明(初稿)管理義務: 1.組織驗證與評審 2.組織記錄并報告問題 3.進展配置管理 4.進展進度管理質量控制手段: 1.代碼走查 2.評審單元測試結果4.2 軟件開發各階段的質量控制續.4.2.6 部件測試主要任務:1.執行計算機軟件部件集成和測試方案 2.編寫計算機軟件部件集成和測試分析報告 3.完成編寫軟件運用闡明完成標志:1.可運轉的程序系統及數據 2.部件測試方案 3.部件測試分析報告 4.軟件用戶手冊操作手冊管理義務: 1.加強測試2.分析風險3.組織評審、記錄并報告問題4.確定可否提交系統集成和測試5. 進展配置管理
32、6.進展進度管理質量控制手段: 1.評審軟件用戶手冊 2.評審軟件操作手冊 3.檢查軟件部件測試結果4.2 軟件開發各階段的質量控制續.4.2.7 集成測試主要任務:1.測試整個程序 2.試用軟件運用闡明 3.編寫配置項測試分析報告完成標志:1.集成測試分析報告管理義務: 1.分析并報告問題 2.組織問題追蹤 3.進展配置管理 4.組織轉階段評審質量控制手段: 1.檢查軟件集成測試結果2.檢查軟件系統測試結果3.檢查軟件FRACAS運轉情況4.確保平安/關鍵軟件的第三方測試4.2 軟件開發各階段的質量控制續.4.2.8 系統測試主要任務:1按系統集成和測試(系統聯試)要求進展系統測試完成標志:
33、1.系統集成和測試(系統聯試)分析報告管理義務: 1.分析并報告問題 2.組織問題追蹤 3.進展配置管理 4.組織轉階段評審質量控制手段: 1.檢查軟件集成測試結果2.檢查軟件系統測試結果3.檢查軟件FRACAS運轉情況4.確保平安/關鍵軟件的第三方測試4.2 軟件開發各階段的質量控制續.4.2.9 驗收主要任務:1.驗收測試與審計(可利用原有測試與審計結果) 2.組織并進展移交軟件產品完成標志:1. 軟件驗收報告 2. 產品移交文件管理義務: 1.組織進展驗收測試 2.組織記錄并報告問題 3.進展配置管理質量控制手段: 1.組織軟件產品的交付前驗收 2.評審驗收測試與回歸測試4.2 軟件開發
34、各階段的質量控制續.4.2.10 消費主要任務:1.編制軟件消費操作規程 2.按固化程序操作規程消費軟件產品完成標志:軟件產品管理義務: 質量控制手段: 評審軟件消費操作規程2.對軟件消費過程進展質量控制4.2 軟件開發各階段的質量控制續.4.3.1 過程控制的重要手段評審評審對象: 1.文檔 2.方案 3.報告4.3.2 軟件開發中缺陷的引入和轉移特性承繼前一階段脫漏的缺陷放大前一階段脫漏的缺陷本階段引入的缺陷本階段抑制的缺陷轉移至下一階段的缺陷4.3 評審在質量控制中的作用從前一階段來的缺陷數從前一階段來的缺陷數開發階段承繼的缺陷數放大的缺陷數本階段引入的缺陷數抑制缺陷的才干(比例傳向下一
35、階段來的缺陷數.4.3 評審在質量控制中的作用4.3.3 無評審的缺陷擴展模型0% 概要設計00100% 詳細設計662520% 實現108125106437102750% 軟件部件測試930050% 軟件配置項測試470050% 系統聯試24002447931293.4.3 評審在質量控制中的作用4.3.4 有評審的缺陷擴展模型70% 概要設計001050% 詳細設計222560% 實現530253211551050% 軟件部件測試240050% 軟件配置項測試120050% 系統聯試60061224324.5 軟件配置管理軟件配置管理的概念軟件配置管理的根本方法版本控制變卦控制.5.1 軟
36、件配置管理的概念5.1.1 軟件配置管理(SCM)在軟件建立時,變卦是不可防止的變卦加劇了工程中軟件人員之間的混亂協調軟件開發使得混亂減到最小的技術叫做配置管理。配置管理是一組標識、組織和控制修正的活動,目的是使錯誤到達最小并最有效地提高消費率。SCM活動的目的 (1) 標識變卦; (2) 控制變卦; (3) 確保變卦正確地實現; (4) 向其他有關的人報告變卦。.5.1.2 軟件配置在軟件工程中產生的一切信息項文檔、報告、程序、表格、數據構成了軟件配置。軟件配置是軟件的詳細形狀在某一時辰的瞬時影像。隨著軟件工程過程的進展,軟件配置項(SCI)數目快速添加。系統規格闡明可繁衍出軟件工程實施方案
37、和軟件需求規格闡明。它們又依次繁衍出建立信息層次的其它文檔。5.1 軟件配置管理的概念續.5.1.3 基線基線是軟件生存期中各開發階段末尾的特定點,又稱里程碑。由正式的技術評審而得到的SCI協議和軟件配置的正式文本才干成為基線。基線的作用是把各階段任務的劃分更加明確化,以便于檢驗和一定階段成果。5.1 軟件配置管理的概念續.5.1 軟件配置管理的概念續5.1.3 軟件開發各階段的基線.5.1.4 工程數據庫一旦一個SCI成為基線,就把它存放到工程數據庫中。當軟件組織成員想要對基線SCI進展修正時,須把它從工程數據庫中復制到該工程師的公用任務區中。例如,把一個名為B的SCI從工程數據庫復制到工程
38、師的公用任務區中。工程師在BB的副本上完成要求的變卦,再用B來更新B。有些系統中把這個基線SCI鎖定。在變卦完成、評審和同意之前,不許對它做任何操作。5.1 軟件配置管理的概念續.5.1.4 工程數據庫.5.2 軟件配置管理的根本方法5.2.1 軟件配置項SCI系統規格闡明 軟件工程實施方案 軟件需求闡明 可執行的原型 初步的用戶手冊 設計規格闡明源代碼清單 測試方案和過程、測試用例和測試結果記錄 操作和安裝手冊 可執行程序可執行程序模塊、銜接模塊 數據庫描畫方式和文件構造、初始內容 正式的用戶手冊.5.2.1 軟件配置項SCI 維護文檔軟件問題報告、維護懇求、工程變卦次序軟件工程規范工程開發
39、總結除以上所列SCI以外,許多軟件工程組織還把配置控制之下的軟件工具列入其中,即編輯程序、編譯程序、其它CASE工具的特定版本。由于要運用這些工具來生成文檔、程序和數據,假設編譯程序的版本不同,能夠產生的結果也不同。5.2 軟件配置管理的根本方法續.5.2.2 配置對象假設干個SCI夠成一個配置對象,在工程數據庫中用一個單一的名字來組織它們。一個配置對象有一個名字和一組屬性,并經過某些聯絡“銜接到其它對象。每個對象與其它對象的聯絡用箭頭表示。箭頭指明了一種構造關系。雙向箭頭那么闡明一種相互關系。假設對“源代碼對象作了一個變卦,軟件工程師就可以根據這種相互關系確定,其它哪些對象和SCI能夠遭到影
40、響。5.2 軟件配置管理的根本方法續.配置對象.5.2.3 配置管理的義務 標識單個的SCI 標識和管理軟件各種版本 控制變卦 審查軟件配置 報告一切加在配置上的變卦。5.2 軟件配置管理的根本方法續.5.2.4 標識SCI為了方便對軟件配置項SCI進展控制和管理,首先應給它們命名即對SCI進展標識對象類別根本對象:是由軟件工程師在分析、設計、編碼和測試時所建立的文本單元。例如,根本對象能夠是需求規格闡明中的一節,一個模塊的源程序清單、一組用來測試一個等價類的測試用例。復合對象:是根本對象的組合或根本對象與其它復合對象的組合。5.2 軟件配置管理的根本方法續.5.2.4 標識SCI標識由名字、
41、描畫、資源、實現等構成對象的名字明確地標識對象。對象描畫包括:SCI類型如文檔、程序、數據、工程標識、變卦和或版本信息。資源包括由對象產生的、處置的、援用的或其它需求的一些實體。根本對象的實現是指向文本單元的指針,復合對象的實現為null。5.2 軟件配置管理的根本方法續.5.2.5 對象之間的關系對象的層次關系:一個對象可以是一個復合對象的一個組成部分,用聯絡標識。對象的相互關聯關系:對象跨越對象層次的分支相互關聯。這種交叉的構造聯絡用標識5.2 軟件配置管理的根本方法續.5.2.6 演化圖任何對象都能夠要做多次變卦。對于每一配置對象都可以建立一個演化圖,用演化圖記敘對象的變卦歷史。5.2 軟件配置管理的根本方法續.5.3.1 什么是版本控制版本控制是SCM的根底,它管理并維護開發者的軟件資源。版本控制管理在軟件工程過程中建立起配置對象的不同版本。版本管理可以把一些屬性結合到各個軟件版本上。經過描畫所希望的屬性集合來確定或構造所想要的配置。運用演化圖來表示系統的不同版本。5.3 版本控制.5.3.2 版本控制的主要義務集中管理檔案,平安授權機
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動控制原理(專科)復習題
- 廣東省惠州市惠城區南山學校2024-2025學年七年級下學期數學期中考試卷(含部分答案)
- 2025年湖南省株洲市田心中學中考一模道德與法治試題(含答案)
- 幼兒園《會變顏色的房子》課件
- 【高中語文】整本書閱讀《紅樓夢》人物探究+統編版高一語文必修下冊
- 2024-2025學年下學期高一生物滬科版期末必刷常考題之物種形成與滅絕是進化過程中的必然事件
- 山東競賽題目及答案
- 散列表簡單題目及答案
- 2023-2024學年四川省南充市高二下學期期末學業質量監測數學試題(解析版)
- 2023-2024學年湖北省武漢市江岸區高二下學期7月期末質量檢測數學試題(解析版)
- 人教版(2024新版)七年級上冊英語期中復習課件
- 金融行業安全生產責任管理
- 設備日常維護及保養培訓
- 上海市市轄區(2024年-2025年小學五年級語文)統編版期末考試(下學期)試卷及答案
- 一級建造師執業資格考試大綱(2024年版)
- 科技成果轉化實施獎勵制度
- 近3年國網系統安全事故(事件)通報+各專業嚴重違章專項測試題附答案
- 肺孢子菌肺炎護理查房
- 2023年法律職業資格《主觀題》真題及答案
- 2024年初三數學競賽考試試題
- 2024年《形勢與政策》知識考試題庫(含答案)
評論
0/150
提交評論