軟件工程項(xiàng)目管理教材_第1頁(yè)
軟件工程項(xiàng)目管理教材_第2頁(yè)
軟件工程項(xiàng)目管理教材_第3頁(yè)
軟件工程項(xiàng)目管理教材_第4頁(yè)
軟件工程項(xiàng)目管理教材_第5頁(yè)
已閱讀5頁(yè),還剩138頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件工程項(xiàng)目管理教材內(nèi)容提要軟件項(xiàng)目管理活動(dòng)質(zhì)量管理軟件成本估算配置管理CMM軟件項(xiàng)目管理概述隨著信息技術(shù)的飛速發(fā)展,軟件產(chǎn)品的規(guī)模也越來(lái)越龐大,個(gè)人單打獨(dú)斗的作坊式開(kāi)發(fā)方式已經(jīng)越來(lái)越不適應(yīng)發(fā)展的需要。各軟件企業(yè)都在積極將軟件項(xiàng)目管理引入開(kāi)發(fā)活動(dòng)中,對(duì)開(kāi)發(fā)實(shí)行有效的管理。軟件項(xiàng)目管理就是通過(guò)合理地組織和利用一切可以利用的資源,按照計(jì)劃的成本和計(jì)劃的進(jìn)度,完成一個(gè)計(jì)劃的目標(biāo),它包含團(tuán)隊(duì)管理、風(fēng)險(xiǎn)管理、采購(gòu)管理、流程管理、時(shí)間管理、成本管理和質(zhì)量管理等。是否需要管理是專(zhuān)業(yè)軟件開(kāi)發(fā)和業(yè)余編程之間的重要區(qū)別。軟件項(xiàng)目管理的特點(diǎn)軟件產(chǎn)品是無(wú)形的;沒(méi)有標(biāo)準(zhǔn)的軟件過(guò)程;大型軟件項(xiàng)目經(jīng)常是“一次性的”。軟件工程管理者與其他工程管理者的性質(zhì)是相同的,但軟件工程管理很多方面有顯著的區(qū)別,這導(dǎo)致了軟件工程管理的難度相當(dāng)大。許多大型軟件項(xiàng)目的失敗也告訴我們:軟件管理困難重重。軟件項(xiàng)目管理的特點(diǎn)項(xiàng)目管理是一項(xiàng)復(fù)雜的工作。項(xiàng)目管理具有創(chuàng)造性。項(xiàng)目管理需要集權(quán)領(lǐng)導(dǎo)和建立專(zhuān)門(mén)的項(xiàng)目組織。項(xiàng)目負(fù)責(zé)人在項(xiàng)目管理中起著非常重要的作用。具有創(chuàng)新性的工程項(xiàng)目經(jīng)常會(huì)存在進(jìn)度問(wèn)題。軟件項(xiàng)目管理活動(dòng)提出項(xiàng)目建議書(shū)項(xiàng)目規(guī)劃與進(jìn)度項(xiàng)目成本管理項(xiàng)目監(jiān)督和評(píng)審人員管理擬定工作報(bào)告項(xiàng)目建議書(shū)項(xiàng)目建議書(shū)要寫(xiě)清楚:項(xiàng)目的目標(biāo)和實(shí)現(xiàn)該目標(biāo)的方法;還要估算項(xiàng)目的成本和進(jìn)度;有時(shí)還要說(shuō)明與某一特定機(jī)構(gòu)或團(tuán)隊(duì)簽約的理由。許多軟件機(jī)構(gòu)之所以存在是因?yàn)槠涫诸^有大量的建議書(shū)和合同。寫(xiě)建議書(shū)沒(méi)有固定的格式供參考,它是一種經(jīng)驗(yàn)性的技巧。項(xiàng)目監(jiān)督項(xiàng)目監(jiān)督是一種連續(xù)性的活動(dòng)。管理人員必須密切關(guān)注項(xiàng)目進(jìn)展情況,將實(shí)際進(jìn)展和成本與原計(jì)劃的進(jìn)度和成本作比較。項(xiàng)目監(jiān)督可以劃分為:正式監(jiān)督非正式監(jiān)督項(xiàng)目規(guī)劃對(duì)軟件項(xiàng)目的有效管理取決于對(duì)該項(xiàng)目進(jìn)展?fàn)顩r的全面規(guī)劃。項(xiàng)目管理者必須能預(yù)見(jiàn)可能出現(xiàn)的問(wèn)題,并且準(zhǔn)備好相應(yīng)的解決方案予以應(yīng)對(duì)。項(xiàng)目規(guī)劃在項(xiàng)目之初擬定,它是整個(gè)項(xiàng)目的驅(qū)動(dòng)器。項(xiàng)目規(guī)劃是一個(gè)反復(fù)的過(guò)程,只有當(dāng)項(xiàng)目完成時(shí)規(guī)劃才告一段落。項(xiàng)目規(guī)劃過(guò)程確定項(xiàng)目的約束條件初步評(píng)估各項(xiàng)項(xiàng)目參數(shù)定義項(xiàng)目里程碑和可交付的文檔while項(xiàng)目未完成或被取消loop 擬定項(xiàng)目進(jìn)度表 根據(jù)項(xiàng)目進(jìn)度表啟動(dòng)各項(xiàng)活動(dòng) 等待(一定的時(shí)間) 評(píng)審項(xiàng)目進(jìn)展?fàn)顩r 修正對(duì)項(xiàng)目參數(shù)的初步估算 更新項(xiàng)目進(jìn)度表 重新協(xié)商項(xiàng)目約束條件和可交付的文檔 if(出現(xiàn)問(wèn)題)then 開(kāi)始進(jìn)行技術(shù)評(píng)審和可能的修正 endifendloop(開(kāi)發(fā)過(guò)程)項(xiàng)目計(jì)劃有些機(jī)構(gòu)的項(xiàng)目計(jì)劃包含:開(kāi)發(fā)計(jì)劃、質(zhì)量計(jì)劃、有效性驗(yàn)證計(jì)劃、配置管理計(jì)劃、維護(hù)計(jì)劃和人員開(kāi)發(fā)計(jì)劃。有些機(jī)構(gòu)只涉及開(kāi)發(fā)過(guò)程。項(xiàng)目計(jì)劃書(shū)的具體內(nèi)容隨著項(xiàng)目和開(kāi)發(fā)機(jī)構(gòu)類(lèi)型不同而改變。不過(guò)多數(shù)計(jì)劃書(shū)應(yīng)該包括以下幾個(gè)部分:引言項(xiàng)目組織風(fēng)險(xiǎn)分析軟硬件資源需求工作分解項(xiàng)目進(jìn)度監(jiān)控和報(bào)告機(jī)制項(xiàng)目里程碑一個(gè)項(xiàng)目里程碑就是一個(gè)軟件過(guò)程活動(dòng)的終結(jié)。在每個(gè)里程碑都應(yīng)該有一個(gè)正式的可以提交給管理層的輸出結(jié)果。里程碑應(yīng)代表該項(xiàng)目的一個(gè)特定的邏輯意義上的階段的終結(jié)。里程碑的兩個(gè)必要特征:與軟件開(kāi)發(fā)進(jìn)展相關(guān)聯(lián);在完成時(shí)必須非常明顯??山桓兜奈臋n可交付的文檔是交付給客戶(hù)的項(xiàng)目成果,通常是在項(xiàng)目的描述、設(shè)計(jì)等主要項(xiàng)目階段結(jié)束時(shí)交付。可交付的文檔也是里程碑,但里程碑不一定要交付。里程碑是項(xiàng)目?jī)?nèi)部的階段性成果,供項(xiàng)目管理者來(lái)檢查項(xiàng)目進(jìn)展情況。軟件過(guò)程中的里程碑要建立里程碑,軟件過(guò)程就一定要分解成一系列相關(guān)的基本活動(dòng),而每一個(gè)這樣的基本活動(dòng)都要建立相應(yīng)的輸出結(jié)果。以需求工程為例(以建立原型來(lái)幫助驗(yàn)證需求):可行性研究需求分析原型開(kāi)發(fā)設(shè)計(jì)研究需求描述可行性研究報(bào)告用戶(hù)需求估算報(bào)告體系結(jié)構(gòu)設(shè)計(jì)系統(tǒng)需求活動(dòng)里程碑項(xiàng)目進(jìn)度項(xiàng)目進(jìn)度對(duì)軟件管理者的要求是十分苛刻的。管理人員必須估算完成各項(xiàng)活動(dòng)所需要的時(shí)間和資源,并按照一定的順序把他們緊密組織起來(lái)。項(xiàng)目進(jìn)度包括把一個(gè)項(xiàng)目所有工作分解為若干獨(dú)立活動(dòng),以及完成這些活動(dòng)所需的時(shí)間。項(xiàng)目進(jìn)度過(guò)程軟件需求識(shí)別活動(dòng)識(shí)別活動(dòng)依賴(lài)關(guān)系估算活動(dòng)的資源為活動(dòng)分配人員創(chuàng)建項(xiàng)目圖表活動(dòng)圖表及條形圖有些活動(dòng)是并行進(jìn)行的,調(diào)度人員必須協(xié)調(diào)這些并行活動(dòng),并把整個(gè)工作組織起來(lái),使人力資源得到充分利用。一定要避免出現(xiàn)因一項(xiàng)關(guān)鍵任務(wù)沒(méi)有完成而使整個(gè)項(xiàng)目延期交付的情形?;顒?dòng)分解及進(jìn)度管理正常情況,各活動(dòng)應(yīng)至少持續(xù)1周;對(duì)所有活動(dòng)安排一個(gè)最高的時(shí)間限制(8~10周左右),如一項(xiàng)活動(dòng)持續(xù)時(shí)間超過(guò)限制,就應(yīng)該再次細(xì)分;估算進(jìn)度時(shí),管理者不能想當(dāng)然認(rèn)為項(xiàng)目的每個(gè)階段都不會(huì)出問(wèn)題;初時(shí)間外,還必須估算完成每項(xiàng)任務(wù)所需的資源:人力資源和其他可能的資源。經(jīng)驗(yàn)法則:估算時(shí)先假定什么問(wèn)題也沒(méi)有,然后再把預(yù)計(jì)出現(xiàn)的問(wèn)題加到估計(jì)中去(+30%)。還要考慮因偶然因素帶來(lái)的意想不到的問(wèn)題(+20%)。進(jìn)度管理工具項(xiàng)目進(jìn)度通常用一系列的圖表表示,通過(guò)這些圖表可以了解任務(wù)分解、活動(dòng)依賴(lài)關(guān)系和人員分配情況。常用的項(xiàng)目進(jìn)度表示法有:甘特圖(Gantt)活動(dòng)網(wǎng)絡(luò)圖(PERT)常用軟件管理工具是:MS-Project甘特圖是歷史悠久、應(yīng)用廣泛的制定進(jìn)度計(jì)劃的工具。例:假設(shè)有一座陳舊的矩形木板房需要重新油漆。這項(xiàng)工作必須分3步:首先刮掉舊漆,然后刷上新漆,最后清除濺在窗戶(hù)上的油漆。一共分配了15名工人去完成這項(xiàng)工作,而工具只有:5把刮舊漆的刮板,5把刷漆用的刷子,5把清除濺在窗戶(hù)上油漆的小刮刀。如何安排工作,最有效?甘特圖刮舊漆刷新漆清理1或32312或4462墻壁工序各道工序估計(jì)需要時(shí)間(小時(shí))木板房的第2、4兩面墻的長(zhǎng)度是第1、3兩面墻的一倍。一種做法是,先刮掉4面墻的舊漆,然后給每面墻刷新漆,最后清除每個(gè)窗戶(hù)上的油漆,共需時(shí)間36小時(shí)。顯然,這是效率最低的做法,任何時(shí)候都有10名工人閑著沒(méi)事干。248101214182016622甘特圖111234刮舊漆刷新漆清理時(shí)間(小時(shí))工序舊木板房刷油漆工程的Gantt圖“流水作業(yè)法”肯定是好的方法。全部工程在22小時(shí)后結(jié)束。234234軟件工程是特殊的工程,Gantt圖也可以特殊化,每個(gè)任務(wù)的開(kāi)始和結(jié)束時(shí)間均先用空心三角形表示,兩者用橫線(xiàn)相連。當(dāng)活動(dòng)開(kāi)始時(shí),左邊三角形涂黑,當(dāng)活動(dòng)結(jié)束時(shí),再將右邊三角形涂黑。任務(wù)負(fù)責(zé)人2000年2001年123456789101112123456分析▲--▲測(cè)試計(jì)劃▲-△總體設(shè)計(jì)▲-△詳細(xì)設(shè)計(jì)△--△編碼△---△模塊測(cè)試△-△集成測(cè)試△--△驗(yàn)收測(cè)試△-△文檔▲-----------△甘特圖Gantt圖形象地描繪了任務(wù)的分解,及每個(gè)作業(yè)的開(kāi)始和結(jié)束時(shí)間,優(yōu)點(diǎn)是直觀簡(jiǎn)明、容易掌握和繪制,但有三個(gè)缺點(diǎn):不能顯示地描繪各項(xiàng)作業(yè)間的依賴(lài)關(guān)系;進(jìn)度的關(guān)鍵部分不明確,難以判斷哪些部分是主攻和主控的對(duì)象;計(jì)劃中有潛力的部分及潛力的大小不明確,往往造成潛力的浪費(fèi)。甘特圖中,每一任務(wù)完成的標(biāo)準(zhǔn),不是以能否繼續(xù)下一階段任務(wù)為標(biāo)準(zhǔn),而是必須交付應(yīng)交付的文檔與通過(guò)評(píng)審為標(biāo)準(zhǔn)。PERT圖與CPM技術(shù)1235468791011刮1刮2刮3刮4刷1刷2刷3刷4清1清2清3清4PERT圖中:對(duì)于某事件,箭頭進(jìn)入表示此作業(yè)結(jié)束,箭頭離開(kāi)表示此作業(yè)的開(kāi)始;實(shí)線(xiàn)箭頭表示具體存在的作業(yè);虛線(xiàn)箭頭表示虛擬作業(yè),只為了表示作業(yè)之間的依賴(lài)關(guān)系?;顒?dòng)網(wǎng)絡(luò)圖用箭頭表示作業(yè)(如刮舊漆、刷新漆、清理等),用圓圈表示事件(一項(xiàng)作業(yè)的開(kāi)始或結(jié)束);事件僅是可以明確定義的時(shí)間點(diǎn),它不耗費(fèi)時(shí)間和資源;作業(yè)通常既消耗資源,又要持續(xù)一定時(shí)間?;顒?dòng)網(wǎng)絡(luò)圖畫(huà)出PERT圖后,系統(tǒng)分析員就可以估算工程進(jìn)度了,為此需要在PERT上增加一些必要的信息:把每個(gè)作業(yè)估計(jì)需要時(shí)間寫(xiě)在表示該項(xiàng)作業(yè)的箭頭上方。為每個(gè)事件計(jì)算兩個(gè)統(tǒng)計(jì)數(shù)字:最早時(shí)刻(EET)和最遲時(shí)刻(LET)。這兩個(gè)數(shù)字分別寫(xiě)在表示事件的圓圈的左上角和右下角。持續(xù)時(shí)間(機(jī)動(dòng)時(shí)間)EETLET事件號(hào)活動(dòng)網(wǎng)絡(luò)圖事件的最早時(shí)刻是該事件可以發(fā)生的最早時(shí)間。通常PERT中第一個(gè)事件的EET定義為0,其他事件的EET從左到右按事件發(fā)生順序計(jì)算。簡(jiǎn)單原則:考慮進(jìn)入該事件的所有作業(yè);對(duì)每個(gè)作業(yè)都計(jì)算它的持續(xù)時(shí)間與開(kāi)始事件EET之和;選取上述和數(shù)中最大值作為該事件的EET。102610115348792424363612120000舊木板房刷漆工程的PERT圖事件2只有一個(gè)作業(yè)進(jìn)入,只有當(dāng)1-2完成才開(kāi)始,所以EET=22事件3也只有一個(gè)作業(yè)進(jìn)入,只有當(dāng)2-3完成才開(kāi)始,所以EET=2+4=666按此方法,不難沿著PERT圖從左到右順序算出每個(gè)事件的EET8121215152123事件4有兩個(gè)作業(yè)進(jìn)入(2-4,3-4),只有當(dāng)兩者都完成后事件4才能開(kāi)始,所以EET=max{2+3,6+0}=6活動(dòng)網(wǎng)絡(luò)圖事件的最遲時(shí)刻是在不影響工程竣工時(shí)間的前提下,該事件最晚可以發(fā)生的時(shí)刻。按慣例,PERT中最后一個(gè)事件的LET就是它的EET,其他事件的LET從右到左按逆作業(yè)流的方向計(jì)算。簡(jiǎn)單原則:考慮離開(kāi)該事件的所有作業(yè);從每個(gè)作業(yè)的結(jié)束時(shí)間的LET中減去該作業(yè)的持續(xù)時(shí)間;選取上述差數(shù)中最小值作為該事件的LET。2621002610115348794243631210000舊木板房刷漆工程的PERT圖按慣例,事件11的LET與EET相同,都是23266812121515212323逆作業(yè)流方向,接著是計(jì)算事件10的LET,離開(kāi)它的作業(yè)只有10-11,持續(xù)時(shí)間為2,而它的LET為23,因此事件10的LET=23-2=2121類(lèi)似地,事件9的LET=21-1=2020事件8有兩個(gè)離開(kāi)它的作業(yè)8-9和8-10,因此LET=min{20-0,21-6}=1515按此方法,不難沿著PERT圖從右到左的逆序算出每個(gè)事件的LET181211662關(guān)鍵路徑(CPM,CriticalPathMethod):從起點(diǎn)到終點(diǎn),可以有許多條路徑,我們把耗時(shí)最長(zhǎng)的路徑稱(chēng)作關(guān)鍵路徑。關(guān)鍵路徑耗時(shí)等于整個(gè)工程的耗時(shí),因此,要想縮短工程時(shí)間,就必須找出關(guān)鍵路徑,并研究如何減少關(guān)鍵路徑的耗時(shí)。6100261011534879242436312120000266812121515212323212015181211662關(guān)鍵路徑上事件的EET=LET關(guān)鍵路徑的事件必須準(zhǔn)時(shí)發(fā)生,作業(yè)的實(shí)際持續(xù)時(shí)間不能超過(guò)估計(jì)持續(xù)時(shí)間。否則工程不能按時(shí)完成。6100261011534879242436312120000266812121515212323212015181211662機(jī)動(dòng)時(shí)間:不在關(guān)鍵路徑上的作業(yè)有一定程度的機(jī)動(dòng)余地——實(shí)際開(kāi)始時(shí)間可以比預(yù)定時(shí)間晚一些,或者實(shí)際持續(xù)時(shí)間可以比預(yù)定的持續(xù)時(shí)間長(zhǎng)一些,而不影響整個(gè)工程的完成時(shí)間。一個(gè)作業(yè)可以有的全部機(jī)動(dòng)時(shí)間=(LET)結(jié)束-(EET)開(kāi)始-持續(xù)時(shí)間(1)(3)(11)(4)(3)(6)(6)(5)(5)活動(dòng)網(wǎng)絡(luò)圖在制定進(jìn)度計(jì)劃時(shí)仔細(xì)考慮和利用PERT圖中的機(jī)動(dòng)時(shí)間,往往能夠安排出既節(jié)省資源又不影響最終竣工時(shí)間的進(jìn)度表。從上圖可見(jiàn),清理前三面墻窗戶(hù)的作業(yè)都有相當(dāng)多的機(jī)動(dòng)時(shí)間,即這些作業(yè)可以晚些開(kāi)始或者持續(xù)時(shí)間長(zhǎng)一些(少用一些資源);此外,刮第3、第4面墻上舊漆和給第1面墻刷新漆的作業(yè)也都有機(jī)動(dòng)時(shí)間,且這些機(jī)動(dòng)時(shí)間之和大于清理前三面墻窗戶(hù)需要用的工作時(shí)間。因此,有可能僅用10個(gè)工人在同樣時(shí)間內(nèi)(23小時(shí))完成這項(xiàng)工程。248101214182016622刮舊漆刷新漆清理時(shí)間(小時(shí))工序活動(dòng)網(wǎng)絡(luò)圖這個(gè)方案不僅比前面的方案節(jié)省人力,而且改正了前圖的一個(gè)錯(cuò)誤:因?yàn)榻o第3面墻刷漆的作業(yè)4-6不僅必須在給第1面墻刷完漆之后(2-4作業(yè)結(jié)束),而且還必須在把第3面墻刮凈之后(2-3作業(yè)和3-4虛作業(yè)結(jié)束)才能開(kāi)始。全部工程需要23小時(shí),而不是22小時(shí)?;顒?dòng)網(wǎng)絡(luò)圖1100222612121021211123235811366466815157121891520242436362120000(0)(0)(1)(0)(3)(4)(0)(11)(0)(6)(5)(3)(5)(0)(0)舊木板房刷漆工程完整PERT圖進(jìn)度管理實(shí)踐—MSProjectT11(M8)10T12T9(M6)7T11T5,T7(M7)15T10T3,T6(M4)15T9T4(M5)25T8T1(M1)20T7T1,T2(M3)5T6T2,T4(M2)10T510T4T1(M1)15T315T28T1依賴(lài)關(guān)系持續(xù)時(shí)間任務(wù)MSProject—活動(dòng)網(wǎng)絡(luò)圖4/7/058天14/7/0515天4/8/0515天25/08/057天5/9/0510天19/9/0515天11/8/0525天10天20天5天25/7/0515天25/7/0518/7/05開(kāi)始10天完成T8M5T4T2T3M1M3T7T6M2T5M4M7T10T12M8T11M6T9T1MSProject--甘特圖4/711/718/725/71/88/815/822/829/85/912/919/9T4T1T2M1T7T3M5T8M3M2T6T5M4T9M7T10M6T11M8T12開(kāi)始完成人員分配4/711/718/725/71/88/815/822/829/85/912/919/9T4T8T11T12T1T3T9T2T6T10T7T5FredJaneAnneMaryJim質(zhì)量管理質(zhì)量是產(chǎn)品的生命線(xiàn),不論任何產(chǎn)品,質(zhì)量都是極端重要的。軟件產(chǎn)品開(kāi)發(fā)周期長(zhǎng),需耗費(fèi)巨大的人力、物力,更必須特別注意保證產(chǎn)品質(zhì)量。軟件質(zhì)量的定義軟件質(zhì)量就是“軟件與明確的和隱含定義的需求相一致的程度”,即軟件與明確描述的功能和性能需求、文檔中明確描述的開(kāi)發(fā)標(biāo)準(zhǔn)以及任何專(zhuān)業(yè)開(kāi)發(fā)的軟件產(chǎn)品都應(yīng)該具有的隱含特征相一致的程度。軟件質(zhì)量的定義上述定義強(qiáng)調(diào)了以下三個(gè)重要的方面:軟件需求是進(jìn)行"質(zhì)量"度量的基礎(chǔ),不符合需求就是質(zhì)量不高。規(guī)范化的標(biāo)準(zhǔn)定義了一些開(kāi)發(fā)準(zhǔn)則以指導(dǎo)軟件開(kāi)發(fā),如果不遵照這些準(zhǔn)則,則極有可能導(dǎo)致質(zhì)量不高。往往會(huì)有一些隱含的需求沒(méi)有明確地提出來(lái),如軟件的可維護(hù)性等,忽略了這些隱含需求,軟件的質(zhì)量也難以保證。軟件質(zhì)量是一個(gè)多因素的復(fù)雜混合,這些因素隨著不同的應(yīng)用和用戶(hù)而變化。軟件質(zhì)量模型軟件質(zhì)量與軟件的內(nèi)部特性及其組合有關(guān)。要度量軟件質(zhì)量,就應(yīng)根據(jù)這些內(nèi)部特性(即軟件屬性)建立起軟件度量模型,進(jìn)而構(gòu)建軟件質(zhì)量度量體系。從管理角度對(duì)軟件質(zhì)量進(jìn)行度量的McCall軟件質(zhì)量模型如下:軟件質(zhì)量模型產(chǎn)品修改產(chǎn)品轉(zhuǎn)移產(chǎn)品運(yùn)行可理解性可維護(hù)性靈活性可測(cè)試性可移植性可重用性互運(yùn)行性輕便性正確性、健壯性、效率、完整性、可用性、風(fēng)險(xiǎn)上述模型反映了用戶(hù)在使用軟件產(chǎn)品時(shí)的三種不同的傾向:產(chǎn)品運(yùn)行、產(chǎn)品修改和產(chǎn)品轉(zhuǎn)移。軟件質(zhì)量的屬性正確性 系統(tǒng)滿(mǎn)足規(guī)格說(shuō)明和用戶(hù)目標(biāo)的程度,在預(yù)定環(huán)境下能正確完成預(yù)期功能的程度。健壯性 在硬件發(fā)生故障、輸入數(shù)據(jù)無(wú)效、操作錯(cuò)誤等意外環(huán)境下,系統(tǒng)能做出適當(dāng)響應(yīng)的程度。效率 為了完成預(yù)定功能,系統(tǒng)需要的計(jì)算資源的多少。完整性 對(duì)未經(jīng)授權(quán)的軟件使用請(qǐng)求或數(shù)據(jù)訪(fǎng)問(wèn)的企圖,系統(tǒng)能夠控制(或禁止)的程度。軟件質(zhì)量的屬性可用性 系統(tǒng)在完成預(yù)定功能時(shí)令用戶(hù)滿(mǎn)意的程度。風(fēng)險(xiǎn)

