軟件項目管理概述和進度配置_第1頁
軟件項目管理概述和進度配置_第2頁
軟件項目管理概述和進度配置_第3頁
軟件項目管理概述和進度配置_第4頁
軟件項目管理概述和進度配置_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件項目管理概述和進度配置軟件項目管理概述進度管理配置管理13.1 軟件項目管理概述管理目標通常認為,項目成功的標志,也是項目管理人員爭取的目標,應該包括以下幾個方面。(1)達到項目預期的軟件產(chǎn)品功能和性能要求。也就是軟件產(chǎn)品達到了用戶已認可的需求規(guī)格說明的要求。(2)時限要求。項目應在合同規(guī)定的期限內(nèi)完成。 (3)項目開銷限制在預算之內(nèi)。 軟件項目管理涉及的幾個主要方面是人員、產(chǎn)品、過程和項目,即所謂4P(People、Product、Process、Project)。 (1)人員管理 美國卡內(nèi)基梅隆大學軟件工程研究所的Bill Curtis在1994年發(fā)表了“人員管理能力成熟度模型”(pe

2、ople capability maturity model,P-CMM)。該模型力圖通過吸引、培養(yǎng)、激勵、部署和騁用高水平的人才來提升軟件組織的軟件開發(fā)能力。管理涉及的范圍人員管理涉及: 共利益者。 包括: 項目的高級管理者負責項目商務問題的決策; 項目經(jīng)理負責項目的計劃與實施以及開發(fā)人員的組織與管理; 開發(fā)人員項目開發(fā)的實施者; 客戶提出需求并代表用戶與開發(fā)人員交往的人員; 最終用戶直接使用項目成果(產(chǎn)品)的人員。 團隊負責人。在小項目的情況下,項目經(jīng)理就是團隊負責人。而大型項目也許會有若干個設計、編程團隊或是若干個測試團隊。團隊負責人除去負有團隊日常工作的安排、組織和管理之外,還應特別注

3、意發(fā)揮團隊成員的潛能。管理涉及的范圍 團隊集體。團隊內(nèi)部有分工是必要的,但必須很好地配合,做到步調(diào)一致,為此必須強調(diào)以下3點。 個人的責任心,這是團隊完成工作的基本條件。 互相信任、尊重以及互相支持。 充分的交流與溝通。管理涉及的范圍管理涉及的范圍(2)產(chǎn)品管理 項目經(jīng)理必須在項目開始時就明確項目的以下三個目標: 產(chǎn)品的工作環(huán)境。 產(chǎn)品的功能和性能。 產(chǎn)品工作處理的是什么數(shù)據(jù),經(jīng)它處理后得到什么數(shù)據(jù)。 只有明確了項目的這些基本要求才能著手項目管理的各項工作,如項目估算、風險分析、項目計劃的制定等。 (3)過程管理 過程在軟件工程項目中是重要的因素,它決定著項目中開展哪些活動以及對活動的要求和開

4、展活動的順序。(4)項目管理 項目管理的任務是如何利用已有的資源,組織實施既定的項目,提交給用戶適用的產(chǎn)品。管理涉及的范圍項目管理要開展的主要工作可分為3類。 計劃及計劃管理。包括項目策劃及計劃制定、項目估算、風險分析及風險管理、進度管理、計劃跟蹤與監(jiān)督。 資源管理。包括人員管理(人員安排、使用)、成本管理、信息管理。 成果要求管理。包括需求管理、配置管理、質(zhì)量管理。 管理涉及的范圍 通常在項目的目標確定和軟件基本功能確定之后,就應該著手項目計劃的制定工作。項目估算是制訂計劃的基礎和依據(jù)。項目策劃與項目估算13.2 項目估算 項目策劃是項目開展初期階段的重要工作,其主要目標是得到項目計劃,或者

