




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第五部分 軟件工程管理,竇萬峰 計算機學(xué)院 南京師范大學(xué) 2009年8月,關(guān)注問題,什么是項目管理?項目管理的范圍是什么? 項目團隊有哪些組織方式? 項目開發(fā)中存在什么樣的風(fēng)險?如何避免? 什么是軟件配置管理?步驟是什么? 軟件規(guī)模度量的方法有哪些?各有什么特點? 軟件項目估算有哪些方法? 軟件項目進度計劃有哪些方法?如何管理? 軟件項目管理有哪些主流的工具? 實驗安排:實驗14和實驗15,第14章 軟件項目管理,什么是軟件項目管理? 軟件項目管理的范圍 軟件團隊與組織 軟件項目管理內(nèi)容,項目管理概述,項目是指一系列獨特的、復(fù)雜的并相互關(guān)聯(lián)的活動。 項目參數(shù)包括項目范圍、質(zhì)量、成本、時間、資源
2、。 項目三維管理: 時間維:即把整個項目的生命周期劃分為若干個階段,從而進行階段管理。 知識維:即針對項目生命周期的各個不同階段,采用和研究不同的管理技術(shù)方法。 保障維:即對項目人力、財力、物力、信息等后勤保障管理。,項目管理特點,項目管理是一項比較復(fù)雜的工作 項目管理具有創(chuàng)造性 項目管理的對象是項目或被當(dāng)作項目來處理的作業(yè) 項目負(fù)責(zé)人(或項目經(jīng)理)在項目管理中起著非常重要的作用 項目管理需要集權(quán)領(lǐng)導(dǎo)和建立專門的項目組織 項目管理的方法、工具和手段具有先進性、開放性,項目的五個階段,啟動階段:用戶提出需求,開發(fā)人員進行需求分析,確定可行性,編寫項目實施計劃。 計劃階段:創(chuàng)建項目范圍文檔和項目計
3、劃,項目范圍詳細(xì)描述項目范圍。 實施階段:實施階段意味著項目正在進一步設(shè)計、編碼、測試,小組成員正在創(chuàng)造項目需要的可交付產(chǎn)品。 控制階段:項目經(jīng)理開始監(jiān)督小組成員的工作,將項目的進度、任務(wù)和預(yù)算控制在正常的范圍內(nèi)。 收尾階段:項目負(fù)責(zé)人和用戶批準(zhǔn)和簽署項目,交付產(chǎn)品。項目的收尾階段標(biāo)志著項目的正式結(jié)束。,軟件項目管理,軟件項目管理涉及對人員、過程、產(chǎn)品和項目本身等管理過程中發(fā)生的事件的計劃和監(jiān)控。 軟件項目管理的任務(wù)包括: 制定項目實施計劃 對人員進行組織、分工 成本管理 質(zhì)量管理 軟件開發(fā),軟件項目管理范圍,軟件項目管理是軟件工程的保護性和支持性活動,持續(xù)貫穿于整個軟件的定義、開發(fā)和維護過程
4、之中。 軟件項目管理的目的是為了按照預(yù)定的進度、費用等要求,成功地組織與實施軟件的工程化生產(chǎn),完成軟件(產(chǎn)品)的開發(fā)和維護任務(wù)。 范圍包括四個方面: 人員 費用 進度 質(zhì)量,人員,軟件開發(fā)過程是人的智力密集型勞動,所以項目開發(fā)成功一個很重要的因素是人。 目的之一就是通過吸引、培養(yǎng)、鼓勵和留住有創(chuàng)造力的、技術(shù)水平高的人才,增強軟件組織承擔(dān)日益繁重的軟件開發(fā)的能力。 軟件項目的參與者也稱為項目的共利益者: 高級管理者 項目(技術(shù))管理者 開發(fā)人員 客戶 最終用戶,軟件項目開發(fā)人員計劃,軟件項目開發(fā)人員計劃是一個時間的函數(shù)曲線,通常稱為Rayleigh-Norden曲線。,協(xié)調(diào)和溝通,正式的、非個人
5、的方法:包括一系列軟件工程文檔和交付物(如源程序):技術(shù)備忘錄、項目里程碑、項目進度控制工具、錯誤跟蹤報告、維護申請和相關(guān)文檔、中心數(shù)據(jù)庫等。 正式的、個人的方法:集中表現(xiàn)在軟件工程產(chǎn)品的質(zhì)量保證活動中。包括軟件復(fù)審會議、設(shè)計和代碼檢查等。 非正式的、個人的方法:包括信息傳播、問題解決、需求和開發(fā)人員配置會議等。 電子通信方法:包括電子郵件、電子公告欄、Web站點,以及基于視頻的會議系統(tǒng)等。 個人網(wǎng)絡(luò)方法:與項目組之外的人員進行的非正式的討論。,軟件工程管理的內(nèi)容,內(nèi)容: 項目管理 過程管理 項目開發(fā)過程要做的工作: 項目職責(zé)(Project Function):不與軟件開發(fā)過程的特定階段相關(guān)
6、聯(lián) 活動(Activity)或任務(wù)(Task):與軟件開發(fā)過程的特定階段相聯(lián)系。活動是一個較大的工作單元,可以包含一系列任務(wù)。,項目職責(zé)的管理過程,根據(jù)項目的目標(biāo)和范圍(用戶和開發(fā)者共同確定),考慮可選的解決方案,定義技術(shù)和管理的約束; 進行合理(盡可能準(zhǔn)確)的成本估算、有效的風(fēng)險評估、適當(dāng)?shù)捻椖咳蝿?wù)劃分或給出意義明確的項目進度標(biāo)志等; 制定一份詳細(xì)的軟件項目管理計劃。,軟件度量,術(shù)語: 測量(Measure):對一個產(chǎn)品過程的某個屬性(如范圍、數(shù)量、維度、容量或大小)提供一個定量指示。 測度(Measurement):確定一個測量的行為 度量(Metrics):對一個系統(tǒng)、構(gòu)件或過程具有的某
7、個給定屬性的度的定量測量。 軟件度量主要劃分兩大類: 項目度量:戰(zhàn)術(shù)性活動,目的在于輔助項目開發(fā)的控制和決策,改進軟件產(chǎn)品的質(zhì)量。 過程度量:戰(zhàn)略性活動,目的在于改進企業(yè)的軟件開發(fā)過程,提高開發(fā)生產(chǎn)率。,軟件度量過程,軟件項目管理計劃文檔,計劃階段的主要任務(wù)是擬定軟件項目管理計劃書(SPMP,Software Project Management Plan) 軟件項目管理計劃(SPMP)的目標(biāo)是提供一個框架 內(nèi)容: 需要做的事:軟件項目實施計劃,包括進度安排、質(zhì)量保證措施等; 需要的資源:軟件項目資源需求和資源計劃,資源包括時間、硬件、軟件、人員和組織機構(gòu)等; 需要的經(jīng)費:對軟件項目的規(guī)模、開
8、發(fā)和維護成本估計。 SPMP中軟件產(chǎn)品的進展情況可以通過一個“里程碑(Milestone)”來反映。,SPMP類型,項目實施計劃:包括軟件目標(biāo)、功能、進度、資源和費用等多個方面的一個綜合性計劃; 質(zhì)量保證計劃:包括軟件開發(fā)各個階段的質(zhì)量要求和質(zhì)量保證活動; 軟件測試計劃:規(guī)定各種測試活動的任務(wù)、方法、進度、資源和人員等; 文檔編制計劃:規(guī)定項目開發(fā)各個階段應(yīng)編制的文檔種類、內(nèi)容和標(biāo)準(zhǔn)等; 用戶培訓(xùn)計劃:包括對用戶培訓(xùn)的目標(biāo)、要求和進度等; 綜合支持計劃:描述軟件開發(fā)所需的各個方面的支持,以及如何獲得和利用這些支持等; 軟件分發(fā)計劃:軟件產(chǎn)品如何交付的說明。,SPMP文檔標(biāo)準(zhǔn)規(guī)范,1 引言 1.
9、1 項目概述 1.2 項目交付 1.3 軟件項目管理計劃的演變 1.4 參考資料 1.5 術(shù)語和縮寫詞 2 項目組織 2.1 過程模型 2.2 組織結(jié)構(gòu) 2.3 組織邊界和接口 2.4 項目責(zé)任 3 管理過程 3.1 管理目標(biāo)和優(yōu)先級 3.2 假設(shè)、依賴性和限制 3.3 風(fēng)險管理 3.4 監(jiān)督與控制機制 3.5 人員計劃 4 技術(shù)過程 4.1 方法、工具和技術(shù) 4.2 軟件文檔 4.3 項目支持功能 5 工作包、進度和預(yù)算 5.1 工作包 5.2 依賴性 5.3 資源要求 5.4 預(yù)算和資源分配 5.5 進度表 6 附加部分,軟件團隊組織范式,規(guī)劃軟件團隊結(jié)構(gòu)應(yīng)考慮下列7個項目因素: 待解決問
10、題的難度 程序的規(guī)模 團隊成員需要共同工作的時間 對問題分解的程度 待開發(fā)系統(tǒng)的質(zhì)量要求和可靠性要求 項目交付日期的嚴(yán)格程度 項目的溝通程度,軟件團隊組織范式,民主分權(quán)式:小組沒有固定的負(fù)責(zé)人,問題和解決方法由小組討論決策。 個人偏愛自己 管理員難以管理太民主的小組 控制集權(quán)式:團隊的頂層問題和組內(nèi)協(xié)調(diào)由團隊負(fù)責(zé)人管理。負(fù)責(zé)人和組員之間的溝通是上下級的。 專業(yè)化 層次性 控制分權(quán)最基本的概念是取消團隊負(fù)責(zé)人的大部分管理工作。,控制分權(quán)式示意圖,大型組織的組織結(jié)構(gòu),項目組織原則,在正確的基礎(chǔ)上開始工作。首先要正確理解問題,然后為每個參與項目的人員設(shè)置實現(xiàn)的目標(biāo)和期望,并組織團隊。 保持動力。為了
11、維持動力,項目經(jīng)理必須采取激勵措施使人員變動量保持最小,強調(diào)質(zhì)量。 跟蹤進展。跟蹤項目進展要作為質(zhì)量保證活動的一部分。收集項目過程和測量數(shù)據(jù),對照開發(fā)團隊的平均數(shù)據(jù)來評估項目的進展。 做出合適的決策。決策應(yīng)保持項目的簡單性、識別并避免風(fēng)險、分配比預(yù)定時間更多的時間來完成復(fù)雜或有風(fēng)險的任務(wù)。 進行事后分析,W5HH原則,為什么(Why)要開發(fā)這個系統(tǒng)? 將要做什么(What)? 什么時候(When)完成? 某個功能由誰(Who)完成 組織結(jié)構(gòu)位于何處(Where)? 如何(How)完成技術(shù)工作和管理工作? 每種資源需要多少(How much)?,軟件過程管理,過程度量 人員的技能和動力 產(chǎn)品復(fù)雜
12、性 過程中采用的技術(shù) 采用統(tǒng)計軟件過程改進方法 過程改進 過程分析 改進識別 引入過程變更 過程變更培訓(xùn) 過程變更調(diào)整 項目度量 戰(zhàn)術(shù)目的 在軟件估算階段,風(fēng)險管理,對策: 項目風(fēng)險需要識別、分析、應(yīng)對和監(jiān)控 整個項目的風(fēng)險管理應(yīng)有一個計劃 可考慮前人總結(jié)出來的風(fēng)險應(yīng)對策略 管理步驟; 風(fēng)險識別 風(fēng)險估計 風(fēng)險管理策略 風(fēng)險解決 風(fēng)險監(jiān)控,風(fēng)險識別,軟件風(fēng)險: 項目風(fēng)險 技術(shù)風(fēng)險 商業(yè)風(fēng)險 檢查內(nèi)容: 產(chǎn)品規(guī)模風(fēng)險檢查與軟件總體規(guī)模相關(guān)的風(fēng)險; 商業(yè)影響風(fēng)險檢查與管理或市場的約束相關(guān)的風(fēng)險; 與客戶相關(guān)的風(fēng)險檢查與客戶素質(zhì)和溝通能力相關(guān)的風(fēng)險; 過程風(fēng)險檢查與軟件過程定義和開發(fā)相關(guān)的風(fēng)險; 技
13、術(shù)風(fēng)險檢查與軟件的復(fù)雜性和系統(tǒng)所包含的技術(shù)成熟度相關(guān)的風(fēng)險; 開發(fā)環(huán)境風(fēng)險檢查與開發(fā)工具的可用性和質(zhì)量相關(guān)的風(fēng)險; 人員結(jié)構(gòu)和經(jīng)驗風(fēng)險,風(fēng)險預(yù)測,風(fēng)險預(yù)測,又可稱為風(fēng)險估計(Risk Estimation): 包括風(fēng)險發(fā)生的可能性 建立風(fēng)險可能性尺度 使用的是概率尺度 風(fēng)險發(fā)生所產(chǎn)生的后果 估計風(fēng)險對產(chǎn)品和項目的影響 使用定性的描述 三個因素:風(fēng)險的性質(zhì)、范圍和時間,風(fēng)險規(guī)避,風(fēng)險駕馭 考慮風(fēng)險出現(xiàn)的概率 產(chǎn)生的影響 處理風(fēng)險的策略 風(fēng)險監(jiān)控 評估 風(fēng)險成本,軟件配置管理,軟件配置(Software Configuration)是一個軟件各種形式、各種版本的文檔和程序的總稱 軟件配置管理(SC
14、M,Software Configuration Management)是對軟件變更(或稱為進化)過程的管理 變更不可避免 管理變更的能力是項目成敗的關(guān)鍵,SCM基本概念,軟件變更需求源: 新的商業(yè)或市場條件,引起產(chǎn)品需求或業(yè)務(wù)流程(規(guī)則)的變化。 新的客戶需要,要求修改軟件系統(tǒng)產(chǎn)生的數(shù)據(jù)、產(chǎn)品提供的功能,或基于計算機系統(tǒng)提供的服務(wù)。 改組或減小企業(yè)規(guī)模,導(dǎo)致項目優(yōu)先級或軟件工程隊伍結(jié)構(gòu)的變化。 預(yù)算或進度的限制,導(dǎo)致系統(tǒng)或產(chǎn)品的重定義。 軟件配置項 計算機程序(源程序和執(zhí)行代碼) 軟件(產(chǎn)品)文檔(技術(shù)文檔和用戶文檔) 以及數(shù)據(jù),SCM基本概念,各個階段產(chǎn)品的復(fù)審時間均稱為基線(Base L
15、ines) 基線是軟件過程中的里程碑,其標(biāo)志就是有一個或多個SCI的交付 重要原則:基線之前變更自由,基線之后必須嚴(yán)格變更管理 所有基線SCI被放置到項目配置數(shù)據(jù)庫(或稱為中心數(shù)據(jù)庫)中,軟件配置管理過程,配置管理規(guī)劃 定義哪些SCI需要管理,以及識別這些SCI的形式模式 說明由誰負(fù)責(zé)配置管理規(guī)程,并把受控SCI提交給配置管理團隊 用于變更控制和版本管理的配置管理策略 描述配置管理過程的記錄,以及該記錄應(yīng)該被維護的形式 描述配置管理所使用的工具和使用這些工具的過程 定義將用于記錄配置信息的配置數(shù)據(jù)庫 變更管理 版本和發(fā)布管理 版本發(fā)布管理負(fù)責(zé)確定發(fā)布時間、分發(fā)渠道、編制和管理發(fā)布文檔,以及協(xié)助
16、安裝新的版本,SCM中心存儲庫,SCM中心存儲庫是一組機制和數(shù)據(jù)結(jié)構(gòu) 功能: 數(shù)據(jù)完整性 信息共享 工具集成 數(shù)據(jù)集成 推行方法 文檔標(biāo)準(zhǔn)化,小結(jié),軟件項目管理是軟件工程的保護性活動。 軟件項目管理計劃(SPMP)是軟件項目整個開發(fā)過程管理工作的指導(dǎo)性文件,主要描述要做的工作、要用的資源和需要的經(jīng)費三個部分。 科學(xué)而合理地建立軟件項目團隊的組織機構(gòu),是人員管理中尤為突出的問題。 軟件項目開發(fā)存在著風(fēng)險。軟件風(fēng)險分析包括風(fēng)險識別、風(fēng)險預(yù)測、風(fēng)險規(guī)劃和監(jiān)控活動。 軟件配置管理(SCM)是應(yīng)用于整個軟件過程的保護性活動,也可被視為整個軟件過程的軟件質(zhì)量保證(SQA)活動之一。,第16章 軟件項目估算
17、,軟件項目估算內(nèi)容 軟件規(guī)模度量 軟件成本估算技術(shù) 軟件成本估算管理,軟件項目估算,軟件項目估算是軟件項目計劃的基礎(chǔ) 估算必然存在一定程度的不確定性 估算要隨著項目的進展不斷地進行調(diào)整和更新 過程度量和項目度量為定量估算從歷史角度提供了依據(jù)和有效的輸入 軟件項目的資源: 人員 可復(fù)用的軟件構(gòu)件或模塊 開發(fā)環(huán)境。 每一項資源的四個特性:資源的描述、可用性說明、何時需要資源、事業(yè)資源的持續(xù)時間,四種軟件資源,Bennatan建議: 成品構(gòu)件:從第三方獲得的或在以前的項目中已經(jīng)進行過內(nèi)部開發(fā)的已有軟件。 具有完全經(jīng)驗的構(gòu)件:為以前項目開發(fā)的,且與當(dāng)前項目具有相似的規(guī)格說明、設(shè)計、代碼或測試數(shù)據(jù)的構(gòu)件
18、。 具有部分經(jīng)驗的構(gòu)件:為以前項目開發(fā)的,且與當(dāng)前項目有關(guān)的構(gòu)件,但要做實質(zhì)上的修改。 新構(gòu)件:必須要專門開發(fā)的構(gòu)件。,軟件規(guī)模度量,軟件過程的直接度量: 成本 工作量 產(chǎn)品的直接度量: 代碼行(LOC) 運行速度 某段時間內(nèi)報告的缺陷 產(chǎn)品的間接度量: 功能 質(zhì)量 復(fù)雜性 有效性 可靠性 可維護性 其他特性,面向規(guī)模的度量,代碼行技術(shù) 度量: 每千行代碼(KLOC)的錯誤數(shù) 每千行代碼(KLOC)的缺陷數(shù) 每千行代碼(KLOC)的成本 每千行代碼(KLOC)的文檔頁數(shù) 每人月錯誤數(shù) 每人月千行代碼(KLOC) 每頁文檔的成本 問題: 代碼只是整個的一小部分 不同的語言實現(xiàn)同一個軟件產(chǎn)品將導(dǎo)致
19、不同的代碼行數(shù) 計算代碼行數(shù)往往不是很準(zhǔn)確 并非所有的代碼都交付給用戶 代碼行數(shù)在軟件產(chǎn)品開發(fā)完全結(jié)束后才能確定,面向規(guī)模的度量,軟件科學(xué)方法 源于軟件科學(xué)基本度量原理的度量軟件產(chǎn)品規(guī)模的方法 如計算軟件產(chǎn)品中(單一)操作數(shù)和運算符的數(shù)目 可測量數(shù)據(jù)方法 FFP度量方法 文件Fi 、流Fl 和過程Pr S = Fi + Fl + Pr C = S 不適合用于強調(diào)功能和控制的大型數(shù)據(jù)庫領(lǐng)域,面向規(guī)模的度量,功能點度量方法 功能點(FP,F(xiàn)unction Points)度量方法是使用軟件產(chǎn)品提供的功能測量作為規(guī)范值的 信息域值有輸入項數(shù)Inp、輸出項數(shù)Out、查詢項數(shù)Inq、主文件數(shù)Maf和接口數(shù)
20、Inf 計算功能點數(shù)FP最簡單的公式如下: FP = 4Inp + 5Out + 4Inq + 10Maf +7Inf 信息度量項的系數(shù),可以根據(jù)軟件復(fù)雜性分成的簡單、平均和復(fù)雜三個等級來選擇,度量項不同級別功能點分配值,功能點度量方法估算步驟,確定軟件產(chǎn)品中每個度量項,即Inp,Out,Inq,Maf,Inf的功能點數(shù) 確定對應(yīng)等級是簡單、平均還是復(fù)雜級,即每個信息度量項的系數(shù) 一個未調(diào)整的功能點UFP 計算技術(shù)復(fù)雜性因子TCF 14種技術(shù)因素 每一個因素分配一個從0(無影響)到5(影響最大) 這14個技術(shù)因子的影響值相加得到總影響程度DI TCF = 0.65 + 0.01DI 擴展的功能
21、點數(shù)FP從以下計算得到: FP = UFPTCF,面向?qū)ο蟮亩攘?場景腳本的數(shù)量 關(guān)鍵類的數(shù)量 支持類的數(shù)量 每個關(guān)鍵類的平均支持類數(shù)量 子系統(tǒng)的數(shù)量,軟件成本估算的分解技術(shù),基于問題分解的估算 基于過程分解的估算,基于問題分解的估算,界定的軟件范圍 軟件分解為可以被單獨估算的問題或者功能 估算每一個問題/功能的LOC,F(xiàn)FP或FP 對每個功能或每個信息域的計算值都估算出樂觀值Sopt,可能值Sm,悲觀值Spess 計算估算變量(規(guī)模)的期望值EV = (Sopt + 4Sm + Spess )/ 6 將基線生產(chǎn)率度量估算成本及工作量,舉例:用基于LOC的方法估算,問題描述: 一個計算機輔助設(shè)
22、計(CAD,Computer Aided Design)應(yīng)用軟件的開發(fā)成本。該CAD系統(tǒng)運行在工作站上,并與各種計算機圖形外設(shè),如鼠標(biāo)、數(shù)字化儀、高分辨率彩色顯示器, 以及激光打印機有接口。 主要功能模塊 CAD軟件有用戶界面及控制機制 二維幾何分析 三維幾何分析 數(shù)據(jù)庫管理 計算機圖形顯示控制 外設(shè)控制 設(shè)計分析模塊,三點估算,成本與工作量,這類系統(tǒng)的平均生產(chǎn)率是620 LOC/pm 如果一個勞動力價格是10000美元/月,則每行代碼的成本約為16美元(1000062016) 根據(jù)LOC估算及歷史生產(chǎn)率數(shù)據(jù),總的項目成本估算約為547200美元(3420016=547200),工作量估算約為
23、55人月(3420062056),舉例:用功能點FP方法估算,估算軟件的輸入、輸出、查詢、主文件和外部接口 用平均級加權(quán)因子的未調(diào)整的FP估算,計算復(fù)雜度調(diào)整因子估算表,舉例:用功能點FP方法估算,估算14個技術(shù)加權(quán)因子,并計算復(fù)雜度調(diào)整因子DI 得出FP的估算值:FP = 318(0.65+0.0152) = 372 這類系統(tǒng)組織的平均生產(chǎn)率是6.5 FP/pm。 如果一個勞動力價格是10000美元/月,則每個FP的成本約為1539美元。根據(jù)功能點估算及歷史生產(chǎn)率數(shù)據(jù),總的項目成本估算約為572508美元(3721539=572508) 工作量估算約為57人月(3726.556),基于過程分
24、解的估算,得到軟件功能描述 估算出每個軟件功能的每個過程活動所需的工作量,并編制成估算表 將平均勞動力價格用來估算每一個活動的工作量,得到成本估算 估算每一個功能及軟件過程活動的成本及工作量,舉例:基于過程的估算方法,舉例:基于過程的估算方法,如果一個勞動力價格是10000美元/月,則總的項目成本估算是460000美元,工作量估算是46個人月。 如果需要做更詳細(xì)的預(yù)算,每一個軟件過程活動可以關(guān)聯(lián)不同的勞動力價格。,經(jīng)驗估算模型,專家類比推斷技術(shù) 專家通過比較目標(biāo)產(chǎn)品與他曾經(jīng)親身參與過的產(chǎn)品項目,區(qū)別兩者的異同,而得到估算結(jié)果 由底向上估算方法 把產(chǎn)品分解成許多更小的部分,先對每個部分的工作量和
25、成本進行估算,然后把它們組合得到一個總的估算數(shù)據(jù) COCOMO(COnstructive COst MOdel, 構(gòu)造性成本模型),中級COCOMO估算模型,基于對象點的估算 計算對象點:(1)用戶界面數(shù),(2)報表數(shù),(3)構(gòu)造應(yīng)用可能需要的構(gòu)件數(shù) 確定三個復(fù)雜度級別之一,即簡單級、中等級和困難級 求和后得到了總的對象點數(shù),中級COCOMO估算模型,估算復(fù)用的百分比,并調(diào)整對象點數(shù): NOP = 對象點(100-復(fù)用的百分比)/100 確定生產(chǎn)率的值PROD = NOP/人月 得到項目工作量的估算值: 估算工作量 = NOP/PROD,中級COCOMO估算模型,基于代碼行的估算 首先用千條代
26、碼行數(shù)(KLOC)度量產(chǎn)品長度 確定開發(fā)模式,有三種模式:組織型(Organic,小型、較簡單型)、半獨立型(Semidetached,中等規(guī)模型)和嵌入型(Embedded,復(fù)雜型) 計算正常工作量E(以人月為單位)和正常開發(fā)時間T(以月為單位) 正常工作量(E)= a (KLOC )b 正常開發(fā)時間(T)= c (正常工作量)d,a,b,c,d取值由開發(fā)模式而定,中級COCOMO估算模型,正常的工作量E和開發(fā)時間T還必須與15個軟件開發(fā)工作量調(diào)節(jié)因子(EAF,Effort Adjustment Factor)相乘 每個調(diào)節(jié)因子可以有6個值,分別是非常低、低、正常、高、非常高和極高。 15個
27、工作量調(diào)節(jié)因子(EAF)值,工作量調(diào)節(jié)因子(EAF),舉例:中級COCOMO方法估算,一個基于微處理器的通信處理軟件 該通信處理軟件用于可靠的電子基金傳輸網(wǎng)絡(luò),具有性能、開發(fā)速度和接口方面的要求,符合嵌入型模式的描述,估算有10000條源代碼行,即10 KLOC。 該項目的具體情況和工作量調(diào)節(jié)因子(EAF)的取值如表15-10所示,中級COCOMO工作量調(diào)節(jié)因子,舉例:中級COCOMO方法估算,正常工作量E = 2.8101.20 = 44.4(人月) 正常開發(fā)時間T = 2.544.40.32 = 8.4(月) 將表15-10中15個工作量調(diào)節(jié)因子相乘,結(jié)果為1.35。 該項目的總估算為:
28、E = 44.41.35 = 59.9(人月) T = 8.41.35 = 11.3(月),成本估算管理,跟蹤實際的開發(fā)工作量,并把它們與預(yù)測值進行比較 軟件質(zhì)量保證(SQA)小組獨立對開發(fā)周期和成本估算再次進行估算分析,實例分析,短信系統(tǒng) POS機系統(tǒng),小結(jié),軟件項目計劃人員必須估算:需要多長時間、需要多少工作量,以及需要多少人員和需要的資源。 準(zhǔn)確地估算開發(fā)周期和開發(fā)成本并不是一件容易的事 軟件產(chǎn)品規(guī)模的度量是軟件成本估算的基礎(chǔ)。 采用分解技術(shù)(專家類比推斷法、由底向上估算法)和一些采用統(tǒng)計理論和數(shù)學(xué)方程、經(jīng)過驗證的經(jīng)驗估算模型 中級COCOMO模型是一個最為廣泛的成本估算方法,第16章
29、軟件項目計劃與管理,軟件質(zhì)量管理 項目計劃 項目管理工具,軟件項目計劃與管理,任務(wù): 制定軟件開發(fā)計劃 跟蹤、監(jiān)督和協(xié)調(diào)工程進度 保證工期,軟件質(zhì)量管理,軟件質(zhì)量管理手段: 技術(shù)手段 改進測試方法,提高測試效率,提高軟件質(zhì)量 改進開發(fā)過程,使各種錯誤不會或很少引入軟件開發(fā)過程 管理手段 技術(shù)手段能力有限,軟件質(zhì)量概念,軟件質(zhì)量屬性包括循環(huán)復(fù)雜度、內(nèi)聚性、功能點數(shù)量、代碼行數(shù) 質(zhì)量分為: 設(shè)計質(zhì)量:指設(shè)計者為一個產(chǎn)品規(guī)定的特征 系統(tǒng)的需求 規(guī)格說明 設(shè)計 一致性質(zhì)量:指在制造產(chǎn)品的過程中遵守設(shè)計規(guī)格說明的程度 實現(xiàn)問題 用戶滿意度 = 合格的產(chǎn)品+好的質(zhì)量+按預(yù)算和進度交付,軟件質(zhì)量管理,軟件的
30、質(zhì)量檢測 屬于一種粗放式的質(zhì)量管理形式 事后檢測的方式 軟件質(zhì)量保證 指軟件生產(chǎn)過程包含的一系列質(zhì)量保證活動 體現(xiàn)了軟件質(zhì)量全面控制(TQC,Total Quality Control)的核心思想 遵循的PDCA(Plan-Do-Check-Action)循環(huán)所建議的“計劃實施檢測措施”的順序 軟件質(zhì)量認(rèn)證 把對個別產(chǎn)品的質(zhì)量保證擴展到對軟件企業(yè)(組織)整體資質(zhì)的認(rèn)證 ISO9000,軟件質(zhì)量保證(SQA),SQA小組 SQA活動: 準(zhǔn)備SQA計劃 參與和監(jiān)督軟件過程 評審 記錄報告 SQA計劃,ANSI/IEEE Std.983-1986 SQA計劃,1 計劃目的 2 參考文獻 3 管理 3
31、.1 組織 3.2 任務(wù) 3.3 責(zé)任 4 文檔 4.1 目的 4.2 軟件工程文檔 4.3 其他文檔 5 標(biāo)準(zhǔn)、實踐和約定 51 目的 5.2 約定 6 復(fù)審和審計 6.1 目的 6.2 需求復(fù)審 6.2.1 軟件需求復(fù)審 6.2.2 設(shè)計復(fù)審 6.2.3 軟件驗證和確認(rèn)復(fù)審 6.2.4 功能審計 6.2.5 物理審計 6.2.6 過程內(nèi)部審計 6.2.7 管理復(fù)審 7 測試 8 問題報告和改正行動 9 工具、技術(shù)和方法 10 代碼控制 11 媒體控制 12 供應(yīng)商控制 13 記錄收集、維護和保留 14 培訓(xùn) 15 風(fēng)險管理,軟件質(zhì)量度量,軟件質(zhì)量的定義和測量: 正確性:軟件完成所要求的功能
32、的程度 千行代碼(KLOC)的缺陷數(shù) 缺陷是按標(biāo)準(zhǔn)時間段來計數(shù)的,一般是一年 可維護性:遇到錯誤時程序能夠被修改的容易程度 平均變更時間(mean-time-to-change, MTTC) 完整性:一個系統(tǒng)對安全性攻擊的抵抗能力 完整性=1(危險性(1-安全性) 可用性:使用的容易程度進行量化 可靠性:在規(guī)定的條件和時間內(nèi),軟件完成規(guī)定功能的能力 缺陷排除效率:軟件團隊排除軟件故障的能力,缺陷排除效率,缺陷排除效率(defect removal efficiency, DRE)是在項目級和過程級都有意義的質(zhì)量度量 定義: DRE=E/(E+D) 其中E是軟件交付給用戶之前發(fā)現(xiàn)的錯誤數(shù),D是軟
33、件交付之后發(fā)現(xiàn)的缺陷數(shù),軟件可靠性,定義:軟件可靠性是在給定的時間內(nèi),按照(系統(tǒng)規(guī)格說明書)規(guī)定的條件,軟件成功運行的概率。 軟件可靠性分為五級,評測可靠性的方法,可靠性與軟件的故障密切相關(guān) 可靠性理論: R(t)可以表示為程序運行時間t和故障率(單位時間內(nèi)程序運行失敗的次數(shù))的指數(shù)函數(shù)R(t)= et,評測可靠性的方法,衡量可靠性的方法是直接計算軟件平均故障時間(MTTF,Mean Time To Failure) MTTF可以是故障率的倒數(shù),即MTTF = l / 統(tǒng)可靠性(RSYS)是軟件、硬件和運行操作三種可靠性(分別是RS,RH,ROP)的綜合反映 RSYS = RSRHROP SY
34、S = S +H +OP MTTF SYS = l /(S +H +OP),軟件容錯技術(shù),容錯性是軟件可靠性的子屬性之一 容錯軟件,即具有抗故障能力的軟件,處理錯誤的方法有三種: 屏蔽錯誤把錯誤屏蔽掉,使之不致產(chǎn)生危害 修復(fù)錯誤能在一定程度上,使軟件從錯誤狀態(tài)恢復(fù)到正常狀態(tài) 減少影響能在一定程度上,使軟件完成預(yù)定的功能 冗余(Redundancy)技術(shù):以額外的資源消耗換取系統(tǒng)的正常運行”。常用的冗余技術(shù)有: 結(jié)構(gòu)冗余:利用多余的結(jié)構(gòu)來換取可靠性的提高 時間冗余:檢測程序,如看門狗 信息冗余:附加的冗余信息(如奇偶碼、循環(huán)碼等誤差校正碼),檢測和糾正傳輸或運算中可能出現(xiàn)的錯誤,靜態(tài)、動態(tài)冗余結(jié)
35、構(gòu)系統(tǒng)示例,軟件復(fù)審,軟件復(fù)審是軟件錯誤的過濾器 軟件復(fù)審可以認(rèn)為是凈化分析、設(shè)計和編程等過程所產(chǎn)生的軟件產(chǎn)品的必要手段 復(fù)審分: 技術(shù)復(fù)審:越在早期發(fā)現(xiàn)錯誤越容易改正,代價也越低 正式的技術(shù)復(fù)審 技術(shù)復(fù)審小組由審查組長、作者和評審員組成 以會議形式進行 完整的技術(shù)復(fù)審過程一般由準(zhǔn)備、介紹情況、閱讀資料、開審查會、返工和復(fù)查六個步驟組成 審查會的目的是發(fā)現(xiàn)錯誤而不是改正錯誤 管理復(fù)審,軟件質(zhì)量認(rèn)證標(biāo)準(zhǔn),軟件質(zhì)量認(rèn)證(SQC) ISO 9000標(biāo)準(zhǔn)系列 SO 9000標(biāo)準(zhǔn)系列由五個相關(guān)的標(biāo)準(zhǔn)組成: 質(zhì)量術(shù)語標(biāo)準(zhǔn)(ISO 8402-1994); 質(zhì)量保證標(biāo)準(zhǔn)(ISO 9001等); 質(zhì)量管理標(biāo)準(zhǔn)(
36、ISO 9004-1等); 質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn)的選用和實施指南(ISO 9000-3等); 支持性技術(shù)標(biāo)準(zhǔn)(ISO 10005等) ISO 9001標(biāo)準(zhǔn),包括:設(shè)計、開發(fā)、生產(chǎn)、安裝和服務(wù) ISO 9000-3標(biāo)準(zhǔn):計算機軟件開發(fā)、供應(yīng)、安裝和維護的使用指 CMM標(biāo)準(zhǔn),強調(diào)持續(xù)改進,軟件項目計劃,目標(biāo)是為項目負(fù)責(zé)人提供一個框架 7個指導(dǎo)原則: (1)運用項目規(guī)劃的方法進行協(xié)調(diào)而不是控制 (2)在項目環(huán)境中利用不同個性的人 (3)預(yù)先制定項目規(guī)劃中需要經(jīng)常修改的版本 (4)授權(quán)員工對自己的工作進行評估 (5)描述創(chuàng)造價值的任務(wù)而不僅僅是價值創(chuàng)造的活動 (6)定義具體的可實現(xiàn)的里程碑式的事件 (7)在項目規(guī)劃中使用檢查列表、矩陣模型等其他補充工具,項目進度安排,目標(biāo)是定義所有項目任務(wù)和活動,識別關(guān)鍵任務(wù)/活動,并跟蹤關(guān)鍵任務(wù)/活動的進展 基本原則: 劃分 相互依賴性 時間分配 人員分配 定義責(zé)任 定義結(jié)果 定義里程碑 工作量調(diào)度指導(dǎo)原則: “40-20-40規(guī)則”,即40%或更多的工作量分配給前端的分析和設(shè)計任務(wù),40%的比例用于后端測試,只有20%的比例用于編碼工作,進度安排方法,方法: 程序評估和復(fù)審技術(shù)(PERT,Program Evaluation and Review Technique) 關(guān)鍵路徑管理(CPM,Crit
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某童裝品牌戰(zhàn)略咨詢計劃書
- 地理(山東青島卷)(A4考試版)
- 大班音樂歌唱春天幼兒讀物幼兒教育教育專區(qū)
- 上海虹口區(qū)2024-2025學(xué)年下學(xué)期七年級期末考試英語試題(含答案無聽力原文及音頻)
- 試劑分析性能評估模板資料講解
- 自動控制系統(tǒng)設(shè)計曲面印刷機
- 2025年遼寧省中考英語模擬試題(二)
- 【高中語文】《登岳陽樓》課件+統(tǒng)編版高一語文必修下冊
- 建筑施工特種作業(yè)-橋(門)式起重機司機真題庫-4
- 山東美術(shù)英文題目及答案
- (完整版)《增廣賢文》全文
- 2024年湖北省武漢市中考?xì)v史試卷(含答案與解析)
- 數(shù)據(jù)安全管理員職業(yè)技能競賽考試題庫(含答案)
- 礦山測量工考試試卷及答案
- 女性學(xué):女性精神在現(xiàn)代社會中的挑戰(zhàn)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 學(xué)習(xí)貫徹二十屆三中全會精神測試題200(含答案)
- GB/T 17395-2024鋼管尺寸、外形、重量及允許偏差
- DB64-T 1972-2024 風(fēng)積沙路基填筑(干壓法)施工技術(shù)規(guī)范
- 浪潮集團ERP實施崗在線測評題
- 低溫水電解制氫系統(tǒng) 穩(wěn)動態(tài)及電能質(zhì)量性能測試方法(征求意見稿)
- 氣象行業(yè)天氣預(yù)報技能競賽理論試題庫資料(含答案)
評論
0/150
提交評論