按預(yù)定的成本和進(jìn)度開(kāi)發(fā)系統(tǒng),并且使得用戶(hù)滿(mǎn)意的概率。可理解性

理解和使用軟件的容易程度??删S護(hù)性

診斷和改正在運(yùn)行現(xiàn)場(chǎng)發(fā)現(xiàn)的錯(cuò)誤所需要的工作量大小。軟件質(zhì)量的屬性適應(yīng)性

修改或改進(jìn)正在運(yùn)行的系統(tǒng)需要的工作量大小可測(cè)試性

軟件容易測(cè)試的程度。可移植性

把軟件從一軟硬件環(huán)境移植到另一配置環(huán)境時(shí),需要的工作量大小??芍赜眯?/p>

在其他應(yīng)用中該軟件可以被使用的程度或范圍。軟件質(zhì)量的屬性互運(yùn)行性把該軟件系統(tǒng)和另一軟件系統(tǒng)結(jié)合起來(lái)所需要的工作量大小。輕便性

允許軟件能夠從一臺(tái)計(jì)算機(jī)很容易地傳輸?shù)搅硪慌_(tái)需要運(yùn)行的計(jì)算機(jī)上的能力。

軟件質(zhì)量管理 軟件質(zhì)量管理就是確保軟件有較少缺陷,并達(dá)到軟件系統(tǒng)既定目標(biāo)。一個(gè)機(jī)構(gòu)的質(zhì)量管理者的職責(zé)是確保軟件產(chǎn)品質(zhì)量達(dá)到客戶(hù)要求。理論上,質(zhì)量管理只包含制定軟件質(zhì)量規(guī)程和軟件開(kāi)發(fā)標(biāo)準(zhǔn),以及檢查是否所有的工程人員都遵守了這些規(guī)章和標(biāo)準(zhǔn)。但實(shí)際上,質(zhì)量管理內(nèi)容遠(yuǎn)不止這些。好的質(zhì)量管理者致力于培養(yǎng)“質(zhì)量文化”,讓每個(gè)參與產(chǎn)品開(kāi)發(fā)的人都有強(qiáng)烈質(zhì)量意識(shí)。他們鼓勵(lì)團(tuán)隊(duì)對(duì)自己的工作質(zhì)量負(fù)責(zé),鼓勵(lì)他們探求改善質(zhì)量的途徑和方法,鼓勵(lì)團(tuán)隊(duì)每一員對(duì)軟件質(zhì)量特征量化的研究。軟件質(zhì)量管理活動(dòng) 軟件質(zhì)量管理有以下三個(gè)主要活動(dòng)組成:1)質(zhì)量保證(QualityAssurance)