5、說計劃(plan)是策劃(planning)的結(jié)果。13.2 項目估算項目策劃中需要開展的活動(1) 確認并分析項目的特征。(2) 選擇項目將遵循的生存期模型,確定各階段的任務。(3) 確定應得到的階段性工作產(chǎn)品以及最終的產(chǎn)品。(4) 開展項目估算,包括估算產(chǎn)品規(guī)模、工作量、成本以及所需的關(guān)鍵計算機資源。(5) 制訂項目進度計劃。(6) 對項目風險進行分析。(7) 制訂項目計劃。 在項目估算中,要解決的問題是項目實施的幾個主要屬性,即將要開發(fā)產(chǎn)品的規(guī)模(size)、項目所需的工作量(effort)以及項目的成本(cost)。 13.2 項目估算(1)規(guī)模。項目的規(guī)模指的是得到最終軟件產(chǎn)品的大小

6、。一般以編程階段完成以后得到程序的代碼行表示,如以1千行代碼為單位,記為KLOC。當然,在項目的開始只是對代碼行的估計值。另一表示方法是功能點,記為FP,它是根據(jù)軟件需求中的功能估算的。13.2 項目估算13.2 項目估算(2)工作量。項目的工作量按項目將要投入的人工來考慮,以一個人工作一個月為單位,記為“人月”。(3)成本。軟件項目的成本通常只考慮投入的人工成本,如某項目投入的總?cè)斯べM用為12萬元。 成本計算一個軟件組織在完成多個項目以后積累了一些數(shù)據(jù),進行成本分析后便可得到自己的生產(chǎn)率數(shù)值和人工價格。 生產(chǎn)率是平均每個人月完成的源程序行數(shù),可記為KLOC/人月或FP/人月。 人工價則為每人

7、月的價值。有了這兩個數(shù)值,如果在估出項目規(guī)模以后就可以很容易得到項目的工作量和成本,即工作量=規(guī)模/生產(chǎn)率成本=工作量人工價13.2 項目估算項目估算的功能點方法功能點方法(function point)簡稱FP方法,該方法克服了項目開始時無法得知源程序行數(shù)的實際困難,從軟件產(chǎn)品的功能度(functionality)出發(fā)估算出軟件產(chǎn)品的規(guī)模。項目估算的功能點方法1功能度 功能點方法是以項目的需求規(guī)格說明中已經(jīng)得到確認的軟件功能為依據(jù),著重分析要開發(fā)系統(tǒng)的功能度,并且認為,軟件的大小與軟件的功能度相關(guān),而與軟件功能如何描述無關(guān),也與功能需求如何設計和實現(xiàn)無關(guān)。 項目估算的功能點方法1功能度 為具

8、體說明功能點方法,區(qū)分各種不同的功能,需要建立應用系統(tǒng)邊界的概念。應用系統(tǒng)邊界把目標應用系統(tǒng)與用戶和與其相關(guān)的應用系統(tǒng)分割開來。內(nèi)部功能僅限于應用系統(tǒng)的邊界之內(nèi),而外部功能則是跨邊界的。系統(tǒng)邊界 圖中系統(tǒng)A有4項功能都是跨越邊界的,稱其為外部功能。項目估算的功能點方法五種類型的功能:(1)外部輸入。外部輸入處理那些進入應用系統(tǒng)邊界的數(shù)據(jù)或是控制信息。經(jīng)特定的邏輯處理后,形成內(nèi)部邏輯文件。 (2)外部輸出。外部輸出處理離開應用系統(tǒng)邊界的數(shù)據(jù)或控制信息。 (3)內(nèi)部邏輯文件。是用戶可識別的邏輯相關(guān)數(shù)據(jù)或控制信息組,它可在應用系統(tǒng)邊界之內(nèi)使用。內(nèi)部邏輯文件代表應用系統(tǒng)可支持的數(shù)據(jù)存儲需求。項目估算的

