版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第8章
軟件維護(hù)與演化學(xué)習(xí)目標(biāo)?了解軟件維護(hù)的類型?掌握軟件維護(hù)的基本流程?熟悉軟件部署的基本方法?掌握軟件部署工具的使用方法?了解軟件配置管理的基本概念?熟悉常用軟件配置管理工具的使用方法
軟件演化是指對(duì)軟件進(jìn)行維護(hù)和更新的一種行為,它是軟件生命周期中始終存在的變化活動(dòng)。軟件演化可分為開發(fā)演化和運(yùn)行演化。開發(fā)演化是創(chuàng)造一個(gè)新軟件的過程,在一定的約束條件下從頭開始實(shí)施。運(yùn)行演化又稱軟件維護(hù),是軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程,一般是在現(xiàn)有系統(tǒng)的限定和約束條件下進(jìn)行。軟件演化過程包括了軟件維護(hù)與更新、軟件部署、軟件配置管理等內(nèi)容。軟件維護(hù)與更新1軟件部署2軟件配置管理38.1軟件維護(hù)與更新軟件維護(hù)是軟件生命周期中的最后一個(gè)階段,也是歷時(shí)最長的一個(gè)階段,從系統(tǒng)投入生產(chǎn)運(yùn)行以后一直持續(xù)到軟件生命周期結(jié)束。
軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正軟件運(yùn)行錯(cuò)誤,或者為了滿足新的需求而加入新功能的修改軟件的過程,以保證軟件的日常良好運(yùn)行。軟件維護(hù)與更新軟件的可維護(hù)性是指軟件能夠被理解,并能糾正軟件系統(tǒng)出現(xiàn)的錯(cuò)誤和缺陷,以及為滿足新的要求進(jìn)行修改、擴(kuò)充或壓縮的容易程度。(1)可理解性(2)可測(cè)試性(3)可修改性(4)可靠性(5)可移植性(6)可使用性(7)效率8.1.1軟件的可維護(hù)性8.1軟件維護(hù)與更新(1)改正性維護(hù)軟件在交付使用后,難免存在軟件自身隱含的錯(cuò)誤及軟件缺陷。改正性維護(hù)就是為了改正潛藏及遺留下來的錯(cuò)誤而進(jìn)行的活動(dòng)。(2)適應(yīng)性維護(hù)適應(yīng)性維護(hù)是指使軟件適應(yīng)技術(shù)變化和管理需求變化而進(jìn)行的修改。(3)完善性維護(hù)完善性維護(hù)是為擴(kuò)充功能和改善性能而進(jìn)行的修改,主要是指對(duì)已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設(shè)計(jì)階段中沒有規(guī)定的功能與性能特征。這些功能對(duì)完善系統(tǒng)功能是非常必要的。另外,還包括對(duì)處理效率和編寫程序的改進(jìn)。8.1.2軟件維護(hù)類型8.1軟件維護(hù)與更新(4)預(yù)防性維護(hù)預(yù)防性維護(hù)是指為了改進(jìn)應(yīng)用軟件的可靠性和可維護(hù)性,為了適應(yīng)未來的軟、硬件環(huán)境的變化,主動(dòng)增加預(yù)防性的新的功能,使應(yīng)用系統(tǒng)適應(yīng)各類變化而不被淘汰。圖8-1四種維護(hù)類型的占比8.1軟件維護(hù)與更新可維護(hù)性特性改正性維護(hù)適應(yīng)性維護(hù)完善性維護(hù)可理解性√可測(cè)試性√可修改性√√可靠性√可移植性√可使用性√√效率√表8-1七種特性在各類維護(hù)中的側(cè)重點(diǎn)8.1軟件維護(hù)與更新8.1.3軟件維護(hù)流程圖8-2軟件維護(hù)基本流程8.1軟件維護(hù)與更新通常軟件維護(hù)執(zhí)行以下步驟:(1)提交維護(hù)申請(qǐng)。(2)選擇符合申請(qǐng)的維護(hù)類型。(3)分析修改的內(nèi)容及必要性,確認(rèn)修改后對(duì)原有系統(tǒng)的影響程度。(4)審核同意或否決維護(hù)申請(qǐng)。(5)為每個(gè)提交的維護(hù)申請(qǐng)排優(yōu)先級(jí),并且安排工作進(jìn)度及人員。(6)修改代碼,記錄所修改的內(nèi)容并評(píng)審,保證程序運(yùn)行正常。8.1軟件維護(hù)與更新(7)評(píng)審編碼情況,詳細(xì)填寫維護(hù)工作記錄表。(8)不僅測(cè)試所修改的部分,還要對(duì)其他部分進(jìn)行全面測(cè)試,確認(rèn)是否對(duì)其他部分有影響。(9)必須保持程序與文檔的一致性,應(yīng)實(shí)時(shí)更新相關(guān)文檔。(10)軟件版本發(fā)布,確保發(fā)布后的程序可在系統(tǒng)程序中安全運(yùn)行。(11)每日查看數(shù)據(jù)庫備份情況,并定期完成數(shù)據(jù)清理。8.1軟件維護(hù)與更新(1)軟件維護(hù)的困難
①文檔缺失、不充分或過期②軟件升級(jí)頻繁③軟件維護(hù)人員變動(dòng)④未嚴(yán)格遵守軟件開發(fā)標(biāo)準(zhǔn)8.1.4軟件維護(hù)的困難及對(duì)應(yīng)策略8.1軟件維護(hù)與更新(2)提高軟件可維護(hù)性的途徑①可理解的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)②標(biāo)準(zhǔn)化的程序設(shè)計(jì)語言③結(jié)構(gòu)化的文檔④有效的軟件維護(hù)管理⑤明確軟件質(zhì)量目標(biāo)及優(yōu)先級(jí)⑥明確的質(zhì)量保證審查8.1.4軟件維護(hù)的困難及對(duì)應(yīng)策略8.18.2軟件部署軟件部署是一個(gè)復(fù)雜過程,包括從開發(fā)者發(fā)放產(chǎn)品,到用戶在他們的計(jì)算機(jī)上實(shí)際安裝并維護(hù)應(yīng)用的所有活動(dòng)。這些活動(dòng)包括開發(fā)者的軟件打包,企業(yè)及用戶對(duì)軟件的安裝、配置、測(cè)試、集成和更新等。軟件部署工具可以幫助軟件開發(fā)團(tuán)隊(duì)更好地編寫代碼、進(jìn)行測(cè)試、讓軟件在其環(huán)境中運(yùn)行并定期更新。比較常用的工具包括:Docker、Terraform、Ansible、Packer、Kubernetes等。8.2.1軟件部署的概念軟件部署Docker是近年來較為流行的軟件部署工具之一,它是一個(gè)開源的應(yīng)用容器引擎,基于Go語言并遵從Apache2.0協(xié)議開源。Docker可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化。其中容器完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口,且容器性能開銷極低。8.2.2軟件部署工具Docker8.2軟件部署(1)Docker架構(gòu)圖8-3Docker架構(gòu)8.2軟件部署部件作用Docker鏡像(Images)Docker鏡像是用于創(chuàng)建Docker容器的模板Docker容器(Container)容器是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用Docker客戶端(Client)Docker客戶端通過命令行或者其他工具使用DockerAPI與Docker的守護(hù)進(jìn)程通信。Docker主機(jī)(Host)一個(gè)物理或者虛擬的機(jī)器,用于執(zhí)行Docker守護(hù)進(jìn)程和容器Docker倉庫(Registry)Docker倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫DockerMachineDockerMachine是一個(gè)簡化Docker安裝的命令行工具,通過一個(gè)簡單的命令行即可在相應(yīng)的平臺(tái)上安裝DockerDocker守護(hù)進(jìn)程(Daemon)Daemon作為服務(wù)器端接受來自客戶的請(qǐng)求,并處理這些請(qǐng)求表8-2Docker各部件作用8.2軟件部署Docker優(yōu)點(diǎn):①持續(xù)集成②可移植性③版本控制④隔離性
⑤安全性8.28.3軟件配置管理軟件配置管理(SoftwareConfigurationManagement,簡稱SCM)應(yīng)用于整個(gè)軟件工程過程。在軟件建立時(shí)變更是不可避免的,而變更加劇了項(xiàng)目中軟件開發(fā)者之間的混亂。SCM活動(dòng)的目標(biāo)就是為了標(biāo)識(shí)變更、控制變更、確保變更正確地實(shí)現(xiàn),并向其他有關(guān)人員報(bào)告變更。軟件配置管理包括六個(gè)子域,即軟件配置管理過程管理、軟件配置標(biāo)志、軟件配置控制、軟件配置狀態(tài)統(tǒng)計(jì)、軟件配置審核、軟件發(fā)行管理和交付。軟件配置管理如何應(yīng)對(duì)軟件變更所帶來的文檔及程序代碼變化的情況,軟件配置管理起到了關(guān)鍵性的作用:(1)版本控制(2)并行開發(fā)(3)變更控制(4)配置管理8.3.1軟件配置管理的作用8.3軟件配置管理通過控制、記錄、追蹤對(duì)軟件的修改和每個(gè)修改生成的軟件組成部件來實(shí)現(xiàn)對(duì)軟件產(chǎn)品的管理功能。(1)制訂配置管理計(jì)劃(2)配置庫管理(3)版本控制(4)變更控制(5)配置審計(jì)8.3.2軟件配置管理過程8.3軟件配置管理目前,軟件工程領(lǐng)域常見的軟件配置管理工具有IBMRationalSoftware提供的ClearCase、Microsoft提供的VSS(VisualSourceSafe)、CollabNet提供的SVN(Subversion)以及Github等。(1)VisualSourceSafe(VSS)8.3.3常用的軟件配置管理工具圖8-4VSS6.0工作界面8.3軟件配置管理(2)Subversion(SVN)圖8-5SVN集中式管理工作流程8.3軟件配置管理(3)GitHubGitHub是一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺(tái),支持Git作為唯一的版本庫格式進(jìn)行托管,并提供一個(gè)web界面。通過使用Git來操作GitHub實(shí)現(xiàn)代碼的共享。圖8-6本地倉庫組成8.3軟件配置管理圖8-7Git中文件流通圖8.3本章結(jié)束!第9章軟件項(xiàng)目管理本章學(xué)習(xí)目標(biāo)1.了解軟件工程項(xiàng)目管理的相關(guān)知識(shí)。2.了解軟件團(tuán)隊(duì)管理的基本方法。3.熟悉需求變更管理的基本方法。4.熟悉常用軟件工程中計(jì)劃與估算方法。5.熟悉軟件項(xiàng)目風(fēng)險(xiǎn)管理的基本方法。6.掌握軟件項(xiàng)目管理計(jì)劃的制定方法
軟件項(xiàng)目管理
為使軟件項(xiàng)目開發(fā)獲得成功,關(guān)鍵問題是要掌握軟件項(xiàng)目的工作范圍、可能風(fēng)險(xiǎn)、需要的資源(人、硬件、軟件)、要實(shí)現(xiàn)的任務(wù)、經(jīng)歷的里程碑、花費(fèi)工作量(成本)、進(jìn)度安排等。軟件項(xiàng)目管理在技術(shù)工作開始之前就應(yīng)當(dāng)開始,在軟件從概念到實(shí)現(xiàn)的過程中繼續(xù)進(jìn)行,當(dāng)軟件工程過程最后結(jié)束時(shí)才終止。軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)人員(People)、產(chǎn)品(Product)、過程(Process)和項(xiàng)目(Project)進(jìn)行分析和管理的活動(dòng)。軟件工程項(xiàng)目管理1計(jì)劃與估算2軟件項(xiàng)目團(tuán)隊(duì)管理39.1軟件工程項(xiàng)目管理軟件工程項(xiàng)目管理的介紹軟件工程項(xiàng)目管理是指在軟件開發(fā)過程中對(duì)項(xiàng)目的規(guī)劃、組織、指導(dǎo)和控制,以確保項(xiàng)目按時(shí)、按質(zhì)高效完成的管理活動(dòng)。大型軟件項(xiàng)目需要龐大的開發(fā)團(tuán)隊(duì)來進(jìn)行協(xié)作和開發(fā),包括開發(fā)人員、測(cè)試人員、項(xiàng)目經(jīng)理、業(yè)務(wù)分析師等。同時(shí),大型軟件項(xiàng)目涉及多個(gè)團(tuán)隊(duì)和多個(gè)利益相關(guān)者,需要跨團(tuán)隊(duì)和跨部門的溝通和協(xié)作,管理工作量較大。對(duì)于這樣龐大的項(xiàng)目如果沒有管理,其質(zhì)量保障是難以想象的。在軟件工程項(xiàng)目管理方面比較權(quán)威的體系是項(xiàng)目管理知識(shí)體系(ProjectManagementBodyofKnowledge,簡稱PMBOK),它是由美國項(xiàng)目管理協(xié)會(huì)(ProjectManagementInstitute,簡稱PMI)發(fā)起的。9.1.1項(xiàng)目啟動(dòng)管理項(xiàng)目啟動(dòng)時(shí)一般需要明確以下幾個(gè)問題:(1)項(xiàng)目范圍、項(xiàng)目周期、關(guān)鍵里程碑點(diǎn)。(2)識(shí)別相關(guān)人員,明確溝通、匯報(bào)渠道及各個(gè)角色的職責(zé)。(3)項(xiàng)目規(guī)則約定、表單模板、流程。(4)項(xiàng)目資源、費(fèi)用預(yù)算。(5)產(chǎn)品業(yè)務(wù)需求、技術(shù)需求,以及用戶群體。(6)識(shí)別可能存在的項(xiàng)目風(fēng)險(xiǎn)。(7)需要什么樣的技術(shù)支持,是否需要前期學(xué)習(xí)和調(diào)查。9.1.2項(xiàng)目計(jì)劃管理
項(xiàng)目計(jì)劃管理是在項(xiàng)目計(jì)劃階段對(duì)項(xiàng)目實(shí)施的管理,包括范圍管理、進(jìn)度管理和綜合管理。一個(gè)科學(xué)的計(jì)劃,不僅可以保證項(xiàng)目工期,減少資源浪費(fèi),還可以對(duì)項(xiàng)目的進(jìn)程進(jìn)行跟蹤控制管理,從而保證項(xiàng)目的按期完成。
項(xiàng)目計(jì)劃應(yīng)在項(xiàng)目開始初期制定出來,并隨著工程的進(jìn)展?jié)u進(jìn)明細(xì)。(1)開發(fā)進(jìn)度計(jì)劃制訂識(shí)別活動(dòng)識(shí)別活動(dòng)依賴關(guān)系估算活動(dòng)資源為活動(dòng)分配人員創(chuàng)建進(jìn)度圖表圖9-1項(xiàng)目進(jìn)度安排9.1.2項(xiàng)目計(jì)劃管理圖9-2項(xiàng)目進(jìn)度計(jì)劃甘特圖(2)計(jì)劃跟蹤與監(jiān)控
計(jì)劃做得再好,如果沒有有效執(zhí)行,也等于沒做。項(xiàng)目進(jìn)度跟蹤與控制過程需要采用日志的方式或相應(yīng)的工具,讓項(xiàng)目組成員每天填寫工作完成情況。9.1.3人員組織與管理
人員是軟件工程項(xiàng)目中最重要、最為活躍的資源因素。如何組織得更加合理,管理得更加有效,從而最大限度地發(fā)揮這一重要的資源潛力,對(duì)于軟件項(xiàng)目的成功至關(guān)重要。高效的開發(fā)團(tuán)隊(duì)一般具有以下特征:(1)具有明確和挑戰(zhàn)性的共同目標(biāo)(2)團(tuán)隊(duì)具有很強(qiáng)的凝聚力(3)具有融洽的交流環(huán)境(4)具有共同的工作規(guī)范和框架(5)采用合理的開發(fā)過程9.1.4變更管理
需求變更可能發(fā)生在任何階段,即使到項(xiàng)目后期也會(huì)存在。后期的變更往往會(huì)對(duì)項(xiàng)目產(chǎn)生一些負(fù)面的影響。需求變更是軟件開發(fā)過程中開發(fā)人員和管理者們最為頭疼的一件事情。9.1.4變更管理需求變更管理一般需要完成以下幾個(gè)任務(wù):(1)確定變更控制過程。確定一個(gè)選擇、分析和決策需求變更的過程;所有的需求變更都需遵循此流程。(2)建立一個(gè)由項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者組成的軟件變更控制委員會(huì)(SoftwareChangControlBoard,簡稱SCCB),由他們來評(píng)估和確定需求變更。(3)進(jìn)行變更影響分析,評(píng)估需求變更對(duì)項(xiàng)目進(jìn)度、資源、工作量和項(xiàng)目范圍以及其他需求的影響。(4)跟蹤變更影響的產(chǎn)品,當(dāng)進(jìn)行某項(xiàng)需求變更時(shí),根據(jù)需求跟蹤矩陣找到相關(guān)的其他需求、設(shè)計(jì)文檔、源代碼和測(cè)試用例;這些相關(guān)部分可能也需要修改。9.1.4變更管理(5)建立基準(zhǔn)和控制版本;需求文檔要確定一個(gè)基線,之后的需求變更遵循變更控制過程即可。(6)維護(hù)變更的歷史記錄;記錄變更需求文檔版本的日期、所做的變更及其原因,還包括由誰負(fù)責(zé)更新和更新后新版本號(hào)等情況。(7)跟蹤每項(xiàng)需求的狀態(tài);狀態(tài)包括“確定”“已實(shí)現(xiàn)”“暫緩”“新增”“變更”等,建立一個(gè)數(shù)據(jù)庫,其中每一條記錄一項(xiàng)需求。(8)衡量需求穩(wěn)定性;記錄基線需求的數(shù)量和每周或每月的變更(添加、修改、刪除)數(shù)量。9.1.4變更管理表9-1需求變更申請(qǐng)表模板9.1.5風(fēng)險(xiǎn)管理軟件項(xiàng)目風(fēng)險(xiǎn)是指在軟件開發(fā)過程中遇到的預(yù)算和進(jìn)度等方面的問題,以及這些問題對(duì)軟件項(xiàng)目的影響。軟件項(xiàng)目風(fēng)險(xiǎn)會(huì)影響項(xiàng)目計(jì)劃的實(shí)現(xiàn)。如果項(xiàng)目風(fēng)險(xiǎn)變成現(xiàn)實(shí),就有可能影響項(xiàng)目的進(jìn)度,增加項(xiàng)目的成本,甚至使軟件項(xiàng)目不能實(shí)現(xiàn)。如果對(duì)項(xiàng)目進(jìn)行風(fēng)險(xiǎn)進(jìn)行有效管理,就可以最大限度地減少風(fēng)險(xiǎn)的發(fā)生。項(xiàng)目風(fēng)險(xiǎn)管理可劃分為識(shí)別風(fēng)險(xiǎn)、分析風(fēng)險(xiǎn)、規(guī)劃風(fēng)險(xiǎn)應(yīng)對(duì)和控制風(fēng)險(xiǎn)等過程。9.2計(jì)劃與估算本節(jié)具體介紹兩種類型的計(jì)劃,一個(gè)是貫穿項(xiàng)目始終的計(jì)劃,另一個(gè)是完成規(guī)格說明之后必須產(chǎn)生的詳細(xì)計(jì)劃。9.2.1計(jì)劃項(xiàng)目計(jì)劃完整地記錄以下內(nèi)容:要完成的工作,誰將執(zhí)行此項(xiàng)工作,開發(fā)進(jìn)度安排,以及項(xiàng)目的成果是什么。計(jì)劃驅(qū)動(dòng)開發(fā)基于工程項(xiàng)目管理技術(shù),可以看作管理大型軟件開發(fā)項(xiàng)目的傳統(tǒng)方法。計(jì)劃驅(qū)動(dòng)的開發(fā)的問題是,由于軟件開發(fā)和使用的環(huán)境的變化,必須修改許多早期的決策。項(xiàng)目計(jì)劃較好的做法是將計(jì)劃驅(qū)動(dòng)方法和敏捷開發(fā)結(jié)合起來,其中的平衡取決于項(xiàng)目的類型和人員的技術(shù)水平。9.2.1計(jì)劃(1)項(xiàng)目計(jì)劃
在計(jì)劃驅(qū)動(dòng)的項(xiàng)目開發(fā)中,項(xiàng)目計(jì)劃包括項(xiàng)目可用資源的分配、工作分解以及完成工作的進(jìn)度安排。
多數(shù)的計(jì)劃書應(yīng)該包括以下幾個(gè)部分:
①引言。
②項(xiàng)目組織。
③風(fēng)險(xiǎn)分析。
④硬件和軟件資源需求。
⑤工作分解。
⑥項(xiàng)目進(jìn)度安排。
⑦監(jiān)控和報(bào)告機(jī)制。9.2.1計(jì)劃(2)計(jì)劃過程項(xiàng)目計(jì)劃是一個(gè)迭代的過程,在項(xiàng)目的啟動(dòng)階段,初始項(xiàng)目計(jì)劃的創(chuàng)建就開始了。計(jì)劃不可避免地會(huì)改變。由于在項(xiàng)目進(jìn)行期間不斷產(chǎn)生新的關(guān)于系統(tǒng)和項(xiàng)目團(tuán)隊(duì)的信息,所以必須經(jīng)常性地修正原有計(jì)劃,反映需求、進(jìn)度安排以及風(fēng)險(xiǎn)的變更。9.2.2軟件規(guī)模估算
9.2.2軟件規(guī)模估算
用代碼行技術(shù)度量軟件規(guī)模,當(dāng)程序較小時(shí)常用的單位是代碼行數(shù)(linesofcode,簡稱LOC),當(dāng)程序較大時(shí)常用的單位是千行代碼數(shù)(kilolinesofcode,簡稱KLOC)。①代碼行技術(shù)的優(yōu)點(diǎn)a.代碼行是所有軟件開發(fā)項(xiàng)目都有的“產(chǎn)品”,而且很容易計(jì)算。b.許多現(xiàn)有的軟件估算模型使用LOC或KLOC作為關(guān)鍵的輸入數(shù)據(jù)。c.已有大量基于代碼行的文獻(xiàn)和數(shù)據(jù)存在。②代碼行技術(shù)的缺點(diǎn)a.源程序僅是軟件配置的一個(gè)成分,用它的規(guī)模代表整個(gè)軟件的規(guī)模似乎不太合理。b.用不同語言實(shí)現(xiàn)同一個(gè)軟件產(chǎn)品所需要的代碼行數(shù)并不相同。c.這種方法不適用于非過程語言。9.2.2軟件規(guī)模估算(2)功能點(diǎn)技術(shù)
功能點(diǎn)技術(shù)依據(jù)對(duì)軟件信息域特性和軟件復(fù)雜性的評(píng)估結(jié)果,估算軟件規(guī)模。這種方法用功能點(diǎn)(functionpoints,簡稱FP)為單位,度量軟件的規(guī)模。①信息域特性功能點(diǎn)技術(shù)定義了信息域的5個(gè)特性,分別是輸入項(xiàng)數(shù)(Inp)、輸出項(xiàng)數(shù)(Out)、查詢數(shù)(Inq)、主文件數(shù)(Maf)和外部接口數(shù)(Inf)。a.輸入項(xiàng)數(shù):用戶向軟件輸入的項(xiàng)數(shù),這些輸入給軟件提供面向應(yīng)用的數(shù)據(jù)。b.輸出項(xiàng)數(shù):軟件向用戶輸出的項(xiàng)數(shù),它們向用戶提供面向應(yīng)用的信息,如報(bào)表、屏幕、出錯(cuò)信息等。報(bào)表內(nèi)的數(shù)據(jù)項(xiàng)不單獨(dú)計(jì)數(shù)。c.查詢數(shù):所謂查詢是一次聯(lián)機(jī)輸入,它導(dǎo)致軟件以聯(lián)機(jī)輸出方式產(chǎn)生某種即時(shí)響應(yīng)。d.主文件數(shù):邏輯主文件(即數(shù)據(jù)的一個(gè)邏輯組合,它可能是某個(gè)大型數(shù)據(jù)庫的一部分或是一個(gè)獨(dú)立的文件)的數(shù)目。e.外部接口數(shù):機(jī)器可讀的全部接口(如磁帶或磁盤上的數(shù)據(jù)文件)的數(shù)量,用這些接口把信息傳送給另一個(gè)系統(tǒng)。9.2.2軟件規(guī)模估算②估算功能點(diǎn)的步驟用下述3個(gè)步驟,可以估算出一個(gè)軟件的功能點(diǎn)數(shù)(即軟件規(guī)模)。a.計(jì)算未調(diào)整的功能點(diǎn)數(shù)(UFP)。首先,把產(chǎn)品信息域的每個(gè)特性(即Inp、Out、Inq、Maf和Inf)都分類成簡單級(jí)、平均級(jí)或復(fù)雜級(jí)。根據(jù)其等級(jí),為每個(gè)特性都分配一個(gè)功能點(diǎn)數(shù)。例如,一個(gè)平均級(jí)的輸入項(xiàng)分配4個(gè)功能點(diǎn),一個(gè)簡單級(jí)的輸入項(xiàng)是3個(gè)功能點(diǎn),而一個(gè)復(fù)雜級(jí)的輸入項(xiàng)分配6個(gè)功能點(diǎn)。9.2.2軟件規(guī)模估算表9-4信息域特性系數(shù)值復(fù)雜級(jí)別復(fù)雜級(jí)別/特性系數(shù)簡單平均復(fù)雜346457346710155710
9.2.2軟件規(guī)模估算
9.2.2軟件規(guī)模估算表9-5技術(shù)復(fù)雜性因子(TCF)序號(hào)Fi技術(shù)因素1F1數(shù)據(jù)通信2F2分布式數(shù)據(jù)處理3F3性能標(biāo)準(zhǔn)4F4高負(fù)荷的硬件5F5高處理率6F6聯(lián)機(jī)數(shù)據(jù)輸入7F7終端用戶效率8F8聯(lián)機(jī)更新9F9復(fù)雜的計(jì)算10F10可重用性11F11安裝方便12F12操作方便13F13可移植性14F14可維護(hù)性9.2.2軟件規(guī)模估算
計(jì)算機(jī)軟件估算模型使用由經(jīng)驗(yàn)導(dǎo)出的公式來預(yù)測(cè)軟件開發(fā)的工作量。工作量是軟件規(guī)模(LOC或FP)的函數(shù),工作量的單位通常是人月(pm)。支持大多數(shù)估算模型的經(jīng)驗(yàn)數(shù)據(jù),都是從有限個(gè)項(xiàng)目的樣本集中總結(jié)出來的。因此,沒有一個(gè)估算模型能夠適用于所有類型的軟件和開發(fā)環(huán)境。1981年Boehm在《軟件工程經(jīng)濟(jì)學(xué)》中首次提出了構(gòu)造性成本模型COCOMO(ConstructiveCostModel)。1997年Boehm等人提出的COCOMO2模型,是原始的COCOMO模型的修訂版,它反映了十多年來在成本估計(jì)方面所積累的經(jīng)驗(yàn)。9.2.3工作量估算COCOMO2給出了3個(gè)層次的軟件開發(fā)工作量估算模型,這3個(gè)層次的模型在估算工作量時(shí),對(duì)軟件細(xì)節(jié)考慮的詳盡程度逐級(jí)增加。這些模型既可以用于不同類型的項(xiàng)目,也可以用于同一個(gè)項(xiàng)目的不同開發(fā)階段。①應(yīng)用系統(tǒng)組成模型:這個(gè)模型主要用于估算構(gòu)建原型的工作量,模型名字暗示在構(gòu)建原型時(shí)大量使用已有的構(gòu)件。②早期設(shè)計(jì)模型:這個(gè)模型適用于體系結(jié)構(gòu)設(shè)計(jì)階段。③后體系結(jié)構(gòu)模型:這個(gè)模型適用于完成體系結(jié)構(gòu)設(shè)計(jì)之后的軟件開發(fā)階段。9.2.3工作量估算
9.2.3工作量估算9.2.3工作量估算表9-6成本因素及工作量系數(shù)成本因素級(jí)別甚低低正常高甚高特高產(chǎn)品因素要求的可靠性0.750.881.001.151.39
數(shù)據(jù)庫規(guī)模
0.931.001.091.19
產(chǎn)品復(fù)雜程度0.750.881.001.151.301.66要求的可重用性
0.911.001.141.291.49需要的文檔量0.890.951.001.061.13
平臺(tái)因素執(zhí)行時(shí)間約束
1.001.111.311.67主存約束
1.001.061.211.57平臺(tái)變動(dòng)
0.101.001.151.30
人員因素分析員能力1.501.221.000.830.67
程序員能力1.371.161.000.870.74
應(yīng)用領(lǐng)域經(jīng)驗(yàn)1.221.101.000.890.81
平臺(tái)經(jīng)驗(yàn)1.241.101.000.920.84
語言和工作經(jīng)驗(yàn)1.251.121.000.880.81
人員連續(xù)性1.241.101.000.920.84
項(xiàng)目因素使用軟件工具1.241.121.000.860.72
多地點(diǎn)開發(fā)1.251.101.000.920.840.78要求的開發(fā)進(jìn)度1.291.101.001.001.00
9.2.3工作量估算9.2.3工作量估算COCOMO2使用的5個(gè)分級(jí)因素如下所述。①項(xiàng)目先例性:這個(gè)分級(jí)因素指出對(duì)于開發(fā)組織來說該項(xiàng)目的新奇程度。諸如開發(fā)類似系統(tǒng)的經(jīng)驗(yàn),需要?jiǎng)?chuàng)新體系結(jié)構(gòu)和算法,以及需要并行開發(fā)硬件、軟件等因素的影響,都體現(xiàn)在這個(gè)分級(jí)因素中。②開發(fā)靈活性:這個(gè)分級(jí)因素反映出為了實(shí)現(xiàn)預(yù)先確定的外部接口需求及為了及早開發(fā)出產(chǎn)品而需要增加的工作量。③風(fēng)險(xiǎn)排除度:這個(gè)分級(jí)因素反映了重大風(fēng)險(xiǎn)已被消除的比例。在多數(shù)情況下,這個(gè)比例和指定了重要模塊接口(即選定了體系結(jié)構(gòu))的比例密切相關(guān)。④項(xiàng)目組凝聚力:這個(gè)分級(jí)因素表明了開發(fā)人員相互協(xié)作時(shí)可能存在的困難。它反映了開發(fā)人員在目標(biāo)和文化背景等方面相一致的程度,以及開發(fā)人員組成一個(gè)小組工作的經(jīng)驗(yàn)。⑤過程成熟度:這個(gè)分級(jí)因素反映了按照能力成熟度模型度量出的項(xiàng)目組織的過程成熟度。9.2.4軟件項(xiàng)目管理計(jì)劃的組成1簡介1.1項(xiàng)目概述1.1.1意圖、范圍和目標(biāo)1.1.2設(shè)想和限制1.1.3可交付項(xiàng)目1.1.4時(shí)間表和預(yù)算概述1.2項(xiàng)目管理計(jì)劃的演化2參考材料3定義和縮略語4項(xiàng)目組織4.1外部接口4.2內(nèi)部結(jié)構(gòu)4.3角色和責(zé)任5管理過程計(jì)劃5.1啟動(dòng)計(jì)劃5.1.1估算計(jì)劃5.1.2人員安置計(jì)劃5.1.3資源獲取計(jì)劃5.1.4項(xiàng)目人員培訓(xùn)計(jì)劃5.2工作計(jì)劃5.2.1工作活動(dòng)5.2.2時(shí)間表分配5.2.3資源分配5.2.4預(yù)算分配5.3控制計(jì)劃5.3.1需求控制計(jì)劃5.3.2時(shí)間表控制計(jì)劃5.3.3預(yù)算控制計(jì)劃5.3.4質(zhì)量控制計(jì)劃5.3.5報(bào)表計(jì)劃5.3.6度量收集計(jì)劃5.4風(fēng)險(xiǎn)管理計(jì)劃5.5項(xiàng)目打結(jié)計(jì)劃6技術(shù)過程計(jì)劃6.1過程模型6.2方法、工具和技術(shù)6.3基礎(chǔ)結(jié)構(gòu)計(jì)劃6.4產(chǎn)品驗(yàn)收計(jì)劃7支持過程計(jì)劃7.1配置管理計(jì)劃7.2測(cè)試計(jì)劃7.3歸檔計(jì)劃7.4質(zhì)量保證計(jì)劃7.5評(píng)審和審計(jì)計(jì)劃7.6問題解決計(jì)劃7.7轉(zhuǎn)包商管理計(jì)劃7.8過程提升計(jì)劃8附加計(jì)劃圖9-3IEEE項(xiàng)目管理計(jì)劃框架9.3軟件項(xiàng)目團(tuán)隊(duì)管理軟件項(xiàng)目團(tuán)隊(duì)是具有共同目標(biāo)、緊密協(xié)作的一個(gè)集體,包括:項(xiàng)目發(fā)起人、資助者、項(xiàng)目組(開發(fā)團(tuán)隊(duì))、供應(yīng)商、客戶等。一般情況下,軟件項(xiàng)目團(tuán)隊(duì)的特點(diǎn)是:臨時(shí)性、團(tuán)隊(duì)成員的不穩(wěn)定性、年輕化程度較高、是高度集中的知識(shí)型團(tuán)隊(duì)、成員的業(yè)績不易量化考核。軟件項(xiàng)目團(tuán)隊(duì)管理就是采用科學(xué)的方法,對(duì)項(xiàng)目組織結(jié)構(gòu)和項(xiàng)目全體參與人員進(jìn)行管理,在項(xiàng)目團(tuán)隊(duì)中開展一系列科學(xué)規(guī)劃、開發(fā)培訓(xùn)、合理調(diào)配、適當(dāng)激勵(lì)等方面的管理工作,使項(xiàng)目組織各方面的主觀能動(dòng)性得到充分發(fā)揮,同時(shí)促進(jìn)高效的團(tuán)隊(duì)協(xié)作,以利于實(shí)現(xiàn)項(xiàng)目的目標(biāo)。9.3.1軟件項(xiàng)目團(tuán)隊(duì)管理概述(1)軟件項(xiàng)目的人力資源特征人既是最大的成本又是最重要的資源。人力成本:盡量使人力資源投
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣浮設(shè)備行業(yè)相關(guān)投資計(jì)劃提議范本
- 2025中國旅游集團(tuán)崗位公開招聘20人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國南水北調(diào)集團(tuán)江漢水網(wǎng)建設(shè)開發(fā)限公司春季公開招聘【15人】高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國人民財(cái)產(chǎn)保險(xiǎn)股份限公司嘉興市分公司招聘29人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年陜西省省屬事業(yè)單位聯(lián)考招聘377人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年廣東佛山市南海區(qū)糧油儲(chǔ)備限公司招聘3人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省瀘州市古藺縣事業(yè)單位招聘86人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年江蘇省揚(yáng)州廣陵事業(yè)單位招聘141人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川省雅安市考試招聘綜合類事業(yè)單位人員418人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川南充市高坪區(qū)招聘事業(yè)單位工作人員48人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 嬰幼兒認(rèn)知發(fā)展與指導(dǎo)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年居間服務(wù)合同:律師事務(wù)所合作與業(yè)務(wù)推廣
- 消防設(shè)備施工方案
- DB43-T+3015-2014《校園食材配送服務(wù)規(guī)范》
- 安全生產(chǎn)專(兼)職管理人員職責(zé)
- 公檢法聯(lián)席會(huì)議制度
- 成都大學(xué)《Python數(shù)據(jù)分析》2022-2023學(xué)年期末試卷
- 上海市市轄區(qū)(2024年-2025年小學(xué)五年級(jí)語文)部編版期末考試(上學(xué)期)試卷及答案
- 期末試卷(試題)-2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)人教版
- 護(hù)理安全警示教育-新-
- 社會(huì)工作行政復(fù)習(xí)要點(diǎn)
評(píng)論
0/150
提交評(píng)論