軟件過程改進 PSP部分學習筆記

開始決定寫博客之後,把這裏當成新的知識庫好了,過段時間把之前存下來的筆記搬上來。

反正下雨天打孩子,閒着也是閒着。


軟件過程改進(Software Process Improvement,SPI)幫助軟件企業對其軟件過程改進進行計劃、措施制定以及實施。實施對象就是軟件企業的軟件過程,也就是軟件產品的生產過程。

個體軟件過程(Personal Software Process,PSP)一種可用於控制、管理和改進個人工作方式的自我持續改進過程,是一個包括軟件開發表格、指南和規程的結構化框架。獨立於具體技術,其原則可用於幾乎任何的軟件工程任務。

個體軟件過程是爲了幫助SE出色工作而存在的,幫助估計、計劃工作,提高程序質量。建立度量個體軟件開發過程改進的基準,確定過程的改變對軟件工程師能力的影響。

過程改進的步驟:定義質量目標,測量產品質量,瞭解過程,調整過程,應用調整過程,測量結果,結果與目標比較,循環調整過程至比較部分。

時間記錄日誌與周活動總結表包含階段性數據,因此均爲階段計劃文檔。

周活動總結表數據來源於時間記錄日誌。

階段計劃:基於時間段的計劃,指一段時間內對時間的安排。

產品計劃:基於活動的計劃。產品計劃是產品活動期間的時間安排。

作業編號日誌爲產品計劃文檔,時間數據來自時間記錄日誌。

產品計劃術語定義:

產品:爲客戶生產的物品,產品可爲有形產品,也可爲無形產品

項目:生產一種產品。

任務:已定義的一部分工作。

過程:完成項目的方法。

計劃:完成一個特定項目的方法

作業:你所做的事,項目或任務。

產品計劃的三個基本方面:規模估計,項目時間,項目進度計劃。

規模估計:通過當前任務規模與之前已有的相似經驗做出估計。

LOC(程序行 Lines of Code)規模估算:不統計註釋,空行,IDE生成的輔助代碼,只統計自己編寫的有效代碼。

進度管理

通常通過制定一個完整的進度表來實現。

進度:基於時間順序計劃活動的一個列表。

進度表制定步驟:分析由哪幾項任務組成->估計任務規模->列出每一項任務的開始與結束時間。

原則:確保每個人都知道要完成的任務,獲取每項任務承諾的完成時間,確定各任務間的依賴關係,依賴關係文檔化,消除涉及範圍內人員的衝突分歧與誤解,確保包含整個作業所需全部任務。

檢查點:項目中可測量的進度點稱爲檢查點,檢查點必須清晰明確無歧義,其完成情況可進行客觀驗證。

項目計劃:定義要完成的工作與如何做這項工作,是一個實際性能比較的基準,包含產品規模估計與完成工作所需時間的估計。

個體軟件開發過程:過程定義完成項目的方法,一個過程可包括多個階段,一個階段可包括多個任務或活動。

過程的每個階段應有明確的入口準則與出口準則。

已定義過程:有完整描述的過程。

個體軟件過程流程

缺陷:指程序中存在的錯誤,語法錯誤,邏輯錯誤等,爲任何影響程序完整而有效地滿足用戶要求的客觀存在的事物。

缺陷管理關鍵是缺陷分類,再進行處理或修復。

發現缺陷的步驟:標識缺陷徵兆,從徵兆推斷出缺陷的位置,確定程序中的錯誤,決定修復方式,修復缺陷,驗證

缺陷發現的方式:編譯器,測試,用戶反饋,個人代碼複查。

代碼複查的目標是在軟件開發過程中儘可能早和多地發現缺陷。

代碼複查檢查表

保證代碼複查遵循一個精確的規程,發現與改正程序中的缺陷,並使過程具有可查數據。

檢查表需要不斷更新不斷改進。

缺陷預測

估計程序缺陷個數,對比過往數據估計當前開發程序質量,決定是否需要增加一些缺陷排除步驟。

缺陷密度:每千行代碼缺陷數稱爲缺陷密度,單位爲Defects/KLOC

缺陷密度步驟:

累計每個過程階段發現的缺陷總數(D)

統計新開發的和修改的代碼行數(N)

缺陷密度Dd=1000*D/N

缺陷估計:

估計程序可能有多少新的和修改的代碼行 (Nplan)

計算以前開發的程序的每千行源代碼平均缺陷數(Ddplan)

估計缺陷數:Dplan=Nplan*Ddplan/1000

缺陷排除效益、缺陷引入率與排除率

缺陷排除效益:測量通過某一排除方法所發現的缺陷的百分比。在PSP中,使第一次編譯與測試前發現缺陷的百分比,也叫過程效益。缺陷排除效益=該方法發現的缺陷/缺陷總數

累計缺陷引入率:計算階段內每小時引入的缺陷數,公式爲 60*階段引入缺陷數/階段累計花費分鐘數

累計缺陷排除率:計算階段內每個小時派出的缺陷數,計算公式爲60*階段排除缺陷數/階段累計花費分鐘數

減少缺陷引入率的方法

記錄所有的缺陷數據,生產更好的軟件設計,使用更好的方法,使用更好的工具

提高缺陷排除率的方法:

集中提高缺陷排除效益,必須使缺陷排除效益穩定於70%或更高

第一次編譯前做代碼複查 定期更新代碼複查檢查表

 

過程測量:

程序質量取決於過程質量,過程質量取決於軟件工程師工作方式。

最基本的過程測量包括所生產的產品的產量,產品的質量,以及完成工作需要的時間與資源,從這些方面的可以確定當前過程的性能以及將來如何改進過程以生產更好的產品。

PSP只從缺陷引入與排除兩個方面來對過程進行測量

質量成本:過失成本、質檢成本、預防成本。

過失成本:包括修復產品缺陷的所有費用。

質檢成本:包括評估產品質量以確定產品中是否仍留有缺陷的所有工作,爲保障費用

預防成本:修改過程以避免引入缺陷所帶來的費用

過失質量成本計算:所有編譯測試時間佔總開發時間的百分比

質檢質量成本計算:所有複查時間佔總開發時間的百分比

質檢/過失比(A/FR):

質檢成本除以過失成本



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章