建立起機(jī)構(gòu)質(zhì)量規(guī)程和標(biāo)準(zhǔn)的整體框架,這是生產(chǎn)高質(zhì)量軟件的保證。2)質(zhì)量規(guī)劃(QualityPlanning)

從這個(gè)框架中選擇適當(dāng)?shù)馁|(zhì)量規(guī)程和標(biāo)準(zhǔn),進(jìn)行改寫(xiě)使之適應(yīng)于特定軟件項(xiàng)目。3)質(zhì)量控制(QualityControl)

定義并設(shè)計(jì)軟件過(guò)程,確保軟件開(kāi)發(fā)團(tuán)隊(duì)嚴(yán)格遵守項(xiàng)目質(zhì)量規(guī)劃和標(biāo)準(zhǔn)。軟件質(zhì)量管理活動(dòng)質(zhì)量管理應(yīng)該與軟件項(xiàng)目管理相分離,這樣質(zhì)量管理就不會(huì)屈從于項(xiàng)目預(yù)算和進(jìn)度。應(yīng)該由一個(gè)獨(dú)立的團(tuán)隊(duì)專(zhuān)門(mén)負(fù)責(zé)質(zhì)量管理,并應(yīng)該向項(xiàng)目管理者的上級(jí)領(lǐng)導(dǎo)匯報(bào)。軟件質(zhì)量管理者不應(yīng)該參與具體的開(kāi)發(fā)工作,而應(yīng)該負(fù)責(zé)整個(gè)機(jī)構(gòu)的質(zhì)量管理。質(zhì)量管理與軟件開(kāi)發(fā)D1D2D3D4D5可交付產(chǎn)品質(zhì)量保證質(zhì)量規(guī)劃質(zhì)量控制軟件開(kāi)發(fā)過(guò)程質(zhì)量管理過(guò)程軟件質(zhì)量保證QA活動(dòng)為達(dá)到高質(zhì)量軟件提供了一個(gè)框架。QA過(guò)程包括對(duì)軟件開(kāi)發(fā)過(guò)程標(biāo)準(zhǔn)或軟件產(chǎn)品標(biāo)準(zhǔn)的定義和選擇。這些標(biāo)準(zhǔn)應(yīng)該融合在軟件開(kāi)發(fā)的過(guò)程或過(guò)程中。質(zhì)量標(biāo)準(zhǔn) 在質(zhì)量保證過(guò)程中要制定兩種類(lèi)型的標(biāo)準(zhǔn):產(chǎn)品標(biāo)準(zhǔn)