9、功能點方法五種類型的功能:(4)外部接口文件。外部接口文件是用戶可識別的邏輯相關(guān)數(shù)據(jù)或控制信息構(gòu)成的集合,該控制信息為應用系統(tǒng)所使用,卻被另一應用系統(tǒng)所支持。外部接口文件代表應用系統(tǒng)外部支持的數(shù)據(jù)存儲需求。 (5)外部查詢。外部查詢是唯一的輸入/輸出組合,它為實現(xiàn)即時輸出引起所需數(shù)據(jù)的檢索,代表了應用系統(tǒng)查詢處理的需求。項目估算的功能點方法項目估算的功能點方法2功能復雜性 軟件項目每類功能的復雜程度可能各不相同,為表明功能復雜性的差別,將其分為簡單的、中等的和復雜的3個等級。同時為表示其差異程度,分別給予不同的影響參數(shù)。下表列出了功能復雜性的影響參數(shù)值。 3未調(diào)節(jié)功能點 只要能夠從規(guī)格說明中得

10、到了以上5種功能度的各級復雜性功能點的個數(shù)C,不難計算出未調(diào)節(jié)功能點的值。項目估算的功能點方法其中:i 代表功能度類型號;i=1,2,5; j 代表復雜性的等級;j1,2,3; ij是第i類功能度和第j級復雜性的影響參數(shù),即上表 中第i行,第j列的參數(shù)值; Cij是第i類功能度和第j級復雜度功能點的個數(shù)。 4調(diào)節(jié)因子任何軟件都會有其自身特性,在考慮其各種自身特性時,從以下兩個方面分解功能點計算的調(diào)節(jié)因子。(1)影響因子。經(jīng)過對各類軟件的分析,綜合出以下14種 類型的影響因子:項目估算的功能點方法數(shù)據(jù)通信分布數(shù)據(jù)處理性能目標系統(tǒng)配置要求事務率聯(lián)機數(shù)據(jù)錄入最終用戶效率聯(lián)機更新復雜的處理邏輯可復用性

11、 易安裝性 易操作性 多工作場所 設施變更(2)影響級。上述影響因子對軟件功能度的影響有多大必須加以區(qū)分,于是將影響因子的影響程度分為6級,即 0級 無影響 1級 微小影響 2級 輕度影響 3級 中度影響 4級 顯著影響 5級 重大影響 綜合考慮14類影響因子的影響度N,應是將14種影響疊加起來,其值為070(145)。由此得到復雜度調(diào)節(jié)因子(complexity adjustment factor,CAF) 其值應在,其中基本調(diào)節(jié)常數(shù)是,可見最大的調(diào)節(jié)量為35%。 項目估算的功能點方法5交付功能點 經(jīng)過調(diào)節(jié)因子調(diào)節(jié)后的功能點值被稱為交付功能點(delivered function point

12、,DFP) DFP=CAFUFP6交付功能點與軟件規(guī)模 一些研究成果表明,上述計算出的功能點的值可以代表軟件的規(guī)模,也可作為估算成本的依據(jù)。軟件的規(guī)??捎媒桓兜脑创a行數(shù)(delivered lines of code,DLOC)來表示。項目估算的功能點方法項目估算的功能點方法功能點與DLOC的對應關(guān)系如下表所示。例如, 1 DFP相當于105 DLOC(COBOL程序) 1 DFP相當于128 DLOC(C程序)7功能點方法的優(yōu)點(1)DFP只與由規(guī)格說明得到的信息相關(guān),而交付代碼的行數(shù)若不通過功能點計算是不能直接從規(guī)格說明中得到的。(2)DFP與實現(xiàn)軟件的語言無關(guān)。項目估算的功能點方法8功

13、能點方法的不足之處(1)針對需求規(guī)格說明進行分析時,主觀因素難以完全排除,這包括: 對于規(guī)格說明,每人可能有不同的解釋; 對于功能度的復雜性估計也可能因人而異; CAF計算時會有主觀因素。(2)非數(shù)據(jù)處理問題,如實時軟件、系統(tǒng)軟件、科學計算軟件等功能點的上述計算方法并不適用。(3)DFP的計算目前尚不能借助工具自動完成。 項目估算的功能點方法 1專家判定Delphi方法 專家判定技術(shù)就是由多位專家進行成本估算,取得多個估算值。有多種方法把這些估算值合成一個估算值,Read公司提出了Delphi技術(shù),作為統(tǒng)一專家意見的方法。可得到極為準確的估算值。軟件開發(fā)成本估算軟件開發(fā)成本估算標準Delphi

