軟件與軟件工程-軟件工程管理_第1頁
軟件與軟件工程-軟件工程管理_第2頁
軟件與軟件工程-軟件工程管理_第3頁
軟件與軟件工程-軟件工程管理_第4頁
軟件與軟件工程-軟件工程管理_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程管理本章概述2本章首先介紹自動(dòng)化運(yùn)維以及軟件再工程技術(shù);然后闡述軟件估算軟件開發(fā)進(jìn)度計(jì)劃、軟件開發(fā)人員組織、軟件開發(fā)風(fēng)險(xiǎn)管理、軟件質(zhì)量保證、軟件配置管理.軟件工程標(biāo)準(zhǔn)與軟件文檔、軟件過程能力成熟度模型和軟件項(xiàng)目管理等相關(guān)概念。本章概述3本章目標(biāo):了解軟件估算的概念、方法、原則與技巧。掌握制訂軟件開發(fā)進(jìn)度計(jì)劃的方法。了解軟件開發(fā)人員組織的形式。了解軟件開發(fā)風(fēng)險(xiǎn)管理的概念。了解軟件質(zhì)量保證的措施。了解軟件配置管理的相關(guān)概念。熟悉軟件工程標(biāo)準(zhǔn)與軟件文檔的概念。熟悉軟件過程能力成熟度模型。了解軟件項(xiàng)目管理的相關(guān)內(nèi)容目錄412.4軟件質(zhì)量12.5軟件配置管理12.6軟件工程標(biāo)準(zhǔn)12.7軟件過程能力成熟度模型12.8軟件項(xiàng)目管理12.1軟件估算12.1軟件開發(fā)進(jìn)度計(jì)劃12.2軟件開發(fā)人員組織12.3軟件開發(fā)風(fēng)險(xiǎn)12.9軟件復(fù)用12.1.1軟件估算的概念軟件估算是指以準(zhǔn)確的調(diào)查資料和項(xiàng)目信息(如人員和設(shè)備信息)為依據(jù),從估算對(duì)象的歷史、現(xiàn)狀及其規(guī)律性出發(fā),運(yùn)用科學(xué)的方法,對(duì)估算對(duì)象的規(guī)模、所需工作量和成本進(jìn)行的測(cè)定。512.1.1軟件估算的概念軟件估算的內(nèi)容包括軟件規(guī)模、工作量和進(jìn)度。對(duì)于估算來說,有些可以做的很仔細(xì),而大多數(shù)只是憑主觀經(jīng)驗(yàn)判斷。所以多數(shù)估算難以做到10%以內(nèi)的精確度,有的甚至誤差達(dá)幾倍,尤其是估算人員經(jīng)驗(yàn)不足或估算項(xiàng)目沒有可參考憑借之時(shí)。不同的軟件開發(fā)階段,估算的對(duì)象和使用的方法都會(huì)有所不同,估算的精確度也不一樣。一般來說,隨著項(xiàng)目進(jìn)展,對(duì)項(xiàng)目?jī)?nèi)容了解愈多,估算也會(huì)越來越精確。6工作量軟件規(guī)模進(jìn)度12.1.2軟件估算的方法軟件估算方法基于分解技術(shù)功能點(diǎn)估算法、特征點(diǎn)估算法、對(duì)象點(diǎn)估算法、代碼行(LOC)估算法、MARKⅡ基于經(jīng)驗(yàn)?zāi)P虸BM模型、普特南模型、COCOMO模型712.1.3軟件估算的原則與技巧(1)估算時(shí)間越早,誤差越大。但有估算總比沒估算好。(2)估算能夠用來輔助決策。良好的估算有利于項(xiàng)目負(fù)責(zé)人做出符合實(shí)際的決策。(3)在項(xiàng)目計(jì)劃中預(yù)留估算時(shí)間,并做好估算計(jì)劃。(4)避免無準(zhǔn)備估算,估算前能收集到越多數(shù)據(jù),越利于提高估算結(jié)果的準(zhǔn)確度。(5)估算盡量實(shí)現(xiàn)文檔化,以便于將估算經(jīng)驗(yàn)應(yīng)用于以后的估算中。(6)盡量結(jié)合以前的項(xiàng)目估算的數(shù)據(jù)和經(jīng)驗(yàn),有利于提高當(dāng)前估算的準(zhǔn)確度。812.1.3軟件估算的原則與技巧(7)估算工作單元最好有一個(gè)合適粒度,而且各單元之間最好相互獨(dú)立。(8)盡量考慮到各類因素,如假期、會(huì)議、驗(yàn)收檢查等影響估算結(jié)果的因素。(9)盡量讓專業(yè)人士做估算員,如涉及代碼量的,最好讓負(fù)責(zé)實(shí)現(xiàn)該任務(wù)的程序員來估算。(10)使用估算工具,提高估算精度和速度。(11)結(jié)合多種估算方法,從不同角度進(jìn)行估算。(12)不隱藏不確定的成本,應(yīng)在估算中考慮潛在風(fēng)險(xiǎn)。(13)不為滿足預(yù)算和預(yù)期目標(biāo)而改變估算結(jié)果,不能對(duì)估算結(jié)果進(jìn)行隨意的刪改。912.2軟件開發(fā)進(jìn)度計(jì)劃項(xiàng)目管理者的目標(biāo)是定義全部項(xiàng)目任務(wù),識(shí)別出關(guān)鍵任務(wù),規(guī)定完成各項(xiàng)任務(wù)的起、止日期,跟蹤關(guān)鍵任務(wù)的進(jìn)展?fàn)顩r,以保證能及時(shí)發(fā)現(xiàn)拖延進(jìn)度的情況。為了做到這一點(diǎn),管理者必須制訂一個(gè)足夠詳細(xì)的進(jìn)度表,以便監(jiān)督項(xiàng)目進(jìn)度,并控制整個(gè)項(xiàng)目。1012.2.1Gantt圖Gantt圖(甘特圖)是一種能有效顯示行動(dòng)時(shí)間規(guī)劃的方法,也叫橫道圖或條形圖。甘特圖把計(jì)劃和進(jìn)度安排兩種職能結(jié)合在一起,縱向列出項(xiàng)目活動(dòng),橫向列出時(shí)間跨度。每項(xiàng)活動(dòng)計(jì)劃或?qū)嶋H的完成情況用橫道線表示。橫道線還顯示了每項(xiàng)活動(dòng)的開始時(shí)間和終止時(shí)間。某項(xiàng)目進(jìn)度計(jì)劃的甘特圖如圖所示。1112.2.2PERT圖PERT圖也稱“計(jì)劃評(píng)審技術(shù)”,它采用網(wǎng)絡(luò)圖來描述一個(gè)項(xiàng)目的任務(wù)網(wǎng)絡(luò)。不僅可以表達(dá)子任務(wù)的計(jì)劃安排,還可以在任務(wù)計(jì)劃執(zhí)行過程中估計(jì)任務(wù)完成的情況,分析某些子任務(wù)完成情況對(duì)全局的影響,找出影響全局的區(qū)域和關(guān)鍵子任務(wù)。以便及時(shí)采取措施,確保整個(gè)項(xiàng)目的完成。1212.2.2PERT圖PERT圖是一個(gè)有向圖,圖中的有向弧表示任務(wù),它可以標(biāo)上完成該任務(wù)所需的時(shí)間;圖中的結(jié)點(diǎn)表示流入結(jié)點(diǎn)的任務(wù)的結(jié)束,并開始流出結(jié)點(diǎn)的任務(wù),這里把結(jié)點(diǎn)稱為事件。只有當(dāng)流入該結(jié)點(diǎn)的所有任務(wù)都結(jié)束時(shí),結(jié)點(diǎn)所表示的事件才出現(xiàn),流出結(jié)點(diǎn)的任務(wù)才可以開始。事件本身不消耗時(shí)間和資源,它僅表示某個(gè)時(shí)間點(diǎn)。每個(gè)事件有一個(gè)事件號(hào)和出現(xiàn)該事件的最早時(shí)刻和最遲時(shí)刻。每個(gè)任務(wù)還有一個(gè)松弛時(shí)間,表示在不影響整個(gè)工期的前提下,完成該任務(wù)有多少機(jī)動(dòng)余地。松弛時(shí)間為0的任務(wù)構(gòu)成了完成整個(gè)工程的關(guān)鍵路徑。1314PERT圖不僅給出了每個(gè)任務(wù)的開始時(shí)間、結(jié)束時(shí)間和完成該任務(wù)所需的時(shí)間,還給出了任務(wù)之間的關(guān)系,即哪些任務(wù)完成后才能開始另外一些任務(wù),以及如期完成整個(gè)工程的關(guān)鍵路徑。