定義了所有要提供的產(chǎn)品的特征,包括:文檔標(biāo)準(zhǔn),如生成的需求文檔的結(jié)構(gòu);文檔編寫(xiě)標(biāo)準(zhǔn),如定義對(duì)象類(lèi)時(shí)注釋頭的標(biāo)準(zhǔn)寫(xiě)法;還有編碼標(biāo)準(zhǔn),它規(guī)定了如何使用某種程序設(shè)計(jì)語(yǔ)言。過(guò)程標(biāo)準(zhǔn)

這些標(biāo)準(zhǔn)定義了軟件開(kāi)發(fā)必須遵循的過(guò)程,包括描述、設(shè)計(jì)、有效性驗(yàn)證過(guò)程的定義,以及對(duì)在這些過(guò)程中產(chǎn)生的文檔描述。產(chǎn)品標(biāo)準(zhǔn)與過(guò)程標(biāo)準(zhǔn)產(chǎn)品標(biāo)準(zhǔn)設(shè)計(jì)評(píng)審形式需求文檔結(jié)構(gòu)規(guī)程標(biāo)題結(jié)構(gòu)Java編程規(guī)范項(xiàng)目計(jì)劃格式變更請(qǐng)求形式過(guò)程標(biāo)準(zhǔn)設(shè)計(jì)評(píng)審行為提交文檔給CM版本發(fā)放過(guò)程項(xiàng)目計(jì)劃批準(zhǔn)過(guò)程變更控制過(guò)程測(cè)試記錄過(guò)程封裝了最成功的經(jīng)驗(yàn)——避免重犯過(guò)去的錯(cuò)誤。提供了質(zhì)量保證過(guò)程的框架——質(zhì)量控制的任務(wù)只要保證這些標(biāo)準(zhǔn)嚴(yán)格執(zhí)行就可以了。有助于工作的連貫性——由一個(gè)人著手進(jìn)行的工作別人可以接著做。標(biāo)準(zhǔn)的重要性質(zhì)量規(guī)劃質(zhì)量規(guī)劃描述希望得到的產(chǎn)品的質(zhì)量要求及其評(píng)定辦法,并且定義最重要的質(zhì)量屬性。質(zhì)量規(guī)劃應(yīng)該定義質(zhì)量的評(píng)定過(guò)程。也應(yīng)該說(shuō)明采用哪個(gè)組織的標(biāo)準(zhǔn),如果有必要還要定義新的標(biāo)準(zhǔn)。質(zhì)量規(guī)劃產(chǎn)品介紹:說(shuō)明產(chǎn)品、產(chǎn)品的意向市場(chǎng)及對(duì)產(chǎn)品性質(zhì)的預(yù)期。軟件計(jì)劃:包括產(chǎn)品確切的發(fā)布日期、產(chǎn)品責(zé)任及產(chǎn)品的銷(xiāo)售和售后服務(wù)計(jì)劃。過(guò)程描述:產(chǎn)品的開(kāi)發(fā)和管理中應(yīng)該采用開(kāi)發(fā)和售后服務(wù)質(zhì)量過(guò)程。質(zhì)量目標(biāo):包括鑒定和驗(yàn)證產(chǎn)品的關(guān)鍵質(zhì)量屬性。風(fēng)險(xiǎn)和風(fēng)險(xiǎn)管理:說(shuō)明影響產(chǎn)品質(zhì)量的主要風(fēng)險(xiǎn)和這些風(fēng)險(xiǎn)的應(yīng)對(duì)措施。Humphrey的結(jié)構(gòu)框架:質(zhì)量規(guī)劃質(zhì)量規(guī)劃時(shí)要考慮各種潛在的軟件質(zhì)量屬性:安全性可理解性可移植性保密性可測(cè)試性可使用性可靠性適應(yīng)性復(fù)用性彈性模塊性效率魯棒性復(fù)雜性可學(xué)習(xí)性當(dāng)然,要對(duì)任何系統(tǒng)的所有這些屬性都重點(diǎn)關(guān)注是不可能的,因此質(zhì)量規(guī)劃的一個(gè)關(guān)鍵任務(wù)是挑選出關(guān)鍵的質(zhì)量屬性,然后對(duì)如何達(dá)到這些質(zhì)量屬性做出規(guī)劃。質(zhì)量控制質(zhì)量控制就是監(jiān)督檢查整個(gè)軟件開(kāi)發(fā)過(guò)程,以確保質(zhì)量保證規(guī)程和標(biāo)準(zhǔn)被嚴(yán)格執(zhí)行。有兩種質(zhì)量控制的方法:質(zhì)量評(píng)審:一組人對(duì)軟件、文檔編制及軟件制作過(guò)程進(jìn)行評(píng)審。自動(dòng)化的軟件評(píng)估:軟件和文檔生成后,經(jīng)過(guò)一定的程序進(jìn)行處理,并與用于具體項(xiàng)目的標(biāo)準(zhǔn)相對(duì)照。軟件成本估算成本估算是可行性分析的重要依據(jù),也是軟件管理的重要內(nèi)容,直接影響到軟件開(kāi)發(fā)的風(fēng)險(xiǎn)。軟件開(kāi)發(fā)成本主要是指軟件開(kāi)發(fā)過(guò)程中所花費(fèi)的工作量及相應(yīng)的代價(jià),即主要是人的勞動(dòng)的消耗。軟件產(chǎn)品不存在重復(fù)制造過(guò)程,它的開(kāi)發(fā)成本是以一次性開(kāi)發(fā)過(guò)程所花費(fèi)的代價(jià)來(lái)計(jì)算的。因此軟件成本估算,應(yīng)以軟件計(jì)劃、需求分析、設(shè)計(jì)、編碼到測(cè)試的軟件開(kāi)發(fā)全過(guò)程所花費(fèi)的代價(jià)為依據(jù)。*成本估算與成本估計(jì)是軟件管理的核心任務(wù)之一。軟件成本估算由于軟件成本涉及較多變量,因而難以對(duì)其作出準(zhǔn)確的估算。我們需要使用多種不同的方法對(duì)軟件成本進(jìn)行交叉估算,才有可能得到軟件成本的較精確的估算結(jié)果。對(duì)于大型項(xiàng)目,由于其項(xiàng)目的復(fù)雜度,必須建立相應(yīng)的估算模型,按照一定的方法、技術(shù)來(lái)進(jìn)行估算。軟件成本估算項(xiàng)目的規(guī)模項(xiàng)目的難度項(xiàng)目的時(shí)間限制資源根據(jù)需求分析后確定的功能模塊的數(shù)量,或者用例的數(shù)量確定根據(jù)現(xiàn)有經(jīng)驗(yàn)、技術(shù)水平確定根據(jù)客戶(hù)的要求及現(xiàn)有資源確定確定軟件規(guī)模估算代碼行技術(shù)功能點(diǎn)技術(shù)代碼行技術(shù)代碼行技術(shù)是比較簡(jiǎn)單的定量估算軟件規(guī)模的方法。這種方法依據(jù)以往開(kāi)發(fā)類(lèi)似產(chǎn)品的經(jīng)驗(yàn)和歷史數(shù)據(jù),估算實(shí)現(xiàn)一個(gè)功能所需要的源程序行數(shù)。當(dāng)有以往開(kāi)發(fā)類(lèi)似產(chǎn)品的歷史數(shù)據(jù)可供參考時(shí),這種方法估算出的數(shù)值還是比較準(zhǔn)確的。代碼行技術(shù)為使得對(duì)軟件規(guī)模估計(jì)值更接近實(shí)際值,可以由多名有經(jīng)驗(yàn)的軟件工程師分別作出估計(jì)。每個(gè)人都估計(jì)軟件的最小規(guī)模(a)、最大規(guī)模(b)和最可能規(guī)模(m),分別算出三者的平均值a,b,m,再用下式計(jì)算軟件規(guī)模估算值:在使用代碼行技術(shù)估算軟件規(guī)模時(shí),若軟件較小時(shí)常用的單位是代碼行數(shù)(LOC);若軟件較大時(shí)常用的單位是千行代碼數(shù)(KLOC)。常使用的單位有:SLOC(singlelineofcode)、KLOC(thousandlinesofcode)、LLOC(logicallineofcode)、PLOC(physicallineofcode)、NCLOC(non-commentedlineofcode)、DSI(deliveredsourceinstruction交付源指令數(shù)

)。代碼行技術(shù)代碼行技術(shù)的優(yōu)點(diǎn):代碼是所有軟件項(xiàng)目開(kāi)發(fā)都包含的“產(chǎn)品”,而且代碼行數(shù)很容易計(jì)算。代碼行技術(shù)的缺點(diǎn):源程序僅是軟件配置的一個(gè)成分,用它的規(guī)模代表整個(gè)軟件規(guī)模不太合理;用不同語(yǔ)言實(shí)現(xiàn)同一個(gè)軟件所需的代碼行數(shù)并不相同,即它依賴(lài)于所使用的編程語(yǔ)言;不適合于非過(guò)程語(yǔ)言。功能點(diǎn)技術(shù)是為克服代碼行技術(shù)缺點(diǎn)提出的;它涉及多種因素的度量方法;功能點(diǎn)技術(shù)根據(jù)軟件的基本功能來(lái)定義,所以在系統(tǒng)設(shè)計(jì)初期就能夠估算出軟件項(xiàng)目的規(guī)模。信息域特性產(chǎn)品信息域的5個(gè)特性:輸入項(xiàng)數(shù)(Inp):用戶(hù)向軟件輸入的項(xiàng)數(shù),這些輸入給軟件提供了面向應(yīng)用的數(shù)據(jù)。輸出項(xiàng)數(shù)(Out):軟件向用戶(hù)輸出的項(xiàng)數(shù),它們向用戶(hù)提供面向應(yīng)用的信息。查詢(xún)數(shù)(Inq):查詢(xún)即一次聯(lián)機(jī)輸入,它導(dǎo)致軟件以聯(lián)機(jī)輸出方式產(chǎn)生某種即時(shí)響應(yīng)。主文件數(shù)(Maf):邏輯主文件(數(shù)據(jù)的一個(gè)邏輯集合)的數(shù)目。外部接口數(shù)(Inf):

