最近本身學習了一下課本第13章軟件項目管理,學完以後本身有一些感悟,而後寫下這篇總結以便更好的鞏固學習的知識程序員
做爲項目的管理人,而做爲項目計劃第一項計劃活動應該就是估算軟件規模了。 估算軟件規模的方法經常使用的有兩個 1, 代碼行技術,說簡單了就是實現一個功能所需的代碼行數。 具體的估算過程就是每一個人估算一個最小規模(a),最大規模(b),最可能的規模(m),而後分別算出三者的平均值aa,bb,mm, 而後最終結果L=(aa+4*mm+bb)/6; 單位爲(LOC或KLOC) 2, 功能點技術,這種方法用功能點(FP)爲單位估算軟件規模, 用這種方法估算軟件規模第一點就是要知道該技術定義的信息域的5個特性(Inp,Out,Inq,Maf,Inf) 而後就是「三步走」 I,每一個特性分類爲簡單級,平均級,複雜級,而後每一個特性分配一個功能點數, 以後計算UFP=a[1]*Inp+a[2]*Out+a[3]*Inq+a[4]*Maf+a[5]*Inf ; 其中a[i]可從信息域特性係數表中得到 II, 計算技術複雜性因子TCF 這裏要考慮14種技術因素對軟件規模的影響,對於每個因素,要爲之分配一個0-5的值, 而後把14種因素分配的值求和獲得DI, 那麼TCP = 0.65 + 0.01*DI III,這個時候就能夠直接算出功能點數FP了 FP = UFP * TCF
根據軟件規模這時候就能夠估算軟件的工做量了。工做量是軟件規模的函數,單位一般是人月(pm)。 經常使用的估算模型有三種 1, 靜態單變量模型 E = A + B * (ev)^C ; 這裏A,B,C 是由經驗導出的常數,E是計算結果(pm), ev是估算變量(KLOC 或P) 書上列舉了一些估算模型,這裏就再也不一一列舉, 2, 動態多變量模型 E = ((LOC*B^0.333/P)^3 )*(1/t)^4 ; 這裏E是計算結果(pm) t是項目持續時間(月或年),B是特殊技術因子,P是生產率參數,B,P可由對實際軟件的估算得到。 3, COCOMO2 E = a*(KLOC^b)*(f[1]*f[2]*f[3]*….*f[n]) ; 這裏E是計算結果(pm) a是模型係數,b是模型指數,KLOC是估計的源代碼行數,f[i]是成本因素,可由對項目的估算得到。
當對項目的工做量估算好以後,就得估算開發時間並制定一個足夠詳細的進度表了 1,估算開發時間 通常的成本估算模型同時也提供了估算開發時間T的方程,這裏能夠經過查閱書籍得到估算開發時間的方程。 2,Gantt(甘特)圖,工程網絡圖 關於圖的製做書上有詳細的介紹,對於這兩種圖而言,各有優缺點,通常聯合使用這兩種圖來指定進度計劃。
項目組組織結構是軟件項目取得成功的關鍵,一般有如下幾種組織結構 1,民主製程序員組 2,主程序員組 3,現代程序員組 根據場合的不一樣採用不一樣的組織方式。
歸納的說,軟件質量就是「軟件與明確的和隱含的定義的需求相一致的程度」 通常有如下幾種措施來保證軟件質量 1,技術複審 2,走查 3,審查 4,程序的正確性證實
因爲軟件開發的過程是迭代的,因此爲了控制和管理軟件開發過程出現的各類變化須要進行軟件配置管理 軟件配置包括:軟件配置項,基線, 軟件配置管理過程主要有如下幾個步驟。 1,標識軟件配置中的對象。 2,版本控制 3,變化控制 4,配置審計 5,狀態報告
能力成熟度模型(CMM)用於評價軟件機構的軟件過程能力成熟度的模型 基本思想:因爲軟件開發過程當中存在的問題是因爲人們管理軟件過程的方法不當引發的, 因此新的軟件技術的應用不會自動提升軟件的生產率和質量, 能力成熟度模型有助於軟件開發機構創建一個有規律,成熟的軟件過程。 能力成熟度有5個等級分別以下: 1,初始級 2,可重複級 3,已定義級 4,已管理級 5,優化級
一個軟件開發組織能夠用一系列小的改良性步驟邁入更高的成熟度等級。網絡
在學習了這一章的內容以後對於軟件項目管理有了一個比較深入的認識。當前項目中遇到的一些問題也在這一章找到了一些答案。函數