14、技術(shù)的步驟: 組織者發(fā)給每位專家一份軟件系統(tǒng)的規(guī)格說明書(略去名稱和單位)和一張記錄估算值的表格,請他們進行估算。 專家詳細研究軟件規(guī)格說明書的內(nèi)容,然后組織者召集小組會議,在會上,專家們與組織者一起對估算問題進行討論。 軟件開發(fā)成本估算標準Delphi技術(shù)的步驟: 各位專家對該軟件提出3個軟件規(guī)模的估算值,即ai該軟件可能的最小規(guī)模(最少源代碼行數(shù)); mi該軟件最可能的規(guī)模(最可能的源代碼行數(shù));bi該軟件可能的最大規(guī)模(最多源代碼行數(shù))。 無記名地填寫表格,并說明做此估算的理由。標準Delphi技術(shù)的步驟: 組織者對各位專家在表中填寫的估算值進行綜合和分類,做以下事情。 計算各位專家(序

15、號為i,i=1,2,n)的估算期望值Ei和估算值的期望中值E。 對專家的估算結(jié)果進行分析。軟件開發(fā)成本估算軟件開發(fā)成本估算標準Delphi技術(shù)的步驟: 組織者召集會議,請專家們對其估算值有很大差異之處進行討論。專家對此估算值另做一次估算。 在綜合專家估算結(jié)果的基礎上,組織專家再次無記名地填寫表格。 從步驟到步驟適當重復幾次,最終可獲得一個得到多數(shù)專家共識的軟件規(guī)模(源代碼行數(shù))。 最后,通過與歷史資料進行類比,根據(jù)過去完成項目的規(guī)模和成本等信息,推算出該軟件每行源代碼所需成本。然后再乘以該軟件源代碼行數(shù)的估算值,得到該軟件的成本估算值。 軟件開發(fā)成本估算2COCOMO模型軟件工程專家Barry

16、 Boehm在其著作軟件工程經(jīng)濟學中提出了軟件估算模型層次結(jié)構(gòu),稱為構(gòu)造式成本模型COCOMO(COnstructive Cost MOdel),也許這是在軟件界影響最為廣泛、最為著名的估算模型。軟件開發(fā)成本估算軟件開發(fā)成本估算(1) 3種類型的軟件COCOMO是針對Boehm劃分的3種類型軟件進行估算的。 固有型(organic mode)項目。規(guī)模較小,較為簡單的項目,開發(fā)人員對項目有較好的理解和較為豐富的工作經(jīng)驗。 嵌入型(embedded mode)項目。這類項目的開發(fā)工作緊密地與系統(tǒng)中的硬件、軟件和運行限制聯(lián)系在一起,如飛機的飛行控制軟件。 半獨立性(semi-detached mo

17、de)項目。項目的性質(zhì)介于上述兩個類型之間,其規(guī)模與復雜性均屬中等,如事務處理系統(tǒng),數(shù)據(jù)庫管理系統(tǒng)等。(2)COCOMO的3級模型 基本COCOMO模型(basic model)。 該模型為靜態(tài)、單變量,以估算出的源代碼行數(shù)計算。 開發(fā)工作量 (人月)軟件開發(fā)成本估算其中,KLOC為交付的千行代碼數(shù)。ab、bb為模型系數(shù)。 開發(fā)周期 (月) 系數(shù) 基本COCOMO模型系數(shù)如下表所示。軟件開發(fā)成本估算軟件開發(fā)成本估算 中級COCOMO模型(intermediate) 該模型除考慮源代碼行數(shù)外,還考慮調(diào)節(jié)因子(EAF),用其體現(xiàn)產(chǎn)品、軟件、人員和項目等因素。 開發(fā)工作量 系數(shù) 軟件開發(fā)成本估算 調(diào)

