版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件體系結(jié)構(gòu)
4.軟件設(shè)計(jì)的風(fēng)險(xiǎn)2/1/20231?liqianmu@126.com2/1/20232?liqianmu@126.com1.程序員寫出自認(rèn)為沒有Bug的代碼。2.軟件測試,發(fā)現(xiàn)了20個Bug。3.程序員修改了10個Bug,并告訴測試組另外10個不是Bug。4.測試組發(fā)現(xiàn)其中5個改動根本無法工作,同時又發(fā)現(xiàn)了15個新Bug。5.重復(fù)3次步驟3和步驟4。6.鑒于市場方面的壓力,為了配合當(dāng)初制定的過分樂觀的發(fā)布時間表,產(chǎn)品終于上市了。7.用戶發(fā)現(xiàn)了137個新Bug。8.已經(jīng)領(lǐng)了項(xiàng)目獎金的程序員不知跑到哪里去了。9.新組建的項(xiàng)目組修正了差不多全部137個Bug,但又發(fā)現(xiàn)了456個新Bug。10.最初那個程序員從斐濟(jì)給飽受拖欠工資之苦的測試組寄來了一張明信片。整個測試組集體辭職。11.公司被競爭對手惡意收購。收購時,軟件的最終版本包含783個Bug。12.新CEO走馬上任。公司雇了一名新程序員重寫該軟件。13.程序員寫出自認(rèn)為沒有Bug的代碼。
2/1/20233?liqianmu@126.com2/1/20234?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
一、概述1.任務(wù)HOPERUN企業(yè)在進(jìn)行軟件過程改進(jìn)時,考慮到從企業(yè)當(dāng)前的發(fā)展要求來看,軟件開發(fā)的質(zhì)量及交貨已不是主要矛盾,基本上可以滿足用戶的要求。但是,如何提高軟件開發(fā)的生產(chǎn)率,使軟件開發(fā)能做到增加效益,則對企業(yè)顯得極為迫切。為了提高軟件開發(fā)的生產(chǎn)率及提高開發(fā)效益,成立了軟件過程小組(softwareengineeringprocessgroup,SEPG)負(fù)責(zé)軟件過程改進(jìn)。具體任務(wù)有三:(1)鼓勵開發(fā)人員進(jìn)行軟件過程改進(jìn);(2)對當(dāng)前正在進(jìn)行的軟件開發(fā)工作的軟件過程作出正確而詳細(xì)的描述及定義;(3)提出一種可行的工作計(jì)劃,讓開發(fā)人員遵循,以求改進(jìn)軟件過程。2/1/20235?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
2.步驟SEPG采取的過程改進(jìn)步驟如下:(1)對開發(fā)人員調(diào)研當(dāng)前正在進(jìn)行的軟件開發(fā)工作,用Petrinet描述其軟件過程。Petrinet中的transition表示軟件開發(fā)活動,token表示產(chǎn)品,place表示過程等待執(zhí)行活動的狀態(tài)。(2)深入分析Petrinet所代表的當(dāng)前的軟件過程流圖,制定工作計(jì)劃,并估計(jì)在嚴(yán)格執(zhí)行工作計(jì)劃后,可能得到的效益。其后,工作計(jì)劃及效益估計(jì)都要經(jīng)開發(fā)人員認(rèn)可,認(rèn)同其可行性,有效性。(3)按工作計(jì)劃對實(shí)際項(xiàng)目進(jìn)行實(shí)施。(4)最后,分析實(shí)際效果后,肯定了“在測試階段總的工作量減少10%。”可以得出肯定過程改進(jìn)有效果的結(jié)論。2/1/20236?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
二、項(xiàng)目概況該公司是進(jìn)行一系列服務(wù)類外包軟件的開發(fā)。這些軟件有類似的結(jié)構(gòu),其基本結(jié)構(gòu)如圖所示。整個系統(tǒng)可分為基本部分和應(yīng)用部分兩大塊。其中對各個不同項(xiàng)目說來,實(shí)時管理及I/O部分是共同的,很少修改;對B,C,D,E,F(xiàn),G模塊,在各個不同項(xiàng)目中只須對其進(jìn)行少量修改;而模塊A和H,則要對其大部分進(jìn)行修改。2/1/20237?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
2/1/20238?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
三、調(diào)查發(fā)現(xiàn)(1)企業(yè)的主要問題是如何減少開發(fā)費(fèi)用。對質(zhì)量及交付日期,目前用戶已基本滿意,所以不作主要改進(jìn)的考慮。且數(shù)年來,管理人員已對如何減少費(fèi)用進(jìn)行不少改進(jìn),但收效甚微,所以這次過程改進(jìn)應(yīng)主要考慮這一點(diǎn)。(2)從企業(yè)管理的要求上來說,技術(shù)上決定采用瀑布模型。但發(fā)現(xiàn)實(shí)際執(zhí)行時,有些階段是平行的。要分析原因并解決管理要求與實(shí)際執(zhí)行之間的不一致問題。2/1/20239?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
四、軟件過程改進(jìn)工作方法概況SEPG的軟件過程改進(jìn)工作分三個階段,六個步驟,第一階段:描述當(dāng)前的與改進(jìn)的過程第一步:軟件開發(fā)過程包含許多活動,且相互交互作用,必須精確而形式化地描述。第二步:從當(dāng)前軟件開發(fā)過程中收集的數(shù)據(jù)中指出費(fèi)用、質(zhì)量及進(jìn)度方面的問題。例如,哪些活動需要大量費(fèi)用,哪些影響質(zhì)量(即導(dǎo)致許多出錯)都一一標(biāo)出。SEPG與開發(fā)組討論原因。第三步:根據(jù)第二步的問題制定工作計(jì)劃:改進(jìn)的過程流圖及改進(jìn)的過程流中每一個活動的詳細(xì)實(shí)施方針。前者也用Petrinet描述,后者制定成文檔。此時各種新的軟件工程技術(shù)(如設(shè)計(jì)方法,評審技術(shù),測試技術(shù)……)引進(jìn)工作計(jì)劃,還采用一些過去的過程改進(jìn)的經(jīng)驗(yàn),如CMM的實(shí)踐等。2/1/202310?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
四、軟件過程改進(jìn)工作方法概況SEPG的軟件過程改進(jìn)工作分三個階段,六個步驟,第二階段:定量估計(jì)工作計(jì)劃的效益第四步:在執(zhí)行工作計(jì)劃前進(jìn)行效益分析,評估對工作計(jì)劃的影響,若有幾個活動計(jì)劃,應(yīng)提出對當(dāng)前軟件開發(fā)最合適的計(jì)劃。2/1/202311?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
四、軟件過程改進(jìn)工作方法概況SEPG的軟件過程改進(jìn)工作分三個階段,六個步驟,第三階段:與開發(fā)人員協(xié)同工作進(jìn)行改進(jìn)活動第五步:開發(fā)者執(zhí)行新的軟件開發(fā)過程,此時SEPG對過程進(jìn)行細(xì)致而經(jīng)常性監(jiān)管。第六步:新的項(xiàng)目完成后,評估工作計(jì)劃。2/1/202312?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
具體的改進(jìn)工作:第一步:精確而形式化地描述開發(fā)過程。SEPG對PRl,PR2項(xiàng)目開發(fā)人員進(jìn)行訪問,構(gòu)成項(xiàng)目開發(fā)過程的圖a所示的PetriNet(SEPG花了3個月進(jìn)行這項(xiàng)工作)。其中FT&VT可細(xì)畫為圖(b)。實(shí)際上SEPG并沒有能夠直接得到這一過程流圖,因在開始時,開發(fā)者只是說出管理部門規(guī)定他們應(yīng)該如何做的情況,但不是實(shí)際上開發(fā)人員所做的情況。所以SEPG花了三個月反復(fù)與開發(fā)人員討論,收集開發(fā)人員的工作數(shù)據(jù)——每項(xiàng)工作的人日數(shù)。了解在每個項(xiàng)目PRl、PR2上如何查出錯誤及錯誤的數(shù)目。再反映到圖上,畫出來給開發(fā)人員看。討論每個階段中開發(fā)人員做了什么,沒有做什么。最后,經(jīng)開發(fā)人員同意:實(shí)際情況確實(shí)如圖上所呈現(xiàn)的那樣,才得到此過程流圖。2/1/202313?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
第二步:分析當(dāng)前開發(fā)過程,指出問題。SEPG經(jīng)分析,發(fā)現(xiàn)黑盒測試階段工作量極大。即在交付前的功能測試與驗(yàn)證測試(FT&VT)是難于控制且極其混亂。在PRl、PR2中開發(fā)人員為處理這種混亂經(jīng)常日以繼夜工作。為了度量這些問題,SEPG用三個公式來度量黑盒測試狀態(tài)。2/1/202314?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
對兩個項(xiàng)目的數(shù)據(jù)進(jìn)行分析后,得到下表的過程狀態(tài)的度量值。
上表中M2一欄中的全部錯誤數(shù)指PG階段及以后的錯誤,可以看到M1:開發(fā)工作的一半工作量用于黑盒測試。M2:大部分錯誤(90%以上)是用黑盒測試發(fā)現(xiàn)的,說明開發(fā)效率十分低,從而產(chǎn)品質(zhì)量可能很差。M3:數(shù)值相當(dāng)大。說明質(zhì)量并沒有達(dá)到一定的水平。系統(tǒng)中還存在大量錯誤時,在可以允許停止測試前,就開始了驗(yàn)證測試VT。這說明對管理人員及開發(fā)人員來說,交付日期壓力太大,所以結(jié)果是只能日以繼夜工作。2/1/202315?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
為了了解問題發(fā)生的根源和制定解決問題的計(jì)劃,SEFG反復(fù)調(diào)查下列問題:(1)在黑盒測試中所修正的和發(fā)現(xiàn)的錯誤是哪一階段產(chǎn)生的。(2)如何復(fù)查源代碼。(3)如何進(jìn)行白盒測試。經(jīng)分析后,SEPG認(rèn)為要改進(jìn)以下問題:(1)大部分錯誤是在PG中造成的,是由黑盒測試發(fā)現(xiàn)錯誤且糾正錯誤。但在源碼審查時只查出極少錯誤。(2)在白盒測試時沒有查出或查出極少錯誤且白盒測試無記錄。主要原因是從管理上沒有明確嚴(yán)格的要求。白盒測試只是在FT階段開始前的業(yè)余時間內(nèi)進(jìn)行的。(3)雖然大多數(shù)人知道必須進(jìn)行代碼審查及白盒測試,但因?yàn)闇?zhǔn)時交付的壓力太大,使他們不能正常執(zhí)行這些活動。2/1/202316?liqianmu@126.com3、Hoperun公司軟件過程改進(jìn)
第三步:制定工作計(jì)劃。(SEPG用了約2個星期)過程改進(jìn)的工作計(jì)劃包括新的過程流圖和進(jìn)行工作的詳細(xì)指導(dǎo)原則。新的過程流圖如圖所示。2/1/202317?liqianmu@126.com提出的詳細(xì)指導(dǎo)原則強(qiáng)調(diào)了代碼審查,白盒測試等。具體內(nèi)容如下:(1)堅(jiān)決執(zhí)行實(shí)際有用的代碼審查,具體規(guī)定:1)每個人都要履行審查員的作用。2)以每個小時審閱代碼100一200行的速度進(jìn)行審查,以保證代碼審查的質(zhì)量。3)所有新編的或更動過的代碼行都必須審查。(2)引進(jìn)單元測試工具,并對單元測試階段所發(fā)現(xiàn)的問題一律寫入報(bào)告。具體要求:1)所有新的及更動過的代碼都必須用工具測試。2)在UT階段,對發(fā)現(xiàn)及糾正過的錯誤也都必須記錄。(3)按軟件系統(tǒng)的結(jié)構(gòu)進(jìn)行集成測試。為了改進(jìn)FT&VT階段,IT階段的具體要求為:1)按過程圖定義的次序完成IT階段的活動。2)在工作前必須明確地定義每個IT的測試項(xiàng)。3)在IT階段中發(fā)現(xiàn)及排除的錯誤必須記錄。(4)為了使代碼審查及UT階段的項(xiàng)目進(jìn)度可控,負(fù)責(zé)人應(yīng)對每個開發(fā)人員作以下要求:1)在代碼審查及UT階段中每個模塊的進(jìn)展及發(fā)現(xiàn)錯誤數(shù)都必須記錄。2)定期向有關(guān)負(fù)責(zé)人員報(bào)告記錄內(nèi)容。2/1/202318?liqianmu@126.com第四步:分析新計(jì)劃的效益:即如何節(jié)省開發(fā)費(fèi)用。為了估計(jì)新的工作計(jì)劃的效益,用“實(shí)際PRl”代表真實(shí)的PRl,用“改進(jìn)PRl”表示如果執(zhí)行改進(jìn)工作計(jì)劃后的效果。為了比較兩者的區(qū)別,作如下假定:(1)“改進(jìn)PRl”在PG及測試階段發(fā)現(xiàn)的錯誤與“實(shí)際PRl”在PG及測試階段發(fā)現(xiàn)的錯誤數(shù)全同。(2)在PG中進(jìn)行代碼審查將查出全部錯誤的52.6%(數(shù)字根據(jù)文獻(xiàn)給出)。(3)通過白盒測試將查出全部錯誤的26.4%(數(shù)字根據(jù)文獻(xiàn)給出)。(4)通過FT將查出全部錯誤的15.9%(數(shù)字根據(jù)文獻(xiàn)給出)。(5)通過VT將查出全部錯誤的5.1%(數(shù)字根據(jù)文獻(xiàn)給出)。再按下述公式計(jì)算每個階段的效果:表示產(chǎn)品在階段i需要的總工作量i為PG,UT,IT,F(xiàn)T及VT之一2/1/202319?liqianmu@126.com表示產(chǎn)品在階段i需要的總工作量i為PG,UT,IT,F(xiàn)T及VT之一2/1/202320?liqianmu@126.com對比上述兩個表,得到“1-1083/1270=0.147”。即可節(jié)省14.7%的工作量。因此此方案得到認(rèn)可。決定按此執(zhí)行。2/1/202321?liqianmu@126.com第五步:執(zhí)行,監(jiān)管工作計(jì)劃及結(jié)果。SEPG向開發(fā)組詳細(xì)解釋存在的問題,工作計(jì)劃及其效益。項(xiàng)目管理人員批準(zhǔn)按新的計(jì)劃啟動PR3,每個開發(fā)人員都很好理解工作目的(通過與SEPG許多非正式會議)。按此工作計(jì)劃完成后,計(jì)算M1,M2,M3,結(jié)果如表3—5所示。從表中發(fā)現(xiàn):首先PR3的Ml改進(jìn)比期望的小,但要注意在PR3中其他階段的工作量(即分母)也減小了。在M2上有極大改進(jìn),即差不多一半的錯誤在前面階段已查出。即在前一階段進(jìn)行了質(zhì)量保證,所以糾錯工作量可望減少。而在PR3中,從M3的值可看到VT開始時,質(zhì)量是有保證的,軟件可按時交付。從實(shí)際數(shù)據(jù)中得到:在項(xiàng)目的測試階段,PR3的測試效率及生產(chǎn)率都比PRl有極大改進(jìn)??偟男б婕s改進(jìn)10%。2/1/202322?liqianmu@126.com第六步:為了更好說明軟件過程改進(jìn)的效果,用“實(shí)際PR3”的數(shù)據(jù)與假定不執(zhí)行工作計(jì)劃的“想象PR3”進(jìn)行比較。為此,作如下假定:(1)在PG以后及測試階段所發(fā)現(xiàn)的錯誤數(shù)相同。(2)“實(shí)際PR3”在PG及UT發(fā)現(xiàn)的所有錯誤(對“想象PR3”來說),在FT時已發(fā)現(xiàn)且已糾正。(3)“想象PR3”中不進(jìn)行代碼審查及UT。計(jì)算公式如前,而按“實(shí)際PR3”中的真實(shí)數(shù)據(jù),結(jié)果如表3—6。二者比較,得到“1-1051/1192=0.118”。即改進(jìn)了11.8%??紤]到FT&VT階段可能發(fā)生的混亂情況,改進(jìn)的實(shí)際效益可能更大,應(yīng)接近于以前的估計(jì)。2/1/202323?liqianmu@126.com五、HOPERUN公司軟件過程改進(jìn)工作小結(jié)在進(jìn)行軟件改進(jìn)過程中,開發(fā)人員及管理人員都進(jìn)行很好的合作,且互有好評,并且大家都理解到:(1)管理人員真正地理解到需要改進(jìn)軟件過程。(2)由于SEPG與全體開發(fā)組經(jīng)常進(jìn)行許
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《海岸風(fēng)光模板》課件
- 水準(zhǔn)測量外業(yè)工作要點(diǎn)
- 贛南醫(yī)學(xué)院《生物化學(xué)與分子生物學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 勞動防護(hù)用品培訓(xùn)課件
- 身體解剖培訓(xùn)課件
- 2022年上海統(tǒng)計(jì)師(中級)《統(tǒng)計(jì)基礎(chǔ)理論及相關(guān)知識》考試題庫及答案
- 甘孜職業(yè)學(xué)院《園林工程實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 三年級數(shù)學(xué)上冊1時分秒單元概述和課時安排素材新人教版
- 三年級數(shù)學(xué)上冊第三單元測量第4課時千米的認(rèn)識教案新人教版
- 小學(xué)生校園安全教育制度
- 拒絕早戀主題班會 課件(34張)2023-2024學(xué)年主題班會
- 離婚協(xié)議書完整版Word模板下載
- 招標(biāo)代理機(jī)構(gòu)內(nèi)部監(jiān)督管理制度
- 初中周末安全教育課件
- 2024年度醫(yī)院骨肌肉康復(fù)科醫(yī)務(wù)人員述職報(bào)告課件
- 小學(xué)四年級綜合實(shí)踐活動《羊毛氈化制作》教學(xué)公開課課件
- 工藝工程師述職報(bào)告
- 2024北京西城區(qū)初二(上)期末英語試卷及答案
- 小學(xué)生思維漫畫合輯
- 智能醫(yī)療在泌尿外科手術(shù)中的數(shù)字導(dǎo)航
- 部編人教版語文八年級下冊文言文課下注釋
評論
0/150
提交評論