松弛時(shí)間則反映了完成某些任務(wù)是可以推遲其開始時(shí)間或延長(zhǎng)其所需的完成時(shí)間。但是PERT圖不能反映任務(wù)之間的并行關(guān)系。某項(xiàng)目的PERT圖如左圖所示關(guān)鍵路徑如圖中粗黑線可見該項(xiàng)目最短完成時(shí)間為70。12.2.2PERT圖12.3軟件開發(fā)人員組織為了成功地完成軟件開發(fā)工作,項(xiàng)目組成員必須以一種有意義且有效的方式彼此交互和通信。如何組織項(xiàng)目組是一個(gè)管理問題,管理者必須合理地組織項(xiàng)目組,使項(xiàng)目組有較高生產(chǎn)率,能夠按預(yù)定的進(jìn)度計(jì)劃完成所承擔(dān)的工作。經(jīng)驗(yàn)表明,項(xiàng)目組組織得越好,其生產(chǎn)率越高,而且產(chǎn)品質(zhì)量也越高。組織軟件開發(fā)人員的方法,取決于所承擔(dān)的項(xiàng)目的特點(diǎn)、以往的組織經(jīng)驗(yàn)以及軟件開發(fā)公司負(fù)責(zé)人的看法和喜好。1512.3軟件開發(fā)人員組織1612.3.3現(xiàn)代程序員組12.3.2主程序員組12.3.1民主制程序員組12.3.1民主制程序員組民主制程序員組的一個(gè)重要特點(diǎn)是,小組成員完全平等,享有充分民主,通過協(xié)商做出技術(shù)決策。優(yōu)點(diǎn):對(duì)發(fā)現(xiàn)錯(cuò)誤抱著積極的態(tài)度,這種積極態(tài)度有助于更快速地發(fā)現(xiàn)錯(cuò)誤,從而導(dǎo)致高質(zhì)量的代碼;小組有高度凝聚力,組內(nèi)學(xué)術(shù)空氣濃厚,有利于攻克技術(shù)難關(guān)。因此,小組成員間的通信是平行的,即如果一個(gè)小組有n個(gè)成員,則可能的通信信道有n(n?1)/2條。缺點(diǎn):小組人多的話,通信量會(huì)非常大;如果組內(nèi)多數(shù)成員技術(shù)水平不高,或是缺乏經(jīng)驗(yàn)的新手,很有可能不能完成項(xiàng)目。1712.3.2主程序員組為了使少數(shù)經(jīng)驗(yàn)豐富、技術(shù)高超的程序員在軟件開發(fā)過程中能夠發(fā)揮更大作用,程序設(shè)計(jì)小組也可以采用主程序員組的組織方式。使用“主程序員組”的組織方式,可提高生產(chǎn)率,減少總的人/年(或人/月)數(shù)。傳統(tǒng)的主程序員需要擁有過硬技術(shù),同時(shí)具備管理能力。主程序員處理所有接口問題(程序員之間不需要溝通信道),為所有代碼負(fù)責(zé)。后備程序員協(xié)助主程序員,主要負(fù)責(zé)程序測(cè)試的有關(guān)工作。編程秘書則完成全部事務(wù)性工作,如文檔維護(hù),編譯程序,測(cè)試用例等等。這種方式對(duì)團(tuán)隊(duì)成員尤其是主程序員的要求很高,已經(jīng)有一些過時(shí)。1812.3.3現(xiàn)代程序員組實(shí)際的“主程序員”應(yīng)該由兩個(gè)人來擔(dān)任:

一個(gè)是技術(shù)負(fù)責(zé)人,負(fù)責(zé)小組的技術(shù)活動(dòng);

一個(gè)是行政負(fù)責(zé)人,負(fù)責(zé)所有非技術(shù)的管理決策。由于程序員組的成員人數(shù)不宜過多,當(dāng)軟件項(xiàng)目規(guī)模較大時(shí),應(yīng)該把程序員分成若干個(gè)小組(每組2-8人)。結(jié)合民主制程序員組和主程序員組的優(yōu)點(diǎn),根據(jù)項(xiàng)目實(shí)際情況,在合適的地方采用分散決定的方式,有利于形成暢通的通信渠道,充分發(fā)揮每個(gè)程序員的積極性與主動(dòng)性。1912.4.1軟件開發(fā)風(fēng)險(xiǎn)軟件開發(fā)風(fēng)險(xiǎn)是一種不確定的事件或條件,一旦發(fā)生,會(huì)對(duì)項(xiàng)目目標(biāo)產(chǎn)生某種正面或負(fù)面的影響。風(fēng)險(xiǎn)有其成因,同時(shí),如果風(fēng)險(xiǎn)發(fā)生,也導(dǎo)致某種后果。風(fēng)險(xiǎn)大多數(shù)隨著項(xiàng)目的進(jìn)展而變化,不確定性會(huì)隨之逐漸減少。2012.4.1軟件開發(fā)風(fēng)險(xiǎn)隨機(jī)性風(fēng)險(xiǎn)事件是否發(fā)生、何時(shí)發(fā)生、后果怎樣?許多事件發(fā)生都遵循一定統(tǒng)計(jì)規(guī)律,這種性質(zhì)叫隨機(jī)性相對(duì)性風(fēng)險(xiǎn)總是相對(duì)項(xiàng)目活動(dòng)主體而言,同樣的風(fēng)險(xiǎn)對(duì)于不同的主體有不同的影響可變性辯證唯物主義認(rèn)為,任何事情和矛盾都可以在一定條件下向自己的反面轉(zhuǎn)化,這里的條件指活動(dòng)涉及的一切風(fēng)險(xiǎn)因素,當(dāng)這些條件發(fā)生變化時(shí),必然會(huì)引起風(fēng)險(xiǎn)的變化。2112.4.1軟件開發(fā)風(fēng)險(xiǎn)22按照不同的分類標(biāo)準(zhǔn),風(fēng)險(xiǎn)可以分為不同的類別。按風(fēng)險(xiǎn)后果劃分,可以分為純粹風(fēng)險(xiǎn)和投機(jī)風(fēng)險(xiǎn);按風(fēng)險(xiǎn)來源劃分,可以分為自然風(fēng)險(xiǎn)和人為風(fēng)險(xiǎn);按風(fēng)險(xiǎn)是否可管理劃分,可以分為可以預(yù)測(cè)并可采取相應(yīng)措施加以控制的風(fēng)險(xiǎn),反之,則為不可管理的風(fēng)險(xiǎn);按風(fēng)險(xiǎn)影響范圍劃分,可以分為局部風(fēng)險(xiǎn)和總體風(fēng)險(xiǎn);按風(fēng)險(xiǎn)的可預(yù)測(cè)性劃分,可以分為已知風(fēng)險(xiǎn)、可預(yù)測(cè)風(fēng)險(xiǎn)和不可預(yù)測(cè)風(fēng)險(xiǎn);按風(fēng)險(xiǎn)后果的承擔(dān)者劃分,可以分為業(yè)主風(fēng)險(xiǎn)、政府風(fēng)險(xiǎn)、承包商風(fēng)險(xiǎn)、投資方風(fēng)險(xiǎn)、設(shè)計(jì)單位風(fēng)險(xiǎn)、監(jiān)理單位風(fēng)險(xiǎn)、供應(yīng)商風(fēng)險(xiǎn)、擔(dān)保方風(fēng)險(xiǎn)和保險(xiǎn)公司風(fēng)險(xiǎn)等。12.4.2軟件開發(fā)風(fēng)險(xiǎn)管理風(fēng)險(xiǎn)管理就是預(yù)測(cè)在項(xiàng)目中可能出現(xiàn)的最嚴(yán)重的問題(傷害或損失),以及采取必要的措施來處理。2312.4.2軟件開發(fā)風(fēng)險(xiǎn)管理24風(fēng)險(xiǎn)識(shí)別風(fēng)險(xiǎn)判定收集資料估計(jì)項(xiàng)目風(fēng)險(xiǎn)形勢(shì)判定風(fēng)險(xiǎn)風(fēng)險(xiǎn)分析確定風(fēng)險(xiǎn)關(guān)注點(diǎn)估計(jì)損失大小評(píng)估損失概率計(jì)算風(fēng)險(xiǎn)暴露量實(shí)施整個(gè)項(xiàng)目的延期實(shí)施整個(gè)項(xiàng)目的緩沖風(fēng)險(xiǎn)優(yōu)先級(jí)制定風(fēng)險(xiǎn)管理計(jì)劃風(fēng)險(xiǎn)監(jiān)控風(fēng)險(xiǎn)化解12.4.2軟件開發(fā)風(fēng)險(xiǎn)管理25風(fēng)險(xiǎn)識(shí)別三步驟1風(fēng)險(xiǎn)判定收集資料估計(jì)項(xiàng)目風(fēng)險(xiǎn)形勢(shì)判定風(fēng)險(xiǎn)2風(fēng)險(xiǎn)分析確定風(fēng)險(xiǎn)關(guān)注點(diǎn)估計(jì)損失大小評(píng)估損失概率計(jì)算風(fēng)險(xiǎn)暴露量實(shí)施整個(gè)項(xiàng)目的延期實(shí)施整個(gè)項(xiàng)目的緩沖風(fēng)險(xiǎn)控制制定風(fēng)險(xiǎn)管理計(jì)劃風(fēng)險(xiǎn)監(jiān)控風(fēng)險(xiǎn)化解3風(fēng)險(xiǎn)優(yōu)先級(jí)找出引起80%損失的20%風(fēng)險(xiǎn)12.5.1軟件質(zhì)量的基本概念質(zhì)量是產(chǎn)品的生命線,保證軟件產(chǎn)品的質(zhì)量是軟件產(chǎn)品生產(chǎn)過程的關(guān)鍵。軟件產(chǎn)品包含一系列的特征或特性,這些特征或特性可以對(duì)產(chǎn)品在性能、功能、開發(fā)標(biāo)準(zhǔn)化等各方面的績(jī)效進(jìn)行度量。軟件產(chǎn)品的質(zhì)量越高,其相關(guān)特征或特性就越能滿足用戶的需求。通俗地說,軟件質(zhì)量是指軟件系統(tǒng)滿足用戶需要或期望的程度。高質(zhì)量的軟件產(chǎn)品意味著較高的用戶滿意度及較低的缺陷等級(jí),它較好地滿足了用戶需求,具有高水平的可維護(hù)性和可靠性。軟件的質(zhì)量是由多種因素決定的,它等價(jià)于軟件產(chǎn)品的一系列的質(zhì)量特性。26ANSI/IEEE729-183軟件質(zhì)量定義:與軟件產(chǎn)品滿足規(guī)定的和隱含的需要的能力有關(guān)的特征或特性的組合。ISOStandard9126軟件質(zhì)量的特性包括功能性、可靠性、可用性、效率、可維護(hù)性和可移植性。McCall軟件質(zhì)量特性模型12.5.2軟件質(zhì)量保證的措施在軟件開發(fā)實(shí)踐中,可以采取多種方法保證軟件產(chǎn)品的質(zhì)量,常用的方法包括:271.基于非執(zhí)行的測(cè)試2.基于執(zhí)行的測(cè)試3.程序的正確性證明1.基于非執(zhí)行的測(cè)試非執(zhí)行的測(cè)試是指不具體執(zhí)行程序的測(cè)試工作,也稱為軟件評(píng)審。非執(zhí)行的測(cè)試需要貫穿于整個(gè)軟件開發(fā)過程。在項(xiàng)目開發(fā)前期,軟件開發(fā)人員需要制定詳細(xì)的開發(fā)計(jì)劃以及評(píng)審計(jì)劃,標(biāo)識(shí)各階段的檢查重點(diǎn)以及階段工作的預(yù)期輸出,為以后的階段評(píng)審做準(zhǔn)備。在項(xiàng)目的階段評(píng)審工作中,要保證評(píng)審工作的嚴(yán)格性和規(guī)范性。首先,評(píng)審人員要具備相應(yīng)的資格和能力,評(píng)審團(tuán)隊(duì)的規(guī)模及任務(wù)分配要合理。每次評(píng)審都需要做詳細(xì)的評(píng)審記錄,并做出明確的評(píng)審結(jié)果。對(duì)于不合規(guī)范的工作成果還要給出修改意見。軟件評(píng)審的具體實(shí)施手段包括設(shè)計(jì)評(píng)審、審查、走查、個(gè)人評(píng)審等。282.基于執(zhí)行的測(cè)試基于執(zhí)行的測(cè)試是指通過具體地執(zhí)行程序,觀察實(shí)際輸出和預(yù)期輸出的差異,來發(fā)現(xiàn)軟件產(chǎn)品錯(cuò)誤的方法。軟件開發(fā)人員通常使用一種或幾種自動(dòng)測(cè)試工具對(duì)系統(tǒng)進(jìn)行測(cè)試。但是,由于手工測(cè)試靈活性高的特點(diǎn),手工測(cè)試也是必需的。測(cè)試人員可以使用黑盒測(cè)試或白盒測(cè)試的方法設(shè)計(jì)測(cè)試用例進(jìn)行測(cè)試。軟件測(cè)試有利于及早揭示軟件缺陷(見12章)。293.程序的正確性證明軟件測(cè)試有一條重要原則是:測(cè)試可以發(fā)現(xiàn)程序中的錯(cuò)誤,但是不能證明程序中沒有錯(cuò)誤。可見,軟件測(cè)試并不能完全證明程序的正確性和可靠性。如果能采用某種方法對(duì)軟件系統(tǒng)運(yùn)行的正確性進(jìn)行證明,那么軟件產(chǎn)品的質(zhì)量將更有保證。目前,人們已經(jīng)研究出證明Pascal和LISP程序正確性的軟件系統(tǒng),正在對(duì)其進(jìn)行完善和功能擴(kuò)充。但是,這些系統(tǒng)還只適用于小型的軟件系統(tǒng),并不適合大規(guī)模的軟件系統(tǒng)。3012.6軟件配置管理概述軟件的開發(fā)過程中,常常產(chǎn)生大量的文檔和程序版本,比如立項(xiàng)報(bào)告、需求規(guī)格說明書、概要設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)文檔、編碼設(shè)計(jì)說明、源代碼、可執(zhí)行程序、用戶手冊(cè)、測(cè)試計(jì)劃、測(cè)試用例、測(cè)試結(jié)果、在線文檔等,此外還可能有合同、會(huì)議記錄、報(bào)告、審核等管理文檔。在軟件開發(fā)中,還常常存在對(duì)這些文檔的大量變更。在人員方面,隨著軟件規(guī)模越來越大,很多項(xiàng)目有成千的開發(fā)人員,而且可能分布于世界各地,有不同的文化和社會(huì)背景。如何有效地組織和管理這些內(nèi)容,對(duì)于項(xiàng)目的成敗和效率影響非常重大。3112.6軟件配置管理術(shù)語32項(xiàng)目委托單位為產(chǎn)品開發(fā)提供資金的單位或個(gè)人,通常也確定產(chǎn)品需求項(xiàng)目承辦單位為項(xiàng)目委托單位開發(fā)、購(gòu)置或選用軟件產(chǎn)品的單位或個(gè)人。軟件開發(fā)單位直接或間接受項(xiàng)目單位委托,直接負(fù)責(zé)軟件開發(fā)的單位或個(gè)人。用戶實(shí)際用軟件完成某項(xiàng)任務(wù)的單位或個(gè)人,也叫最終使用者。軟件程序及有關(guān)文檔,IEEE定義:計(jì)算機(jī)程序、方法、規(guī)則、文檔資料及運(yùn)行時(shí)必須的數(shù)據(jù)配置在配置管理中,軟硬件具有的功能或物理特性軟件對(duì)象項(xiàng)目進(jìn)展中產(chǎn)生的,可有軟件配置管理加以控制的任何實(shí)體。軟件對(duì)象擁有唯一的標(biāo)識(shí)符,一個(gè)包含實(shí)體信息的對(duì)象實(shí)體,以及與其他對(duì)象進(jìn)行關(guān)系操作與消息傳遞的機(jī)制軟件生命周期軟件系統(tǒng)從提出需求開始,經(jīng)過開發(fā),產(chǎn)生滿足需求的軟件系統(tǒng),投入運(yùn)行,直至推出使用的整個(gè)過程。軟件開發(fā)庫軟件生命周期某一階段中,存放與該階段開發(fā)相關(guān)的信息庫。配置項(xiàng)為配置管理設(shè)計(jì)的硬件、軟件或二者的集合,在配置管理中被作為單個(gè)實(shí)體來對(duì)待。12.6.2配置管理的過程工作范圍標(biāo)識(shí)配置項(xiàng)進(jìn)行配置控制記錄配置狀態(tài)執(zhí)行配置審計(jì)配置管理的工作范圍一般包括4個(gè)方面:標(biāo)識(shí)配置項(xiàng)進(jìn)行配置控制記錄配置狀態(tài)執(zhí)行配置審計(jì)331.標(biāo)識(shí)配置項(xiàng)所謂配置項(xiàng)是配置管理中的基本單元,每個(gè)配置項(xiàng)應(yīng)該包含相應(yīng)的基本配置管理的信息。標(biāo)識(shí)配置項(xiàng)就是要給配置項(xiàng)取一個(gè)合適的名字。所有的軟件產(chǎn)品都要進(jìn)行配置項(xiàng)的標(biāo)識(shí),該標(biāo)識(shí)符應(yīng)該具有唯一性,并且要遵循特定的版本命名規(guī)律,以便于管理和追蹤。比如,V2015.0.1,V2016.1.2。342.進(jìn)行配置控制訪問控制訪問控制通過配置管理中的“軟件開發(fā)庫”、“軟件基線庫”、“軟件產(chǎn)品庫”來實(shí)現(xiàn),每個(gè)庫對(duì)應(yīng)著不同級(jí)別的操作權(quán)限,為團(tuán)隊(duì)成員授予不同的訪問權(quán)利。版本控制版本控制是指用戶能夠?qū)m當(dāng)?shù)陌姹具M(jìn)行選擇從而獲得需要的系統(tǒng)配置,它往往使用自動(dòng)的版本控制工具來實(shí)現(xiàn),比如Git。變更控制變更控制是應(yīng)對(duì)軟件開發(fā)過程中各種變化的機(jī)制,可以通過建立控制點(diǎn)和報(bào)告與審查制度來實(shí)現(xiàn)。產(chǎn)品發(fā)布控制產(chǎn)品發(fā)布控制面向最終發(fā)布版本的軟件產(chǎn)品,旨在保證提交給用戶的軟件產(chǎn)品版本是完整、正確和一致的。353.記錄配置狀態(tài)記錄配置狀態(tài)的目的是使配置管理的過程具有可追蹤性。配置狀態(tài)報(bào)告記錄了軟件開發(fā)過程中每一次配置變更的詳細(xì)信息,包括改動(dòng)的配置項(xiàng)、改動(dòng)內(nèi)容、改動(dòng)時(shí)間和改動(dòng)人等。配置狀態(tài)報(bào)告是開發(fā)人員之間進(jìn)行交流的重要工具,對(duì)項(xiàng)目的成功非常重要。364.執(zhí)行配置審計(jì)配置審計(jì)是為了保證軟件工作產(chǎn)品的一致性和完整性,從而保證最終軟件版本產(chǎn)品發(fā)布的正確性。軟件的配置管理貫穿于整個(gè)軟件開發(fā)過程,可以建立和維護(hù)在整個(gè)軟件生命周期內(nèi)軟件產(chǎn)品的完整性。目前市場(chǎng)上流行的配置管理工具有很多,比如微軟公司的VisualSourceSafe(VSS)、Rational公司的ClearCase以及Github的Git等。3712.6.3軟件配置管理的角色劃分比較合理的基于軟件配置管理的團(tuán)隊(duì)成員一般會(huì)包含如下角色:負(fù)責(zé)軟件小組的項(xiàng)目經(jīng)理負(fù)責(zé)軟件配置管理規(guī)程和方針的配置管理者負(fù)責(zé)軟件產(chǎn)品開發(fā)與產(chǎn)品維護(hù)的軟件工程師負(fù)責(zé)驗(yàn)證產(chǎn)品正確性的測(cè)試者負(fù)責(zé)確保產(chǎn)品質(zhì)量的質(zhì)量保證經(jīng)理使用產(chǎn)品的客戶3812.7.1軟件工程標(biāo)準(zhǔn)軟件工程標(biāo)準(zhǔn)化的定義在軟件工程項(xiàng)目中,為了便于項(xiàng)目?jī)?nèi)部不同人員之間交流信息,要制定相應(yīng)的標(biāo)準(zhǔn)來規(guī)范軟件開發(fā)過程和產(chǎn)品。39隨著軟件工程學(xué)的發(fā)展,軟件開發(fā)工作的范圍從只是使用程序設(shè)計(jì)語言編寫程序,擴(kuò)展到整個(gè)軟件生命期,包括軟件需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、運(yùn)行和維護(hù),直到軟件退役。軟件工程還有一些管理工作,如過程管理、產(chǎn)品質(zhì)量管理和開發(fā)風(fēng)險(xiǎn)管理等。所有這些工作都應(yīng)當(dāng)逐步建立其標(biāo)準(zhǔn)或規(guī)范。由于計(jì)算機(jī)技術(shù)發(fā)展迅速,在未形成標(biāo)準(zhǔn)之前,計(jì)算機(jī)行業(yè)中先使用一些約定,然后逐漸形成標(biāo)準(zhǔn)。軟件工程標(biāo)準(zhǔn)化就是對(duì)軟件生命期內(nèi)的所有開發(fā)、維護(hù)和管理工作都逐步建立起標(biāo)準(zhǔn)。12.7.1軟件工程標(biāo)準(zhǔn)軟件工程標(biāo)準(zhǔn)化給軟件開發(fā)工作帶來的好處主要有以下幾點(diǎn):(1)提高軟件的可靠性、可維護(hù)性和可移植性,因而可提高軟件產(chǎn)品的質(zhì)量(2)提高軟件生產(chǎn)力(3)提高軟件開發(fā)人員的技術(shù)水平(4)改善軟件開發(fā)人員之間的通信效率,減少差錯(cuò)(5)有利于軟件工程的管理(6)有利于降低軟件成本和縮短軟件開發(fā)周期4012.7.2軟件文檔在軟件工程中,文檔記錄了從需求分析到產(chǎn)品設(shè)計(jì)再到產(chǎn)品實(shí)現(xiàn)及測(cè)試的過程,甚至到產(chǎn)品交付以及交付后的使用情況等各個(gè)階段的相關(guān)信息。文檔一方面充當(dāng)了各個(gè)開發(fā)階段之間的橋梁,作為前一階段的工作成果及結(jié)束標(biāo)志,它使分析有條不紊地過渡到設(shè)計(jì),再使設(shè)計(jì)的成果物化為軟件。另一方面,文檔在團(tuán)隊(duì)的開發(fā)中起到了重要的協(xié)調(diào)作用。此外,還有一些與用戶打交道的文檔成為用戶使用軟件產(chǎn)品時(shí)最得力的助手。合格的軟件工程文檔應(yīng)該具備以下幾個(gè)特性。 (1)及時(shí)性(2)完整性(3)實(shí)用性 (4)規(guī)范性(5)結(jié)構(gòu)化(6)簡(jiǎn)潔性41軟件文檔的分類4212.8軟件過程能力成熟度模型軟件過程能力成熟度模型(CapabilityMaturityModel,CMM)是用于評(píng)估軟件能力與成熟度的一套標(biāo)準(zhǔn),它由美國(guó)卡內(nèi)基—梅隆大學(xué)軟件工程研究所推出,側(cè)重于軟件開發(fā)過程的管理及工程能力的提高與評(píng)估,是國(guó)際軟件業(yè)的質(zhì)量管理標(biāo)準(zhǔn)。軟件過程能力成熟度模型認(rèn)為,軟件質(zhì)量難以保證的問題在很大程度上是由管理上的缺陷造成的,而不是由技術(shù)方面的問題造成的。因此,軟件過程能力成熟度模型從管理學(xué)的角度出發(fā),通過控制軟件的開發(fā)和維護(hù)過程來保證軟件產(chǎn)品的質(zhì)量。它的核心是對(duì)軟件開發(fā)和維護(hù)的全過程進(jìn)行監(jiān)控和研究,使其科學(xué)化、標(biāo)準(zhǔn)化,能夠合理地實(shí)現(xiàn)預(yù)定目標(biāo)。434412.8軟件過程能力成熟度模型