18、節(jié)因子EAF(effort adjustment factor)。包含了4類15種屬性,其值為。 高級COCOMO模型(advanced) 高級COCOMO模型除保留中級模型的因素外,還涉及軟件工程過程不同開發(fā)階段的影響,以及系統(tǒng)層、子系統(tǒng)層和模塊層的差別。 軟件可靠性在子系統(tǒng)層各開發(fā)階段有不同的調(diào)節(jié)因子。 軟件開發(fā)成本估算13.3 進度管理進度控制問題甘特圖時標網(wǎng)狀圖PERT圖1值得重視的現(xiàn)象 軟件項目能否按計劃的時間完成,及時提交產(chǎn)品是項目管理的一個重要課題。我們都希望按計劃及時完成,但項目未能按預期的進度提交產(chǎn)品,延誤工期的現(xiàn)象經(jīng)常會出現(xiàn)。我們必須重視這一現(xiàn)象,分析其原因,并有針對性地采

19、取措施。2制訂項目進度安排的條件 制訂項目進度安排計劃是為了實施,自然希望越準確,越符合實際越好,但是怎樣才能做到這一點,需要在這以前做些工作,創(chuàng)造良好的條件,使得進度安排的確定是有根據(jù)的。進度控制問題這些條件包括以下7條:(1)項目分解。無論多么大、多么復雜的項目都必須首先將其劃分成能夠管理的若干活動和若干任務,并且往往這種分解是多個層次的。 (2)確定各部分之間的相互關(guān)系。劃分后的活動和任務按項目本身的要求,必定存在著一定的相互依賴關(guān)系,如誰先誰后,或是兩者應該并行互不依賴等。 (3)時間分配。為每項活動和任務分配需要的時間,如需要多少人天的工作量。進度控制問題(4)確認投入的工作量。應確

20、認按項目要求的人力投入工作量在實際工作中能夠予以滿足,而不致出現(xiàn)某些工作階段人力投入不足的現(xiàn)象。(5)確定人員的責任。(6)規(guī)定工作成果。任何分配的任務都應給出符合要求的工作成果,它應該是整個項目的一個組成部分。(7)規(guī)定里程碑。任何一項工作完成后需經(jīng)過一定形式的檢驗,如經(jīng)過評審或?qū)徍耍ㄅ鷾剩┑玫秸J可,被認為確已完成,表示一個里程碑已經(jīng)完成。里程碑也被稱為基線。 進度控制問題甘特圖(Gantt chart)是表示工作進度計劃以及工作實際進度情況最為簡明的圖示方法。甘特圖中橫坐標表示時間,以水平線段表示子任務的工作階段,可以為其命名。線段的起點和終點分別對應著該項子任務的開工時間和完成時間,線段

21、的長度表示完成它所需的時間,有實線和虛線之分,一開始做出各項子任務的計劃時間,應該都以虛線表示。甘特圖 甘特圖可以清楚地表示各項子任務在時間對比上的關(guān)系,但無法表達多個子任務之間更為復雜的銜接關(guān)系。甘特圖甘特圖 為克服甘特圖的缺點,將甘特圖做了一些修改,形成了時標網(wǎng)狀圖(time scalar network),如右圖所示。圖中的任務以有向線段表示,其指向點表示任務間的銜接點,并且都給予編號,可以顯示出各子任務間的依賴關(guān)系。它顯示出比甘特圖具有優(yōu)越性。時標網(wǎng)狀圖 計劃評審技術(shù)(program evaluation and review techique,PERT)也稱網(wǎng)絡圖方法,或簡稱PERT

22、圖方法,它的另一名稱是關(guān)鍵路徑法(critical path method,CPM)。 PERT圖PERT圖PERT圖中以有向的箭頭作為邊表示子任務,它是有名稱(即子任務名)、有長度(即完成此項子任務所需的時間)的向量;以有編號的圓圈作為結(jié)點,它應該是子任務向量的始發(fā)點或指向點;由若干條邊和若干個結(jié)點構(gòu)成了網(wǎng)狀圖,于是我們可以沿相互銜接的子任務形成的路徑,進行路徑長度的計算、比較和分析,從而實現(xiàn)項目工期的控制。實例PERT圖實例分層PERT圖軟件工程項目隨著工作的進展會產(chǎn)生多種信息,包括技術(shù)資料、管理資料等,如何管好這些資料是項目管理面臨的重要問題。另一方面,還必須考慮到,這些資料和信息不僅不