機(jī)器可讀的全部接口的數(shù)量。功能點(diǎn)技術(shù)基本原理使用5個(gè)信息域的“加權(quán)和”CT與14個(gè)技術(shù)因素的“復(fù)雜性調(diào)節(jié)值”Fi來(lái)計(jì)算功能點(diǎn)FP:估算功能點(diǎn)的步驟1、計(jì)算未調(diào)整的功能點(diǎn)數(shù)CT首先把信息域的每個(gè)特性都分類(lèi)為簡(jiǎn)單級(jí)、平均級(jí)或復(fù)雜級(jí),根據(jù)等級(jí)按下表分配功能點(diǎn)數(shù):1075接口系數(shù)a515107文件系數(shù)a4643查詢(xún)系數(shù)a3754輸出系數(shù)a2543輸入系數(shù)a1復(fù)雜平均簡(jiǎn)單特性系數(shù)復(fù)雜級(jí)別然后用下式計(jì)算未調(diào)整的功能點(diǎn)數(shù)CT:CT=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5×Inf估算功能點(diǎn)的步驟2、計(jì)算技術(shù)復(fù)雜因子TCF軟件復(fù)雜度的估算基于14個(gè)問(wèn)題,逐一對(duì)各問(wèn)題做出復(fù)雜度估計(jì)Fi,其取值范圍是0-5。估算功能點(diǎn)的步驟“沒(méi)有影響”取值0“偶然的”取值1“適中的”取值2“普通的”取值3“重要的”取值4“極重要的”取值5系統(tǒng)需要可靠的備份和復(fù)原嗎?需要數(shù)據(jù)通信嗎?有分布處理功能嗎?性能很關(guān)鍵嗎?系統(tǒng)是否在一個(gè)已有的、很實(shí)用的操作環(huán)境中運(yùn)行?系統(tǒng)需要聯(lián)機(jī)入口嗎?聯(lián)機(jī)入口需要在多屏幕或多操作之間切換以完成輸入?系統(tǒng)聯(lián)機(jī)需要更新主文件嗎?系統(tǒng)的輸入、輸出、文件或查詢(xún)很復(fù)雜嗎?系統(tǒng)內(nèi)部處理復(fù)雜嗎?代碼需要被設(shè)計(jì)成可復(fù)用的嗎?設(shè)計(jì)中要包括轉(zhuǎn)換及安裝嗎?系統(tǒng)的設(shè)計(jì)支持不同組織的多次安裝嗎?系統(tǒng)的設(shè)計(jì)有利于用戶(hù)修改和使用嗎?功能點(diǎn)技術(shù)功能點(diǎn)技術(shù)沒(méi)有涉及系統(tǒng)本身的算法復(fù)雜性。因此,它僅僅適合與算法比較簡(jiǎn)單的事務(wù)處理系統(tǒng)軟件的規(guī)模度量;對(duì)算法較復(fù)雜的大型軟件系統(tǒng)并不適應(yīng)。工作量估算軟件估算模型使用由經(jīng)驗(yàn)導(dǎo)出的公式來(lái)預(yù)測(cè)軟件開(kāi)發(fā)工作量,工作量是軟件規(guī)模(LOC或FP)的函數(shù),工作量的單位通常是人月(pm)。靜態(tài)單變量模型動(dòng)態(tài)多變量模型COCOMO2模型支持大多數(shù)估算模型的經(jīng)驗(yàn)數(shù)據(jù),都是從有限個(gè)項(xiàng)目的樣本集中總結(jié)出來(lái)的,因此,沒(méi)有一個(gè)估算模型可以使用于所有類(lèi)型的軟件和開(kāi)發(fā)環(huán)境。靜態(tài)單變量模型靜態(tài)單變量的總體結(jié)構(gòu)形式如下:

其中,A、B、C是由經(jīng)驗(yàn)數(shù)據(jù)導(dǎo)出的常數(shù),E是以人月為單位的工作量,ev是估算變量(KLOC或FP)。下面給出典型的靜態(tài)單變量模型:面向KLOC的估算模型面向FP的估算模型面向KLOC的估算模型Walston_Felix(IBM模型)Bailey_Basili模型 Boehm簡(jiǎn)單模型 Doty模型(KLOC>9時(shí)適合) 面向FP的估算模型Albrecht&Gaffney模型Maston,Barnett和Mellichamp模型靜態(tài)單變量的估算模型從上面可以看出,對(duì)于相同的KLOC或FP,用不同的模型估算的結(jié)果各不相同。主要原因: 這些模型都僅僅依據(jù)若干領(lǐng)域中有限個(gè)項(xiàng)目的經(jīng)驗(yàn)數(shù)據(jù)推導(dǎo)出來(lái)的,適應(yīng)范圍有限。因此,必須根據(jù)當(dāng)前項(xiàng)目特點(diǎn)選擇適應(yīng)的估算模型,并依據(jù)需要對(duì)相應(yīng)模型作出調(diào)整。動(dòng)態(tài)多變量模型動(dòng)態(tài)多變量模型,即軟件方程式,它是根據(jù)4000多個(gè)當(dāng)代軟件項(xiàng)目中收集的生產(chǎn)率數(shù)據(jù)推導(dǎo)出來(lái)的。該模型把工作量看作是軟件規(guī)模和開(kāi)發(fā)時(shí)間的函數(shù),其形式如下:動(dòng)態(tài)多變量模型其中:E是以人月或人年為單位的工作量;t是以月或年為單位的項(xiàng)目持續(xù)時(shí)間;B是特殊因子,它隨著對(duì)測(cè)試、質(zhì)量保證、文檔及管理技術(shù)的需求的增加而緩慢增加。對(duì)于較小程序(KLOC=5~15),B=0.16;而對(duì)于超過(guò)70KLOC的程序,B=0.39;P是生產(chǎn)率參數(shù),它反映下屬因素對(duì)工作量的影響:總體過(guò)程成熟度及管理水平;使用良好的軟件工程實(shí)踐的程度;使用程序設(shè)計(jì)語(yǔ)言的級(jí)別;軟件環(huán)境狀態(tài);軟件項(xiàng)目組的經(jīng)驗(yàn)和技術(shù);應(yīng)用系統(tǒng)的復(fù)雜性等。動(dòng)態(tài)多變量模型P的取值:

