




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 2008 BUPT TSEG軟件工程軟件工程Software Engineering第十二章第十二章 軟件工程管理軟件工程管理黃黃 海海 2u軟件項目管理軟件項目管理u軟件過程管理軟件過程管理u軟件質量管理軟件質量管理u軟件工程環境軟件工程環境 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心312.1 12.1 軟件項目管理軟件項目管理1. 項目和軟件項目項目和軟件項目項目,是一項為了創造某一項目,是一項為了創造某一唯一唯一的產品或服務的產品或服務的的時限性時限性工作工作。其中時限性是指每一個項目都其中時限性是指每一個項目都具有明確的開始和結束時間具
2、有明確的開始和結束時間;唯一性是指該項唯一性是指該項產品或服務與同類產品或服務相比在某些方面產品或服務與同類產品或服務相比在某些方面具有顯著的不同具有顯著的不同。軟件項目是一種成果體現為軟件產品的項目軟件項目是一種成果體現為軟件產品的項目。它它不僅僅是成果上的唯一性工作,而且在技術不僅僅是成果上的唯一性工作,而且在技術上也有所創新,可以將其看作創新型項目上也有所創新,可以將其看作創新型項目。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心412.1 12.1 軟件項目管理軟件項目管理2. 項目管理一般過程項目管理一般過程項目管理就是為了滿足甚至超越項目
3、干系人員項目管理就是為了滿足甚至超越項目干系人員(stakeholder)對項目的需求和期望而將理論)對項目的需求和期望而將理論知識、技能、工具和技巧應用到項目的活動中知識、技能、工具和技巧應用到項目的活動中去。去。項目管理分九個知識領域項目管理分九個知識領域 綜合管理綜合管理范圍管理范圍管理時間管理時間管理 成本管理成本管理質量管理質量管理人力資源管理人力資源管理 溝通管理溝通管理風險管理風險管理采購管理采購管理 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心512.1 12.1 軟件項目管理軟件項目管理3. 軟件項目管理過程軟件項目管理過程實現項目
4、目標要受到四個因素的制約:項目范實現項目目標要受到四個因素的制約:項目范圍、成本、進度和客戶滿意度。圍、成本、進度和客戶滿意度。軟件項目管理的對象就是軟件工程項目,它所軟件項目管理的對象就是軟件工程項目,它所涉及的范圍覆蓋了整個軟件工程過程,這種管涉及的范圍覆蓋了整個軟件工程過程,這種管理開始于技術工作開始之前,在軟件從概念到理開始于技術工作開始之前,在軟件從概念到實現的過程中持續進行,最后終止于軟件工程實現的過程中持續進行,最后終止于軟件工程過程結束。過程結束。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心612.1 12.1 軟件項目管理軟件項目
5、管理軟件項目管理基本過程軟件項目管理基本過程:啟動軟件項目啟動軟件項目( (確定目標、范圍確定目標、范圍 ) )制定項目計劃制定項目計劃軟件項目估算軟件項目估算軟件項目度量軟件項目度量風險分析風險分析進度安排進度安排人員組織結構設計和部署人員組織結構設計和部署執行計劃執行計劃項目控制項目控制項目結束項目結束 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心712.1 12.1 軟件項目管理軟件項目管理4. 軟件項目度量軟件項目度量(1) 軟件度量軟件度量所謂度量,是指根據已明確的規則把數字或符號指定所謂度量,是指根據已明確的規則把數字或符號指定給現實世界
6、中實體的某一屬性,以便闡述實體的某種給現實世界中實體的某一屬性,以便闡述實體的某種狀態。狀態。軟件度量涉及的范圍較廣,其度量實體大致劃分為三軟件度量涉及的范圍較廣,其度量實體大致劃分為三大類:大類:產品產品:是指在軟件開發過程中產生的各種中間產品、發布的:是指在軟件開發過程中產生的各種中間產品、發布的資料和文檔等資料和文檔等過程過程:是與軟件相關的一些活動:是與軟件相關的一些活動資源資源:是指開發過程中使用的資源:是指開發過程中使用的資源軟件度量就是為了獲取關于這些實體屬性的值。這些軟件度量就是為了獲取關于這些實體屬性的值。這些實體的屬性又劃分為內部屬性和外部屬性實體的屬性又劃分為內部屬性和外
7、部屬性 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心812.1 12.1 軟件項目管理軟件項目管理 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心實體實體屬性屬性內部屬性內部屬性外部屬性外部屬性產品產品規格說明書規格說明書規模、可復用性、模塊化、冗余、功能、規模、可復用性、模塊化、冗余、功能、語法正確語法正確可理解性、可維護可理解性、可維護性性設計設計規模、可復用性、模塊化、耦合、聚合、規模、可復用性、模塊化、耦合、聚合、功能功能質量、復雜性、可質量、復雜性、可維護性維護性編碼編碼規模、可復用性、模塊化、耦合
8、、功能、規模、可復用性、模塊化、耦合、功能、算法復雜性、控制流、結構性算法復雜性、控制流、結構性可靠性、可用性、可靠性、可用性、可維護性可維護性測試數據測試數據規模、覆蓋度規模、覆蓋度質量質量過程過程編制規格說明書編制規格說明書時間、工作量、需求變動數、事件(故時間、工作量、需求變動數、事件(故障與變化)障與變化)質量、費用、穩定質量、費用、穩定性性詳細設計詳細設計時間、工作量、在規格說明書中找到的時間、工作量、在規格說明書中找到的缺陷數缺陷數費用、性能費用、性能/ /價格價格比比測試測試時間、工作量、找到的缺陷數時間、工作量、找到的缺陷數費用、性能費用、性能/ /價格比、價格比、穩定性穩定性
9、資源資源人員人員年齡、工資待遇年齡、工資待遇生產率、經驗、智生產率、經驗、智力力團隊團隊規模、交流活動水平、結構規模、交流活動水平、結構生產率、質量生產率、質量硬件硬件價格、速度、內存容量價格、速度、內存容量可靠性可靠性軟件軟件價格、規模價格、規模可用性、可靠性可用性、可靠性辦公地點辦公地點面積、溫度、照明面積、溫度、照明舒適度、質量舒適度、質量912.1 12.1 軟件項目管理軟件項目管理(2) 軟件項目規模度量軟件項目規模度量軟件項目規模度量(軟件項目規模度量(size measurement)的主要目的)的主要目的是為軟件項目估算建立基線,是估算軟件項目工作量是為軟件項目估算建立基線,是
10、估算軟件項目工作量、編制成本預算、策劃合理項目進度的基礎、編制成本預算、策劃合理項目進度的基礎。度量對象仍然包括軟件產品、軟件開發過程和軟件資度量對象仍然包括軟件產品、軟件開發過程和軟件資源源。度量的屬性包括:項目投入的費用(或者稱為成本)度量的屬性包括:項目投入的費用(或者稱為成本)、投入的人力、持續的時間;產生的代碼行數、完成、投入的人力、持續的時間;產生的代碼行數、完成的功能點數、發生的錯誤數;軟件的生產率、軟件質的功能點數、發生的錯誤數;軟件的生產率、軟件質量、單位成本等。量、單位成本等。兩種主要的規模度量方法兩種主要的規模度量方法:代碼行(代碼行(Lines Of Code,簡稱,簡
11、稱LOC)度量方法)度量方法功能點(功能點(Function Points,簡稱,簡稱FP)度量方法)度量方法 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心1012.1 12.1 軟件項目管理軟件項目管理代碼行度量方法代碼行度量方法 代碼行指所有的可執行的源代碼行數,包括可交代碼行指所有的可執行的源代碼行數,包括可交付的動作和控制語句、數據定義、數據類型聲明付的動作和控制語句、數據定義、數據類型聲明等等 簡單的面向規模的生產率和質量的度量簡單的面向規模的生產率和質量的度量生產率生產率KLOC工作量(人月數)工作量(人月數)質量錯誤數質量錯誤數KLOC
12、另外,還可以計算單位代碼行的成本以及其他令人感興趣的度量另外,還可以計算單位代碼行的成本以及其他令人感興趣的度量單位成本成本單位成本成本 KLOC單位文檔文檔頁數單位文檔文檔頁數KLOC 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心項目編碼項目編碼 工作量(人月)工作量(人月)成本(萬元)成本(萬元)KLOC文檔頁數文檔頁數錯誤數錯誤數人數人數aaa-012416.812.1365293ccc-04624427.21224865fff-034331.420.210506461112.1 12.1 軟件項目管理軟件項目管理功能點度量方法功能點度量方法
13、該方法將注意力集中于程序的該方法將注意力集中于程序的“功能性功能性”和和“實實用性用性”,利用有關軟件數據域的一些計數度量和,利用有關軟件數據域的一些計數度量和軟件復雜性估計的經驗關系式,導出功能點軟件復雜性估計的經驗關系式,導出功能點(FP),而不是對,而不是對LOC計數。計數。 功能點度量方法需要對五個數據域特征計數功能點度量方法需要對五個數據域特征計數外部輸入數(外部輸入數(External Input,EI)外部輸出數(外部輸出數(External Output,EO)外部查詢數(外部查詢數(External Query,EQ)內部邏輯文件數(內部邏輯文件數(Internal Logi
14、cal File,ILF)外部接口文件數(外部接口文件數(External Interface File,EIF) 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心1212.1 12.1 軟件項目管理軟件項目管理5. 項目進度安排項目進度安排軟件項目進度安排是一種活動,它通過將工作軟件項目進度安排是一種活動,它通過將工作量分配給特定的軟件工程任務,從而將所估算量分配給特定的軟件工程任務,從而將所估算的工作量分配到計劃的項目工期內的工作量分配到計劃的項目工期內項目工期的確定有兩種方式項目工期的確定有兩種方式 系統最終交付日期已經確定,軟件開發部門必須系統最
15、終交付日期已經確定,軟件開發部門必須在規定期限內完成在規定期限內完成 系統最終交付日期只確定了大致的年限,最后交系統最終交付日期只確定了大致的年限,最后交付日期由軟件開發部門確定付日期由軟件開發部門確定 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心1312.1 12.1 軟件項目管理軟件項目管理(1) 工作量與人數關系工作量與人數關系人月神話:人月神話:“即使進度拖后,我們也總是可以增加更即使進度拖后,我們也總是可以增加更多的程序員,并在后期跟上進度。多的程序員,并在后期跟上進度?!痹陧椖亢笃谠黾尤耸滞ǔ椖慨a生破壞性的影響在項目后期增加人手通常
16、會對項目產生破壞性的影響,其結果是使進度進一步拖延。有以下原因,其結果是使進度進一步拖延。有以下原因:后期增加人員必須熟悉在開發系統,而培訓他們的正是正在后期增加人員必須熟悉在開發系統,而培訓他們的正是正在開發的項目成員,他們必須停下手頭工作來完成培訓工作,開發的項目成員,他們必須停下手頭工作來完成培訓工作,延緩了項目進度延緩了項目進度必須為后期增加的人員分配任務,因此,需要重新劃分任務必須為后期增加的人員分配任務,因此,需要重新劃分任務新增加人員參與項目后,必然增加了項目成員之間的溝通途新增加人員參與項目后,必然增加了項目成員之間的溝通途徑和交流的復雜度徑和交流的復雜度有人提出:軟件開發項目
17、可以由多個軟件開發小組組有人提出:軟件開發項目可以由多個軟件開發小組組成,每個開發小組的人數不能太多,以成,每個開發小組的人數不能太多,以28人左右為人左右為宜。宜。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心1412.1 12.1 軟件項目管理軟件項目管理(2) 工作量分配工作量分配將總體工作量分配到軟件生命周期的每個開發階段,將總體工作量分配到軟件生命周期的每個開發階段,進而分配到每個開發階段中的開發任務中去進而分配到每個開發階段中的開發任務中去 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心項目類型項
18、目類型階段分配階段分配項目規模(項目規模(KDSI)微型微型2小型小型8中型中型32大型大型128特大型特大型512組織型組織型計劃與需求計劃與需求設計設計編碼和單元測試編碼和單元測試組裝與測試組裝與測試10175716101753201117492311174527半獨立型半獨立型計劃與需求計劃與需求設計設計編碼和單元測試編碼和單元測試組裝與測試組裝與測試1421481715214420162240221822362419233226嵌入型嵌入型計劃與需求計劃與需求設計設計編碼和單元測試編碼和單元測試組裝與測試組裝與測試192439182225341924263020262626222927
19、2321基于基本基于基本COCOMO模型的工作量分配百分比表模型的工作量分配百分比表15u軟件項目管理軟件項目管理u軟件過程管理軟件過程管理u軟件質量管理軟件質量管理u軟件工程環境軟件工程環境 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心1612.2 12.2 軟件過程管理軟件過程管理1. 軟件過程框架軟件過程框架事實表明:在無規則和混亂的軟件過程管理的條件下事實表明:在無規則和混亂的軟件過程管理的條件下,先進的軟件開發技術和方法并不能發揮應有的作用,先進的軟件開發技術和方法并不能發揮應有的作用。關鍵問題在于。關鍵問題在于軟件過程軟件過程的管理不盡人
20、意的管理不盡人意。所謂過程是指針對一個給定目的的一系列操作步驟,所謂過程是指針對一個給定目的的一系列操作步驟,軟件過程是軟件生存周期中的一系列相關過程,又稱軟件過程是軟件生存周期中的一系列相關過程,又稱為軟件生存周期過程,是人們用于開發和維護軟件及為軟件生存周期過程,是人們用于開發和維護軟件及其相關產品(項目計劃、設計文件、源程序、測試用其相關產品(項目計劃、設計文件、源程序、測試用例、用戶手冊)的一系列活動、方法、實踐。例、用戶手冊)的一系列活動、方法、實踐。過程(過程(process)是活動()是活動(activity)的集合,活動是任)的集合,活動是任務(務(task)的集合,任務是將輸
21、入變換為輸出的動作)的集合,任務是將輸入變換為輸出的動作(action)。活動的執行可以是順序的,可以是重復)。活動的執行可以是順序的,可以是重復的,可以是并行的,也可以是嵌套的,由軟件生命周的,可以是并行的,也可以是嵌套的,由軟件生命周期模型組織。期模型組織。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心1712.2 12.2 軟件過程管理軟件過程管理通用過程框架通用過程框架一個軟件過程框架一個軟件過程框架(process framework)是由幾個典是由幾個典型的框架活動型的框架活動(framework activity)和傘形活動(和傘形活動
22、(umbrella activity)構成。)構成??蚣芑顒邮擒浖^程為達到過程目標必需的主要步驟框架活動是軟件過程為達到過程目標必需的主要步驟,是決定軟件產品如何出現而存在的重要活動。它包,是決定軟件產品如何出現而存在的重要活動。它包括:一組軟件工程工作任務,并指出任務完成標志(括:一組軟件工程工作任務,并指出任務完成標志(里程碑),交付的工作產品(里程碑),交付的工作產品(artifact,或稱工件),或稱工件),以及質量保證點。以及質量保證點。一個通用的框架活動包括:一個通用的框架活動包括: 溝通溝通 規劃規劃 建模建模 構造構造 部署部署 2008 BUPT TSEG 北京郵電大學北京
23、郵電大學 通信軟件工程中心通信軟件工程中心1812.2 12.2 軟件過程管理軟件過程管理傘形活動是為保證高質量產品出現而存在的活動傘形活動是為保證高質量產品出現而存在的活動。它支持并保護框架活動的順利執行,類似于框。它支持并保護框架活動的順利執行,類似于框架活動的架活動的“保護傘保護傘”,故謂之,故謂之“傘形活動傘形活動”。典型的傘形活動包括:典型的傘形活動包括:軟件項目跟蹤和控制軟件項目跟蹤和控制風險管理風險管理軟件質量保證軟件質量保證正式技術評審正式技術評審軟件度量軟件度量軟件配置管理軟件配置管理可復用管理可復用管理工作產品的準備和生產工作產品的準備和生產 2008 BUPT TSEG
24、北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心1912.2 12.2 軟件過程管理軟件過程管理 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心每個框架活動是一些工作任務組成,每個任務又是由將輸入每個框架活動是一些工作任務組成,每個任務又是由將輸入變換為輸出的動作組成,這些動作具有相應的操作步驟,每變換為輸出的動作組成,這些動作具有相應的操作步驟,每個動作規定了相應的輸入,產生相應的工作產品,并且設置個動作規定了相應的輸入,產生相應的工作產品,并且設置了質量保證動作,經過質量保證的某些工作產品可能成為項了質量保證動作,經過質量保證的某些工作產
25、品可能成為項目里程碑的一部分目里程碑的一部分通用軟件過程框架及框架活動組織結構通用軟件過程框架及框架活動組織結構2012.2 12.2 軟件過程管理軟件過程管理2. 軟件能力成熟度模型軟件能力成熟度模型CMM(1) 軟件過程能力軟件過程能力軟件過程不能保證軟件是有質量的軟件過程不能保證軟件是有質量的。究其主要原究其主要原因是:軟件過程模型中定義的軟件過程只是名義因是:軟件過程模型中定義的軟件過程只是名義上的,過程的實際執行與管理等實踐才是軟件過上的,過程的實際執行與管理等實踐才是軟件過程能力的保證措施。程能力的保證措施。所謂軟件過程能力(所謂軟件過程能力(software process ca
26、pability)是指軟件開發團隊遵循某個軟件過程規范后是指軟件開發團隊遵循某個軟件過程規范后期望期望達到的結果范圍。達到的結果范圍。在遵循某個軟件過程規范后在遵循某個軟件過程規范后實際實際達到的結果稱為達到的結果稱為軟件過程性能(軟件過程性能(software process performance) 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心2112.2 12.2 軟件過程管理軟件過程管理一個軟件團隊要達到軟件過程能力,除了通過軟一個軟件團隊要達到軟件過程能力,除了通過軟件生命周期模型規劃和定義軟件過程之外,還需件生命周期模型規劃和定義軟件過程
27、之外,還需要遵循定義好的軟件過程規范進行具體實施,在要遵循定義好的軟件過程規范進行具體實施,在過程實施過程中對部署的過程進行度量,發現過過程實施過程中對部署的過程進行度量,發現過程性能與過程能力偏差較大時,應該及時對過程程性能與過程能力偏差較大時,應該及時對過程進行調整,即進行過程控制,并將這些調整內容進行調整,即進行過程控制,并將這些調整內容納入到統一的過程管理范圍中納入到統一的過程管理范圍中軟件過程的成熟性(軟件過程的成熟性(software process maturity)就是指一個具體的軟件過程被明確地定義、管理就是指一個具體的軟件過程被明確地定義、管理、度量、控制和實施的程度。、度
28、量、控制和實施的程度。如何對軟件過程的執行狀態進行評估,如何提出如何對軟件過程的執行狀態進行評估,如何提出過程的改進方向和路線,這些問題就是過程的改進方向和路線,這些問題就是CMM需要需要解決的解決的 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心2212.2 12.2 軟件過程管理軟件過程管理(2) CMM (Capability Maturity Model)卡內基梅隆大學于卡內基梅隆大學于1987年年9月提出了軟件過程成熟月提出了軟件過程成熟度框架,用于評估軟件過程能力,評價軟件組織度框架,用于評估軟件過程能力,評價軟件組織的軟件開發能力,并于的
29、軟件開發能力,并于1991年年8月提出了月提出了CMM(Capabilitiy Maturity Model)1.0版本版本。CMM基于眾多軟件專家的實踐經驗,是組織進行基于眾多軟件專家的實踐經驗,是組織進行軟件軟件過程改進過程改進和軟件和軟件過程評估過程評估的一個有效的指導的一個有效的指導框架框架。CMM模型為較全面地描述和分析軟件過程能力的模型為較全面地描述和分析軟件過程能力的發展程度,建立了一個描述一個軟件組織的軟件發展程度,建立了一個描述一個軟件組織的軟件過程成熟程度的過程成熟程度的分級標準分級標準。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程
30、中心2312.2 12.2 軟件過程管理軟件過程管理CMM模型的模型的5個成熟度等級個成熟度等級 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心利用它,軟件組織可以評估自己當前的過程成熟程度,并利用它,軟件組織可以評估自己當前的過程成熟程度,并通過提出更嚴格的軟件質量標準和過程改進,來選擇自己通過提出更嚴格的軟件質量標準和過程改進,來選擇自己的改進策略,以達到更高級別的成熟程度。的改進策略,以達到更高級別的成熟程度。2412.2 12.2 軟件過程管理軟件過程管理(3) 能力成熟度模型集成能力成熟度模型集成CMMI自自1990年起美國卡內基年起美國卡內
31、基-梅隆大學軟件工程研究梅隆大學軟件工程研究(SEI)所發布所發布SW-CMM V1.0以來,以來,SEI針對不同領域的要求針對不同領域的要求對對SW-CMM先后進行改進,并衍生出了一系列成熟先后進行改進,并衍生出了一系列成熟度模型。度模型。2001年年11月月SEI推出了推出了CMMI V1.1,將以上模型集成,將以上模型集成,解決了多模型之間內容的,解決了多模型之間內容的重疊重疊問題。就軟件而言,問題。就軟件而言,CMMI是是SW-CMM的修訂本。的修訂本。CMMI項目為工業界和政府部門提供了一個項目為工業界和政府部門提供了一個集成集成的產的產品集,其主要目的是消除不同模型之間的不一致和重
32、品集,其主要目的是消除不同模型之間的不一致和重復,降低基于模型的過程改進成本。復,降低基于模型的過程改進成本。CMMI將以更加系統和一致的框架來指導組織改進軟將以更加系統和一致的框架來指導組織改進軟件過程,提高產品和服務的開發、獲取和維護能力。件過程,提高產品和服務的開發、獲取和維護能力。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心25u軟件項目管理軟件項目管理u軟件過程管理軟件過程管理u軟件質量管理軟件質量管理u軟件工程環境軟件工程環境 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心2612.3 12.3
33、 軟件質量管理軟件質量管理軟件質量管理是適用于整個軟件生命周期的一軟件質量管理是適用于整個軟件生命周期的一種傘形活動,有時也稱為軟件質量保證活動,種傘形活動,有時也稱為軟件質量保證活動,其內容包括:其內容包括: 軟件質量保證(軟件質量保證(Software Quality Assurance,簡,簡稱稱SQA)過程;)過程; 特定的質量保證和質量控制任務;特定的質量保證和質量控制任務; 有效的質量保證實踐(方法和工具);有效的質量保證實踐(方法和工具); 對所有軟件工作產品及其變更的控制(軟件配置對所有軟件工作產品及其變更的控制(軟件配置管理);管理); 保證軟件開發過程符合軟件開發標準的規程
34、;保證軟件開發過程符合軟件開發標準的規程; 軟件質量度量和報告機制軟件質量度量和報告機制 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心2712.3 12.3 軟件質量管理軟件質量管理1. 軟件質量軟件質量ANSI/IEEE Std 729-1983定義軟件質量為:定義軟件質量為:“與軟件產品滿足規定的和隱含的需求的能力有與軟件產品滿足規定的和隱含的需求的能力有關的特征和特性的全體關的特征和特性的全體”。MJFisher將軟件質量定義為:將軟件質量定義為:“所有描所有描述計算機軟件優秀程度的特性的組合述計算機軟件優秀程度的特性的組合”。 2008 BU
35、PT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心2812.3 12.3 軟件質量管理軟件質量管理2. 質量控制質量控制“質量控制(質量控制(Quality Control,簡稱,簡稱QC)”是為了保證每一件工作產品都滿足對它的需求是為了保證每一件工作產品都滿足對它的需求而應用于整個生命周期中的一系列審查、評審而應用于整個生命周期中的一系列審查、評審和測試。和測試。質量控制經過了一個發展過程,大致經歷了檢質量控制經過了一個發展過程,大致經歷了檢驗質量管理、統計質量管理和全面質量管理三驗質量管理、統計質量管理和全面質量管理三個階段。個階段。質量控制逐步成為軟件生產中不可缺
36、少的重要質量控制逐步成為軟件生產中不可缺少的重要環節,質量控制活動可以是全自動的、全人工環節,質量控制活動可以是全自動的、全人工的,也可以是自動工具與人員交互的結合。的,也可以是自動工具與人員交互的結合。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心2912.3 12.3 軟件質量管理軟件質量管理3. 質量保證質量保證質量控制活動是否有效和完整?這個問題是通質量控制活動是否有效和完整?這個問題是通過質量保證(過質量保證(Quality Assurance,簡稱,簡稱QA)活動解決的?;顒咏鉀Q的。QA包括一系列審計和報告功能來評估包括一系列審計和報告功
37、能來評估QC的有的有效性和完整性,目的就是要為管理層了解產品效性和完整性,目的就是要為管理層了解產品質量提供所需的數據,從而讓管理層獲知產品質量提供所需的數據,從而讓管理層獲知產品質量是否符合預定目標。質量是否符合預定目標。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心3012.3 12.3 軟件質量管理軟件質量管理4. 軟件質量度量與評價軟件質量度量與評價(1) 軟件質量度量方法軟件質量度量方法預測(預測(predictive)度量)度量:利用定量的或定性的方法,利用定量的或定性的方法,對軟件質量的評價值進行估計,以得到軟件質量的比對軟件質量的評價
38、值進行估計,以得到軟件質量的比較精確的估算值較精確的估算值。它是用在軟件開發過程中的它是用在軟件開發過程中的。尺度度量,這是一種定量度量。它適用于一些能夠直接度量尺度度量,這是一種定量度量。它適用于一些能夠直接度量的特性,例如:出錯率定義為:錯誤數的特性,例如:出錯率定義為:錯誤數/KLOC/單位時間單位時間二元度量,這是一種定性度量。它適用于一些只能間接度量二元度量,這是一種定性度量。它適用于一些只能間接度量的特性,例如,可使用性、靈活性等等。的特性,例如,可使用性、靈活性等等。驗收(驗收(acceptance)度量)度量:在軟件開發各階段的檢查在軟件開發各階段的檢查點,對軟件要求的質量進行
39、確認性檢查而得到的具體點,對軟件要求的質量進行確認性檢查而得到的具體評價值評價值,它可以看成是對預測度量的一種確認,是對它可以看成是對預測度量的一種確認,是對開發過程中的預測質量進行評價開發過程中的預測質量進行評價。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心3112.3 12.3 軟件質量管理軟件質量管理 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心評價準則評價準則度量度量需求需求設計設計編碼編碼是是/否否值值是是/否否值值是是/否否值值程序復雜性程序復雜性每 一 模 塊 的 復 雜 度每 一 模 塊
40、的 復 雜 度(McCabe)系統復雜性度量各模塊復系統復雜性度量各模塊復雜性度量之和雜性度量之和/系統模塊數系統模塊數設計文檔的完備性設計文檔的完備性 無二義性引用(輸入無二義性引用(輸入/處處理理/輸出)輸出) 所有數據引用都可以從所有數據引用都可以從一個外部源定義、計算和獲一個外部源定義、計算和獲取。取。 所有定義的功能都被使所有定義的功能都被使用用 所有使用的功能都被定所有使用的功能都被定義義 對每一個判定點,所有對每一個判定點,所有的條件和處理都已被定義的條件和處理都已被定義 所有被定義、被引用的所有被定義、被引用的調用序列的參數一致調用序列的參數一致質量特性檢查表質量特性檢查表32
41、12.3 12.3 軟件質量管理軟件質量管理(2) 軟件質量評價方法軟件質量評價方法一般采用一般采用delphi方法,由若干(方法,由若干(610)位富有實際經)位富有實際經驗的軟件專家進行打分來評價驗的軟件專家進行打分來評價評價分兩步走評價分兩步走:評分:針對系統、子系統或者模塊,對每一階段要達到的質評分:針對系統、子系統或者模塊,對每一階段要達到的質量指標(質量特性目標值或基準)詳細建立度量工作表,以量指標(質量特性目標值或基準)詳細建立度量工作表,以提問方式列出在某一階段為實現某一質量指標應達到的標準提問方式列出在某一階段為實現某一質量指標應達到的標準。然后由專家根據實際的軟件成果進行評
42、分。然后由專家根據實際的軟件成果進行評分。分析評分結果:根據評分結果,對照基準評價指標,檢查某分析評分結果:根據評分結果,對照基準評價指標,檢查某個質量特性是否達到了質量要求,如果沒有達到,就應當分個質量特性是否達到了質量要求,如果沒有達到,就應當分析達不到質量要求的原因。析達不到質量要求的原因。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心3312.3 12.3 軟件質量管理軟件質量管理5. 軟件配置管理軟件配置管理(1) 配置管理基本概念配置管理基本概念軟件配置管理(軟件配置管理(Software Configuration Management
43、,簡稱,簡稱SCM)是一種標識、組織和控制修改的技術,是一種標識、組織和控制修改的技術,目的是使錯誤達到最小并最有效地提高生產率。它目的是使錯誤達到最小并最有效地提高生產率。它是是一種傘形活動,它也是一種質量保證活動,應用于一種傘形活動,它也是一種質量保證活動,應用于整整個軟件生存期個軟件生存期,開始于軟件開發項目開始之時,結束,開始于軟件開發項目開始之時,結束于軟件被淘汰之時。于軟件被淘汰之時。配置管理目標:配置管理目標:標識變更標識變更控制變更控制變更確保正確地實現變更確保正確地實現變更向其他相關的項目涉眾人員報告變更向其他相關的項目涉眾人員報告變更 2008 BUPT TSEG 北京郵電
44、大學北京郵電大學 通信軟件工程中心通信軟件工程中心3412.3 12.3 軟件質量管理軟件質量管理(2) 軟件配置項軟件配置項在軟件工程過程中產生的所有的信息項(文檔、報告在軟件工程過程中產生的所有的信息項(文檔、報告、程序、表格、數據)就構成了軟件配置、程序、表格、數據)就構成了軟件配置軟件配置管理的對象就是軟件配置項(軟件配置管理的對象就是軟件配置項(Software Configuration Item,簡稱,簡稱SCI),它們是軟件工程過),它們是軟件工程過程中產生的信息項。按照程中產生的信息項。按照ISO 9000-3的說明,軟件配的說明,軟件配置項可以是置項可以是:與合同、過程、計
45、劃和產品有關的文檔和數據與合同、過程、計劃和產品有關的文檔和數據源代碼、目標代碼和可執行代碼源代碼、目標代碼和可執行代碼相關產品,包括軟件工具、代碼庫內的可復用軟件、外購軟相關產品,包括軟件工具、代碼庫內的可復用軟件、外購軟件及用戶提供的軟件件及用戶提供的軟件 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心3512.3 12.3 軟件質量管理軟件質量管理(3) 軟件配置基線軟件配置基線基線(基線(baseline)是一個軟件配置管理的概念,它有助)是一個軟件配置管理的概念,它有助于在不嚴重阻礙合理變更的前提下控制變更。于在不嚴重阻礙合理變更的前提下控制
46、變更。IEEE Std 610.12-1990定義:已經通過正式評審和批準定義:已經通過正式評審和批準的規格說明和產品,它可以作為進一步開發的基礎,的規格說明和產品,它可以作為進一步開發的基礎,并且只有通過正式的變更控制規程才能修改它并且只有通過正式的變更控制規程才能修改它。 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心3612.3 12.3 軟件質量管理軟件質量管理(5) 軟件配置管理過程軟件配置管理過程軟件配置管理的軟件配置管理的5個任務個任務:配置標識配置標識版本管理版本管理變更控制變更控制配置審計配置審計配置配置狀態狀態報告報告 2008 B
47、UPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心37u軟件項目管理軟件項目管理u軟件過程管理軟件過程管理u軟件質量管理軟件質量管理u軟件工程環境軟件工程環境 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心3812.4 12.4 軟件工程環境軟件工程環境1. 軟件開發環境軟件開發環境軟件開發環境是指在計算機的基本軟件的基礎上,為軟件開發環境是指在計算機的基本軟件的基礎上,為了支持軟件的開發而提供的一組工具軟件系統。了支持軟件的開發而提供的一組工具軟件系統。軟件開發環境是一組相關工具的集合;軟件開發環境是一組相關工具的集合;這些
48、相關工具是按一定的開發方法或一定開發處理模型組織這些相關工具是按一定的開發方法或一定開發處理模型組織起來的;起來的;這些相關工具支持整個軟件生存期的各個階段或部分階段這些相關工具支持整個軟件生存期的各個階段或部分階段軟件工程領域,還經常使用這樣一些術語,它們都具軟件工程領域,還經常使用這樣一些術語,它們都具有相似或相同的含義有相似或相同的含義軟件開發環境軟件開發環境SDE軟件工程環境軟件工程環境SEE軟件支持環境軟件支持環境SSE項目支持環境項目支持環境PSE自動開發環境自動開發環境ADE集成化程序設計環境集成化程序設計環境IPE工具盒工具盒Toolbox工具箱工具箱Toolkit 2008
49、BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心3912.4 12.4 軟件工程環境軟件工程環境2. 軟件工具軟件工具軟件工具是指為支持計算機軟件的開發、維護、軟件工具是指為支持計算機軟件的開發、維護、模擬、移植或管理而研制的程序系統模擬、移植或管理而研制的程序系統工具分類:工具分類: 按照用途分按照用途分支持程序設計的工具支持程序設計的工具支持軟件分析與設計的工具支持軟件分析與設計的工具支持項目管理的工具支持項目管理的工具 按照界面劃分按照界面劃分支持字符界面的工具支持字符界面的工具支持圖形界面的工具支持圖形界面的工具 按照軟件生存周期的階段劃分按照軟件生存周期
50、的階段劃分系統計劃工具系統計劃工具需求分析工具需求分析工具系統設計工具系統設計工具支持編碼工具支持編碼工具測試和調試工具測試和調試工具運行和維護工具運行和維護工具文檔管理工具文檔管理工具 2008 BUPT TSEG 北京郵電大學北京郵電大學 通信軟件工程中心通信軟件工程中心4012.4 12.4 軟件工程環境軟件工程環境3. 計算機輔助軟件工程(計算機輔助軟件工程(CASE)(1) CASE定義定義CASE(Computer-Aided Software Engineering)是一組工具和方法的集合,通過一系列集成化的是一組工具和方法的集合,通過一系列集成化的軟件工具、技術和方法,實現分析、設計與程序軟件工具、技術和方法,實現分析、設計與程序開發、維護的自動化,輔助軟件生存周期各個階開發、維護的自動化,輔助軟件生存周期各個階段
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 液壓與液力技術在健身器材中的應用考核試卷
- 社交心理學在決策制定中的應用考核試卷
- 電池充放電特性與循環壽命考核試卷
- 紡織原料與絹紡質量控制考核試卷
- 漁業機械人機工程學應用考核試卷
- 纖維素纖維在鞋類產品抗滑性與耐磨性改進考核試卷
- 礦山機械故障案例分析與預防考核試卷
- 天津藝術職業學院《細胞與組織工程》2023-2024學年第二學期期末試卷
- 山東省泰安市第一中學2025年高中畢業班第二次統測物理試題含解析
- 山東省棗莊樹人中學2024-2025學年初三化學試題5月模擬試題含解析
- 基于全生命周期的綠色建筑成本影響因素研究
- 2025年普法知識競賽題庫及答案(共80題)
- 碎石外包合同協議
- 心力衰竭護理查房 課件
- 【課時練基礎作業】人教版四年級數學下冊第四單元《期中計算能力測試》(含答案)
- 2025年第三屆天揚杯建筑業財稅知識競賽題庫附答案(1001-1536題)
- 2025科技輔導員培訓
- 樹木修剪合同協議
- 新疆維吾爾自治區2024年普通高校招生普通類國家及地方專項、南疆單列、對口援疆計劃 本科一批次投檔情況 (理工)
- 智研咨詢發布:2025年紙漿模塑餐飲具行業市場規模及主要企業市占率分析報告
- 2025年CCAA《管理體系認證基礎》考前必練題庫500題(含真題、重點題)
評論
0/150
提交評論