軟件過程與管理(第2-4章PSP)_第1頁
軟件過程與管理(第2-4章PSP)_第2頁
軟件過程與管理(第2-4章PSP)_第3頁
軟件過程與管理(第2-4章PSP)_第4頁
軟件過程與管理(第2-4章PSP)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精選優(yōu)質(zhì)文檔傾情為你奉上精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)專心專注專業(yè)精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)第2~4章個體軟件過程(PSP)個體軟件過程(PersonalSoftwareProcess,簡稱PSP):包括了數(shù)據(jù)記錄表格、過程操作指南和規(guī)程在內(nèi)的結(jié)構(gòu)化框架,個人級用于控制、管理和改進軟件工程師個人工作方式的持續(xù)改進過程;最早由卡內(nèi)基梅隆大學(xué)軟件工程研究所(CMU/SEI)的Humphrey領(lǐng)導(dǎo)開發(fā);與后續(xù)的TSP很好的彌補了CMM的缺陷,形成了個體軟件工程師、小組再到組織的完整的過程改進體系。PSP基本原則軟件系統(tǒng)的整體質(zhì)量由該系統(tǒng)中質(zhì)量最差的某些組件所決定;軟件組件的質(zhì)量取決于開發(fā)這些組件的軟件工程師,更加確切的說,是由這些工程師所使用的開發(fā)過程所決定;作為合格的軟件工程師,應(yīng)當自己度量、跟蹤自己的工作,應(yīng)當自己管理軟件組件的質(zhì)量;作為合格的軟件工程師,應(yīng)當從自己開發(fā)過程的偏差中學(xué)習(xí)、總結(jié),并將這些經(jīng)驗教訓(xùn)整合到自己的開發(fā)實踐中,也就是說,應(yīng)當建立持續(xù)地自我改進機制。PSP成熟度級別PSP過程度量:僅僅考慮最基本的三個度量項,即時間、缺陷和規(guī)模,并由這三個基本度量項衍生出數(shù)個統(tǒng)計指標,如PQI、A/FR等。度量時間和度量缺陷見下面給的考題的第1題,缺陷再看一張表書P53表2-2,英文不想改了,需要的看下書對應(yīng)上就好。度量規(guī)模:PSP對于規(guī)模度量沒有明確的定義,可以定義并且使用任何合適的規(guī)模度量方式;但PSP對于規(guī)模度量方式的選擇提供了參考的標準,即選擇的規(guī)模度量方式必須反映開發(fā)成本;選擇的度量方式必須精確;選擇的度量方式必須能用自動化方法來統(tǒng)計;選擇的度量方式必須有助于早期規(guī)劃;規(guī)模度量這塊注意一個問題:代碼行(LOC)—分為邏輯行和物理行和功能點(FP)的對比;精確的度量方式往往不便于早期規(guī)劃;有助于早期規(guī)劃的度量往往難以產(chǎn)生精確度量結(jié)果;LOC可以很精確的度量軟件產(chǎn)品規(guī)模,也方便開發(fā)相應(yīng)的規(guī)模統(tǒng)計工具,但是,在項目初始階段,往往很難估算程序的代碼行;FP在項目早期容易識別,但是,一來功能點的度量往往比較粗略,而且?guī)缀醪淮嬖诳梢詫δ茳c進行自動化統(tǒng)計的方法。早期規(guī)劃問題:PSP使用一種稱為代理(Proxy)的方式來解決,尋找一種便于早期規(guī)劃的規(guī)模度量的代理,建立這種代理與精確度量之間的關(guān)系,即PROBE(PROxyBasedEsitimation)方法的由來。PROBE方法估算原理:相對大小矩陣,從統(tǒng)計不同用途的房子(不同用途的代碼段)數(shù)目和其相對大?。ㄒ?guī)模,一般為代碼行)入手,例子就是建房子的例子,想不起來的話看書P55的表2-5通用計劃框架(如果不能理解這個圖再看字書P56,感覺圖示記憶容易)估算流程這里給出了一堆的公式,個人認為主要理解這個流程,記住2個最基本的公式就可以了,那么復(fù)雜不會手算的。理解下面兩個式子里E都是為代理規(guī)模(和最終的計劃規(guī)模一般是不相等的)。應(yīng)用整理歷史數(shù)據(jù):相關(guān)大小矩陣作用很重要,三種計算方法——簡單方法、正態(tài)分布、對數(shù)正態(tài)分布簡單方法:統(tǒng)計每個方法代碼行數(shù),最小的作為VS,最大的為VL,中值為M;S為VS何M的均值,L為VL和M的均值正態(tài)分布:選擇所有數(shù)據(jù)均值為M,計算標準差σ;則S=M-σ,VS=M-2σ,L=M+σ,VL=M+2σ對數(shù)正態(tài)分布:和正態(tài)對比,小規(guī)模的明顯比大規(guī)模多,且正態(tài)可能算出負值,不符實際;所以,以e為底計算所有數(shù)據(jù)的自然對數(shù);計算取對數(shù)之后的值的均值作為M,計算相應(yīng)標準差σ;則S=M-σ,VS=M-2σ,L=M+σ,VL=M+2σ;再取反對數(shù)對比:簡單方法——計算簡單,但是,不穩(wěn)定;正態(tài)分布法——相對穩(wěn)定,在歷史數(shù)據(jù)基本符合正態(tài)分布的情況下,可以給出非常好的相對大小矩陣;對數(shù)正態(tài)分布法——更加符合人們對于程序的規(guī)模的直觀感覺有限歷史數(shù)據(jù):兩個統(tǒng)計學(xué)概念,相關(guān)性和顯著性。前者描述兩組變化數(shù)據(jù)之間相關(guān)程度,后者描述兩組數(shù)據(jù)的相關(guān)關(guān)系出現(xiàn)的偶然性。公式不用看,記住前面那個寫法是rx,y,后面那個通常記為s,具體的估算規(guī)模的方法分類和指標要求看下面給出的試題的第4題或書P62和P63的兩張表處理極端數(shù)據(jù):極端數(shù)據(jù)會造成相關(guān)性的假象,此時就需要看顯著性這個指標,剔除極端數(shù)據(jù)重新選擇PROBE方法。質(zhì)量與質(zhì)量策略PSP的質(zhì)量觀:PSP中采用了面向用戶的視圖,定義質(zhì)量為滿足用戶需求的程度。PSP質(zhì)量策略:用缺陷管理來替代質(zhì)量管理;高質(zhì)量產(chǎn)品也就意味著要求組成軟件產(chǎn)品的各個組件基本無缺陷。不同缺陷消除方式消除缺陷的平均時間:具體的時間不用記,記住缺陷消除的平均代價隨著開發(fā)過程的進展會顯著增加。評審和測試:個人評審(Review)和團隊評審(Inspection)在發(fā)現(xiàn)缺陷的效率上往往高于系統(tǒng)測試。測試消除缺陷的典型流程:發(fā)現(xiàn)待測程序的一個異常行為;理解程序的工作方式;調(diào)試程序,找出出錯的位置,確定出錯原因;確定修改方案,修改缺陷;回歸測試,以確認修改有效評審消除缺陷的典型流程:遵循評審者的邏輯來理解程序流程;發(fā)現(xiàn)缺陷的同時,也知道了缺陷的位置和原因;修正缺陷;評審過程質(zhì)量:接上面的質(zhì)量策略,各個組件的高質(zhì)量是通過高質(zhì)量評審來實現(xiàn)的評審檢查表:一份個性化的用于有效指導(dǎo)軟件工程師開展評審活動的表格;兩個步驟,建立和維護;使用質(zhì)量指標(這里很值得注意,名詞解釋和計算都有可能涉及這部分):Yield、A/FR和PQI見下面給出的往年考試題的第2題ReviewRate:評審速度,恰當不是太快不是太慢;在實踐中,代碼規(guī)模一般以LOC為單位,文檔一般以頁(Page)為單位,時間單位為小時,給出統(tǒng)計數(shù)據(jù)表明的速度,代碼評審速度小于200LOC/小時,文檔評審速度小于4Page/小時。Defect-removalLeverage:缺陷消除效率比,DRL,度量不同缺陷消除手段消除缺陷的效率;其計算方式是以某個測試階段(一般為單元測試)每小時發(fā)現(xiàn)的缺陷數(shù)為基礎(chǔ)(通常選擇單元測試作為基礎(chǔ)),其他階段每小時發(fā)現(xiàn)缺陷數(shù)與該測試階段每小時發(fā)現(xiàn)的缺陷的比值就是DRL。評審其他考慮因素:打印后評審:單個屏幕可以展現(xiàn)的內(nèi)容比較有限;評審人員的注意力評審時機選擇:編譯(UT)之前VS.之后個人評審和小組評審:小組評審意義;先后順序組織形式缺陷預(yù)測&預(yù)防設(shè)計與質(zhì)量:低劣的設(shè)計是導(dǎo)致在軟件開發(fā)中返工、不易維護以及用戶不滿的主要原因;充分設(shè)計可以顯著減少最終程序的規(guī)模,提升質(zhì)量;設(shè)計本身也是一種排錯的過程。設(shè)計過程設(shè)計什么:設(shè)計目標程序在整個應(yīng)用系統(tǒng)中的位置;設(shè)計目標程序的使用方式;設(shè)計目標程序與其他組件以及模塊之間的關(guān)系;設(shè)計目標程序外部可見的變量和方法;設(shè)計目標程序內(nèi)部運作機制;設(shè)計目標程序內(nèi)部靜態(tài)邏輯;設(shè)計內(nèi)容設(shè)計模板(對應(yīng)設(shè)計信息內(nèi)容歸類):具體四個模板的全程概念內(nèi)容見下面給出的試題的第4題,不會讓你真的去寫。設(shè)計的考慮UML與PSP設(shè)計模板的關(guān)系:書P91表4-7和上面那張表對應(yīng)一看就夠了。需要注意的是有一個模板在UML中沒有體現(xiàn),LST。設(shè)計的層次基本思想:大型系統(tǒng)劃分為若干子系統(tǒng),每個子系統(tǒng)劃分為若干組件,每個組件劃分為若干模塊。在不同設(shè)計層次上開展設(shè)計工作,記錄設(shè)計的表示方法也需要適應(yīng)多層次要求,就是在每個不同層次上使用4個模板,不理解看書P93頁兩幅巨圖……設(shè)計驗證方法:簡單評審不足以發(fā)現(xiàn)復(fù)雜缺陷。方法:狀態(tài)機驗證、符號化執(zhí)行驗證、執(zhí)行表驗證、跟蹤表驗證、正確性驗證。具體每種方法是怎么驗證的需要就看書吧,不好整理,也不好考,這里個人認為問到各種驗證方法的對比還是有可能的。可能的題目:羅列驗證設(shè)計方法,簡單描述,比較優(yōu)勢和不足狀態(tài)機驗證:檢驗狀態(tài)機——檢查狀態(tài)轉(zhuǎn)換——評價狀態(tài)機;適用于有較復(fù)雜的狀態(tài)轉(zhuǎn)換的場合,可以清晰的展示狀態(tài)機的內(nèi)部結(jié)構(gòu),但是驗證方法較為復(fù)雜難掌握,結(jié)果有時是不明顯的,難以修正,純手工的驗證方法容易引入一些人為錯誤;符號化驗證:將描述設(shè)計的邏輯風(fēng)格(一般用偽代碼程序表示)用代數(shù)符號來表示,然后系統(tǒng)開展分析和驗證;通常用在驗證一些復(fù)雜算法中,特別是遺留系統(tǒng)的改造,往往應(yīng)用這種方法來識別和理解原有的設(shè)計;實施簡單,可給出一般化的驗證結(jié)果,很多時候往往是唯一提供全面驗證的方法,但是不適用于有復(fù)雜邏輯的場合,純手工的驗證方法容易引入一些人為錯誤;執(zhí)行表驗證:執(zhí)行表用一種有序的方法來跟蹤偽碼程序的執(zhí)行狀況,分析程序行為,從而驗證設(shè)計;執(zhí)行表驗證可以用以復(fù)雜邏輯的驗證,實施簡單,結(jié)果可靠,但這種方法也有一些不足,比如每次只能驗證一個用例,手工驗證既耗時,也容易出錯等;跟蹤表驗證:跟蹤表驗證方法是對執(zhí)行表驗證方法的一種擴充,執(zhí)行表一般只能用以驗證單獨的用例,跟蹤表應(yīng)用符號化以及用例識別等方法,對程序的一般化行為進行驗證;優(yōu)缺點與執(zhí)行表一致;正確性檢驗:正確性檢驗將偽碼程序當成數(shù)學(xué)定理,采用形式化方法加以推理和驗證;該方法是幾種驗證方法中最嚴密的,但是也因此是最復(fù)雜最難掌握的,手工驗證也有出錯的可能。給出以前某些PSP考試的題目,基本都是大概念,看了這些概念基本可以了,其中的名詞和術(shù)語答卷時建議用英文,敘述性語言建議用中文。描述時間日志和障礙日志的內(nèi)容在兩個日志的頭部分有關(guān)于項目的一些通用信息;時間日志(TimeRecordingLog):時間日志用來記錄時間數(shù)據(jù)。關(guān)于時間數(shù)據(jù)需要填寫的內(nèi)容有:Phase:選擇你正在工作的這條時間記錄是屬于哪個階段。Start::記錄你開始工作的日期時間。雙擊即可在工具中輸入現(xiàn)在的日期和時間。Int.:以分鐘為單位輸入中斷時間。Stop::記錄你結(jié)束工作的日期時間。雙擊即可在工具中輸入現(xiàn)在的日期和時間。DeltaTime:該條記錄的合計時間,將被自動計算。Comments:用于描述中斷,你正在做的任務(wù)或者其他任何對你的工作有顯著影響的事情。缺陷日志(DefectRecordingLog):缺陷日志用來記錄時間數(shù)據(jù)。關(guān)于障礙數(shù)據(jù)需要填寫的內(nèi)容有:Type:記錄缺陷類型,該缺陷類型為缺陷類型標準中定義的十種缺陷類型之一。Date:記錄發(fā)現(xiàn)該缺陷的日期時間。雙擊輸入現(xiàn)在的日期時間。PhaseInjected:選擇或者輸入你判斷該缺陷是在哪個階段引入的。PhaseRemoved:記錄你發(fā)現(xiàn)并修復(fù)該缺陷的階段。Fixtime:記錄你找到和修復(fù)該缺陷總計花費的時間。你可以精確計時,或者使用你的最佳估計值。Fixdefect:如果這個缺陷是在修復(fù)另一個缺陷時引入的,記錄那個缺陷的編號。Description:記錄有關(guān)缺陷是什么的解釋(不是解釋癥狀,是解釋這個缺陷?。=忉屜旅娴闹笜?,描述計算方法和應(yīng)用這些指標來提高最終產(chǎn)物的質(zhì)量水平:Yield、A/FR、PQI(ProcessQualityIndex)。Yield:Phaseyield度量產(chǎn)品中某階段發(fā)現(xiàn)和移除的缺陷的百分比。Yield能用于度量設(shè)計和編碼復(fù)審,審查,編譯以及測試的有效性。計算式如下:Yield(foraphase)=100*(defectsfound)/(defectsfound+notfound)Processyield是在這個階段之前引入的缺陷isthepercentageofdefectsinjectedbeforeaphasethatwerefoundbeforethatphase.。例如,系統(tǒng)測試之前的yield是系統(tǒng)測試的processyield。當不帶階段名使用時,processyield指的是在編譯和測試之前的phaseyield。Yield可以用來估算但是直到已經(jīng)通過測試和產(chǎn)品使用找到所有缺陷后才能準確計算。Yield度量在開發(fā)者和測試者記錄所有缺陷的時候最有用。designandcodereviewdefectscompiledefectstestdefects通過使用過程控制度量,你更可能進行高yield(high-yield)的復(fù)審A/FR(Appraisaltofailureratio):A/FR=(appraisalCOQ)/(failureCOQ)A/FR經(jīng)驗:A/FR度量是與項目相關(guān)的;對于PSP練習(xí),A/FR的目標是2.0或更高。高A/FR與測試缺陷的數(shù)量少以及高產(chǎn)品質(zhì)量相關(guān)。項目應(yīng)當基于估算的無缺陷測試次數(shù)設(shè)置A/FR目標。由于提到A/FR,這里必須解釋一下COQ(CostofQuality)。COQ度量以一種對于管理有意義的方式處理質(zhì)量。COQ元素是failure,appraisal和preventioncosts.Failurecost是花在修復(fù)和返工上的時間加上所有小塊時間。在PSP中,即為編譯和測試時間。Appraisalcosts是為發(fā)現(xiàn)缺陷所做的審查花費。在PSP中就是設(shè)計和編碼復(fù)審時間。Defect-preventioncost是識別和解釋缺陷原因的時間。通常在小組或團體中完成,并由其中一名支持部門成員完成。對于PSPdefectprevention行為包括收集缺陷數(shù)據(jù),改善設(shè)計手段和原型。PQI(ProcessQualityIndex):PQI=(designquality)*(designreviewquality)*(codereviewquality)*(codequality)*(programquality)Designquality=minimum(1.0,designtime/codingtime)Designreviewquality=minimum(1.0,2*designreviewtime/designtime)Codereviewquality=minimum(1.0,2*codereviewtime/codetime)Codequality=minimum(1.0,20/(10+compiledefects/KLOC)Programquality=minimum(1.0,10/(5+unittestdefects/KLOC))PQI低于0.4在單元測試后已經(jīng)沒有缺陷了,但PQI的目標是1.0。使用PROBE方法估算時間總共有幾種方法。請分別描述各種方法的使用條件(Criteria)。答:(這里只問了時間,規(guī)模只在回歸參數(shù)的標準上稍有不同,其他可以類推,可見書上表格)PROBE是PROxyBasedEsitimating的簡稱。PROBE方法使用proxy來估算程序規(guī)模和開發(fā)時間。(PROBEstandsforPROxyBasedEstimating.PROBEusesproxiestoestimateprogramsizeanddevelopmenttime.)Method簡要A使用estimatedproxysize進行回歸B使用planaddedandmodifiedsize進行回歸C一般方法D工程師判斷(猜)PROBE-A:使用estimatedproxysize(作為proxyE)和developmenttime之間的關(guān)系。使用此方法的條件是三組或以上相關(guān)數(shù)據(jù)(R^2>0.5)合理的回歸參數(shù)(table6.6onpg.96):beta0接近0(大體上小于新程序期望開發(fā)時間),beta1不大于1/歷史生產(chǎn)效率的50%至少完成三個PSP1級別以上的練習(xí)PROBE-B:使用planaddedandmodifiedsize和developmenttime之間的關(guān)系。使用此方法的條件是三組或以上相關(guān)數(shù)據(jù)(R^2>0.5)合理的回歸參數(shù)(table6.6onpg.96):beta0接近0(大體上小于新程序期望開發(fā)時間),beta1不大于1/歷史生產(chǎn)效率的50%至少完成三個PSP0.1級別以上的練習(xí)PROBE-C:基于歷史平均水平使用一個比值ratio調(diào)整時間。使用此方法的條件是只需要一組歷史數(shù)據(jù)即可,使用簡單。分下列三種情況設(shè)置回歸參數(shù)的值。如果有一組estimatedaddedandmodifiedsize和developmenttime的歷史數(shù)據(jù),beta0為0,beta1為actualtotaldevelopmenttimetodate比estimatedtotaladdedandmodifiedsizetodate如果有一組planaddedandmodifiedsize和developmenttime的歷史數(shù)據(jù),beta0為0,beta1為actualtotaldevelopmenttimetodate比plantotaladdedandmodified

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論