23、斷地產(chǎn)生,而且還在不斷地演化和變更。如何遵循一套嚴謹、科學的管理辦法,使信息和資料的產(chǎn)生、存放、查找和使用既有序又高效,不致發(fā)生混亂和差錯的現(xiàn)象,這正是配置管理所要解決的問題。 13.4 配置管理13.4 配置管理配置管理概述軟件配置標識變更管理版本控制系統(tǒng)建立配置審核配置狀態(tài)報告軟件配置管理的目的是為某個過程或某個項目的軟件項建立和保持完整性,以便相關(guān)方便于使用。軟件配置管理要開展的活動包括:配置標識、配置控制、配置狀態(tài)報告、配置評價以及發(fā)布管理、交付等。 軟件配置管理概述軟件配置管理概述 我們將軟件配置管理的對象稱為軟件配置項(software configuration item),包括

24、:(1)與合同、過程、計劃和產(chǎn)品有關(guān)的文檔及數(shù)據(jù);(2)源代碼、目標代碼和可執(zhí)行代碼;(3)相關(guān)的產(chǎn)品,包括軟件工具、庫內(nèi)的可復用軟件、外購軟件及顧客提供的軟件。軟件配置管理的主要任務如下:(1)制訂軟件配置管理計劃。包括: 配置標識規(guī)則; 如何建立配置數(shù)據(jù)庫,并將配置項置于配置管理之下; 配置管理人員的職責及配置管理活動; 所采用的配置管理工具、技術(shù)和方法。(2)實施變更管理,防止項目進行中因變更導致的混亂。(3)實施版本管理和發(fā)布管理。 軟件配置管理概述軟件配置管理的工作是要解決下列問題:(1)采用什么方式去標識和管理數(shù)量眾多的程序、文檔等的各種版本?(2)在軟件產(chǎn)品交付用戶之前和交付之后

25、如何控制變更?實現(xiàn)有效的變更?(3)誰有權(quán)批準變更以及安排變更的優(yōu)先級?(4)用什么方法估計變更可能引起的其他問題? 這些問題的解決正是軟件配置管理應完成的任務:配置標識、版本管理、變更管理、配置審核及配置報告。 軟件配置管理概述 軟件配置是一個動態(tài)的概念。不僅隨著開發(fā)工作的進展會出現(xiàn)許多需控制的文檔,而且開發(fā)過程中會出現(xiàn)各種變更。為了達到特定的要求,必須對配置項進行控制,而實現(xiàn)控制的首先就要對它們命名,這正是配置標識的任務。 制訂適當?shù)拿?guī)則是配置標識的第1步工作。命名不能任意、隨機地進行,命名要求具有:(1)唯一性:目的在于避免出現(xiàn)重名,造成混亂;(2)可追溯性:使命名能夠反映命名對象間

26、的關(guān)系。 軟件配置標識軟件配置標識例如,可以采用層式命名規(guī)則以利反映樹狀結(jié)構(gòu),某樹狀結(jié)構(gòu)軟件的結(jié)構(gòu)圖如圖所示。CODE部分可沿樹狀結(jié)構(gòu)命名為 PCL-TOOLS/EDIT/FORMS/DISPLAY/AST-INTERFACE/CODE 可以利用面向?qū)ο蟮姆椒ㄟM行標識。通常需標識兩類型對象:基本對象和復合對象。 基本對象是由軟件工程師在分析、設計、編碼和測試時所建立的“文本單元”。 例如,基本對象可能是需求規(guī)格說明中的一節(jié),一個模塊的源程序清單、一組用來測試一個等價類的測試用例。復合對象則是基本對象和其他復合對象的集合。軟件配置標識軟件配置標識 復合對象實例:“設計規(guī)格說明”是一個復合對象,它

