版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.個(gè)人軟件過(guò)程個(gè)人軟件過(guò)程PSP是一種可用于控制、管理和改進(jìn)個(gè)人工作方式的自我持續(xù)改進(jìn)過(guò)程,是一個(gè)包括軟件開(kāi)發(fā)表格、指南和規(guī)程的構(gòu)造化框架。PSP與詳細(xì)的技術(shù)程序設(shè)計(jì)語(yǔ)言、工具或者設(shè)計(jì)方法相對(duì)獨(dú)立,但其原那么可以應(yīng)用到幾乎任何的軟件工程任務(wù)之中。它可以說(shuō)明個(gè)體軟件過(guò)程的原那么、 幫助軟件工程師作出準(zhǔn)確的方案、確定軟件工程師為改善產(chǎn)品質(zhì)量要采取的步驟、建立度量個(gè)體軟件過(guò)程改善的基準(zhǔn)、確定過(guò)程的改變對(duì)軟件工程師的才能的影響。l 概述隨著軟件工程知識(shí)的普及,要開(kāi)發(fā)高質(zhì)量的軟件,必須改進(jìn)軟件消費(fèi)的過(guò)程。目前,業(yè)界公認(rèn)由CMU/SEI開(kāi)發(fā)的軟件才能成熟度模型SW-CMM是當(dāng)前最好的軟件過(guò)程,并且CMM已
2、經(jīng)成為事實(shí)上的軟件過(guò)程工業(yè)標(biāo)準(zhǔn)。但是CMM雖然提供了一個(gè)有力的軟件過(guò)程改進(jìn)框架,卻只告訴我們應(yīng)該做什么,而沒(méi)有告訴我們應(yīng)該怎樣做,并未提供有關(guān)實(shí)現(xiàn)關(guān)鍵過(guò)程域所需要的詳細(xì)知識(shí)和技能。為了彌補(bǔ)這個(gè)欠缺,Humphrey又主持開(kāi)發(fā)了個(gè)體軟件過(guò)程Personal Software Process,PSP。在CMM1.1版本的18個(gè)關(guān)鍵過(guò)程域中有12個(gè)與PSP有關(guān),據(jù)統(tǒng)計(jì),軟件工程開(kāi)發(fā)本錢(qián)的70%取決于軟件開(kāi)發(fā)人員個(gè)人的技能、經(jīng)歷和工作習(xí)慣。因此,一個(gè)單位的軟件開(kāi)發(fā)人員如能承受PSP培訓(xùn),對(duì)該單位軟件才能成熟度的晉級(jí)是一個(gè)有力的保證。CMM側(cè)重于軟件企業(yè)中有關(guān)軟件過(guò)程的宏觀管理,面向軟件開(kāi)發(fā)單位,PSP
3、那么側(cè)重于企業(yè)中有關(guān)軟件過(guò)程的微觀優(yōu)化,面向軟件開(kāi)發(fā)人員。二者互相支持,互相補(bǔ)充,缺一不可。按照PSP規(guī)程,改進(jìn)軟件過(guò)程的步驟首先需要明確質(zhì)量目的,也就是軟件將要在功能和性能上滿(mǎn)足的要求和用戶(hù)潛在的需求。接著就是度量產(chǎn)品質(zhì)量,有了目的還不行,目的只是一個(gè)原那么性的東西,還不便于實(shí)際操作和判斷,因此,必須對(duì)目的進(jìn)展分解和度量,使軟件質(zhì)量可以測(cè)量。然后就是理解當(dāng)前過(guò)程,查找問(wèn)題,并對(duì)過(guò)程進(jìn)展調(diào)整。最后應(yīng)用調(diào)整后的過(guò)程,度量理論結(jié)果,將結(jié)果與目的做比較,找出差距,分析原因,對(duì)軟件過(guò)程進(jìn)展持續(xù)改進(jìn)。就像CMM為軟件企業(yè)的才能提供一個(gè)階梯式的進(jìn)化框架一樣,PSP為個(gè)體的才能也提供了一個(gè)階梯式的進(jìn)化框架。
4、以循序漸進(jìn)的方法介紹過(guò)程的概念,每一級(jí)別都包含了更低一級(jí)別中的所有元素,并增加了新的元素。這個(gè)進(jìn)化框架是學(xué)習(xí)PSP過(guò)程根本概念的好方法,它賦予軟件人員度量和分析工具,使其清楚地認(rèn)識(shí)到自己的表現(xiàn)和潛力,從而可以進(jìn)步自己的技能和程度。l 個(gè)體度量過(guò)程PSP0和PSP0.1PSP0的目的是建立個(gè)體過(guò)程基線(xiàn),通過(guò)這一步,學(xué)會(huì)使用PSP的各種表格采集過(guò)程的有關(guān)數(shù)據(jù),此時(shí)執(zhí)行的是該軟件開(kāi)發(fā)單位的當(dāng)前過(guò)程,通常包括方案、開(kāi)發(fā)包括設(shè)計(jì)、編碼、編譯和測(cè)試以及后置處理三個(gè)階段,并要作一些必要的試題,如測(cè)定軟件開(kāi)發(fā)時(shí)間,按照選定的缺陷類(lèi)型標(biāo)準(zhǔn)、度量引入的缺陷個(gè)數(shù)和排除的缺陷個(gè)數(shù)等,用作為測(cè)量在PSP的過(guò)程中進(jìn)步的基
5、準(zhǔn)。PSP0.1增加了編碼標(biāo)準(zhǔn)、程序規(guī)模度量和過(guò)程改善建議等三個(gè)關(guān)鍵過(guò)程域,其中,過(guò)程改善建議表格用于隨時(shí)記錄過(guò)程中存在的問(wèn)題、解決問(wèn)題的措施以及改進(jìn)過(guò)程的方法,以進(jìn)步軟件開(kāi)發(fā)人員的質(zhì)量意識(shí)和過(guò)程意識(shí)。應(yīng)該強(qiáng)調(diào)指出,在PSP0階段必須理解和學(xué)會(huì)使用表格進(jìn)展規(guī)劃和度量的技術(shù)和經(jīng)歷,以準(zhǔn)確地滿(mǎn)足期望的需求,其中最重要的是要保持?jǐn)?shù)據(jù)的一致性、有用性和簡(jiǎn)潔性。l 個(gè)體規(guī)劃過(guò)程PSP1和PSP1.1PSP1的重點(diǎn)是個(gè)體方案,引入了基于估計(jì)的方案方法PROBE,用自己的歷史數(shù)據(jù)來(lái)預(yù)測(cè)新程序的大小和需要的開(kāi)發(fā)時(shí)間,并使用線(xiàn)性回歸方法計(jì)算估計(jì)參數(shù),確定置信區(qū)間以評(píng)價(jià)預(yù)測(cè)的可信程度。PSP1.1增加了對(duì)任務(wù)和進(jìn)
6、度的規(guī)劃。在PSP1階段應(yīng)該學(xué)會(huì)編制工程開(kāi)發(fā)方案,這不僅對(duì)承擔(dān)大型軟件的開(kāi)發(fā)非常重要,即使是開(kāi)發(fā)小型軟件也必不可少。因?yàn)?,只有?duì)自己的才能有客觀的評(píng)價(jià),才能做出更加準(zhǔn)確的方案,才能實(shí)事求是地承受和完成客戶(hù)委托的任務(wù)。l 個(gè)體質(zhì)量管理過(guò)程PSP2和PSP2.1PSP2的重點(diǎn)是個(gè)體質(zhì)量管理,根據(jù)程序的缺陷來(lái)建立檢測(cè)表,按照檢測(cè)表進(jìn)展設(shè)計(jì)復(fù)查和代碼復(fù)查有時(shí)也稱(chēng)代碼走查,以便及早發(fā)現(xiàn)缺陷,使修復(fù)缺陷的代價(jià)最小。隨著個(gè)人經(jīng)歷和技術(shù)的積累,還應(yīng)學(xué)會(huì)怎樣改進(jìn)檢測(cè)表以適應(yīng)自己的要求。PSP2.1那么闡述設(shè)計(jì)過(guò)程和設(shè)計(jì)模板,介紹設(shè)計(jì)方法,并提供了設(shè)計(jì)模板、但PSP并不強(qiáng)調(diào)選用什么設(shè)計(jì)方法,而強(qiáng)調(diào)設(shè)計(jì)完備性準(zhǔn)那么
7、和設(shè)計(jì)驗(yàn)證技術(shù)。施行PSP的一個(gè)重要目的就是學(xué)會(huì)在開(kāi)發(fā)軟件的早期實(shí)際地、客觀地處理由于人們的忽略所造成的程序缺陷問(wèn)題。人們都期盼獲得高質(zhì)量的軟件,但是只有高素質(zhì)的軟件開(kāi)發(fā)人員并遵循適宜的軟件過(guò)程,才能開(kāi)發(fā)出高質(zhì)量的軟件,因此,PSP2引入并著重強(qiáng)調(diào)設(shè)計(jì)復(fù)查和代碼復(fù)查技術(shù),一個(gè)合格的軟件開(kāi)發(fā)人員必須掌握這兩項(xiàng)根本技術(shù)。l 個(gè)體循環(huán)過(guò)程PSP3PSP3的目的是把個(gè)體開(kāi)發(fā)小程序所能到達(dá)的消費(fèi)效率和消費(fèi)質(zhì)量,延伸到大型程序。其方法是采用螺旋式上升過(guò)程,即迭代增量式開(kāi)發(fā)方法:首先把大型程序分解成小的模塊,然后對(duì)每個(gè)模塊按照PSP2.1所描繪的過(guò)程進(jìn)展開(kāi)發(fā),最后把這些模塊逐步集成為完好的軟件產(chǎn)品。應(yīng)用PS
8、P3開(kāi)發(fā)大型軟件系統(tǒng),必須采用增量式開(kāi)發(fā)方法,并要求每一個(gè)增量都具有很高的質(zhì)量。在這樣的前提下,在新一輪開(kāi)發(fā)循環(huán)中,可以采用回歸測(cè)試的方法,集中力量考察新增加的這個(gè)這些增量是否符合要求。因此,要求在PSP2中進(jìn)展嚴(yán)格的設(shè)計(jì)復(fù)查和代碼復(fù)查,并在PSP2.1中努力遵循設(shè)計(jì)完畢準(zhǔn)那么。從對(duì)個(gè)體軟件過(guò)程框架的概要描繪中,可以清楚地看到,如何作好工程規(guī)劃和如何保證產(chǎn)品質(zhì)量,是任何軟件開(kāi)發(fā)過(guò)程中最根本的問(wèn)題。PSP可以幫助軟件工程師在個(gè)人的根底上運(yùn)用過(guò)程的原那么,借助于PSP提供的一些度量和分析工具,理解自己的技能程度,控制和管理自己的工作方式,使自己日常工作的評(píng)估、方案和預(yù)測(cè)更加準(zhǔn)確、更加有效,進(jìn)而改進(jìn)
9、個(gè)人的工作表現(xiàn),進(jìn)步個(gè)人的工作質(zhì)量和產(chǎn)量,積極而有效地參與高級(jí)管理人員和過(guò)程人員推動(dòng)的組織范圍的軟件工程過(guò)程改進(jìn)。PSP軟件工程規(guī)程為軟件工程是提供了開(kāi)展個(gè)人技能的構(gòu)造化框架和必須掌握的方法。在軟件行業(yè),開(kāi)發(fā)人員假設(shè)不經(jīng)過(guò)PSP培訓(xùn),就只能靠在開(kāi)發(fā)中通過(guò)理論逐步掌握這些技能和方法,這不僅周期很長(zhǎng),要付出很大的代價(jià),而且有越來(lái)越大的風(fēng)險(xiǎn)。 培訓(xùn)的方式有很多,既可以到專(zhuān)門(mén)的學(xué)校進(jìn)修,也可以進(jìn)展自學(xué)和參加培訓(xùn)班,例如:CMM網(wǎng)校中就有個(gè)體軟件過(guò)程的課程。l 過(guò)程改進(jìn)PSP是一個(gè)需要逐步改進(jìn)的過(guò)程。首先,要通過(guò)測(cè)量來(lái)診斷一個(gè)問(wèn)題。然后,必須客觀的分析測(cè)量的數(shù)據(jù),最后,也是最重要的,就是自身的變化。定義
10、測(cè)量方法不是件容易的事情,但它總是可能的。首先定義測(cè)量方法。規(guī)定了測(cè)量方法后,就必須搜集和分析數(shù)據(jù)。假設(shè)需要作些改進(jìn),接下來(lái)就要分析工作過(guò)程,看看什么地方需要改進(jìn)。最后要想真正的改進(jìn),必須實(shí)在做出改進(jìn)。僅僅進(jìn)展測(cè)量并不會(huì)產(chǎn)生什么進(jìn)步,僅僅靠努力也不會(huì)有什么進(jìn)步。在很大程度上工作方式?jīng)Q定了所得到的結(jié)果。假設(shè)還是按照老方法工作,得到的結(jié)果還會(huì)是老樣子。l 時(shí)間管理人們很可能像上星期那樣安排這星期的時(shí)間。當(dāng)然,隨著工作的不同,也有很多例外的情況。為了制定實(shí)在可行的方案,必須對(duì)所用的時(shí)間進(jìn)展跟蹤。假設(shè)問(wèn)上周的時(shí)間是怎么利用的,一般人都認(rèn)為很容易所出每項(xiàng)工作花了多少時(shí)間,但是當(dāng)看到實(shí)際的數(shù)據(jù)時(shí),很可能感
11、到非常驚訝:花在編程上的時(shí)間比估計(jì)的少得多,花在消遣的時(shí)間比預(yù)期的多得多;樂(lè)意做的事情做的特別快,用的時(shí)間也似乎特別少,令人頭疼的事情占用的時(shí)間似乎比實(shí)際花費(fèi)的時(shí)間多得多。要搞清楚時(shí)間都用在什么地方,必須對(duì)時(shí)間進(jìn)展跟蹤,保存一份準(zhǔn)確的記錄。為了檢查時(shí)間估計(jì)和方案的準(zhǔn)確性,必須把它們寫(xiě)成文檔并在今后與實(shí)際情況進(jìn)展比較。做方案是一種技能,學(xué)習(xí)制定好的方案,第一步就是要先做方案,然后把該方案寫(xiě)下來(lái),以便今后與實(shí)際數(shù)據(jù)相比較。為了制定出更準(zhǔn)確的方案,需要知道以前的方案中存在哪些錯(cuò)誤,哪些地方可以進(jìn)展改進(jìn)。當(dāng)按照方案進(jìn)展工作時(shí),記錄下所花費(fèi)的時(shí)間。通過(guò)比較文檔化的方案和實(shí)際的結(jié)果,就可以發(fā)現(xiàn)方案中存在哪
12、些錯(cuò)誤以及如何改進(jìn)制作方案的過(guò)程。制定準(zhǔn)確方案的關(guān)鍵就是比較,然后就會(huì)知道如何才能制定出更好的方案。為了管理好時(shí)間,首先制定時(shí)間分配方案,然后按照方案去做。制作方案容易,但真正施行方案是困難的。特別開(kāi)場(chǎng)的時(shí)候,按照方案進(jìn)展工作可能比較困難,你可能會(huì)有很多借口,最常見(jiàn)的就是這份方案制作的不好。但只有按照方案去做,你才能知道它的優(yōu)劣。按照方案進(jìn)展工作有三點(diǎn)好處:第一,理解方案存在哪些問(wèn)題,有助于更好的方案下一個(gè)工程。第二,按照好的方案完成工作。這看起來(lái)不重要,但是事實(shí)上軟件工程中的許多錯(cuò)誤都是由于考慮不周、粗心大意或是不注意的小細(xì)節(jié)而造成的,按照好的方案工作是防止這些錯(cuò)誤的最好途徑。另一個(gè)更加微妙
13、的好處就是它實(shí)際上在改變你的工作方式,有了方案就不用浪費(fèi)時(shí)間去考慮下一步要干什么,它會(huì)幫助你把精力集中在所中的事情上,很少分心,從而進(jìn)步了工作效率。 理解時(shí)間的使用情況將主要活動(dòng)分類(lèi)。在開(kāi)場(chǎng)分配時(shí)間時(shí),你會(huì)發(fā)現(xiàn)大部分時(shí)間都用在相對(duì)很少的幾個(gè)活動(dòng)上。記錄每項(xiàng)主要活動(dòng)所花費(fèi)的時(shí)間。堅(jiān)持記錄時(shí)間需要很強(qiáng)的自我約束才能,要想進(jìn)展準(zhǔn)確的記錄,必須記錄下每件主要工作開(kāi)場(chǎng)和完畢的時(shí)間。除非你知道自己實(shí)際上用了多少時(shí)間,否那么就不可能管理好使用時(shí)間的方式。用標(biāo)準(zhǔn)的方法記錄時(shí)間必須使用標(biāo)準(zhǔn)的時(shí)間日志。因?yàn)樾枰杉臅r(shí)間數(shù)據(jù)的數(shù)量增加得很快,假設(shè)不認(rèn)真記錄和存儲(chǔ)這些數(shù)據(jù),它們很可能喪失或變得混亂,這樣很不利于查找
14、或?qū)λ鼈冞M(jìn)展解釋。假設(shè)不打算對(duì)這些數(shù)據(jù)進(jìn)展適當(dāng)?shù)恼怼w納,就根本不必要去搜集數(shù)據(jù)。以分鐘為測(cè)量單位。工程是在完成任務(wù)中不連續(xù)工作的時(shí)間一般都少于1小時(shí),因此以小時(shí)為單位對(duì)工作時(shí)間進(jìn)展測(cè)量不能提供用以方案和管理工作所需要的詳細(xì)數(shù)據(jù),而用分鐘跟蹤時(shí)間容易得多。一旦決定進(jìn)展時(shí)間跟蹤,用分鐘作為測(cè)量單位將比用小時(shí)更恰當(dāng)。處理中斷時(shí)間。采用表2.1跟蹤時(shí)間時(shí),一個(gè)常見(jiàn)的問(wèn)題就是中斷。 、聊天、偶爾的煩惱以及必要的休息打斷的次數(shù)多得令人吃驚。中斷的時(shí)間不是有效的工作時(shí)間,并且變化幅度很大,假設(shè)不對(duì)它進(jìn)展測(cè)量,實(shí)際上就在時(shí)間記錄中參加了一個(gè)隨機(jī)數(shù),也就很難使用時(shí)間數(shù)據(jù)來(lái)方案和管理時(shí)間了。事件日志中的數(shù)據(jù)能
15、幫助你理解工作被打斷的頻率。多數(shù)中斷不僅浪費(fèi)時(shí)間,還會(huì)打斷你的思路,導(dǎo)致效率降低和錯(cuò)誤的產(chǎn)生,因此理解被打斷的頻率有助于進(jìn)步工作的質(zhì)量和效率。將時(shí)間數(shù)據(jù)保存在適宜的地方。記錄時(shí)間花費(fèi)情況值得推薦的方法就是用工程記事本來(lái)記錄時(shí)間以及其他的事情。對(duì)一個(gè)軟件專(zhuān)業(yè)人員,工程記事本用處很多,可以記錄時(shí)間日志、程序設(shè)計(jì)方案以及運(yùn)算結(jié)果,可以作為你所遵循正確的工程施行方案的憑證,可以記錄下腦子里面一閃而過(guò)的想法。推薦的方法是從工程記事本的第一頁(yè)開(kāi)場(chǎng)向后記錄主要活動(dòng)及其所花費(fèi)的時(shí)間,最后一頁(yè)開(kāi)場(chǎng)向前記錄時(shí)間日志。記錄主要活動(dòng)及其所花費(fèi)的時(shí)間,最后一頁(yè)開(kāi)場(chǎng)向前記錄時(shí)間日志。周活動(dòng)總結(jié)表。通過(guò)采用時(shí)間日志搜集時(shí)間
16、數(shù)據(jù)后,你就能漸漸明白自己是如何支配時(shí)間的。但是時(shí)間日志中的數(shù)據(jù)過(guò)于詳細(xì),需要用一種更有用的表格來(lái)總結(jié)這些數(shù)據(jù),周活動(dòng)總結(jié)表可以很好的完成這個(gè)任務(wù)。當(dāng)然我們關(guān)心的時(shí)間不會(huì)只有一周這么短,還需要一段時(shí)間內(nèi)在各類(lèi)任務(wù)上花費(fèi)的平均時(shí)間、最大時(shí)間和最小時(shí)間。因此采用表2.2所示格式。周活動(dòng)總結(jié)表中的數(shù)據(jù)可以幫助你理解時(shí)間都用在那些地方,還可以使用這些書(shū)對(duì)以后的幾周進(jìn)展方案。例如,有了這些數(shù)據(jù)就能判斷出一個(gè)大的任務(wù)所需要的時(shí)間可能接近總結(jié)表中的最長(zhǎng)時(shí)間,而一個(gè)簡(jiǎn)單的任務(wù)需要的時(shí)間可能接近最短時(shí)間。記錄時(shí)間的提示。隨時(shí)準(zhǔn)備好工程記事本;當(dāng)偶爾忘了記錄開(kāi)場(chǎng)時(shí)間、完畢事件或中斷時(shí)間,憑記憶盡早做出估計(jì);及時(shí)總
17、結(jié)記錄的時(shí)間數(shù)據(jù)。 制訂方案這里介紹兩種方案:階段方案和產(chǎn)品方案。;應(yīng)物0901 郭衍束 ( 20090739)如何制定階段方案階段方案是關(guān)于這段時(shí)間內(nèi)對(duì)時(shí)間的安排。為了制定階段方案,必須清楚時(shí)間的使用情況。根據(jù)上一章介紹的周活動(dòng)總結(jié)表,我們就可以跟蹤記錄自己是如何支配時(shí)間的。在制訂下一周的方案時(shí),就可以參考最近的周活動(dòng)總結(jié)表。根據(jù)以前各個(gè)任務(wù)花費(fèi)的時(shí)間,就能判斷出下一周將在這些任務(wù)上花費(fèi)多少時(shí)間。制定這種方案最簡(jiǎn)單的方法就是假設(shè)將要使用的時(shí)間與過(guò)去平均使用的時(shí)間一樣。一種如何制定產(chǎn)品方案產(chǎn)品方案是關(guān)于制作產(chǎn)品活動(dòng)期間的時(shí)間安排當(dāng)工程師在工程小組中工作時(shí),就需要方案?jìng)€(gè)人的工作。方案是按期完成承
18、諾的任務(wù)的可靠根底,可以在工程師合作開(kāi)發(fā)產(chǎn)品過(guò)程中協(xié)調(diào)他們的工作,可以幫助工程師理解工程的狀態(tài)。做方案是軟件工程師工作的一個(gè)重要部分,要成為一個(gè)有才干的工程師,就必須知道如何制訂準(zhǔn)確的方案,也需要知道如何將這些方案與實(shí)際結(jié)果相比較,從而學(xué)會(huì)制定更好的方案。制定產(chǎn)品方案是可以通過(guò)事較為準(zhǔn)確的方法就是首先考慮下周將要做的工作內(nèi)容,然后根據(jù)以前的最長(zhǎng)和最短時(shí)間來(lái)估計(jì)出一個(gè)適宜的時(shí)間。件加以進(jìn)步的一種技能。從如今開(kāi)場(chǎng)對(duì)每個(gè)產(chǎn)品制訂方案,產(chǎn)品可以是一個(gè)可制定的程序、一個(gè)程序設(shè)計(jì)方案或是一個(gè)測(cè)試方案,并在以后的工程中繼續(xù)這樣做下去。設(shè)定時(shí)間分配的優(yōu)先級(jí)。有些時(shí)間是固定不點(diǎn)的,如每周例會(huì),可以把這些時(shí)間稱(chēng)為
19、固定時(shí)間。進(jìn)展其他活動(dòng)的時(shí)間就是可變動(dòng)的時(shí)間,只要有時(shí)間就可以去做這些活動(dòng)??勺儠r(shí)間又分成需要完成的任務(wù)和自行斟酌的任務(wù)。需要的活動(dòng)如編程、讀書(shū),雖然是需要的活動(dòng),但它們的時(shí)間是可變動(dòng)的,因?yàn)闊o(wú)論如何找出時(shí)間都可做這些事情,并且每周在這些活動(dòng)上所用的時(shí)間是不同的。自行斟酌的活動(dòng)就是要做的所有其他的事情:吃飯、睡覺(jué)、社交、觀看電視及其其他的娛樂(lè)活動(dòng)。當(dāng)作出全面的時(shí)間安排時(shí),固定時(shí)間的安排是沒(méi)有什么問(wèn)題,最常見(jiàn)的問(wèn)題是分配可變動(dòng)的時(shí)間。列出需要盡快做的事情,首先努力完成最重要的任務(wù)。重要的任務(wù)推此時(shí),你會(huì)不自覺(jué)的為這些任務(wù)擔(dān)憂(yōu),立即處理這些事情常常是更有效的,并且也將給人們帶來(lái)一種完成任務(wù)的成就感
20、。此外,記住一旦開(kāi)場(chǎng)了一項(xiàng)令人生畏的任務(wù),就很少會(huì)感到象你想象中的那么困難??梢钥紤]從自行斟酌的活動(dòng)中抽出那些額外的時(shí)間,但是這需要合理的安排,對(duì)個(gè)人是否真愿意按照這時(shí)間安排來(lái)執(zhí)行。沒(méi)有休息的時(shí)間會(huì)導(dǎo)致人們將管理好時(shí)間的想法推翻。做時(shí)間安排以及跟蹤時(shí)間是重要的,但是時(shí)間安排一定要是自己實(shí)際愿意承受的。執(zhí)行時(shí)間安排表。按照時(shí)間安排表工作的才能很大程度上取決于個(gè)人的自覺(jué)性,但是它還取決于要做的工作的數(shù)量和它們的優(yōu)先次序。意料不到的時(shí)間是生活中很自然并且是很正常的一部分,特別是在軟件工程中。危機(jī)常常會(huì)打破人們的方案,因此不得不作出調(diào)整。在第一次使用時(shí)間安排表時(shí),可能會(huì)感到它不是很有用,這是正常的,不
21、要因?yàn)榈谝淮螞](méi)有起作用就放棄對(duì)時(shí)間安排的過(guò)程,而是要考慮所發(fā)生的事情,看看是否存在一些不可能再發(fā)生的反常時(shí)間、或者存在對(duì)有正常事件引起人而意外花費(fèi)了很多時(shí)間?假設(shè)是緊急的情況,不必對(duì)時(shí)間安排做大的調(diào)整,下一周再試著用它,然后復(fù)查結(jié)果。假設(shè)一些經(jīng)常發(fā)生的事情擾亂了安排,應(yīng)考慮對(duì)安排進(jìn)展改動(dòng),為以后類(lèi)似事情提早做好準(zhǔn)備。最后,按照時(shí)間安排表跟蹤施行的性能,要繼續(xù)搜集時(shí)間數(shù)據(jù)。根據(jù)經(jīng)歷復(fù)查時(shí)間安排表,在根據(jù)需要和經(jīng)歷修改安排,要逐步的作出改變。在改變時(shí)間安排表時(shí),要保存以前的版本。 時(shí)間管理的目的搜集時(shí)間是為了幫助自己管理時(shí)間。假設(shè)搜集的數(shù)據(jù)被證明是沒(méi)有用的,就需要重新考慮自己搜集時(shí)間數(shù)據(jù)的方法。但
22、是,只有在已經(jīng)理論了安排的時(shí)間之后再這樣做。記事作了時(shí)間安排表,假設(shè)由于一些原因?qū)r(shí)間安排變化很大,那么也應(yīng)該搜集更多的數(shù)據(jù),知道自己明白當(dāng)前是如何使用時(shí)間為止。l 缺陷管理 什么是缺陷缺陷是指程序中存在的錯(cuò)誤,例如語(yǔ)法錯(cuò)誤、標(biāo)點(diǎn)符號(hào)錯(cuò)誤或者是一個(gè)不正確的程序語(yǔ)句,是任何影響程序完好而有效的滿(mǎn)足用戶(hù)要求的東西,是可以表示、描繪和統(tǒng)計(jì)的客觀事物。有人把缺陷稱(chēng)為Bug,這是不正確的。當(dāng)成為Bug時(shí),令人想到的是那些令人討厭的小蟲(chóng)子,應(yīng)該把它們拍死或者不予理睬。這會(huì)使一些重要的問(wèn)題被視為瑣碎小事,會(huì)養(yǎng)成一種錯(cuò)誤的態(tài)度。缺陷并不像無(wú)足輕重的Bug,更像是定時(shí)炸彈。大家可能會(huì)覺(jué)得有些夸大其詞,絕大部分細(xì)
23、小的缺陷沒(méi)有引起嚴(yán)重后果。然而不幸的是,很小一部分看起來(lái)無(wú)關(guān)緊要的缺陷卻能引起嚴(yán)重問(wèn)題。雖然如今缺陷對(duì)你來(lái)說(shuō)還不是一個(gè)嚴(yán)重問(wèn)題,但很快就會(huì)成為一個(gè)重要的問(wèn)題。設(shè)計(jì)錯(cuò)誤的復(fù)雜性和所導(dǎo)致的缺陷的影響沒(méi)有之間關(guān)系,一些微小的編碼錯(cuò)誤卻可能引起嚴(yán)重的系統(tǒng)問(wèn)題。事實(shí)上,絕大多數(shù)軟件缺陷都源于程序員的忽略大意。為了減小缺陷,就必須進(jìn)展缺陷管理,研究已經(jīng)引入的缺陷,確定引起這些缺陷的原因,并學(xué)會(huì)在將來(lái)如何防止重復(fù)同樣的錯(cuò)誤。缺陷分類(lèi)。在分析缺陷時(shí),將缺陷進(jìn)展分類(lèi)是有幫助的。通過(guò)缺陷分類(lèi),可以迅速找出哪一類(lèi)缺陷的問(wèn)題最大,然后集中精力預(yù)防和排除這一類(lèi)缺陷,這就是缺陷管理的關(guān)鍵。把精力集中到最容易引起問(wèn)題的幾類(lèi)
24、缺陷上,一旦這幾類(lèi)缺陷得到控制,在進(jìn)一步找到新的容易引起問(wèn)題的幾類(lèi)缺陷上。不要急于把10種類(lèi)型的每一類(lèi)細(xì)分出假設(shè)干子類(lèi),直到你已經(jīng)搜集到大量程序的缺陷數(shù)據(jù)。那時(shí),才可以看出哪里需要更詳細(xì)以及補(bǔ)充什么樣的信息才是最有用的。統(tǒng)計(jì)缺陷個(gè)數(shù)。采用缺陷記錄日志,記錄那些當(dāng)你完成初始設(shè)計(jì)或編碼后仍然留在產(chǎn)品中的缺陷。人們很容易對(duì)缺陷辯白,但是要管理好缺陷,就必須搜集有關(guān)缺陷的準(zhǔn)確數(shù)據(jù)。假設(shè)原諒缺陷,那只會(huì)自欺欺人。假設(shè)你這樣做的話(huà),就別指望有所進(jìn)步。 缺陷查找技術(shù)為什么要盡早發(fā)現(xiàn)缺陷。不要期望一個(gè)簡(jiǎn)單拼湊出來(lái)的滿(mǎn)是缺陷的程序,經(jīng)過(guò)修改可以成為一個(gè)合格的產(chǎn)品。一旦消費(fèi)出一個(gè)有缺陷的程序,它將永遠(yuǎn)是有缺陷的。
25、雖然你可以修復(fù)所有的問(wèn)題,并且讓它通過(guò)所有的測(cè)試,但它還是一個(gè)有許多不定的有缺陷的程序。假設(shè)工程師能寬容有缺陷的工作,他將消費(fèi)出低質(zhì)量的產(chǎn)品?!拔覀兠Γ院笤谛扪a(bǔ)吧,這樣的態(tài)度不可能出產(chǎn)出優(yōu)質(zhì)產(chǎn)品。發(fā)現(xiàn)和修復(fù)缺陷的費(fèi)用。在典型工程中,產(chǎn)品被分成很多小的模塊,由不通的工程師負(fù)責(zé)開(kāi)發(fā)。在模塊設(shè)計(jì)、實(shí)現(xiàn)、編譯后,工程師作初始的單元測(cè)試;單元測(cè)試后,多個(gè)模塊組成一些大組件進(jìn)展集成測(cè)試;經(jīng)過(guò)各種級(jí)別的組件測(cè)試后,這些組件集成為產(chǎn)品進(jìn)展產(chǎn)品設(shè)計(jì);最后,將產(chǎn)品集成到系統(tǒng)中進(jìn)展系統(tǒng)測(cè)試。隨著系統(tǒng)的規(guī)模和復(fù)雜程度不同,單元測(cè)試、集成測(cè)試、組件測(cè)試、產(chǎn)品測(cè)試、系統(tǒng)測(cè)試的類(lèi)型、持續(xù)時(shí)間、復(fù)雜程度有所不同,但幾乎所有
26、規(guī)模的軟件產(chǎn)品,都需要這個(gè)過(guò)程。研究證明,開(kāi)發(fā)過(guò)程每前進(jìn)一步,發(fā)現(xiàn)和修復(fù)缺陷的平均代價(jià)要增長(zhǎng)10倍。盡管缺陷的修復(fù)時(shí)間變化很大,但平均時(shí)間總是遵循這樣的規(guī)律,而與缺陷的類(lèi)型無(wú)關(guān)。發(fā)現(xiàn)和修復(fù)缺陷的方法。盡管沒(méi)有方法不引入缺陷,但是在開(kāi)發(fā)過(guò)程中盡早發(fā)現(xiàn)和修復(fù)缺陷還是可能的。有多種發(fā)現(xiàn)程序中的缺陷的方法,根本上都包括以下步驟:表示缺陷征兆;從征兆中推斷出缺陷的位置;確定程序中的錯(cuò)誤;決定如修復(fù)缺陷;修復(fù)缺陷;驗(yàn)證這個(gè)修復(fù)是否已經(jīng)解決了這個(gè)問(wèn)題。有多種工具和輔助手段來(lái)幫助完成這些步驟,工程師最常用的工具是編譯器,它可以表示出大部分語(yǔ)法缺陷。但是編譯器最根本的任務(wù)是生成目的代碼,并且可能會(huì)在源程序有缺陷
27、的情況下生成代碼。因此,不能檢查出所有的拼寫(xiě)、標(biāo)點(diǎn)符號(hào)或其他不符合語(yǔ)法的缺陷。一般編譯器僅提供了缺陷的征兆,你必須自己對(duì)問(wèn)題定位,并確定是什么問(wèn)題,通常很快可以做到這一點(diǎn),但偶爾也需要較長(zhǎng)的時(shí)間另外一種常用方法就是上面講述的測(cè)試。測(cè)試的質(zhì)量是由測(cè)試用例覆蓋所有程序功能的程度決定的。測(cè)試可以用來(lái)驗(yàn)證程序幾乎所有的功能,但有自己的缺點(diǎn):同編譯器一樣只能滿(mǎn)足缺陷派出的第一個(gè)步驟,你仍必須從缺陷征兆找出問(wèn)題的根源,然后才能修復(fù);隨著工程規(guī)模的擴(kuò)大,全面的測(cè)試會(huì)花費(fèi)大量的時(shí)間,要進(jìn)展完全測(cè)試幾乎不可能的。最有效的發(fā)現(xiàn)和修復(fù)缺陷的方法是個(gè)人復(fù)查源程序清單。這種方法是負(fù)很難徹底去除程序中的缺陷,但事實(shí)證明,
28、這是最快而且最有效的方法。l 代碼復(fù)查代碼復(fù)查就是研究源代碼,并從中發(fā)現(xiàn)錯(cuò)誤。代碼復(fù)查更有效的原因是:在復(fù)查時(shí)看到的是問(wèn)題本身而不是征兆。從頭到尾復(fù)查代碼時(shí),考慮的是程序應(yīng)該做什么。因此,當(dāng)看到某些地方不正確時(shí),就可以看到可能的問(wèn)題是什么,并立即去驗(yàn)證代碼。復(fù)查的缺點(diǎn)是:非常耗時(shí),而且很難恰當(dāng)?shù)倪M(jìn)展;復(fù)查時(shí)一種技能,當(dāng)然可以通過(guò)學(xué)習(xí)和理論來(lái)進(jìn)步。代碼復(fù)查的第一步是理解自己引入的缺陷的種類(lèi),這是搜集缺陷數(shù)據(jù)的主要原因。因?yàn)樵谙乱粋€(gè)程序中引入的缺陷種類(lèi)一般會(huì)與前面的根本類(lèi)似,只要采用同樣的軟件開(kāi)發(fā)方法,情況會(huì)一直如此。另一方面來(lái)說(shuō),當(dāng)你有了技能和經(jīng)歷或改變了過(guò)程,缺陷的類(lèi)型和數(shù)目會(huì)隨之變化。但是到
29、了一定程度后,改進(jìn)就變得非常困難了。這是,就必須研究缺陷,這可以幫助你找到更好的發(fā)現(xiàn)和修復(fù)缺陷的方法。如何進(jìn)展代碼復(fù)查。代碼復(fù)查的目的是在軟件過(guò)程中盡可能早和盡可能多的發(fā)現(xiàn)缺陷,缺陷發(fā)現(xiàn)時(shí)間越少越好。采用表4.3描繪的一個(gè)有序的檢查方法,在編譯之前進(jìn)展代碼復(fù)查,是完成目的最好的方法。編譯之前進(jìn)展復(fù)查。有幾個(gè)原因說(shuō)明應(yīng)在編譯之前進(jìn)展代碼復(fù)查:不管編譯前或編譯后,進(jìn)展完好的代碼復(fù)查的時(shí)間大約一樣;不管編譯前或編譯后,對(duì)檢查語(yǔ)法有效性的效果是一樣的;先做復(fù)查將節(jié)省大量編譯時(shí)間,假設(shè)不做代碼復(fù)查,一般要花1215的開(kāi)發(fā)時(shí)間進(jìn)展編譯,一旦使用代碼復(fù)查后,編譯時(shí)間可以縮短至3或更少;編譯程序后,代碼一般復(fù)
30、查很難徹底的進(jìn)展; 經(jīng)歷證明,在編譯階段有大量的缺陷時(shí),一般在測(cè)試階段也有許多缺陷。建立個(gè)人代碼復(fù)查檢查表。假設(shè)想發(fā)現(xiàn)和改正程序中的每一個(gè)缺陷,就必須遵照一個(gè)準(zhǔn)確的規(guī)程。檢查表可以確保遵循這個(gè)規(guī)程,它包括一系列程式的步驟。按照檢查表去作時(shí),就知道如何進(jìn)展代碼復(fù)查。假設(shè)可以正確使用檢查表,還能知道每個(gè)步驟發(fā)現(xiàn)了多少缺陷。這樣就能測(cè)量出復(fù)查過(guò)程的效率,并進(jìn)一步改進(jìn)檢查表。檢查表包括了個(gè)人的經(jīng)歷。通過(guò)不斷的使用和改進(jìn)個(gè)人檢查表,就可以幫助你用較少的時(shí)間發(fā)現(xiàn)這些缺陷。表4.4是一個(gè)C+程序代碼復(fù)查表的范例。定期更新檢查表。隨著時(shí)間的推移,檢查表自然的要變大。但是,檢查表的主要作用是幫助你把注意力集中在
31、關(guān)鍵的方面。太大以后,你將失去重點(diǎn)。所以要定期復(fù)查缺陷數(shù)據(jù),刪除那些不能找到問(wèn)題的表項(xiàng)。從個(gè)人檢查表的方法可以認(rèn)識(shí)到,每個(gè)工程師都有各自的特點(diǎn),某個(gè)工程師的理論經(jīng)歷對(duì)別人不一定適用。因此要設(shè)計(jì)出適宜自己的檢查表,并定期的對(duì)它進(jìn)展檢查以保證檢查表更有效。只要你在代碼復(fù)查中還遺漏缺陷,就要不斷尋找改進(jìn)檢查表的方法。進(jìn)展是很緩慢的。最初,你發(fā)現(xiàn)缺陷的才能隨著每次復(fù)查都有所進(jìn)步。此后,進(jìn)步將變得很困難。要堅(jiān)持搜集和分析缺陷數(shù)據(jù),并堅(jiān)持考慮如何才能預(yù)防缺陷的產(chǎn)生或怎樣更好的找到缺陷。只要堅(jiān)持不斷的做下去,就能在代碼復(fù)查中不斷進(jìn)步,不斷進(jìn)步自己編寫(xiě)程序的質(zhì)量。編碼標(biāo)準(zhǔn)。編碼標(biāo)準(zhǔn)是被廣泛承受的、可以作為工作
32、樣板的編碼理論集。良好的編碼標(biāo)準(zhǔn)將有效地幫助您防止開(kāi)發(fā)有潛在危險(xiǎn)的代碼,有助于預(yù)防缺陷。例如,可以在編碼標(biāo)準(zhǔn)中列出那些應(yīng)該防止使用的方法,規(guī)定號(hào)循環(huán)入口或在說(shuō)明是初始化變量,防止不良的變量命名等。編碼標(biāo)準(zhǔn)還能有效地統(tǒng)一和標(biāo)準(zhǔn)整體開(kāi)發(fā)活動(dòng)。當(dāng)其他開(kāi)發(fā)人員參加到工程中來(lái)時(shí),他們可以很好地適應(yīng)這一切。代碼也將變得更標(biāo)準(zhǔn)更易維護(hù)。其他種類(lèi)的代碼復(fù)查。在軟件組織中,一種常用的方法是同行評(píng)審,就是幾個(gè)工程師彼此復(fù)查程序。組織良好的同行評(píng)審一般會(huì)發(fā)現(xiàn)程序中5070的缺陷。互查雖然需要很多時(shí)間,但是可以有效發(fā)現(xiàn)缺陷,因?yàn)楣こ處熗y于發(fā)現(xiàn)自己的設(shè)計(jì)錯(cuò)誤。他們創(chuàng)作這個(gè)設(shè)計(jì),直到程序應(yīng)該完好什么,即使概念有瑕疵、作了錯(cuò)誤的設(shè)計(jì)或?qū)崿F(xiàn)假定,他們往往很難發(fā)現(xiàn)。檢查這可以幫助他們抑制這些問(wèn)題。對(duì)一個(gè)大的工程,最正確檢查策略是,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GB-T 26831.6-2015社區(qū)能源計(jì)量抄收系統(tǒng)規(guī)范 第6部分:本地總線(xiàn)》專(zhuān)題研究報(bào)告
- 《GB-T 39970-2021汽車(chē)輪胎慣性滑行通過(guò)噪聲限值和等級(jí)》專(zhuān)題研究報(bào)告
- 《GB-T 39655.2-2020造船 船用螺旋槳 制造公差 第2部分:直徑在0.8m至2.5m的螺旋槳》專(zhuān)題研究報(bào)告
- 2026年石家莊幼兒師范高等專(zhuān)科學(xué)校單招職業(yè)適應(yīng)性考試題庫(kù)及完整答案詳解1套
- 智能家電安裝調(diào)試師崗位招聘考試試卷及答案
- 2025年道路運(yùn)輸企業(yè)主要負(fù)責(zé)人考試筆試試題附答案
- 2025年中高壓變量葉片泵項(xiàng)目建議書(shū)
- 女性骨骼健康的飲食
- 遼寧省2025秋九年級(jí)英語(yǔ)全冊(cè)Unit5Whataretheshirtsmadeof課時(shí)3SectionA(GrammarFocus-4c)課件新版人教新目標(biāo)版
- 2025年地質(zhì)勘察及探礦核儀器項(xiàng)目發(fā)展計(jì)劃
- JJG 688-2025汽車(chē)排放氣體測(cè)試儀檢定規(guī)程
- 濟(jì)南醫(yī)院節(jié)能管理辦法
- 2025至2030中國(guó)救生衣和救生衣行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢(xún)研究報(bào)告
- 綠化養(yǎng)護(hù)物資管理制度
- 護(hù)理事業(yè)十五五發(fā)展規(guī)劃(2026-2030)
- 2025廣西專(zhuān)業(yè)技術(shù)人員公需科目培訓(xùn)考試答案
- 網(wǎng)絡(luò)故障模擬與處理能力測(cè)試試題及答案
- 2025至2030中國(guó)聚四氟乙烯(PTFE)行業(yè)經(jīng)營(yíng)狀況及投融資動(dòng)態(tài)研究報(bào)告
- 教育、科技、人才一體化發(fā)展
- 營(yíng)銷(xiāo)與客戶(hù)關(guān)系管理-深度研究
- 耐壓試驗(yàn)操作人員崗位職責(zé)
評(píng)論
0/150
提交評(píng)論