開(kāi)發(fā)實(shí)時(shí)嵌入式軟件時(shí),P的典型值為2000; 開(kāi)發(fā)電信系統(tǒng)和系統(tǒng)軟件時(shí),P=10000; 對(duì)于商業(yè)應(yīng)用軟件來(lái)說(shuō),P=28000。從上式可以看出,開(kāi)發(fā)同一個(gè)軟件產(chǎn)品(即LOC固定)的時(shí)候,如果把項(xiàng)目持續(xù)時(shí)間延長(zhǎng),則可降低完成項(xiàng)目所需要功能的工作量。COCOMO模型COCOMO模型--ConstructiveCostModel它是Boehm于1981年在靜態(tài)單變量模型基礎(chǔ)上提出的“構(gòu)造性成本模型”。1997年Boehm等人提出修訂版CoCoMo2模型。COCOMO模型依據(jù)系統(tǒng)規(guī)模和考慮因素的多少,由三種類(lèi)型的COCOMO模型:基本COCOMO模型中間COCOMO模型詳細(xì)COCOMO模型獨(dú)立型(Organic)較簡(jiǎn)單,對(duì)產(chǎn)品目標(biāo)理解充分,經(jīng)驗(yàn)豐富,對(duì)軟件開(kāi)發(fā)環(huán)境熟悉,由小團(tuán)隊(duì)開(kāi)發(fā)。大多數(shù)應(yīng)用軟件及老的操作系統(tǒng)、編譯系統(tǒng)屬此類(lèi)。半獨(dú)立型(Semidetached)項(xiàng)目較復(fù)雜,團(tuán)隊(duì)成員對(duì)系統(tǒng)可能有些經(jīng)驗(yàn)。如新操作系統(tǒng),大型數(shù)據(jù)庫(kù),生產(chǎn)控制等軟件屬此類(lèi)。嵌入型(Embadded)項(xiàng)目復(fù)雜,軟件只是復(fù)雜系統(tǒng)的一部分,軟件、硬件、規(guī)則和操作規(guī)程關(guān)系緊密,對(duì)接口、數(shù)據(jù)結(jié)構(gòu),算法要求較高。如大型復(fù)雜的事務(wù)處理系統(tǒng),大型、超大型的操作系統(tǒng),軍事指揮系統(tǒng),航天控制系統(tǒng)等。軟件復(fù)雜度的三種類(lèi)型基本COCOMO模型基本COCOMO模型是一個(gè)靜態(tài)單變量模型,它把軟件系統(tǒng)所需要的成本看作是程序大小單一變量(KLOC)的(經(jīng)驗(yàn))函數(shù),用于系統(tǒng)級(jí)的粗略估算。實(shí)時(shí)處理、控制程序、操作系統(tǒng)0.322.51.203.6嵌入型各類(lèi)實(shí)用程序、編譯程序等0.352.51.123.0半獨(dú)立型各類(lèi)應(yīng)用軟件0.382.51.052.4獨(dú)立型適應(yīng)范圍dcaC軟件類(lèi)型工作量E=C×KLOCa(人月|人年)開(kāi)發(fā)時(shí)間TDEV=cEd(月|年)中間COCOMO模型中間COCOMO模型是一個(gè)靜態(tài)多變量模型,它把軟件系統(tǒng)所需要的成本看作是程序大小和一系列成本驅(qū)動(dòng)屬性的函數(shù)。估算方程:其中:E是開(kāi)發(fā)工作量; C是模型系數(shù); KLOC是估計(jì)代碼行數(shù); a是模型指數(shù); fi是成本因素1.202.8嵌入型1.123.0半獨(dú)立型1.053.2獨(dú)立型aC軟件類(lèi)型每個(gè)成本因素Fi根據(jù)它的重要程度和影響大小賦予一定的值,可把這些成本因素劃分為(共15個(gè)):產(chǎn)品因素計(jì)算機(jī)因素人員因素項(xiàng)目因素。中間COCOMO模型EAF=∏Fii=115工作量調(diào)節(jié)因子1.101.041.001.081.23開(kāi)發(fā)進(jìn)度的要求(SCED)0.830.911.001.101.24軟件工具的使用(TOOL)0.820.911.001.101.24程序設(shè)計(jì)實(shí)踐(MODP)0.951.001.071.14程序設(shè)計(jì)語(yǔ)言的經(jīng)驗(yàn)(LEXP)0.901.001.101.21開(kāi)發(fā)環(huán)境的經(jīng)驗(yàn)(VEXP)0.700.861.001.171.42程序員水平(PCAP)0.820.911.001.131.29應(yīng)用經(jīng)驗(yàn)(AEXP)0.710.861.001.191.46系統(tǒng)分析員的能力(ACAP)1.151.071.000.87開(kāi)發(fā)環(huán)境的響應(yīng)速度(TURN)1.301.151.000.87軟件開(kāi)發(fā)環(huán)境的變化(VIRT)1.561.211.061.00內(nèi)存約束(STOR)1.661.301.111.00執(zhí)行時(shí)間約束(TIME)1.651.301.151.000.850.70軟件復(fù)雜性(CPLX)1.161.081.000.94數(shù)據(jù)庫(kù)規(guī)模(DATA)1.401.151.000.880.75軟件可靠性(RELY)極高很高高正常低很低級(jí)別成本因素詳細(xì)COCOMO模型詳細(xì)COCOMO模型除了包括中級(jí)COCOMO模型中所考慮的因素以外,并對(duì)工作量調(diào)節(jié)因子在軟件過(guò)程中每個(gè)步驟的影響作出詳細(xì)評(píng)估。該模型則將軟件分為系統(tǒng)、子系統(tǒng)、模塊三個(gè)層次。COCOMO模型基本CoCoMo模型用于系統(tǒng)開(kāi)發(fā)的初期,估算整個(gè)系統(tǒng)(包括維護(hù))的工作量和軟件開(kāi)發(fā)所需要的時(shí)間。中間CoCoMo模型用于估算各個(gè)子系統(tǒng)的工作量和開(kāi)發(fā)時(shí)間。詳細(xì)CoCoMo模型用于估算獨(dú)立的軟部件。人員管理人員是軟件機(jī)構(gòu)中最重要的資產(chǎn),他們代表著智力資本。合理地調(diào)配人員是成功完成軟件項(xiàng)目的切實(shí)保證。因此軟件項(xiàng)目管理的關(guān)鍵是人員管理。項(xiàng)目管理者必須利用其團(tuán)隊(duì)成員,用可能最有效的方式解決技術(shù)和非技術(shù)上的問(wèn)題。軟件機(jī)構(gòu)要尊重員工,管理者要激勵(lì)員工。人員管理不當(dāng)是項(xiàng)目成敗的最重要的原因之一!人員組織軟件項(xiàng)目成功的關(guān)鍵是能夠?qū)⒏咚刭|(zhì)的軟件開(kāi)發(fā)人員合理地組織起來(lái),使他們有效地分工協(xié)作,共同完成開(kāi)發(fā)工作。經(jīng)驗(yàn)表明,人員組織的好壞決定著生產(chǎn)率的高低和產(chǎn)品質(zhì)量的好壞。項(xiàng)目組的組織原則軟件開(kāi)發(fā)小組的規(guī)模不宜太大,人數(shù)不能太多,一般3-5人左右為宜。切忌在開(kāi)發(fā)過(guò)程中增加人員,這將使人員之間的聯(lián)系增多,造成通信成本的增加而導(dǎo)致效率降低。項(xiàng)目組的組織原則例:設(shè)一開(kāi)發(fā)小組有4個(gè)軟件工程師,開(kāi)發(fā)效率為5000行/年,共有6條通信路徑,每條路徑降低生產(chǎn)率250行/年,則小組生產(chǎn)率為:5000×4-250×6=18500(行/年)為了加快進(jìn)度,新增加2人,每人效率為840行/年,通信路徑增加到15條,此時(shí)的小組生產(chǎn)率為:5000×4

