《軟件工程基礎(chǔ)》全套PPT課件
《軟件工程基礎(chǔ)》全套PPT課件,軟件工程基礎(chǔ),軟件工程,基礎(chǔ),全套,PPT,課件
13.1 軟件項目管理概述軟件項目管理的目標(biāo)軟件項目管理的目標(biāo)組織實施軟件工程項目,采用了許多技術(shù)手段和管理措組織實施軟件工程項目,采用了許多技術(shù)手段和管理措施,最終希望項目取得成功。通常認(rèn)為,項目成功的標(biāo)志,施,最終希望項目取得成功。通常認(rèn)為,項目成功的標(biāo)志,也是項目管理人員爭取的目標(biāo),應(yīng)該包括以下幾個方面。也是項目管理人員爭取的目標(biāo),應(yīng)該包括以下幾個方面。(1)達(dá)到項目預(yù)期的軟件產(chǎn)品功能和性能要求達(dá)到項目預(yù)期的軟件產(chǎn)品功能和性能要求。一般而言,。一般而言,就是軟件產(chǎn)品達(dá)到了用戶已認(rèn)可的需求規(guī)格說明的要求。就是軟件產(chǎn)品達(dá)到了用戶已認(rèn)可的需求規(guī)格說明的要求。(2)時限要求時限要求。項目應(yīng)在合同規(guī)定的期限內(nèi)完成。項目應(yīng)在合同規(guī)定的期限內(nèi)完成。(3)項目開銷限制在預(yù)算之內(nèi)項目開銷限制在預(yù)算之內(nèi)。按按RSPressman的觀點,軟件項目管理涉及的幾個主的觀點,軟件項目管理涉及的幾個主要方面是要方面是人員人員、產(chǎn)品產(chǎn)品、過程過程和和項目項目,即所謂,即所謂4P(People、Product、Process、Project)。)。(1)人員管理)人員管理美國卡內(nèi)基美國卡內(nèi)基梅隆大學(xué)軟件工程研究所的梅隆大學(xué)軟件工程研究所的BillCurtis在在1994年發(fā)表了年發(fā)表了“人員管理能力成熟度模型人員管理能力成熟度模型”(peoplecapabilitymaturitymodel,P-CMM)。該模型力圖通過)。該模型力圖通過吸引、培養(yǎng)、激勵、部署和騁用高水平的人才來提升軟件組吸引、培養(yǎng)、激勵、部署和騁用高水平的人才來提升軟件組織的軟件開發(fā)能力。人員管理涉及:織的軟件開發(fā)能力。人員管理涉及:13.1 軟件項目管理概述軟件項目管理涉及的幾個方面軟件項目管理涉及的幾個方面共利益者共利益者。包括:包括:項目的高級管理者項目的高級管理者負(fù)責(zé)項目商務(wù)問題的決策;負(fù)責(zé)項目商務(wù)問題的決策;項目經(jīng)理項目經(jīng)理負(fù)責(zé)項目的計劃與實施以及開發(fā)人員的組負(fù)責(zé)項目的計劃與實施以及開發(fā)人員的組織與管理;織與管理;開發(fā)人員開發(fā)人員項目開發(fā)的實施者;項目開發(fā)的實施者;客戶客戶提出需求并代表用戶與開發(fā)人員交往的人員;提出需求并代表用戶與開發(fā)人員交往的人員;最終用戶最終用戶直接使用項目成果(產(chǎn)品)的人員。直接使用項目成果(產(chǎn)品)的人員。團(tuán)隊負(fù)責(zé)人團(tuán)隊負(fù)責(zé)人。在小項目的情況下,項目經(jīng)理就是團(tuán)隊負(fù)。在小項目的情況下,項目經(jīng)理就是團(tuán)隊負(fù)責(zé)人。而大型項目也許會有若干個設(shè)計、編程團(tuán)隊或是若干責(zé)人。而大型項目也許會有若干個設(shè)計、編程團(tuán)隊或是若干個測試團(tuán)隊。團(tuán)隊負(fù)責(zé)人除去負(fù)有團(tuán)隊日常工作的安排、組個測試團(tuán)隊。團(tuán)隊負(fù)責(zé)人除去負(fù)有團(tuán)隊日常工作的安排、組織和管理之外,還應(yīng)特別注意發(fā)揮團(tuán)隊成員的潛能??椇凸芾碇猓€應(yīng)特別注意發(fā)揮團(tuán)隊成員的潛能。13.1 軟件項目管理概述團(tuán)隊集體團(tuán)隊集體。團(tuán)隊內(nèi)部有分工是必要的,但必須很好地配。團(tuán)隊內(nèi)部有分工是必要的,但必須很好地配合,做到步調(diào)一致,為此必須強(qiáng)調(diào)以下合,做到步調(diào)一致,為此必須強(qiáng)調(diào)以下3點。點。個人的責(zé)任心,這是團(tuán)隊完成工作的基本條件。個人的責(zé)任心,這是團(tuán)隊完成工作的基本條件。互相信任、尊重以及互相支持。互相信任、尊重以及互相支持。充分的交流與溝通。充分的交流與溝通。(2)產(chǎn)品管理產(chǎn)品管理軟件產(chǎn)品是軟件項目的成果和預(yù)期的目標(biāo),這種無形的產(chǎn)軟件產(chǎn)品是軟件項目的成果和預(yù)期的目標(biāo),這種無形的產(chǎn)品在開發(fā)出以前品在開發(fā)出以前,對其進(jìn)行管理有一定的困難。然而,項對其進(jìn)行管理有一定的困難。然而,項目經(jīng)理必須在項目開始時就明確項目的以下三個目標(biāo):目經(jīng)理必須在項目開始時就明確項目的以下三個目標(biāo):產(chǎn)品的工作環(huán)境。產(chǎn)品的工作環(huán)境。13.1 軟件項目管理概述產(chǎn)品的功能和性能。產(chǎn)品的功能和性能。產(chǎn)品工作處理的是什么數(shù)據(jù),經(jīng)它處理后得到什么數(shù)產(chǎn)品工作處理的是什么數(shù)據(jù),經(jīng)它處理后得到什么數(shù)據(jù)。據(jù)。顯然,只有明確了項目的這些基本要求才能著手項目管顯然,只有明確了項目的這些基本要求才能著手項目管理的各項工作,如項目估算、風(fēng)險分析、項目計劃的制定理的各項工作,如項目估算、風(fēng)險分析、項目計劃的制定等。等。(3)過程管理)過程管理過程在軟件工程項目中是重要的因素,它決定著項目中過程在軟件工程項目中是重要的因素,它決定著項目中開展哪些活動以及對活動的要求和開展活動的順序。開展哪些活動以及對活動的要求和開展活動的順序。(4)項目管理)項目管理項目管理的任務(wù)是如何利用已有的資源,組織實施既定項目管理的任務(wù)是如何利用已有的資源,組織實施既定13.1 軟件項目管理概述的項目,提交給用戶適用的產(chǎn)品。項目管理要開展的主要工的項目,提交給用戶適用的產(chǎn)品。項目管理要開展的主要工作可分為作可分為3類。類。計劃及計劃管理計劃及計劃管理。包括項目策劃及計劃制定、項目估。包括項目策劃及計劃制定、項目估算、風(fēng)險分析及風(fēng)險管理、進(jìn)度管理、計劃跟蹤與監(jiān)督。算、風(fēng)險分析及風(fēng)險管理、進(jìn)度管理、計劃跟蹤與監(jiān)督。資源管理資源管理。包括人員管理(人員安排、使用)、成本管。包括人員管理(人員安排、使用)、成本管理、信息管理。理、信息管理。成果要求管理成果要求管理。包括需求管理、配置管理、質(zhì)量管理。包括需求管理、配置管理、質(zhì)量管理。13.1 軟件項目管理概述軟件工程項目的計劃是指導(dǎo)項目開展的綱領(lǐng)性文件,必軟件工程項目的計劃是指導(dǎo)項目開展的綱領(lǐng)性文件,必須認(rèn)真對待,通常在項目的目標(biāo)確定和被開發(fā)的軟件基本須認(rèn)真對待,通常在項目的目標(biāo)確定和被開發(fā)的軟件基本功能確定之后,就應(yīng)該著手項目計劃的制定工作。而功能確定之后,就應(yīng)該著手項目計劃的制定工作。而項目項目估算是制訂計劃的基礎(chǔ)和依據(jù)估算是制訂計劃的基礎(chǔ)和依據(jù)。項目策劃與項目估算項目策劃與項目估算13.2 項目估算項目策劃項目策劃是在項目開展初期階段的重要工作,其主要目是在項目開展初期階段的重要工作,其主要目標(biāo)是得到項目計劃,或者說計劃(標(biāo)是得到項目計劃,或者說計劃(plan)是策劃)是策劃(planning)的結(jié)果。項目策劃中需要開展的活動有如下)的結(jié)果。項目策劃中需要開展的活動有如下幾項:幾項:(1)確認(rèn)并分析項目的特征。)確認(rèn)并分析項目的特征。(2)選擇項目將遵循的生存期模型,確定各階段的任務(wù)。)選擇項目將遵循的生存期模型,確定各階段的任務(wù)。(3)確定應(yīng)得到的階段性工作產(chǎn)品以及最終的產(chǎn)品。)確定應(yīng)得到的階段性工作產(chǎn)品以及最終的產(chǎn)品。(4)開展項目估算,包括估算產(chǎn)品規(guī)模、工作量、成本以)開展項目估算,包括估算產(chǎn)品規(guī)模、工作量、成本以及所需的關(guān)鍵計算機(jī)資源。及所需的關(guān)鍵計算機(jī)資源。(5)制訂項目進(jìn)度計劃。)制訂項目進(jìn)度計劃。(6)對項目風(fēng)險進(jìn)行分析。)對項目風(fēng)險進(jìn)行分析。(7)制訂項目計劃。)制訂項目計劃。在項目估算中,要在項目估算中,要解決的問題解決的問題是項目實施的幾個主要屬是項目實施的幾個主要屬性,即將要開發(fā)性,即將要開發(fā)產(chǎn)品的規(guī)模產(chǎn)品的規(guī)模(size)、項目所需的)、項目所需的工作量工作量(effort)以及)以及項目的成本項目的成本(cost)。)。13.2 項目估算(1)規(guī)模規(guī)模。項目的規(guī)模指的是得到最終軟件產(chǎn)品的大小。項目的規(guī)模指的是得到最終軟件產(chǎn)品的大小。一般以編程階段完成以后得到程序的代碼行表示,如以一般以編程階段完成以后得到程序的代碼行表示,如以1千千代碼行為單位,記為代碼行為單位,記為KLOC。當(dāng)然,在項目的開始只是對代。當(dāng)然,在項目的開始只是對代碼行的估計值。另一表示方法是功能點,記為碼行的估計值。另一表示方法是功能點,記為FP,它是根,它是根據(jù)軟件需求中的功能估算的。據(jù)軟件需求中的功能估算的。(2)工作量工作量。項目的工作量按項目將要投入的人工來考。項目的工作量按項目將要投入的人工來考慮,以一個人工作一個月為單位,記為慮,以一個人工作一個月為單位,記為“人月人月”。(3)成本成本。軟件項目的成本通常只考慮投入的人工成本,。軟件項目的成本通常只考慮投入的人工成本,如某項目投入的總?cè)斯べM用為如某項目投入的總?cè)斯べM用為12萬元。萬元。13.2 項目估算一個軟件組織在完成多個項目以后積累了一些數(shù)據(jù),進(jìn)一個軟件組織在完成多個項目以后積累了一些數(shù)據(jù),進(jìn)行成本分析后便可得到自己的生產(chǎn)率數(shù)值和人工價格。行成本分析后便可得到自己的生產(chǎn)率數(shù)值和人工價格。生產(chǎn)率是平均每個人月完成的源程序行數(shù),可記為生產(chǎn)率是平均每個人月完成的源程序行數(shù),可記為KLOC/人月或人月或FP/人月。人月。人工價則為每人月的價值。人工價則為每人月的價值。有了這兩個數(shù)值,如果在估出項目規(guī)模以后就可以很容有了這兩個數(shù)值,如果在估出項目規(guī)模以后就可以很容易得到項目的工作量和成本,即易得到項目的工作量和成本,即工作量工作量=規(guī)模規(guī)模/生產(chǎn)率生產(chǎn)率成本成本=工作量工作量人工價人工價13.2 項目估算功能點方法功能點方法(functionpoint)簡稱)簡稱FP方法,該方法克服方法,該方法克服了項目開始時無法得知源程序行數(shù)的實際困難,從軟件產(chǎn)品了項目開始時無法得知源程序行數(shù)的實際困難,從軟件產(chǎn)品的功能度(的功能度(functionality)出發(fā)估算出軟件產(chǎn)品的規(guī)模。)出發(fā)估算出軟件產(chǎn)品的規(guī)模。1功能度功能度功能點方法是以項目的需求規(guī)格說明中已經(jīng)得到確認(rèn)的軟功能點方法是以項目的需求規(guī)格說明中已經(jīng)得到確認(rèn)的軟件功能為依據(jù),著重分析要開發(fā)系統(tǒng)的功能度,并且認(rèn)為,件功能為依據(jù),著重分析要開發(fā)系統(tǒng)的功能度,并且認(rèn)為,軟件的大小與軟件的功能度相關(guān)軟件的大小與軟件的功能度相關(guān),而與軟件功能如何描述無而與軟件功能如何描述無關(guān),也與功能需求如何設(shè)計和實現(xiàn)無關(guān)關(guān),也與功能需求如何設(shè)計和實現(xiàn)無關(guān)。為具體說明功能點方法,區(qū)分各種不同的功能,需要建立為具體說明功能點方法,區(qū)分各種不同的功能,需要建立應(yīng)用系統(tǒng)邊界的概念。應(yīng)用系統(tǒng)邊界的概念。應(yīng)用系統(tǒng)邊界應(yīng)用系統(tǒng)邊界把我們正在開發(fā)的應(yīng)用把我們正在開發(fā)的應(yīng)用13.2 項目估算項目估算的功能點方法項目估算的功能點方法系統(tǒng)與用戶和與其相關(guān)的應(yīng)用系統(tǒng)分割開來。內(nèi)部功能僅限系統(tǒng)與用戶和與其相關(guān)的應(yīng)用系統(tǒng)分割開來。內(nèi)部功能僅限于應(yīng)用系統(tǒng)的邊界之內(nèi),而外部功能則是跨邊界的。于應(yīng)用系統(tǒng)的邊界之內(nèi),而外部功能則是跨邊界的。右圖給出了待開發(fā)的應(yīng)用系統(tǒng)右圖給出了待開發(fā)的應(yīng)用系統(tǒng)A及其邊界。該系統(tǒng)有它的用戶及其邊界。該系統(tǒng)有它的用戶和與其相關(guān)的應(yīng)用系統(tǒng)和與其相關(guān)的應(yīng)用系統(tǒng)B。圖中。圖中系統(tǒng)系統(tǒng)A有有3項功能涉及用戶,即輸項功能涉及用戶,即輸入、輸出和查詢;有一項功能是入、輸出和查詢;有一項功能是與系統(tǒng)與系統(tǒng)B的接口。這的接口。這4項功能都是項功能都是跨越邊界的,稱其為外部功能??缭竭吔绲?,稱其為外部功能。在應(yīng)用系統(tǒng)在應(yīng)用系統(tǒng)A中,內(nèi)部文件的邏中,內(nèi)部文件的邏輯關(guān)系都未超出邊界,屬于內(nèi)部功能。輯關(guān)系都未超出邊界,屬于內(nèi)部功能。13.2 項目估算(1)外部輸入外部輸入。外部輸入處理那些進(jìn)入應(yīng)用系統(tǒng)邊界的數(shù)。外部輸入處理那些進(jìn)入應(yīng)用系統(tǒng)邊界的數(shù)據(jù)或是控制信息。經(jīng)特定的邏輯處理后,形成內(nèi)部邏輯文據(jù)或是控制信息。經(jīng)特定的邏輯處理后,形成內(nèi)部邏輯文件。件。(2)外部輸出外部輸出。外部輸出處理離開應(yīng)用系統(tǒng)邊界的數(shù)據(jù)或。外部輸出處理離開應(yīng)用系統(tǒng)邊界的數(shù)據(jù)或控制信息??刂菩畔?。(3)內(nèi)部邏輯文件內(nèi)部邏輯文件。內(nèi)部邏輯文件是用戶可識別的邏輯相。內(nèi)部邏輯文件是用戶可識別的邏輯相關(guān)數(shù)據(jù)或控制信息組,它可在應(yīng)用系統(tǒng)邊界之內(nèi)使用。內(nèi)關(guān)數(shù)據(jù)或控制信息組,它可在應(yīng)用系統(tǒng)邊界之內(nèi)使用。內(nèi)部邏輯文件代表應(yīng)用系統(tǒng)可支持的數(shù)據(jù)存儲需求。部邏輯文件代表應(yīng)用系統(tǒng)可支持的數(shù)據(jù)存儲需求。(4)外部接口文件外部接口文件。外部接口文件是用戶可識別的邏輯相。外部接口文件是用戶可識別的邏輯相關(guān)數(shù)據(jù)或控制信息構(gòu)成的集合,該控制信息為應(yīng)用系統(tǒng)所關(guān)數(shù)據(jù)或控制信息構(gòu)成的集合,該控制信息為應(yīng)用系統(tǒng)所使用卻被另一應(yīng)用系統(tǒng)所支持。外部接口文件代表應(yīng)用系使用卻被另一應(yīng)用系統(tǒng)所支持。外部接口文件代表應(yīng)用系統(tǒng)外部支持的數(shù)據(jù)存儲需求。統(tǒng)外部支持的數(shù)據(jù)存儲需求。13.2 項目估算(5)外部查詢外部查詢。外部查詢是唯一的輸入。外部查詢是唯一的輸入/輸出組合,它為實輸出組合,它為實現(xiàn)即時輸出引起所需數(shù)據(jù)的檢索,代表了應(yīng)用系統(tǒng)查詢處理現(xiàn)即時輸出引起所需數(shù)據(jù)的檢索,代表了應(yīng)用系統(tǒng)查詢處理的需求。的需求。2功能復(fù)雜性功能復(fù)雜性軟件項目每類功能的復(fù)雜程度可能各不相同,為表明功能軟件項目每類功能的復(fù)雜程度可能各不相同,為表明功能復(fù)雜性的差別,將其分為復(fù)雜性的差別,將其分為簡單的、中等的和復(fù)雜的簡單的、中等的和復(fù)雜的3個等個等級。同時為表示其差異程度,分別給予不同的影響參數(shù)。下級。同時為表示其差異程度,分別給予不同的影響參數(shù)。下表列出了功能復(fù)雜性的影響參數(shù)值。表列出了功能復(fù)雜性的影響參數(shù)值。13.2 項目估算3未調(diào)節(jié)功能點未調(diào)節(jié)功能點某一個軟件,只要我們能夠從規(guī)格說明中得到了以上某一個軟件,只要我們能夠從規(guī)格說明中得到了以上5種種功能度的各級復(fù)雜性功能點的個數(shù)功能度的各級復(fù)雜性功能點的個數(shù)C,不難計算出未調(diào)節(jié)功,不難計算出未調(diào)節(jié)功能點的值。能點的值。13.2 項目估算其中:其中:i代表功能度類型號;代表功能度類型號;i=1,2,5;j代表復(fù)雜性的等級;代表復(fù)雜性的等級;j1,2,3;ij是第是第i類功能度和第類功能度和第j級復(fù)雜性的影響參數(shù),即上表級復(fù)雜性的影響參數(shù),即上表中第中第i行,第行,第j列的參數(shù)值;列的參數(shù)值;Cij是第是第i類功能度和第類功能度和第j級復(fù)雜度功能點的個數(shù)。級復(fù)雜度功能點的個數(shù)。4調(diào)節(jié)因子調(diào)節(jié)因子任何軟件都會有其自身特性,在考慮其各種自身特性任何軟件都會有其自身特性,在考慮其各種自身特性時,從以下兩個方面分解功能點計算的調(diào)節(jié)因子。時,從以下兩個方面分解功能點計算的調(diào)節(jié)因子。(1)影響因子影響因子。經(jīng)過對各類軟件的分析,綜合出以下。經(jīng)過對各類軟件的分析,綜合出以下14個個類型的影響因子:類型的影響因子:13.2 項目估算數(shù)據(jù)通信。數(shù)據(jù)通信。分布數(shù)據(jù)處理。分布數(shù)據(jù)處理。性能目標(biāo)。性能目標(biāo)。系統(tǒng)配置要求。系統(tǒng)配置要求。事務(wù)率。事務(wù)率。聯(lián)機(jī)數(shù)據(jù)錄入。聯(lián)機(jī)數(shù)據(jù)錄入。最終用戶效率。最終用戶效率。聯(lián)機(jī)更新。聯(lián)機(jī)更新。復(fù)雜的處理邏輯。復(fù)雜的處理邏輯??蓮?fù)用性??蓮?fù)用性。易安裝性。易安裝性。易操作性。易操作性。多工作場所。多工作場所。設(shè)施變更。設(shè)施變更。(2)影響級影響級。上述影響因子對軟件功能度的影響有多大必。上述影響因子對軟件功能度的影響有多大必須加以區(qū)分,于是將影響因子的影響程度分為須加以區(qū)分,于是將影響因子的影響程度分為6級,即級,即0級級無影響無影響1級級微小影響微小影響2級級輕度影響輕度影響3級級中度影響中度影響4級級顯著影響顯著影響5級級重大影響重大影響綜合考慮綜合考慮14類影響因子的影響度類影響因子的影響度N,應(yīng)是將,應(yīng)是將14種影響疊加種影響疊加起來,其值必定為起來,其值必定為070(145)。由此得到復(fù)雜度調(diào)節(jié))。由此得到復(fù)雜度調(diào)節(jié)因子(因子(complexityadjustmentfactor,CAF)CAF=0.65+0.01N其值應(yīng)在其值應(yīng)在0.651.35,其中基本調(diào)節(jié)常數(shù)是,其中基本調(diào)節(jié)常數(shù)是0.65,可見最大,可見最大的調(diào)節(jié)量為的調(diào)節(jié)量為35%。13.2 項目估算5交付功能點交付功能點經(jīng)過調(diào)節(jié)因子調(diào)節(jié)后的功能點值被稱為經(jīng)過調(diào)節(jié)因子調(diào)節(jié)后的功能點值被稱為交付功能點交付功能點(deliveredfunctionpoint,DFP)DFP=CAFUFP6交付功能點與軟件規(guī)模交付功能點與軟件規(guī)模一些研究成果表明,上述計算出的功能點的值可以代表軟一些研究成果表明,上述計算出的功能點的值可以代表軟件的規(guī)模,也可作為估算成本的依據(jù)。軟件的規(guī)??捎眉囊?guī)模,也可作為估算成本的依據(jù)。軟件的規(guī)模可用交付交付的源代碼行數(shù)的源代碼行數(shù)(deliveredlinesofcode,DLOC)來表)來表示。功能點與示。功能點與DLOC的對應(yīng)關(guān)系如下表所示。例如的對應(yīng)關(guān)系如下表所示。例如1DFP相當(dāng)于相當(dāng)于105DLOC(COBOL程序);程序);1DFP相當(dāng)于相當(dāng)于128DLOC(C程序)。程序)。13.2 項目估算7功能點方法的優(yōu)點功能點方法的優(yōu)點(1)DFP只與由規(guī)格說明得到的信息相關(guān),而交付代碼的只與由規(guī)格說明得到的信息相關(guān),而交付代碼的行數(shù)若不通過功能點計算是不能直接從規(guī)格說明中得到的。行數(shù)若不通過功能點計算是不能直接從規(guī)格說明中得到的。(2)DFP與實現(xiàn)軟件的語言無關(guān)。與實現(xiàn)軟件的語言無關(guān)。13.2 項目估算8功能點方法的不足之處功能點方法的不足之處(1)針對需求規(guī)格說明進(jìn)行分析時,主觀因素難以完全排)針對需求規(guī)格說明進(jìn)行分析時,主觀因素難以完全排除,這包括:除,這包括:對于規(guī)格說明,每人可能有不同的解釋;對于規(guī)格說明,每人可能有不同的解釋;對于功能度的復(fù)雜性估計也可能因人而異;對于功能度的復(fù)雜性估計也可能因人而異;CAF計算時會有主觀因素。計算時會有主觀因素。(2)非數(shù)據(jù)處理問題,如實時軟件、系統(tǒng)軟件、科學(xué)計算)非數(shù)據(jù)處理問題,如實時軟件、系統(tǒng)軟件、科學(xué)計算軟件等功能點的上述計算方法并不適用。軟件等功能點的上述計算方法并不適用。(3)DFP的計算目前尚不能借助工具自動完成。的計算目前尚不能借助工具自動完成。13.2 項目估算9功能點方法計算實例功能點方法計算實例某銀行的一個信息系統(tǒng)正在運行,其需求規(guī)格說明如下圖某銀行的一個信息系統(tǒng)正在運行,其需求規(guī)格說明如下圖所示。所示。為表明對該系統(tǒng)需求規(guī)格說明的分析過程,對上圖中各類為表明對該系統(tǒng)需求規(guī)格說明的分析過程,對上圖中各類功能加了下畫線?,F(xiàn)將各項功能分類列出。功能加了下畫線?,F(xiàn)將各項功能分類列出。13.2 項目估算(1)外部輸入)外部輸入增加新客戶;增加新客戶;刪除客戶;刪除客戶;存款業(yè)務(wù);存款業(yè)務(wù);提款業(yè)務(wù);提款業(yè)務(wù);給出透支報告的要求。給出透支報告的要求。(2)外部輸出)外部輸出透支的警告信息;透支的警告信息;透支客戶報告。透支客戶報告。(3)外部查詢)外部查詢客戶查詢存款余額??蛻舨樵兇婵钣囝~。(4)內(nèi)部文件)內(nèi)部文件客戶文件??蛻粑募W⒁?,該例中沒有出現(xiàn)和其他應(yīng)用系統(tǒng)的接口,并且假注意,該例中沒有出現(xiàn)和其他應(yīng)用系統(tǒng)的接口,并且假定以上功能均為簡單的復(fù)雜性。因此,未調(diào)節(jié)功能點定以上功能均為簡單的復(fù)雜性。因此,未調(diào)節(jié)功能點UFP=35+42+31+71=33再來計算調(diào)節(jié)因子。根據(jù)本系統(tǒng)的規(guī)格先來選取各個影再來計算調(diào)節(jié)因子。根據(jù)本系統(tǒng)的規(guī)格先來選取各個影響因子的影響級,經(jīng)分析影響因子取值如下表所示。響因子的影響級,經(jīng)分析影響因子取值如下表所示。13.2 項目估算因此,因此,14類影響因子構(gòu)成的影響度為類影響因子構(gòu)成的影響度為 N=3+3+3+2+4+5+4+4+1+0+0+1+0+0=30于是復(fù)雜度調(diào)節(jié)因子為于是復(fù)雜度調(diào)節(jié)因子為CAF0.65+0.0130=0.95最后,可算出交付的功能點值為最后,可算出交付的功能點值為DFP=0.9533=31.3513.2 項目估算1專家判定專家判定Delphi方法方法專家判定技術(shù)就是由多位專家進(jìn)行成本估算,取得多個估專家判定技術(shù)就是由多位專家進(jìn)行成本估算,取得多個估算值。有多種方法把這些估算值合成一個估算值,算值。有多種方法把這些估算值合成一個估算值,Read公公司提出了司提出了Delphi技術(shù),作為統(tǒng)一專家意見的方法??傻玫綐O技術(shù),作為統(tǒng)一專家意見的方法??傻玫綐O為準(zhǔn)確的估算值。標(biāo)準(zhǔn)為準(zhǔn)確的估算值。標(biāo)準(zhǔn)Delphi技術(shù)的步驟如下。技術(shù)的步驟如下。組織者發(fā)給每位專家一份軟件系統(tǒng)的規(guī)格說明書(略去組織者發(fā)給每位專家一份軟件系統(tǒng)的規(guī)格說明書(略去名稱和單位)和一張記錄估算值的表格,請他們進(jìn)行估算。名稱和單位)和一張記錄估算值的表格,請他們進(jìn)行估算。專家詳細(xì)研究軟件規(guī)格說明書的內(nèi)容,然后組織者召集專家詳細(xì)研究軟件規(guī)格說明書的內(nèi)容,然后組織者召集小組會議,在會上,專家們與組織者一起對估算問題進(jìn)行討小組會議,在會上,專家們與組織者一起對估算問題進(jìn)行討論。論。13.2 項目估算軟件開發(fā)成本估算軟件開發(fā)成本估算各位專家對該軟件提出各位專家對該軟件提出3個軟件規(guī)模的估算值,即個軟件規(guī)模的估算值,即ai該軟件可能的最小規(guī)模(最少源代碼行數(shù));該軟件可能的最小規(guī)模(最少源代碼行數(shù));mi該軟件最可能的規(guī)模(最可能的源代碼行數(shù));該軟件最可能的規(guī)模(最可能的源代碼行數(shù));bi該軟件可能的最大規(guī)模(最多源代碼行數(shù))。該軟件可能的最大規(guī)模(最多源代碼行數(shù))。無記名地填寫表格,并說明做此估算的理由。無記名地填寫表格,并說明做此估算的理由。組織者對各位專家在表中填寫的估算值進(jìn)行綜合和分組織者對各位專家在表中填寫的估算值進(jìn)行綜合和分類,做以下事情。類,做以下事情。計算各位專家(序號為計算各位專家(序號為i,i=1,2,n)的估算期望)的估算期望值值Ei和估算值的期望中值和估算值的期望中值E。對專家的估算結(jié)果進(jìn)行分析。對專家的估算結(jié)果進(jìn)行分析。13.2 項目估算組織者召集會議,請專家們對其估算值有很大差異之處組織者召集會議,請專家們對其估算值有很大差異之處進(jìn)行討論。專家對此估算值另做一次估算。進(jìn)行討論。專家對此估算值另做一次估算。在綜合專家估算結(jié)果的基礎(chǔ)上,組織專家再次無記名地在綜合專家估算結(jié)果的基礎(chǔ)上,組織專家再次無記名地填寫表格。填寫表格。從步驟從步驟到步驟到步驟適當(dāng)重復(fù)幾次,最終可獲得一個得到適當(dāng)重復(fù)幾次,最終可獲得一個得到多多數(shù)專家共識的軟件規(guī)模(源代碼行數(shù))。數(shù)專家共識的軟件規(guī)模(源代碼行數(shù))。最后,通過與歷史資料進(jìn)行類比,根據(jù)過去完成項目的規(guī)最后,通過與歷史資料進(jìn)行類比,根據(jù)過去完成項目的規(guī)模和成本等信息,推算出該軟件每行源代碼所需成本。然后模和成本等信息,推算出該軟件每行源代碼所需成本。然后再乘以該軟件源代碼行數(shù)的估算值,得到該軟件的成本估算再乘以該軟件源代碼行數(shù)的估算值,得到該軟件的成本估算值。值。13.2 項目估算2COCOMO模型模型BarryBoehm這位知名的軟件工程專家在其著作這位知名的軟件工程專家在其著作軟件軟件工程經(jīng)濟(jì)學(xué)工程經(jīng)濟(jì)學(xué)中提出了他的軟件估算模型層次結(jié)構(gòu),稱為中提出了他的軟件估算模型層次結(jié)構(gòu),稱為構(gòu)造式成本模型構(gòu)造式成本模型COCOMO(COnstructiveCOstMOdel),也許這是在軟件界影響最為廣泛,也最為著名),也許這是在軟件界影響最為廣泛,也最為著名的估算模型。的估算模型。(1)3種類型的軟件種類型的軟件COCOMO是針對是針對Boehm劃分的劃分的3種類型軟件進(jìn)行估算的。種類型軟件進(jìn)行估算的。固有型(固有型(organicmode)項目)項目。規(guī)模較小,較為簡單的。規(guī)模較小,較為簡單的項目,開發(fā)人員對項目有較好的理解和較為豐富的工作經(jīng)項目,開發(fā)人員對項目有較好的理解和較為豐富的工作經(jīng)驗,如傳熱系統(tǒng)中所用的熱分析程序。驗,如傳熱系統(tǒng)中所用的熱分析程序。13.2 項目估算嵌入型(嵌入型(embeddedmode)項目)項目。這類項目的開發(fā)工。這類項目的開發(fā)工作緊密地與系統(tǒng)中的硬件、軟件和運行限制聯(lián)系在一起,作緊密地與系統(tǒng)中的硬件、軟件和運行限制聯(lián)系在一起,如飛機(jī)的飛行控制軟件。如飛機(jī)的飛行控制軟件。半獨立性(半獨立性(semi-detachedmode)項目)項目。項目的性質(zhì)。項目的性質(zhì)介于上述兩個類型之間,其規(guī)模與復(fù)雜性均屬中等,如介于上述兩個類型之間,其規(guī)模與復(fù)雜性均屬中等,如事務(wù)處理系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)等。事務(wù)處理系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)等。(2)COCOMO的的3級模型級模型基本基本COCOMO模型模型(basicmodel)。)。該模型為靜態(tài)、單變量,以估算出的源代碼行數(shù)計算。該模型為靜態(tài)、單變量,以估算出的源代碼行數(shù)計算。開發(fā)工作量:開發(fā)工作量:式中:式中:E為工作量,單位為人月;為工作量,單位為人月;KLOC為交付的千行代碼數(shù)。為交付的千行代碼數(shù)。13.2 項目估算開發(fā)期:開發(fā)期:式中:式中:D為開發(fā)期,單位為月。為開發(fā)期,單位為月。系數(shù)系數(shù)基本基本COCOMO模型系數(shù)如下表所示。模型系數(shù)如下表所示。13.2 項目估算中級中級COCOMO模型模型(intermediate)。)。該模型除考慮源代碼行數(shù)外,還考慮調(diào)節(jié)因子(該模型除考慮源代碼行數(shù)外,還考慮調(diào)節(jié)因子(EAF),),用其體現(xiàn)產(chǎn)品、軟件、人員和項目等因素。用其體現(xiàn)產(chǎn)品、軟件、人員和項目等因素。開發(fā)工作量:開發(fā)工作量:系數(shù)系數(shù)中級中級COCOMO模型系數(shù)如下表所示。模型系數(shù)如下表所示。13.2 項目估算調(diào)節(jié)因子調(diào)節(jié)因子EAF(effortadjustmentfactor)。包含了)。包含了4類類15種屬性,其值為種屬性,其值為0.71.6。如下表所示。如下表所示。高級高級COCOMO模型模型(advanced)高級高級COCOMO模型除保留中級模型的因素外,還涉及軟模型除保留中級模型的因素外,還涉及軟件工程過程不同開發(fā)階段的影響,以及系統(tǒng)層、子系件工程過程不同開發(fā)階段的影響,以及系統(tǒng)層、子系統(tǒng)層和模塊層的差別。統(tǒng)層和模塊層的差別。軟件可靠性在子系統(tǒng)層各開發(fā)階段有不同的調(diào)節(jié)因子,軟件可靠性在子系統(tǒng)層各開發(fā)階段有不同的調(diào)節(jié)因子,如下表所示。如下表所示。13.2 項目估算13.2 項目估算1軟件風(fēng)險軟件風(fēng)險軟件工程項目的一系列活動要經(jīng)歷各種過程,即軟件生軟件工程項目的一系列活動要經(jīng)歷各種過程,即軟件生存期過程。軟件項目的生存期過程正如人的一生一樣,不存期過程。軟件項目的生存期過程正如人的一生一樣,不可能百分之百地順利,而不遇到任何困難乃至危險。我們可能百分之百地順利,而不遇到任何困難乃至危險。我們把把軟件工程過程中可能出現(xiàn)的那些影響軟件目標(biāo)實現(xiàn),或軟件工程過程中可能出現(xiàn)的那些影響軟件目標(biāo)實現(xiàn),或是可能造成重大損失的事件稱為軟件風(fēng)險。是可能造成重大損失的事件稱為軟件風(fēng)險。2風(fēng)險的特點風(fēng)險的特點在軟件工程項目過程實施中會遇到許多事件,但必須注在軟件工程項目過程實施中會遇到許多事件,但必須注意把軟件風(fēng)險與其他事件區(qū)分開來。通常認(rèn)為,風(fēng)險具有意把軟件風(fēng)險與其他事件區(qū)分開來。通常認(rèn)為,風(fēng)險具有以下特點。以下特點。13.3 風(fēng)險管理 什么是軟件風(fēng)險什么是軟件風(fēng)險(1)可能發(fā)生的事件可能發(fā)生的事件風(fēng)險是可能發(fā)生的事件,其發(fā)生的可能性用風(fēng)險概率來描風(fēng)險是可能發(fā)生的事件,其發(fā)生的可能性用風(fēng)險概率來描述。事件發(fā)生的可能性有多大,即風(fēng)險概率是多少,在項目述。事件發(fā)生的可能性有多大,即風(fēng)險概率是多少,在項目開始時應(yīng)有初步的估計。開始時應(yīng)有初步的估計。(2)會給項目帶來損失的事件會給項目帶來損失的事件風(fēng)險的發(fā)生必定給項目造成損害,這當(dāng)然是我們不希望出風(fēng)險的發(fā)生必定給項目造成損害,這當(dāng)然是我們不希望出現(xiàn)的?,F(xiàn)的。(3)可能對其進(jìn)行干預(yù),以期減少損失可能對其進(jìn)行干預(yù),以期減少損失針對每一種風(fēng)險,我們應(yīng)弄清可能減少造成損失或避免損針對每一種風(fēng)險,我們應(yīng)弄清可能減少造成損失或避免損失的程度。對風(fēng)險加以控制,采取一些有效的措施來降低風(fēng)失的程度。對風(fēng)險加以控制,采取一些有效的措施來降低風(fēng)險或是消除風(fēng)險。險或是消除風(fēng)險。13.3 風(fēng)險管理 3風(fēng)險分類風(fēng)險分類出于不同的考慮,可以有不同的風(fēng)險分類。出于不同的考慮,可以有不同的風(fēng)險分類。(1)依據(jù)危害性依據(jù)危害性從危害到軟件項目本身講,軟件風(fēng)險可分為從危害到軟件項目本身講,軟件風(fēng)險可分為3類。類。成本風(fēng)險成本風(fēng)險。成本風(fēng)險是項目預(yù)算和開銷不夠準(zhǔn)確造成。成本風(fēng)險是項目預(yù)算和開銷不夠準(zhǔn)確造成的。的??冃эL(fēng)險績效風(fēng)險??冃эL(fēng)險是系統(tǒng)不能提供全部或是某些預(yù)期。績效風(fēng)險是系統(tǒng)不能提供全部或是某些預(yù)期效益,或是不能實現(xiàn)預(yù)期的軟件需求。效益,或是不能實現(xiàn)預(yù)期的軟件需求。進(jìn)度風(fēng)險進(jìn)度風(fēng)險。進(jìn)度風(fēng)險關(guān)系到項目進(jìn)度或是項目達(dá)到指定。進(jìn)度風(fēng)險關(guān)系到項目進(jìn)度或是項目達(dá)到指定里程碑的不確定性。里程碑的不確定性。13.3 風(fēng)險管理(2)從風(fēng)險涉及的范圍上考慮從風(fēng)險涉及的范圍上考慮從更大的范圍考慮,軟件風(fēng)險還可分為從更大的范圍考慮,軟件風(fēng)險還可分為3類。類。項目風(fēng)險項目風(fēng)險。這種風(fēng)險涉及預(yù)算、成本、進(jìn)度、人員的招。這種風(fēng)險涉及預(yù)算、成本、進(jìn)度、人員的招聘和組織、資源的獲取,以及顧客和需求等方面的問題。聘和組織、資源的獲取,以及顧客和需求等方面的問題。技術(shù)風(fēng)險技術(shù)風(fēng)險。技術(shù)風(fēng)險威脅著開發(fā)產(chǎn)品的質(zhì)量和交付產(chǎn)品。技術(shù)風(fēng)險威脅著開發(fā)產(chǎn)品的質(zhì)量和交付產(chǎn)品的時間。技術(shù)風(fēng)險會涉及設(shè)計方案、實現(xiàn)、接口、驗證,的時間。技術(shù)風(fēng)險會涉及設(shè)計方案、實現(xiàn)、接口、驗證,以及維護(hù)等方面的問題。以及維護(hù)等方面的問題。商業(yè)風(fēng)險商業(yè)風(fēng)險。商業(yè)風(fēng)險的發(fā)生會威脅開發(fā)軟件的生命力,。商業(yè)風(fēng)險的發(fā)生會威脅開發(fā)軟件的生命力,危及軟件項目和產(chǎn)品出路。常常出現(xiàn)的情況是:危及軟件項目和產(chǎn)品出路。常常出現(xiàn)的情況是:13.3 風(fēng)險管理 市場風(fēng)險市場風(fēng)險:開發(fā)了優(yōu)良的產(chǎn)品卻不為用戶真正需要,或:開發(fā)了優(yōu)良的產(chǎn)品卻不為用戶真正需要,或是銷售人員不知怎么能送到用戶手中;是銷售人員不知怎么能送到用戶手中;策略風(fēng)險策略風(fēng)險:開發(fā)的產(chǎn)品不能適應(yīng)公司的整體商業(yè)策略;:開發(fā)的產(chǎn)品不能適應(yīng)公司的整體商業(yè)策略;管理風(fēng)險管理風(fēng)險:由于人員的變更或是公司工作中心的轉(zhuǎn)移,:由于人員的變更或是公司工作中心的轉(zhuǎn)移,開發(fā)的產(chǎn)品失去了高層領(lǐng)導(dǎo)者的有力支持;開發(fā)的產(chǎn)品失去了高層領(lǐng)導(dǎo)者的有力支持;預(yù)算風(fēng)險預(yù)算風(fēng)險:沒有得到預(yù)算或人員方面的承諾。:沒有得到預(yù)算或人員方面的承諾。(3)其他分類)其他分類R.N.Charette給出了另一種風(fēng)險的分類。給出了另一種風(fēng)險的分類。已知風(fēng)險已知風(fēng)險:在已經(jīng)對項目計劃、被開發(fā)軟件將在其中的:在已經(jīng)對項目計劃、被開發(fā)軟件將在其中的商業(yè)環(huán)境和技術(shù)環(huán)境,以及對其他的可靠信息來源做出仔商業(yè)環(huán)境和技術(shù)環(huán)境,以及對其他的可靠信息來源做出仔13.3 風(fēng)險管理 細(xì)評估以后能夠弄清的風(fēng)險。所謂其他可靠信息來源可能細(xì)評估以后能夠弄清的風(fēng)險。所謂其他可靠信息來源可能是不現(xiàn)實的交付日期、缺少文檔化的需求或軟件范圍及不是不現(xiàn)實的交付日期、缺少文檔化的需求或軟件范圍及不良的開發(fā)環(huán)境等。良的開發(fā)環(huán)境等??深A(yù)知風(fēng)險可預(yù)知風(fēng)險:根據(jù)以往項目的經(jīng)驗可以推斷的風(fēng)險,如:根據(jù)以往項目的經(jīng)驗可以推斷的風(fēng)險,如人員調(diào)動、與顧客溝通有障礙、在為客戶作維護(hù)服務(wù)時人人員調(diào)動、與顧客溝通有障礙、在為客戶作維護(hù)服務(wù)時人員工作積極性不高等。員工作積極性不高等。不可預(yù)知風(fēng)險不可預(yù)知風(fēng)險:事先完全無法預(yù)料,好像是在開玩笑一:事先完全無法預(yù)料,好像是在開玩笑一樣,風(fēng)險竟然突如其來。樣,風(fēng)險竟然突如其來。13.3 風(fēng)險管理 如同軟件配置管理力圖把變更造成的影響降到最小一樣,如同軟件配置管理力圖把變更造成的影響降到最小一樣,風(fēng)險管理力圖把風(fēng)險帶來的影響,或造成的損失減少到最小。風(fēng)險管理力圖把風(fēng)險帶來的影響,或造成的損失減少到最小。1風(fēng)險管理的目標(biāo)和策略風(fēng)險管理的目標(biāo)和策略(1)目標(biāo)目標(biāo)。風(fēng)險管理包括兩個重要的目標(biāo):。風(fēng)險管理包括兩個重要的目標(biāo):識別風(fēng)險。識別風(fēng)險。采取措施,把風(fēng)險造成的影響降低到最小。采取措施,把風(fēng)險造成的影響降低到最小。識別風(fēng)險是要找出可能的風(fēng)險,對其進(jìn)行分析、評估,并識別風(fēng)險是要找出可能的風(fēng)險,對其進(jìn)行分析、評估,并進(jìn)一步對這些風(fēng)險排序,以突出最為險惡的風(fēng)險。進(jìn)一步對這些風(fēng)險排序,以突出最為險惡的風(fēng)險。13.3 風(fēng)險管理 風(fēng)險管理的任務(wù)風(fēng)險管理的任務(wù)(2)策略策略。降低風(fēng)險危害的策略可能包括:。降低風(fēng)險危害的策略可能包括:回避風(fēng)險回避風(fēng)險,如改變項目的某些功能或性能需求使風(fēng)險不,如改變項目的某些功能或性能需求使風(fēng)險不可能發(fā)生;可能發(fā)生;轉(zhuǎn)移風(fēng)險轉(zhuǎn)移風(fēng)險,把風(fēng)險轉(zhuǎn)移到其他系統(tǒng),或是借助購買保,把風(fēng)險轉(zhuǎn)移到其他系統(tǒng),或是借助購買保險,將經(jīng)濟(jì)損失轉(zhuǎn)移,從而化險為夷;險,將經(jīng)濟(jì)損失轉(zhuǎn)移,從而化險為夷;承受風(fēng)險承受風(fēng)險,接受風(fēng)險,但將風(fēng)險損失控制在項目資源可,接受風(fēng)險,但將風(fēng)險損失控制在項目資源可承受的范圍之內(nèi)。承受的范圍之內(nèi)。2風(fēng)險管理活動風(fēng)險管理活動為達(dá)到上述風(fēng)險管理的目標(biāo),必須使風(fēng)險管理圍繞風(fēng)險評為達(dá)到上述風(fēng)險管理的目標(biāo),必須使風(fēng)險管理圍繞風(fēng)險評估和風(fēng)險控制開展活動。風(fēng)險管理活動及相關(guān)子活動如下圖估和風(fēng)險控制開展活動。風(fēng)險管理活動及相關(guān)子活動如下圖所示。以下兩小節(jié)將對風(fēng)險評估和風(fēng)險控制分別加以說明。所示。以下兩小節(jié)將對風(fēng)險評估和風(fēng)險控制分別加以說明。13.3 風(fēng)險管理 13.3 風(fēng)險管理 風(fēng)險評估的目標(biāo)是認(rèn)識可能的風(fēng)險,它是風(fēng)險控制的前提。風(fēng)險評估的目標(biāo)是認(rèn)識可能的風(fēng)險,它是風(fēng)險控制的前提。風(fēng)險評估通常包括風(fēng)險評估通常包括:風(fēng)險識別風(fēng)險識別、風(fēng)險分析風(fēng)險分析和和風(fēng)險排序風(fēng)險排序3個個方面的內(nèi)容。需要注意的是,在軟件工程項目的全過程中,方面的內(nèi)容。需要注意的是,在軟件工程項目的全過程中,風(fēng)險評估可能風(fēng)險評估可能不止進(jìn)行一次不止進(jìn)行一次。隨著各方面條件的變化,如。隨著各方面條件的變化,如有必要,在項目進(jìn)行中可能需要進(jìn)行再評估或是修改評估。有必要,在項目進(jìn)行中可能需要進(jìn)行再評估或是修改評估。1風(fēng)險識別風(fēng)險識別就某個特定的軟件工程項目來說,從項目的具體情況出發(fā),就某個特定的軟件工程項目來說,從項目的具體情況出發(fā),列舉出可能出現(xiàn)的風(fēng)險,真正弄清每一可能風(fēng)險的情況是列舉出可能出現(xiàn)的風(fēng)險,真正弄清每一可能風(fēng)險的情況是風(fēng)險識別的主要任務(wù)。風(fēng)險識別的方法有:風(fēng)險識別的主要任務(wù)。風(fēng)險識別的方法有:檢查單檢查單、判定判定 風(fēng)險評估風(fēng)險評估13.3 風(fēng)險管理 驅(qū)動分析驅(qū)動分析、假設(shè)分析假設(shè)分析、分解分解等。等。檢查單檢查單(checklist)是識別風(fēng)險的有力工具。它是將檢)是識別風(fēng)險的有力工具。它是將檢查單中所列舉的各種風(fēng)險,對照即將開發(fā)的軟件項目,逐查單中所列舉的各種風(fēng)險,對照即將開發(fā)的軟件項目,逐一加以甄別,判定檢查單中哪些風(fēng)險在該項目中可能發(fā)一加以甄別,判定檢查單中哪些風(fēng)險在該項目中可能發(fā)生。所謂生。所謂分解分解是將一個大的項目劃分成若干明確定義的部是將一個大的項目劃分成若干明確定義的部分,然后對每個部分進(jìn)行分析,看看各部分的可能風(fēng)險是分,然后對每個部分進(jìn)行分析,看看各部分的可能風(fēng)險是什么。有許多軟件項目的實際情況是,什么。有許多軟件項目的實際情況是,20%的模塊會引發(fā)的模塊會引發(fā)出出80%的項目問題。分解將有助于識別這些模塊的風(fēng)險。的項目問題。分解將有助于識別這些模塊的風(fēng)險。總之,風(fēng)險識別時要弄清在項目中可能發(fā)生,但并不希總之,風(fēng)險識別時要弄清在項目中可能發(fā)生,但并不希望發(fā)生的事件,也即列舉出一些可能出現(xiàn)的望發(fā)生的事件,也即列舉出一些可能出現(xiàn)的“意外意外”事件,事件,以便引起我們的重視,做到以便引起我們的重視,做到“有備無患有備無患”。13.3 風(fēng)險管理 2風(fēng)險分析風(fēng)險分析風(fēng)險識別以后需要弄清楚已識別的風(fēng)險可能何時何處發(fā)生,風(fēng)險識別以后需要弄清楚已識別的風(fēng)險可能何時何處發(fā)生,發(fā)生了會怎么樣。發(fā)生了會怎么樣。風(fēng)險分析的任務(wù)風(fēng)險分析的任務(wù)是分析每個風(fēng)險可能造是分析每個風(fēng)險可能造成的影響,給出風(fēng)險大小的量值。進(jìn)行分析可以借助一些成的影響,給出風(fēng)險大小的量值。進(jìn)行分析可以借助一些已有的模型,但也并非所有巳列出的風(fēng)險都可借助模型進(jìn)已有的模型,但也并非所有巳列出的風(fēng)險都可借助模型進(jìn)行分析,因此,行分析,因此,常常采用的是主觀分析常常采用的是主觀分析。如果將成本模型。如果將成本模型用于成本估算和進(jìn)度計劃估算,那么該模型便可用來評估用于成本估算和進(jìn)度計劃估算,那么該模型便可用來評估成本風(fēng)險和進(jìn)度計劃風(fēng)險。成本風(fēng)險和進(jìn)度計劃風(fēng)險。風(fēng)險分析的其他方法還包括:研究各種可能判定的概率和風(fēng)險分析的其他方法還包括:研究各種可能判定的概率和結(jié)果(判定分析);理解任務(wù)取決于判定關(guān)鍵活動以及不結(jié)果(判定分析);理解任務(wù)取決于判定關(guān)鍵活動以及不能能13.3 風(fēng)險管理 及時完成這些任務(wù)的概率或成本(網(wǎng)絡(luò)分析);有關(guān)各種質(zhì)及時完成這些任務(wù)的概率或成本(網(wǎng)絡(luò)分析);有關(guān)各種質(zhì)量因子,如可靠性和可用性的風(fēng)險(質(zhì)量因子分析);以及量因子,如可靠性和可用性的風(fēng)險(質(zhì)量因子分析);以及如果對系統(tǒng)的性能有嚴(yán)格限制,早期借助于模擬等手段進(jìn)行如果對系統(tǒng)的性能有嚴(yán)格限制,早期借助于模擬等手段進(jìn)行性能評估(性能分析)。性能評估(性能分析)。3風(fēng)險排序風(fēng)險排序識別出風(fēng)險,并對其進(jìn)行了分析將使我們初步弄清可能妨識別出風(fēng)險,并對其進(jìn)行了分析將使我們初步弄清可能妨礙達(dá)到項目目標(biāo)的危險事件,然而各種風(fēng)險的后果會有很大礙達(dá)到項目目標(biāo)的危險事件,然而各種風(fēng)險的后果會有很大的差別,我們必須對其加以區(qū)別,以便把管理者的目光集中的差別,我們必須對其加以區(qū)別,以便把管理者的目光集中到最高風(fēng)險的事件上。到最高風(fēng)險的事件上。13.3 風(fēng)險管理(1)風(fēng)風(fēng)險險概概率率。風(fēng)風(fēng)險險概概率率指指的的是是風(fēng)風(fēng)險險事事件件出出現(xiàn)現(xiàn)的的可可能能性性,我我們們把把各各種種概概率率值值的的風(fēng)風(fēng)險險劃劃分分為為3類類:低低概概率率風(fēng)風(fēng)險險、中中概概率率風(fēng)風(fēng)險險和和高高概概率率風(fēng)風(fēng)險險。3類類風(fēng)風(fēng)險險的的概概率率取取值值按按右右表表劃分。劃分。(2)風(fēng)風(fēng)險險影影響響。風(fēng)風(fēng)險險影影響響的的大大小小需需要要加加以以度度量量,如如可可以以用用損損失失的的金金額額數(shù)數(shù)來來衡衡量量。但但為為了了簡簡單單和和直直觀觀,可可以以把把風(fēng)風(fēng)險險影影響響分分為為4個個等等級級,并按并按1到到10來賦值。如右表所示。來賦值。如右表所示。13.3 風(fēng)險管理(3)風(fēng)險排序的步驟風(fēng)險排序的步驟對已識別和分析了的風(fēng)險估計概率的類別。對已識別和分析了的風(fēng)險估計概率的類別。評估每個風(fēng)險對項目的影響級。評估每個風(fēng)險對項目的影響級。風(fēng)險排序應(yīng)根據(jù)該項目各有關(guān)風(fēng)險的概率和風(fēng)險影響。風(fēng)險排序應(yīng)根據(jù)該項目各有關(guān)風(fēng)險的概率和風(fēng)險影響。針對排序列在前位的幾個風(fēng)險采取緩解措施和跟蹤措施。針對排序列在前位的幾個風(fēng)險采取緩解措施和跟蹤措施。(4)風(fēng)險顯露風(fēng)險顯露(riskexposure)風(fēng)險顯露計算風(fēng)險顯露計算。有時需要精確地進(jìn)行風(fēng)險排序,這就要求。有時需要精確地進(jìn)行風(fēng)險排序,這就要求針對每個風(fēng)險對項目的威脅究竟有多大,做出量化的評定。針對每個風(fēng)險對項目的威脅究竟有多大,做出量化的評定。風(fēng)險對項目威脅的大小可用風(fēng)險顯露來表示風(fēng)險對項目威脅的大小可用風(fēng)險顯露來表示,它既和風(fēng)險概,它既和風(fēng)險概率有關(guān),也和風(fēng)險發(fā)生造成損失的大小有關(guān)。于是有率有關(guān),也和風(fēng)險發(fā)生造成損失的大小有關(guān)。于是有13.3 風(fēng)險管理 RE(R)=Prob(R)Loss(R)式中:式中:RE(R)是風(fēng)險)是風(fēng)險R的發(fā)生可能給項目造成的損失;的發(fā)生可能給項目造成的損失;Prob(R)是風(fēng)險)是風(fēng)險R發(fā)生的概率;發(fā)生的概率;Loss(R)是風(fēng)險)是風(fēng)險R如果發(fā)生會造成的損失。如果發(fā)生會造成的損失。風(fēng)險顯露計算實例風(fēng)險顯露計算實例。這里以回歸測試工作為例,討論風(fēng)。這里以回歸測試工作為例,討論風(fēng)險顯露的計算。險顯露的計算。所謂回歸測試是軟件測試中的一種特定的測試。在軟件測所謂回歸測試是軟件測試中的一種特定的測試。在軟件測試發(fā)現(xiàn)問題以后加以糾正,但糾正究竟做得怎么樣是很值得試發(fā)現(xiàn)問題以后加以糾正,但糾正究竟做得怎么樣是很值得重視的,必須保證糾正沒有帶來新的問題。為防止出現(xiàn)這些重視的,必須保證糾正沒有帶來新的問題。為防止出現(xiàn)這些情況,原則上應(yīng)該遵循回歸測試的要求,即只要改過了的程情況,原則上應(yīng)該遵循回歸測試的要求,即只要改過了的程序就必須重新進(jìn)行測試,否則會有誤改的風(fēng)險。序就必須重新進(jìn)行測試,否則會有誤改的風(fēng)險。13.3 風(fēng)險管理 右圖為是否進(jìn)行回歸測試共右圖為是否進(jìn)行回歸測試共6種可能事件的風(fēng)險顯露計算。圖種可能事件的風(fēng)險顯露計算。圖中對中對6種可能事件分別列出了其概種可能事件分別列出了其概率值率值P及事件出現(xiàn)會造成的損失及事件出現(xiàn)會造成的損失L,圖的右部則是按前述公式圖的右部則是按前述公式RE=ProbLoss計算出的風(fēng)險計算出的風(fēng)險顯露。在將前顯露。在將前3種事件和后種事件和后3種事種事件的風(fēng)險顯露分別求和得到的數(shù)件的風(fēng)險顯露分別求和得到的數(shù)值(圖的最右端)后,便可得出值(圖的最右端)后,便可得出結(jié)論:不做回歸測試要比做回歸結(jié)論:不做回歸測試要比做回歸測試可能給項目造成的損失要大測試可能給項目造成的損失要大得多。顯然,回歸測試是十分必得多。顯然,回歸測試是十分必要的。要的。13.3 風(fēng)險管理 13.3 風(fēng)險管理 風(fēng)險控制風(fēng)險控制是由項目管理人員為減輕風(fēng)險造成危害要采用的是由項目管理人員為減輕風(fēng)險造成危害要采用的一些主動措施。我們無法消除所有的風(fēng)險,只能借助采取的一些主動措施。我們無法消除所有的風(fēng)險,只能借助采取的措施,以人們可接受的方式處理有害結(jié)果,從而減輕風(fēng)險,措施,以人們可接受的方式處理有害結(jié)果,從而減輕風(fēng)險,使風(fēng)險損失降低到最小。使風(fēng)險損失降低到最小。風(fēng)險管理通常是從風(fēng)險管理通常是從風(fēng)險管理策劃開始,繼而實施風(fēng)險計劃風(fēng)險管理策劃開始,繼而實施風(fēng)險計劃(或稱風(fēng)險化解)和風(fēng)險監(jiān)控(或稱風(fēng)險化解)和風(fēng)險監(jiān)控。1風(fēng)險管理策劃風(fēng)險管理策劃風(fēng)險管理策劃是要針對每個已經(jīng)過識別和分析認(rèn)為應(yīng)該受風(fēng)險管理策劃是要針對每個已經(jīng)過識別和分析認(rèn)為應(yīng)該受風(fēng)險控制風(fēng)險控制控的風(fēng)險制定風(fēng)險管理計劃。按控的風(fēng)險制定風(fēng)險管理計劃。按Boehm的意見,風(fēng)險管理的意見,風(fēng)險管理計劃主要包括以下計劃主要包括以下5個方面。個方面。該項風(fēng)險為什么重要,為什么一定要管理。該項風(fēng)險為什么重要,為什么一定要管理。風(fēng)險管理應(yīng)該能夠提供什么以及什么時候提供。風(fēng)險管理應(yīng)該能夠提供什么以及什么時候提供。實施這些風(fēng)險管理活動的責(zé)任人是誰。實施這些風(fēng)險管理活動的責(zé)任人是誰。風(fēng)險怎么能夠得到減輕,該采取什么措施。風(fēng)險怎么能夠得到減輕,該采取什么措施。需要什么資源。需要什么資源。策劃風(fēng)險管理的一個明顯的策略是策劃風(fēng)險管理的一個明顯的策略是風(fēng)險回避風(fēng)險回避,就是采取措,就是采取措施回避風(fēng)險。另外,也可采用有效的措施來施回避風(fēng)險。另外,也可采用有效的措施來減輕風(fēng)險減輕風(fēng)險,對于,對于那些無法回避的風(fēng)險則應(yīng)設(shè)法降低風(fēng)險變?yōu)楝F(xiàn)實的概率,或那些無法回避的風(fēng)險則應(yīng)設(shè)法降低風(fēng)險變?yōu)楝F(xiàn)實的概率,或是把風(fēng)險發(fā)生造成的損失降低。是把風(fēng)險發(fā)生造成的損失降低。13.3 風(fēng)險管理 2風(fēng)險化解風(fēng)險化解風(fēng)險化解是要實際消除風(fēng)險或是減輕風(fēng)險風(fēng)險化解是要實際消除風(fēng)險或是減輕風(fēng)險。實施風(fēng)險管理。實施風(fēng)險管理計劃從根本上講就是將風(fēng)險化解,如若計劃采用風(fēng)險回避,計劃從根本上講就是將風(fēng)險化解,如若計劃采用風(fēng)險回避,那就要開展若干回避風(fēng)險的活動。那就要開展若干回避風(fēng)險的活動。為了幫助選擇風(fēng)險減輕的方法,必須考慮減輕風(fēng)險的成為了幫助選擇風(fēng)險減輕的方法,必須考慮減輕風(fēng)險的成本。我們把風(fēng)險顯露的損失差與風(fēng)險減輕成本的比稱為本。我們把風(fēng)險顯露的損失差與風(fēng)險減輕成本的比稱為風(fēng)險風(fēng)險杠桿杠桿(riskleverage),即),即顯然,如果風(fēng)險杠桿值不足以支持所采用的風(fēng)險減輕的措顯然,如果風(fēng)險杠桿值不足以支持所采用的風(fēng)險減輕的措施,那就要尋求更為低成本且更為高效的風(fēng)險減輕方法。施,那就要尋求更為低成本且更為高效的風(fēng)險減輕方法。13.3 風(fēng)險管理 有時可以選擇開發(fā)過程來減輕風(fēng)險,如開發(fā)原型可以有助有時可以選擇開發(fā)過程來減輕風(fēng)險,如開發(fā)原型可以有助于理解需求和設(shè)計,從而減輕風(fēng)險。于理解需求和設(shè)計,從而減輕風(fēng)險。風(fēng)險管理計劃中記載了所做出的決策,它可讓顧客和開發(fā)風(fēng)險管理計劃中記載了所做出的決策,它可讓顧客和開發(fā)組來審查可能發(fā)生的問題如何避免,以及這些問題一旦出組來審查可能發(fā)生的問題如何避免,以及這些問題一旦出現(xiàn),該如何應(yīng)對。隨著項目的進(jìn)展,我們要隨時予以監(jiān)控,現(xiàn),該如何應(yīng)對。隨著項目的進(jìn)展,我們要隨時予以監(jiān)控,定期地對風(fēng)險進(jìn)行再評估,包括其發(fā)生的概率及可能造成的定期地對風(fēng)險進(jìn)行再評估,包括其發(fā)生的概率及可能造成的影響。影響。13.3 風(fēng)險管理 13.3 風(fēng)險管理 3風(fēng)險監(jiān)控風(fēng)險監(jiān)控(1)隨時監(jiān)控的必要性隨時監(jiān)控的必要性由于風(fēng)險是一些概率事件,它經(jīng)常依賴于外部因素。在外由于風(fēng)險是一些概率事件,它經(jīng)常依賴于外部因素。在外部因素改變以后,風(fēng)險構(gòu)成的威脅可能和以前的評估有很大部因素改變以后,風(fēng)險構(gòu)成的威脅可能和以前的評估有很大的差別。顯然,對風(fēng)險的理解也要隨時間改變,進(jìn)而所采取的差別。顯然,對風(fēng)險的理解也要隨時間改變,進(jìn)而所采取的風(fēng)險化解措施可能影響著對風(fēng)險的認(rèn)識。的風(fēng)險化解措施可能影響著對風(fēng)險的認(rèn)識。(2)跟蹤監(jiān)控跟蹤監(jiān)控上述的風(fēng)險動態(tài)特性表明,不應(yīng)把項目的風(fēng)險看成是靜止上述的風(fēng)險動態(tài)特性表明,不應(yīng)把項目的風(fēng)險看成是靜止不動的。必須定期地對風(fēng)險進(jìn)行重新評估,并且除去要監(jiān)控不動的。必須定期地對風(fēng)險進(jìn)行重新評估,并且除去要監(jiān)控那些已策劃的風(fēng)險化解措施的實施情況外,需要對整個項目那些已策劃的風(fēng)險化解措施的實施情況外,需要對整個項目風(fēng)險怎樣認(rèn)識作定期的重新考察。風(fēng)險怎樣認(rèn)識作定期的重新考察。借鑒大量項目實踐中獲得的風(fēng)險管理經(jīng)驗和教訓(xùn),以下借鑒大量項目實踐中獲得的風(fēng)險管理經(jīng)驗和教訓(xùn),以下給出若干有益的建議。給出若干有益的建議。(1)要承認(rèn)風(fēng)險是客觀存在的,不可能完全避免。)要承認(rèn)風(fēng)險是客觀存在的,不可能完全避免。(2)對風(fēng)險的認(rèn)識最好組織開放式的討論,這樣做本身就)對風(fēng)險的認(rèn)識最好組織開放式的討論,這樣做本身就能夠提高認(rèn)識,降低風(fēng)險的影響。能夠提高認(rèn)識,降低風(fēng)險的影響。(3)獎勵那些防止風(fēng)險發(fā)生的人,不要只是懲罰和處分造)獎勵那些防止風(fēng)險發(fā)生的人,不要只是懲罰和處分造成風(fēng)險的人。成風(fēng)險的人。(4)不應(yīng)僅僅關(guān)注易于處理的風(fēng)險。)不應(yīng)僅僅關(guān)注易于處理的風(fēng)險。(5)不要試圖同時管理過多的風(fēng)險。)不要試圖同時管理過多的風(fēng)險。做好風(fēng)險管理的建議做好風(fēng)險管理的建議13.3 風(fēng)險管理(6)要記錄風(fēng)險的情況。)要記錄風(fēng)險的情況。(7)把風(fēng)險管理納入項目管理。)把風(fēng)險管理納入項目管理。(8)初期階段不必過分強(qiáng)調(diào)量化管理。)初期階段不必過分強(qiáng)調(diào)量化管理。(9)不應(yīng)追求實施風(fēng)險管理的成本效益比。)不應(yīng)追求實施風(fēng)險管理的成本效益比。(10)記住,風(fēng)險計劃本身又可能帶來新的風(fēng)險,也可能)記住,風(fēng)險計劃本身又可能帶來新的風(fēng)險,也可能會提高產(chǎn)品的成本。會提高產(chǎn)品的成本。(11)回避風(fēng)險應(yīng)看成是最后的手段,采取時必須十分謹(jǐn)慎。)回避風(fēng)險應(yīng)看成是最后的手段,采取時必須十分謹(jǐn)慎。(12)在組織級上采用風(fēng)險數(shù)據(jù)庫,以便于項目之間借鑒)在組織級上采用風(fēng)險數(shù)據(jù)庫,以便于項目之間借鑒風(fēng)險數(shù)據(jù)。風(fēng)險數(shù)據(jù)。13.3 風(fēng)險管理 1值得重視的現(xiàn)象值得重視的現(xiàn)象軟件項目能否按計劃的時間完成,及時提交產(chǎn)品是項目軟件項目能否按計劃的時間完成,及時提交產(chǎn)品是項目管理的一個重要課題。我們都希望按計劃及時完成,但項管理的一個重要課題。我們都希望按計劃及時完成,但項目未能按預(yù)期的進(jìn)度提交產(chǎn)品,延誤工期的現(xiàn)象經(jīng)常會出目未能按預(yù)期的進(jìn)度提交產(chǎn)品,延誤工期的現(xiàn)象經(jīng)常會出現(xiàn)。我們必須重視這一現(xiàn)象,分析其原因,并有針對性地現(xiàn)。我們必須重視這一現(xiàn)象,分析其原因,并有針對性地采取措施。采取措施。2制訂項目進(jìn)度安排的條件制訂項目進(jìn)度安排的條件制訂項目進(jìn)度安排計劃是為了實施,自然希望越準(zhǔn)確,制訂項目進(jìn)度安排計劃是為了實施,自然希望越準(zhǔn)確,越符合實際越好,但是怎樣才能做到這一點,需要在這以越符合實際越好,但是怎樣才能做到這一點,需要在這以前做些工作,創(chuàng)造良好的條件,使得進(jìn)度安排的確定是有前做些工作,創(chuàng)造良好的條件,使得進(jìn)度安排的確定是有13.4 進(jìn)度管理進(jìn)度控制問題進(jìn)度控制問題根據(jù)的。這些條件包括以下根據(jù)的。這些條件包括以下7條:條:(1)項目分解項目分解。無論多么大、多么復(fù)雜的項目都必須首先。無論多么大、多么復(fù)雜的項目都必須首先將其劃分成能夠管理的若干活動和若干任務(wù),并且往往這種將其劃分成能夠管理的若干活動和若干任務(wù),并且往往這種分解是多個層次的。分解是多個層次的。(2)確定各部分之間的相互關(guān)系確定各部分之間的相互關(guān)系。劃分后的活動和任務(wù)按。劃分后的活動和任務(wù)按項目本身的要求,必定存在著一定的相互依賴關(guān)系,如誰先項目本身的要求,必定存在著一定的相互依賴關(guān)系,如誰先誰后,或是兩者應(yīng)該并行互不依賴等。誰后,或是兩者應(yīng)該并行互不依賴等。(3)時間分配時間分配。為每項活動和任務(wù)分配需要的時間,如需。為每項活動和任務(wù)分配需要的時間,如需要多少人天的工作量。要多少人天的工作量。13.4 進(jìn)度管理(4)確認(rèn)投入的工作量確認(rèn)投入的工作量。應(yīng)確認(rèn)按項目要求的人力投入工。應(yīng)確認(rèn)按項目要求的人力投入工作量在實際工作中能夠予以滿足,而不致出現(xiàn)某些工作階段作量在實際工作中能夠予以滿足,而不致出現(xiàn)某些工作階段人力投入不足的現(xiàn)象
收藏
編號:65494723
類型:共享資源
大小:6.60MB
格式:ZIP
上傳時間:2022-03-24
40
積分
- 關(guān) 鍵 詞:
-
軟件工程基礎(chǔ)
軟件工程
基礎(chǔ)
全套
PPT
課件
- 資源描述:
-
《軟件工程基礎(chǔ)》全套PPT課件,軟件工程基礎(chǔ),軟件工程,基礎(chǔ),全套,PPT,課件
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。