27、是一些基本對象(如“數(shù)據(jù)模型”和“模塊N”)的集合。 每個對象可用一組信息來唯一地標識,這組信息包括:(名字、描述、資源、實現(xiàn))對象的名字是一個字符串,它明確地標識對象。對象描述是一個表項,它包括:對象所表示的軟件配置項類型(如文檔、程序、數(shù)據(jù))、項目標識、變更或版本信息。資源是“由對象所提供的、處理的、引用的或其他所需要的一些實體”。例如,數(shù)據(jù)類型、特定函數(shù),甚至變量名都可以看做是對象資源。對于一個基本對象來說, “實現(xiàn)”是指向“文本單元”的指針,而對于復合對象來說,則為null(空)。軟件配置標識配置對象的標識還必須考慮在命名對象之間存在的聯(lián)系。 聯(lián)系: 一個對象可以是一個復合對象的一個組

28、成部分,使用聯(lián)系進行標識。這個聯(lián)系定義了對象的層次。例如, ER diagram 1.4 data model; data model Design Specification;聯(lián)系:對象之間的聯(lián)系可以跨越對象層次的分支相互關(guān)聯(lián)。 data model data flow model; 軟件配置標識1變更不可避免 軟件開發(fā)過程中變更是不可能避免的,變更控制就是要把變更嚴格地控制起來,隨時保留變更的有關(guān)信息,把精確、清晰的信息傳遞到開發(fā)過程的下一活動或下一任務,防止出現(xiàn)混亂。變更管理的任務如下:(1)分析變更,根據(jù)成本效益和涉及的技術(shù)等因素判斷變更實施的必要性,確定是否實施變更。(2)記錄變更信

29、息,并追蹤變更信息。(3)確保變更在受控條件下進行。為有效地實現(xiàn)變更控制需借助于配置數(shù)據(jù)庫和基線的概念。變更管理2配置數(shù)據(jù)庫 設置配置數(shù)據(jù)庫,使它發(fā)揮出以下作用:(1)用其收集與配置有關(guān)的所有信息;(2)評價系統(tǒng)變更的效果;(3)提供配置管理過程的管理信息。 變更管理變更管理配置數(shù)據(jù)庫可分為開發(fā)庫、受控庫和產(chǎn)品庫3類。 開發(fā)庫:專供開發(fā)人員使用,其中的信息可以進行頻繁的修改,對其控制相當寬松。 受控庫:其中存放在生存期某一階段工作結(jié)束時釋放的階段產(chǎn)品,這些是與軟件開發(fā)工作相關(guān)的計算機可讀信息和人工可讀信息。軟件配置管理正是對受控庫中的各個軟件項進行管理,受控庫也稱為軟件配置管理庫。 產(chǎn)品庫:在

30、開發(fā)的軟件產(chǎn)品完成系統(tǒng)測試后,作為最終產(chǎn)品存入產(chǎn)品庫中,等待交付用戶或現(xiàn)場安裝。3基線和變更控制 基線(baseline)是軟件生存期各開發(fā)階段末尾的特定點,也被稱為里程碑(milestone)。 它的作用是把各階段的開發(fā)工作劃分得更加明確,使得本來連續(xù)的工作在這些點上斷開,使之便于檢驗和確認階段開發(fā)成果。 它對變更控制起的作用是,不允許跨越里程碑去修改另一階段的工作成果。 變更管理 下圖所示為軟件開發(fā)過程的若干配置基線。以設計基線為例,若項目的進展已跨過了設計基線,開始了編碼工作,那么設計的變更必須受到嚴格的控制,原則上已不允許,應該認為,此時的設計已被“凍結(jié)”。變更管理4變更管理過程 變更