+840×2-250×15=17930(行/年)即新增加人,并未提高生產(chǎn)率。Brooks定律向一個(gè)進(jìn)度已經(jīng)落后的項(xiàng)目增派開(kāi)發(fā)人員,可能使項(xiàng)目完成得更晚。人與月是不能互換的!開(kāi)發(fā)人員以算術(shù)級(jí)數(shù)增加,人員之間交換意見(jiàn)的路徑數(shù)將以幾何級(jí)數(shù)增加。項(xiàng)目組的組織方式軟件項(xiàng)目組的組織方式很多,如民主制程序員組、主程序員組、現(xiàn)代程序員組等。具體項(xiàng)目組組織方式的選擇,取決于所承擔(dān)的項(xiàng)目特點(diǎn)、以往組織經(jīng)驗(yàn)及管理者的看法和喜好!民主制程序員組小組成員完全平等,享有充分民主,通過(guò)協(xié)商做出決策。小組成員之間的通訊是平行的,如果小組有n個(gè)成員,則可能的通訊信道為n(n-1)/2條。民主制程序員組通常采用非正式的組織方式,雖然名義上有一個(gè)組長(zhǎng),但其與組內(nèi)其它成員完成同樣的任務(wù)。由小組全體成員討論協(xié)商決定應(yīng)該完成的工作,并依據(jù)各成員能力和經(jīng)驗(yàn)分配適當(dāng)?shù)娜蝿?wù)。民主制程序員組優(yōu)點(diǎn):組員對(duì)發(fā)現(xiàn)程序錯(cuò)誤持積極的態(tài)度,這種態(tài)度有助于更快地發(fā)現(xiàn)錯(cuò)誤,從而導(dǎo)致高質(zhì)量的代碼;組員享有充分民主,小組有高度凝聚力,組內(nèi)學(xué)習(xí)氣氛濃厚,有利于攻克技術(shù)難關(guān)。民主制程序員組如果組內(nèi)多數(shù)成員是經(jīng)驗(yàn)豐富、技術(shù)熟練的程序員,采用該組織方式是非常有效的。但是,在組內(nèi)多數(shù)成員技術(shù)水平不高或缺乏經(jīng)驗(yàn)情況下采用該組織方式,將會(huì)因?yàn)闆](méi)有明確的權(quán)威指導(dǎo)項(xiàng)目進(jìn)展,小組成員間缺乏必要的協(xié)調(diào),而導(dǎo)致項(xiàng)目失敗。適合于研制周期長(zhǎng)、難度大的項(xiàng)目。日本大多數(shù)軟件開(kāi)發(fā)公司都采用這種形式。主程序員組項(xiàng)目開(kāi)發(fā)普遍存在以下事實(shí):軟件開(kāi)發(fā)人員多數(shù)比較缺乏經(jīng)驗(yàn);程序設(shè)計(jì)過(guò)程有許多事務(wù)性的工作;多渠道通訊很浪費(fèi)時(shí)間,降低程序員的生產(chǎn)率。IBM在20世紀(jì)70年代初期開(kāi)始使用主程序員組的組織方式。編程秘書(shū)負(fù)責(zé)完成與項(xiàng)目有關(guān)的全部事務(wù)性工作,如,維護(hù)項(xiàng)目資料庫(kù)和項(xiàng)目文檔,編譯、連接、執(zhí)行源程序和測(cè)試用例。主程序員既是成功的管理人員,又是經(jīng)驗(yàn)豐富、技術(shù)好、能力強(qiáng)的高級(jí)程序員,負(fù)責(zé)體系結(jié)構(gòu)設(shè)計(jì)和關(guān)鍵部分的詳細(xì)設(shè)計(jì),并且負(fù)責(zé)指導(dǎo)其他程序員完成詳細(xì)設(shè)計(jì)和編碼工作主程序員組主程序員編程秘書(shū)后備程序員程序員程序員程序員后備程序員也應(yīng)該技術(shù)熟練而且富于經(jīng)驗(yàn),他協(xié)助主程序員工作并且在必要時(shí)(主程序員生病、出差或跳槽)接替主程序員的工作。所以后備程序員必須和主程序一樣優(yōu)秀,一樣深入了解項(xiàng)目。主程序員組主程序員組使用經(jīng)驗(yàn)豐富、技術(shù)好、能力強(qiáng)的程序員作為主程序員。同時(shí),利用人和計(jì)算機(jī)在事務(wù)性工作方面給主程序員提供充分支持,而且保證所有通訊都通過(guò)一兩個(gè)人進(jìn)行。這種組織方式類(lèi)似于外科手術(shù)小組的組織:主刀大夫?qū)κ中g(shù)全面負(fù)責(zé),并且完成訂制手術(shù)方案、動(dòng)手術(shù)等關(guān)鍵工作,同時(shí)麻醉師、護(hù)士等技術(shù)熟練的專(zhuān)門(mén)工作人員協(xié)助配合主刀大夫工作,此外,必要時(shí)還要聘請(qǐng)領(lǐng)域?qū)<矣枰詤f(xié)助。主程序員組的重要特征專(zhuān)業(yè)化 該組每名成員僅完成他們受過(guò)專(zhuān)業(yè)訓(xùn)練的那些工作。層次性 主程序員負(fù)責(zé)指揮每名成員工作,對(duì)軟件項(xiàng)目全面負(fù)責(zé)。主程序員組的不足雖然主程序員組有很多優(yōu)點(diǎn),但是,我們還應(yīng)看到這種組織方式固有的不切實(shí)際的地方:主程序員既是高級(jí)程序員又是優(yōu)秀管理者,但現(xiàn)實(shí)中這種人才很難見(jiàn)到。后備程序員更難找。人們希望后備程序員像主程序員一樣優(yōu)秀,但他們必須坐在“替補(bǔ)席”上,拿著較低的工資等待接替主程序員。編程秘書(shū)也很難找。專(zhuān)業(yè)的軟件技術(shù)人員一般都厭煩日常的事務(wù)性工作?,F(xiàn)代程序員組使用主程序員組時(shí),主程序員對(duì)每行代碼質(zhì)量負(fù)責(zé),因此,他必須參與所有代碼審查工作。他往往會(huì)把發(fā)現(xiàn)程序錯(cuò)誤與小組成員業(yè)績(jī)聯(lián)系起來(lái),造成小組成員不愿意發(fā)現(xiàn)錯(cuò)誤的心理。解決辦法是:取消主程序員的行政管理工作。這樣既解決了問(wèn)題,又使尋找主程序員的人選不再那么困難。行政組長(zhǎng)技術(shù)組長(zhǎng)程序員程序員程序員技術(shù)管理非技術(shù)管理圖例:現(xiàn)代程序員組由于項(xiàng)目組人員不宜過(guò)多,當(dāng)軟件規(guī)模較大時(shí),應(yīng)該把程序員劃分成若干小組,宜采用下圖所示的組織結(jié)構(gòu):程序員程序員程序員組長(zhǎng)程序員程序員程序員組長(zhǎng)程序員程序員組長(zhǎng)項(xiàng)目經(jīng)理技術(shù)管理圖例:現(xiàn)代程序員組為了更好的把主程序員組和民主程序員組的優(yōu)點(diǎn)結(jié)合其來(lái),在合適的時(shí)候才用分散決定的方法,即集中指導(dǎo)下的發(fā)揚(yáng)民主:程序員程序員程序員組長(zhǎng)程序員程序員程序員組長(zhǎng)程序員程序員組長(zhǎng)項(xiàng)目經(jīng)理技術(shù)管理圖例:軟件配置管理任何軟件開(kāi)發(fā)都是迭代過(guò)程,因此在軟件開(kāi)發(fā)過(guò)程中,變化既是必要的,又是不可避免的。同時(shí),變化也很容易失去控制。如果不能適當(dāng)?shù)目刂乒芾磉@些變化,勢(shì)必導(dǎo)致混亂并產(chǎn)生嚴(yán)重的錯(cuò)誤!軟件配置管理目標(biāo):使變化更準(zhǔn)確且容易被適應(yīng),在必須變化時(shí)減少所需要花費(fèi)的工作量。軟件配置管理是在軟件項(xiàng)目啟動(dòng)時(shí)就開(kāi)始,并且一直持續(xù)到軟件軟件退役才終止的一組追蹤和控制軟件變動(dòng)的保護(hù)性活動(dòng)。軟件配置管理(SCM),是在軟件整個(gè)生命周期內(nèi)管理變化的一組活動(dòng)。是對(duì)工作成果的一種有效保護(hù)。軟件配置上述這些項(xiàng)組成了軟件過(guò)程中產(chǎn)生的全部信息,我們把他們統(tǒng)稱(chēng)為軟件配置,其中每一項(xiàng)即一個(gè)軟件配置項(xiàng)(SoftwareConfigurationItem,簡(jiǎn)稱(chēng)SCI)。SCI是納入配置管理范疇的工作成果。SCI是配置管理的基本單位。軟件開(kāi)發(fā)過(guò)程的工作成果:

計(jì)算機(jī)程序(源代碼和可執(zhí)行程序);

描述計(jì)算機(jī)程序的文檔(供技術(shù)人員或用戶(hù)使用);數(shù)據(jù)(包括程序內(nèi)部和外部定義的數(shù)據(jù))。軟件配置項(xiàng)SCI的主要屬性:名稱(chēng)、標(biāo)識(shí)符、狀態(tài)、版本、作者、日期等。SCI的狀態(tài)有:草稿(Draft)、正式發(fā)布(Released)和正在修改(Changing)。正式發(fā)布正在修改評(píng)審或?qū)徟莞逋ㄟ^(guò)否決自由修改變更控制SCI狀態(tài)變遷圖基線(xiàn)(Baseline)IEEE把基線(xiàn)定義為: “已經(jīng)通過(guò)正式復(fù)審和批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可以作為進(jìn)一步開(kāi)發(fā)的基礎(chǔ),并且只能遵循正式的變化控制過(guò)程得到改變”簡(jiǎn)而言之,基線(xiàn)是由通過(guò)正式評(píng)審的一組軟件配置項(xiàng)組成。在軟件配置項(xiàng)變成基線(xiàn)之前,可以迅速而非正式的修改它。一旦建立了基線(xiàn)以后,基線(xiàn)中的配置項(xiàng)就被“凍結(jié)”了,不能再被任何人隨意修改?;€(xiàn)的主要屬性有名稱(chēng)、標(biāo)識(shí)符、版本、日期等。通常將交付給客戶(hù)的基線(xiàn)稱(chēng)一個(gè)“Release”,為內(nèi)部開(kāi)發(fā)用的基線(xiàn)則稱(chēng)為一個(gè)“Build”計(jì)劃分析設(shè)計(jì)編碼測(cè)試計(jì)劃計(jì)劃基線(xiàn)需求規(guī)格說(shuō)明需求基線(xiàn)設(shè)計(jì)基線(xiàn)編碼基線(xiàn)測(cè)試基線(xiàn)配置基線(xiàn)設(shè)計(jì)方案程序清單測(cè)試報(bào)告基線(xiàn)是軟件開(kāi)發(fā)的里程碑基線(xiàn)(Baseline)軟件配置管理活動(dòng)軟件配置管理