軟件過程能力成熟度模型圖軟件過程能力成熟度模型的成熟度等級(jí)12.9.1軟件項(xiàng)目管理概述45軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)人員、產(chǎn)品、過程和項(xiàng)目進(jìn)行分析和管理的活動(dòng)。軟件項(xiàng)目管理包含5大過程、涉及9個(gè)知識(shí)領(lǐng)域。12.9.1軟件項(xiàng)目管理概述46軟件項(xiàng)目管理包含5大過程:?jiǎn)?dòng)過程確定一個(gè)項(xiàng)目或某階段可以開始,并要求著手實(shí)行;計(jì)劃過程進(jìn)行(或改進(jìn))計(jì)劃,并且保持(或選擇)一份有效的]可控的計(jì)劃安排,確保實(shí)現(xiàn)項(xiàng)目的既定目標(biāo);執(zhí)行過程協(xié)調(diào)人力和其他資源,并執(zhí)行計(jì)劃;控制過程通過監(jiān)督和檢測(cè)過程確保項(xiàng)目目標(biāo)的實(shí)現(xiàn),必要時(shí)采取一些糾正措施;收尾過程取得項(xiàng)目或階段的正式認(rèn)可,并且有序地結(jié)束該項(xiàng)目或階段。12.9.1軟件項(xiàng)目管理概述47軟件項(xiàng)目管理涉及9個(gè)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論