31、管理過程可用下圖給出的流程來說明。變更管理 變更請求表(change request form,CRF)的格式如下表所示。表中一些內(nèi)容需由變更分析人員對變更進行分析和評估以后填寫。 變更管理 “檢出”和“登入”處理實現(xiàn)了兩個重要的變更控制要素,即存取控制和同步控制。存取控制管理各個工程師存取或修改一個特定軟件配置對象的權(quán)限;同步控制可用來確保由不同的人所執(zhí)行的并發(fā)變更不會產(chǎn)生混亂。 變更管理變更管理存取和同步控制如圖所示。根據(jù)經(jīng)批準的變更請求和變更實施方案,軟件工程師從項目數(shù)據(jù)庫中檢出要變更的配置對象。 存取控制功能保證了軟件工程師有檢出該對象的權(quán)限。 同步控制功能則封鎖(lock)了項目數(shù)據(jù)

32、庫中的這個對象,使得當前檢出的版本在沒有被置換前不能再更新它。 變更管理變更管理軟件的變更通常有兩類不同的情況:為改正小錯誤需要的變更;為了增加或者刪掉某些功能,或者為了改變完成某個功能的方法而需要的變更。1版本管理和發(fā)行管理(1)版本管理版本管理(version management)是對系統(tǒng)不同版本進行標識和跟蹤的過程。版本標識的目的是便于對版本加以區(qū)分、檢索和跟蹤,以表明各個版本之間的關(guān)系。一個版本是軟件系統(tǒng)的一個實例,在功能上和性能上與其他版本有所不同,或是修正、補充了前一版本的某些不足。這些不同的版本可能在功能上是等價的,但它們分別適應于不同的硬件或軟件環(huán)境的要求。 版本控制(2)系

33、統(tǒng)發(fā)行 系統(tǒng)發(fā)行(system release)是分配給客戶一個版本,每次系統(tǒng)發(fā)行都應有新的功能或是針對不同的系統(tǒng)運行環(huán)境。通常軟件系統(tǒng)的版本數(shù)要比發(fā)行次數(shù)多,因為有的版本并未發(fā)行。例如,有的版本僅供開發(fā)機構(gòu)內(nèi)部使用,或是專供測試等。 通常一次發(fā)行不僅只是提供一個可執(zhí)行程序,或一套程序,可能還要包括: 配置文件:規(guī)定發(fā)行所作的特定安裝; 數(shù)據(jù)文件:系統(tǒng)運行所需的數(shù)據(jù); 安裝程序:表明系統(tǒng)如何安裝到目標機上; 電子文檔或書面文檔:這是對系統(tǒng)的描述。版本控制2版本標識 版本標識(version identification)是由版本的命名規(guī)則決定的。由于前后版本存在著傳遞關(guān)系,因此,如何正確地反映

34、這一傳遞關(guān)系,就應當體現(xiàn)在其命名中??赡苁褂玫拿?guī)則有下面所述的幾種:號碼順序型版本標識符號命名版本標識屬性版本標識版本控制版本控制(1)號碼順序型版本標識如下圖所示。這種標識十分明顯地給出了版本之間的傳遞關(guān)系,但是如果當前版本生出了多個新版本,標識就稍有困難。 (2)符號命名版本標識 用符號表達版本間的傳遞關(guān)系,如不用的形式,而采用V1/VMS/DB Server來表示一個在VMS操作系統(tǒng)上運行的數(shù)據(jù)庫服務器版本。(3)屬性版本標識 屬性版本標識是把有關(guān)版本的重要屬性反映在標識中,可以包括的屬性有:客戶名、開發(fā)語言、開發(fā)狀態(tài)、硬件平臺、生成日期等。每個版本都由唯一的一組屬性標識,即一組具有唯一性的屬性值。版本控制3發(fā)行管理 一個系統(tǒng)的新發(fā)行與新版本有著不同的含義。新版本是在修改發(fā)現(xiàn)的軟件缺陷后,開發(fā)出新的程序、形成新的系統(tǒng);新發(fā)行是除了寫出新的程序,形成新系統(tǒng)之外,還要為用戶準備數(shù)據(jù)

溫馨提示

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

評論

0/150

提交評論