是軟件質(zhì)量保證的重要一環(huán),它包含主要如下任務(wù):配置項(xiàng)標(biāo)識(shí)變動(dòng)控制版本控制配置審計(jì)配置狀態(tài)報(bào)告軟件配置管理流程配置庫(kù)操作配置管理計(jì)劃變動(dòng)管理版本控制配置審計(jì)配置管理計(jì)劃……開(kāi)發(fā)人員CCB負(fù)責(zé)人配置管理員職責(zé)描述人員角色1、人員與職責(zé)……備份設(shè)備計(jì)算機(jī)軟件工具描述資源名稱(chēng)2、軟件硬件資源源代碼測(cè)試文檔設(shè)計(jì)文檔需求文檔預(yù)計(jì)正式發(fā)布時(shí)間標(biāo)識(shí)符主要配置項(xiàng)3、配置項(xiàng)計(jì)劃配置管理計(jì)劃4、基線(xiàn)計(jì)劃預(yù)計(jì)建立時(shí)間基線(xiàn)包含的配置項(xiàng)基線(xiàn)名稱(chēng)5、配置庫(kù)備份計(jì)劃備份內(nèi)容、目的的、方式等備份人時(shí)間、頻度6、版本控制規(guī)劃提示:配置管理員簡(jiǎn)述本項(xiàng)目的版本控制規(guī)則。7、變更控制規(guī)劃提示:配置管理員簡(jiǎn)述本項(xiàng)目的變更控制規(guī)則。8、審批提示:CCB負(fù)責(zé)人(或項(xiàng)目經(jīng)理)審批本計(jì)劃。注:CCB為配置控制委員會(huì)配置項(xiàng)標(biāo)識(shí)目標(biāo): 明確項(xiàng)目生存周期內(nèi)所要產(chǎn)生的文檔、程序以及確定文檔、程序的名稱(chēng)和命名規(guī)則。內(nèi)容單獨(dú)命名每個(gè)配置項(xiàng),然后采用面向?qū)ο蠓椒ò阉R(shí)別的配置項(xiàng)組織起來(lái)。每個(gè)配置項(xiàng)都擁有一組能唯一標(biāo)識(shí)它的特征:名字、描述、資源列表和“實(shí)現(xiàn)”。變動(dòng)控制變動(dòng)控制的目的是防止SCI被隨意修改而導(dǎo)致混亂。變動(dòng)控制,就是在生存期中對(duì)SCI的變動(dòng)建立評(píng)審及核準(zhǔn)的機(jī)制。為提高效率,對(duì)于處于“草稿”狀態(tài)的SCI,不必進(jìn)行變更控制,因?yàn)椴莞灞緛?lái)就要不斷地修改。當(dāng)SCI處于“正式發(fā)布”狀態(tài),或該SCI已經(jīng)成為某個(gè)基線(xiàn)的一部分,若要修改,必須按照變更控制規(guī)則執(zhí)行。當(dāng)變更被核準(zhǔn)后,就把軟件移交給開(kāi)發(fā)或維護(hù)團(tuán)隊(duì),以實(shí)現(xiàn)變更。當(dāng)軟件變更時(shí),每個(gè)組件的變更記錄都應(yīng)該維護(hù),這稱(chēng)為:組件的導(dǎo)出歷史。組件頭信息//BANKSECproject(IST6087)////BANKSEC-TOOLS/AUTH/RBAC/USER_ROLE////Object:currentRole//Author:N.Perwaiz//Creationdate:10thNovember2002////@LancasterUniversity2002////Modificationhistory//VersionMofifierDateChangeReason//1.0J.Jones1/12/2002AddheaderSubmittedtoCM//1.1N.Perwaiz9/4/2003NewFieldChangereq.R07/02版本控制版本控制的目的是按照一定的規(guī)則保存SCI的所有版本,避免發(fā)生版本丟失或混淆等現(xiàn)象,并且可以快速準(zhǔn)確地查找到SCI的任何版本。版本標(biāo)識(shí)一個(gè)大型系統(tǒng)內(nèi)有數(shù)以百計(jì)的軟件組件,其中每種組件都可能有許多不同的版本。版本標(biāo)識(shí)過(guò)程必須定義一種明確標(biāo)識(shí)軟件組件版本的方式。簡(jiǎn)單的版本編號(hào)方式是使用線(xiàn)性導(dǎo)出:V1,V1.1,V1.2,V2.1,V2.2等。實(shí)際導(dǎo)出結(jié)構(gòu)是樹(shù)型或網(wǎng)絡(luò)型,而不是順序型的。版本導(dǎo)出結(jié)構(gòu)版本導(dǎo)出規(guī)則SCI版本號(hào)與SCI狀態(tài)緊密相關(guān):處于“草稿”狀態(tài)的SCI版本號(hào)格式為:0.YZYZ數(shù)字范圍為01~99;隨著草稿的不斷完善,“YZ”值應(yīng)遞增,初值和增幅由規(guī)則定。處于“正式發(fā)布”狀態(tài)的SCI版本號(hào)格式為:X.YX為主版本號(hào),取值1~9。Y為次版本號(hào),取值1~9;SCI第一次“正式發(fā)布”時(shí),版本號(hào)為1.0;如果SCI版本升級(jí)幅度較小,一般只增加Y值,X值保持不變,只有SCI版本升級(jí)幅度較大,才允許增加X(jué)值。處于“正在修改”狀態(tài)的SCI版本號(hào)格式為:X.YZSCI正在修改時(shí),一般只增大Z值,X.Y值保持不變;當(dāng)SCI修改完畢,狀態(tài)重新成為“正式發(fā)布”時(shí),將Z值設(shè)為0,增加X(jué).Y值。參見(jiàn)規(guī)則2。發(fā)布版本系統(tǒng)的發(fā)布版本是分發(fā)給客戶(hù)的系統(tǒng)版本。系統(tǒng)的發(fā)布版本不僅僅是系統(tǒng)的可執(zhí)行代碼,還包括:配置文件數(shù)據(jù)文件安裝程序電子和書(shū)面文檔包裝和相關(guān)的宣傳發(fā)布管理者不能想當(dāng)然認(rèn)為客戶(hù)總是想安裝新的系統(tǒng)版本。因此系統(tǒng)的新版本不能依賴(lài)于以前的版本。發(fā)布版本我們來(lái)看一個(gè)例子,考慮以下情況:系統(tǒng)的發(fā)布版本1發(fā)布并投入使用;發(fā)布版本2隨后發(fā)布。由于發(fā)布版本2需要安裝新的數(shù)據(jù)文件,而有些客戶(hù)不需要發(fā)布版本2所提供的功能,而仍使用發(fā)布版本1;發(fā)布版本3需要發(fā)布版本2中的數(shù)據(jù)文件,沒(méi)有新的數(shù)據(jù)文件。發(fā)布人員不能認(rèn)為發(fā)布版本3所需要的文件已經(jīng)安裝在所在地點(diǎn)。有些地點(diǎn)可能從發(fā)布版本1直接到發(fā)布版本3,跳過(guò)了發(fā)布版本2。有些地方則可能已經(jīng)根據(jù)具體情況對(duì)發(fā)布版本2有關(guān)的數(shù)據(jù)文件做了修改。因此數(shù)據(jù)文件必須隨同系統(tǒng)的發(fā)布版本3一起發(fā)布和安裝。配置審計(jì)配置審計(jì)主要目的是要保證基線(xiàn)在技術(shù)上、管理上的完整性,保證對(duì)SCI的變動(dòng)是服從需求規(guī)定的。配置審計(jì)工作是變動(dòng)控制委員會(huì)批準(zhǔn)SCI的先決條件。在SLC間,不斷進(jìn)行配置審計(jì)。配置狀態(tài)報(bào)告建立并發(fā)布配置狀況報(bào)告(ConfigurationStatusReporting,簡(jiǎn)稱(chēng)CSR)是軟件配置管理的一項(xiàng)重要任務(wù)。CSR主要是回答“發(fā)生了什么事情”、“誰(shuí)做的”、”何時(shí)發(fā)生的“、“有什么影響”等問(wèn)題。通過(guò)CSR紀(jì)錄和報(bào)告的復(fù)查,便能確定合適做過(guò)何種變動(dòng),何種元素被添加到已批準(zhǔn)的基線(xiàn)及在給定時(shí)刻軟件配置處于何種狀態(tài)等等。配置管理工具SourceSafeMicrosoftVisualStudio套件之一簡(jiǎn)單易用,一學(xué)就會(huì)是國(guó)內(nèi)最流行的配置管理工具CVSConcurrentVersionSystem(并行版本系統(tǒng))開(kāi)源工具,服務(wù)器用JAVA編寫(xiě),用于UNIX,LINUX客戶(hù)端很雜,安裝使用不便

ClearCaseRational產(chǎn)品是軟件行業(yè)公認(rèn)的功能最強(qiáng)大、價(jià)格最昂貴的配置管理軟件

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論