




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022/11/24軟件運(yùn)維體系論述2022/11/23軟件運(yùn)維體系論述一、軟件維護(hù)的概念二、軟件維護(hù)分類三、維護(hù)問題四、維護(hù)成本五、維護(hù)過程六、維護(hù)的副作用七、如何做好軟件維護(hù)一、軟件維護(hù)的概念軟件維護(hù)階段覆蓋了從軟件交付使用到軟件被淘汰為止的整個(gè)時(shí)期。軟件的開發(fā)時(shí)間可能需要一、二年,甚至更短,但它的使用時(shí)間可能要經(jīng)歷幾年或幾十年。在軟件開發(fā)過程中始終強(qiáng)調(diào)軟件的可維護(hù)性。原因是,一個(gè)應(yīng)用系統(tǒng)由于需求和環(huán)境的變化以及自身暴露的問題,在交付用戶使用后,對它進(jìn)行維護(hù)是不可避免的,統(tǒng)計(jì)和估測結(jié)果表明,信息技術(shù)中硬件費(fèi)用一般占35%,軟件占65%,而軟件后期維護(hù)費(fèi)用有時(shí)竟高達(dá)軟件總費(fèi)用的80%,所有前期開發(fā)費(fèi)用僅占20%。軟件維護(hù)軟件維護(hù)階段覆蓋了從軟件交付使用到軟件被淘汰為止的整個(gè)時(shí)期。一、軟件維護(hù)的概念什么是軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程國標(biāo)GB/T11457-95給出如下定義在一軟件產(chǎn)品交付使用后對其進(jìn)行修改,以糾正故障;在一軟件產(chǎn)品交付使用后對其進(jìn)行修改,以糾正故障、改進(jìn)其性能和其它屬性,或使產(chǎn)品適應(yīng)改變了的環(huán)境一、軟件維護(hù)的概念什么是軟件維護(hù)按照維護(hù)的起因分類四類:糾錯(cuò)性維護(hù)適應(yīng)性維護(hù)完善性維護(hù)預(yù)防性維護(hù)二、軟件維護(hù)分類
按照維護(hù)的起因分類四類:二、軟件維護(hù)分類糾錯(cuò)性維護(hù)(CorrectiveMaintenance)——為改正軟件系統(tǒng)中潛藏的錯(cuò)誤而進(jìn)行的活動。
糾錯(cuò)性維護(hù)是指在系統(tǒng)開發(fā)階段已發(fā)生而系統(tǒng)測試階段尚未發(fā)現(xiàn)的錯(cuò)誤。這方面的維護(hù)工作量占整個(gè)維護(hù)工作量的17%-21%。所發(fā)現(xiàn)的錯(cuò)誤有的不太重要,不影響系統(tǒng)的正常運(yùn)行,其維護(hù)工作可隨時(shí)進(jìn)行;而有的錯(cuò)誤非常重要,甚至影響整個(gè)系統(tǒng)的正常運(yùn)行,其維護(hù)工作必須制定計(jì)劃,進(jìn)行修改,并且要進(jìn)行復(fù)查和控制。這部分維護(hù)工作實(shí)際上就是軟件系統(tǒng)運(yùn)行過程中修改前期沒有發(fā)現(xiàn)的bug,在修改舊bug過程中也可能會引入新的bug,這部分工作以后會成為新的糾錯(cuò)性維護(hù)工作。在軟件開發(fā)過程中加強(qiáng)測試,可以有效減少這部分的維護(hù)工作。糾錯(cuò)性維護(hù)(CorrectiveMaintenance)適應(yīng)性維護(hù)(AdaptiveMaintenance)——為適應(yīng)軟件運(yùn)行環(huán)境的變化而修改軟件的活動。
適應(yīng)性維護(hù)是指是軟件適應(yīng)信息技術(shù)變化和管理需求而進(jìn)行的修改。這方面的維護(hù)工作量占整個(gè)維護(hù)工作量的18%-25%。由于目前計(jì)算機(jī)硬件價(jià)格的不斷下降,各類系統(tǒng)軟件層出不窮,人們常常為改善系統(tǒng)硬件環(huán)境和運(yùn)行環(huán)境而產(chǎn)生系統(tǒng)更新?lián)Q代的需求;企業(yè)的外部市場環(huán)境和管理需求的不斷變化也使得各級管理人員不斷提出新的信息需求。這些因素都將導(dǎo)致適應(yīng)性維護(hù)工作的產(chǎn)生。適應(yīng)性維護(hù)(AdaptiveMaintenance)完善性維護(hù)(PerfectiveMaintenance)——根據(jù)用戶在軟件使用過程中提出的建設(shè)性意見而進(jìn)行的維護(hù)活動。完善性維護(hù)是為擴(kuò)充功能和改善性能而進(jìn)行的修改,主要是指對已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設(shè)計(jì)階段中沒有規(guī)定的功能與性能特征。這些功能對完善系統(tǒng)功能是非常必要的。另外,還包括對處理效率和編寫程序的改進(jìn),這方面的維護(hù)占整個(gè)維護(hù)工作的50%-60%,比重較大,也是關(guān)系到系統(tǒng)開發(fā)質(zhì)量的重要方面。完善性維護(hù)是軟件維護(hù)工作的主要部分,觸發(fā)這類維護(hù)工作的常常是用戶業(yè)務(wù)交易增加了,或是業(yè)務(wù)流程改變了,需要修改軟件;也可能是軟件不能滿足業(yè)務(wù)量要去,需要在性能上有所提高。完善性維護(hù)(PerfectiveMaintenance)預(yù)防性維護(hù)(PreventiveMaintenance)
——為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)。
預(yù)防性維護(hù)為了改進(jìn)應(yīng)用軟件的可靠性和可維護(hù)性,為了適應(yīng)未來的軟硬件環(huán)境的變化,主動增加預(yù)防性的新的功能,以使應(yīng)用系統(tǒng)適應(yīng)各類變化而不被淘汰。這方面的維護(hù)工作占整個(gè)維護(hù)工作量的4%左右,是維護(hù)工作中占比最少的一部分工作。預(yù)防性維護(hù)(PreventiveMaintenance)三、維護(hù)問題和軟件維護(hù)有關(guān)的部分問題:理解別人的代碼通常是非常困難的,而且難度隨著軟件配置成分的缺失而迅速增加需要維護(hù)的軟件往往沒有文檔、或文檔資料嚴(yán)重不足、或軟件的變化未在相應(yīng)的文檔中反映出來三、維護(hù)問題和軟件維護(hù)有關(guān)的部分問題:當(dāng)軟件要求維護(hù)時(shí),不能指望由原來的開發(fā)人員來完成或提供軟件的解釋。由于維護(hù)持續(xù)時(shí)間很長,因此當(dāng)需要解釋軟件時(shí)候,往往開發(fā)人員已經(jīng)不在附近了絕大多數(shù)軟件在設(shè)計(jì)時(shí)沒有考慮到將來的修改問題軟件維護(hù)這項(xiàng)工作毫無吸引力。一方面是因?yàn)檐浖S護(hù),看不到什么“成果”,但工作量很大,更重要的是維護(hù)工作難度大,軟件維護(hù)人員經(jīng)常遭受挫折。當(dāng)軟件要求維護(hù)時(shí),不能指望由原來的開發(fā)人員來完成或提供軟件的過去的二十年,軟件維護(hù)的成本在不斷增長。七十年代,一個(gè)信息系統(tǒng)機(jī)構(gòu)用于軟件維護(hù)的費(fèi)用占其軟件總預(yù)算的35~40%,八十年代接近60%。若維護(hù)方式?jīng)]有大的改進(jìn),未來幾年,許多大型軟件公司可能要將其預(yù)算的80%用于軟件系統(tǒng)的維護(hù)上。四、維護(hù)成本過去的二十年,軟件維護(hù)的成本在不斷增長。四、維護(hù)成本軟件維護(hù)除費(fèi)用外的無形代價(jià)包括維護(hù)活動占用了其他軟件開發(fā)可用的資源,使資源的利用率降低一些修復(fù)或修改請求得不到及時(shí)安排,使得客戶滿意率下降維護(hù)的結(jié)果把一些新的潛在的錯(cuò)誤引入軟件,降低了軟件質(zhì)量將軟件人員抽調(diào)到維護(hù)工作中,使得其它軟件開發(fā)過程受到干擾軟件維護(hù)除費(fèi)用外的無形代價(jià)包括維護(hù)的工作可劃分成:生產(chǎn)性活動如,分析評價(jià)、修改設(shè)計(jì)、編寫程序代碼等非生產(chǎn)性活動如,程序代碼功能理解、數(shù)據(jù)結(jié)構(gòu)解釋、接口特點(diǎn)和性能界限分析等維護(hù)的工作可劃分成:在軟件維護(hù)中,影響維護(hù)工作量的因素主要有以下六種:系統(tǒng)的大小 系統(tǒng)規(guī)模越大,其功能就越復(fù)雜,軟件維護(hù)的工作量也隨之增大。程序設(shè)計(jì)語言 使用功能強(qiáng)大的程序設(shè)計(jì)語言可以控制程序的規(guī)模。語言的功能越強(qiáng),生成程序的模塊化和結(jié)構(gòu)化程度越高,所需的指令數(shù)就越少,程序的可讀性越好。在軟件維護(hù)中,影響維護(hù)工作量的因素主要有以下六種:系統(tǒng)年齡 系統(tǒng)使用時(shí)間越長,所進(jìn)行的修改就越多,而多次的修改可能造成系統(tǒng)結(jié)構(gòu)混亂。由于維護(hù)人員經(jīng)常更換,程序變得越來越難于理解,加之系統(tǒng)開發(fā)時(shí)文檔不齊全,或在長期的維護(hù)過程中文檔在許多地方與程序?qū)崿F(xiàn)不一致,從而使維護(hù)變得十分困難。數(shù)據(jù)庫技術(shù)的應(yīng)用 使用數(shù)據(jù)庫,可以簡單而有效地存儲、管理系統(tǒng)數(shù)據(jù),還可以減少生成用戶報(bào)表應(yīng)用軟件的維護(hù)工作量。系統(tǒng)年齡先進(jìn)的軟件開發(fā)技術(shù)
在軟件開發(fā)過程中,如果采用先進(jìn)的分析設(shè)計(jì)技術(shù)和程序設(shè)計(jì)技術(shù),如面向?qū)ο蠹夹g(shù)、復(fù)用技術(shù)等,可減少大量的維護(hù)工作量。其它一些因素 如應(yīng)用的類型、數(shù)學(xué)模型、任務(wù)的難度、開關(guān)與標(biāo)記、IF嵌套深度、索引或下標(biāo)數(shù)等,對維護(hù)工作量也有影響。先進(jìn)的軟件開發(fā)技術(shù)五、維護(hù)過程對于非糾錯(cuò)性維護(hù),則首先判斷維護(hù)類型,對適應(yīng)性維護(hù),按照評估后得到的優(yōu)先級放入隊(duì)列對于改善性維護(hù),則還要考慮是否采取行動,如果接受申請,則同樣按照評估后得到的優(yōu)先級放入隊(duì)列,如果拒絕申請,則通知請求者,并說明原因?qū)τ诠ぷ靼才抨?duì)列中的任務(wù),由修改負(fù)責(zé)人依次從隊(duì)列中取出任務(wù),按照軟件工程方法學(xué)規(guī)劃、組織、實(shí)施工程。五、維護(hù)過程對于非糾錯(cuò)性維護(hù),則首先判斷維護(hù)類型,對適應(yīng)性維維護(hù)請求類型類型嚴(yán)重性評估后按優(yōu)先級在隊(duì)列排隊(duì)救火行動,當(dāng)排在隊(duì)列之首評估后分類評估后按優(yōu)先級在隊(duì)列排隊(duì)采取的行動通知請求者并說明原因按優(yōu)先級在隊(duì)列中排隊(duì)從維護(hù)請求隊(duì)列之首取出一任務(wù)按SE方法學(xué)規(guī)劃、組織、實(shí)施工程隊(duì)列中還有維護(hù)請求嗎?資源用于開發(fā)新的軟件。yn糾錯(cuò)性維護(hù)其他改善性維護(hù)適應(yīng)性維護(hù)拒絕接受并不嚴(yán)重非常嚴(yán)重維護(hù)請求類型類型嚴(yán)重性評估后按優(yōu)先救火行動,當(dāng)評估后分類評估2022/11/24六、維護(hù)的副作用軟件修改是一項(xiàng)很危險(xiǎn)的工作,對一個(gè)復(fù)雜的邏輯過程,那怕做一項(xiàng)微小的改動,都可能引入潛在的錯(cuò)誤,雖然設(shè)計(jì)文檔化和細(xì)致的測試有助于排除錯(cuò)誤,但是維護(hù)仍然會產(chǎn)生副作用。一次修改5-10個(gè)語句,成功率50%;一次修改40-50個(gè)語句,成功的可能性20%;每糾正一個(gè)錯(cuò)誤平均需修改17條指令。2022/11/23六、維護(hù)的副作用軟件修改是一項(xiàng)很危險(xiǎn)的工軟件維護(hù)的副作用指,由于維護(hù)或在維護(hù)過程中其他一些不期望的行為引入的錯(cuò)誤,副作用大致可分為三類:(1)代碼副作用(2)數(shù)據(jù)副作用(3)文檔的副作用軟件維護(hù)的副作用指,由于維護(hù)或在維護(hù)過程中其他一些不期望的行(1)代碼副作用—下面的修改最易引起副作用:
①修改或刪除子程序;
②修改或刪除語句標(biāo)號;
③修改或刪除標(biāo)識符;
④為提高程序效率而做的修改;
⑤修改邏輯操作符;
⑥由設(shè)計(jì)變動引起的代碼修改;
⑦修改分支處的判斷條件;
(1)代碼副作用—下面的修改最易引起副作用:(2)數(shù)據(jù)副作用數(shù)據(jù)副作用是由于修改數(shù)據(jù)結(jié)構(gòu)帶來的副作用。容易引起數(shù)據(jù)副作用的修改包括:
①局部和全局常量的再定義;
②記錄或文件格式的再定義;
③增減數(shù)據(jù)或是由于修改數(shù)據(jù)結(jié)構(gòu)的定義導(dǎo)致數(shù)據(jù)結(jié)構(gòu)長度的改變;
④修改全局?jǐn)?shù)據(jù);
⑤重新初始化控制標(biāo)志和指針;
⑥重新排列I/O表或子程序參數(shù)表。。(2)數(shù)據(jù)副作用(3)文檔副作用由于程序修改而沒有對文檔進(jìn)行相應(yīng)的修改引起文檔的副作用。(3)文檔副作用1.愛上軟件維護(hù)工作
首先要認(rèn)識軟件維護(hù)工作在軟件生命周期中的重要性,做維護(hù)工作雖然不能成為臺前英雄,但卻是個(gè)實(shí)實(shí)在在的幕后英雄。實(shí)際上很多所謂的開發(fā)人員所做的開發(fā)工作就為軟件增加新功能,修改業(yè)務(wù)流程,這其實(shí)就是在做完善性維護(hù)工作。軟件維護(hù)工作同樣存在大量的挑戰(zhàn),同樣需要創(chuàng)造性、靈活性、耐心、訓(xùn)練和良好的溝通。愛好是學(xué)習(xí)最好的老師,只要喜歡上軟件維護(hù)工作,你就會在這一領(lǐng)域中發(fā)揮你的聰明才智,收獲屬于你的一片藍(lán)天。七、如何做好軟件維護(hù)1.愛上軟件維護(hù)工作七、如何做好軟件維護(hù)2.熟悉軟件系統(tǒng)
熟悉所維護(hù)軟件的功能是非常重要的,也是進(jìn)行軟件維護(hù)工作的第一步。首先閱讀現(xiàn)有的文檔,最好能對文檔中提到的內(nèi)容親自進(jìn)行測試。掌握現(xiàn)實(shí)中軟件的使用方法,確保你要知道最常用的使用情形。有時(shí)候用戶會要求提供一些已經(jīng)存在的功能特性,只是因?yàn)樗麄儾恢儡浖幸呀?jīng)具有了這些功能。最后只能研究代碼了,試著去理解函數(shù)、模塊和組件在軟件中所扮演的角色。使用調(diào)試器單步執(zhí)行程序中不同的分支,查看當(dāng)代碼的不同部分執(zhí)行時(shí)將會發(fā)生什么。要把熟悉軟件的體系結(jié)構(gòu)當(dāng)做一個(gè)持續(xù)進(jìn)行的過程,而不是一次就能完成的事情。當(dāng)你修改bug或添加新的特性時(shí),可能對系統(tǒng)有更好的理解。以上過程一定要記錄結(jié)果,這樣對維護(hù)工作有巨大的幫助。2.熟悉軟件系統(tǒng)3.與用戶溝通與用戶溝通是非常重要的。許多軟件開發(fā)者都很內(nèi)向,他們寧愿與技術(shù)打交道,也不愿意去與用戶溝通。然而,軟件就是為了人們使用才開發(fā)的。而且在軟件的維護(hù)階段,已經(jīng)有用戶使用我們的軟件了。試著建立一個(gè)簡單有效的機(jī)制,用于及時(shí)反饋用戶提出的問題,即使我們不能立即解決這個(gè)問題,也要讓用戶知道我們正在處理這個(gè)問題,而沒有怠慢他們。最后,要誠實(shí)的告訴他們問題的最新解決情況,如果由于某些原因不能滿足他們的需求,也要及時(shí)告訴他么。3.與用戶溝通4.保留修改記錄有很多種保留修改記錄的方法。最常見的方式是在每次提交代碼前要進(jìn)行注釋說明,還有些人喜歡把修改的記錄列表寫到文件的頂部,在電子表格中保留一份修改列表也是和方便的。無論你采用哪種方式,一定要重視它。一份精確的修改記錄對成功的維護(hù)工作來說是無價(jià)的。4.保留修改記錄5.盡量保持程序原貌,避免重構(gòu)
在軟件維護(hù)的很多時(shí)候,你會被某些模塊中的代碼弄得很沮喪。真想把這些代碼刪除后從頭重寫。事實(shí)上,無論何時(shí)我們對代碼進(jìn)行修改,不管是多么微小的修改,都存在引入新的bug的風(fēng)險(xiǎn)。避免重構(gòu),盡管在開發(fā)階段重構(gòu)是一項(xiàng)很有用的技術(shù),但在軟件的維護(hù)階段,它可能只會給你帶來麻煩。即使你使用重構(gòu)沒有破壞任何東西,至少也增加了維護(hù)記錄的復(fù)雜度,使源代碼管理系統(tǒng)中不同版本間的差別變大。5.盡量保持程序原貌,避免重構(gòu)6.重視測試測試永遠(yuǎn)是軟件質(zhì)量保證中重要的一環(huán),當(dāng)你接手軟件的維護(hù)工作時(shí),也許你需要做的第一件任務(wù)就是做測試。7.要有穩(wěn)定的維護(hù)團(tuán)隊(duì)
6.重視測試總之軟件的安全運(yùn)行離不開維護(hù)工作。軟件維護(hù)工作有它有獨(dú)特的魅力??傊浖陌踩\(yùn)行離不開維護(hù)工作。軟件維護(hù)工作有它有獨(dú)特的魅謝謝2019年4月軟件運(yùn)維體系課件2022/11/24軟件運(yùn)維體系論述2022/11/23軟件運(yùn)維體系論述一、軟件維護(hù)的概念二、軟件維護(hù)分類三、維護(hù)問題四、維護(hù)成本五、維護(hù)過程六、維護(hù)的副作用七、如何做好軟件維護(hù)一、軟件維護(hù)的概念軟件維護(hù)階段覆蓋了從軟件交付使用到軟件被淘汰為止的整個(gè)時(shí)期。軟件的開發(fā)時(shí)間可能需要一、二年,甚至更短,但它的使用時(shí)間可能要經(jīng)歷幾年或幾十年。在軟件開發(fā)過程中始終強(qiáng)調(diào)軟件的可維護(hù)性。原因是,一個(gè)應(yīng)用系統(tǒng)由于需求和環(huán)境的變化以及自身暴露的問題,在交付用戶使用后,對它進(jìn)行維護(hù)是不可避免的,統(tǒng)計(jì)和估測結(jié)果表明,信息技術(shù)中硬件費(fèi)用一般占35%,軟件占65%,而軟件后期維護(hù)費(fèi)用有時(shí)竟高達(dá)軟件總費(fèi)用的80%,所有前期開發(fā)費(fèi)用僅占20%。軟件維護(hù)軟件維護(hù)階段覆蓋了從軟件交付使用到軟件被淘汰為止的整個(gè)時(shí)期。一、軟件維護(hù)的概念什么是軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程國標(biāo)GB/T11457-95給出如下定義在一軟件產(chǎn)品交付使用后對其進(jìn)行修改,以糾正故障;在一軟件產(chǎn)品交付使用后對其進(jìn)行修改,以糾正故障、改進(jìn)其性能和其它屬性,或使產(chǎn)品適應(yīng)改變了的環(huán)境一、軟件維護(hù)的概念什么是軟件維護(hù)按照維護(hù)的起因分類四類:糾錯(cuò)性維護(hù)適應(yīng)性維護(hù)完善性維護(hù)預(yù)防性維護(hù)二、軟件維護(hù)分類
按照維護(hù)的起因分類四類:二、軟件維護(hù)分類糾錯(cuò)性維護(hù)(CorrectiveMaintenance)——為改正軟件系統(tǒng)中潛藏的錯(cuò)誤而進(jìn)行的活動。
糾錯(cuò)性維護(hù)是指在系統(tǒng)開發(fā)階段已發(fā)生而系統(tǒng)測試階段尚未發(fā)現(xiàn)的錯(cuò)誤。這方面的維護(hù)工作量占整個(gè)維護(hù)工作量的17%-21%。所發(fā)現(xiàn)的錯(cuò)誤有的不太重要,不影響系統(tǒng)的正常運(yùn)行,其維護(hù)工作可隨時(shí)進(jìn)行;而有的錯(cuò)誤非常重要,甚至影響整個(gè)系統(tǒng)的正常運(yùn)行,其維護(hù)工作必須制定計(jì)劃,進(jìn)行修改,并且要進(jìn)行復(fù)查和控制。這部分維護(hù)工作實(shí)際上就是軟件系統(tǒng)運(yùn)行過程中修改前期沒有發(fā)現(xiàn)的bug,在修改舊bug過程中也可能會引入新的bug,這部分工作以后會成為新的糾錯(cuò)性維護(hù)工作。在軟件開發(fā)過程中加強(qiáng)測試,可以有效減少這部分的維護(hù)工作。糾錯(cuò)性維護(hù)(CorrectiveMaintenance)適應(yīng)性維護(hù)(AdaptiveMaintenance)——為適應(yīng)軟件運(yùn)行環(huán)境的變化而修改軟件的活動。
適應(yīng)性維護(hù)是指是軟件適應(yīng)信息技術(shù)變化和管理需求而進(jìn)行的修改。這方面的維護(hù)工作量占整個(gè)維護(hù)工作量的18%-25%。由于目前計(jì)算機(jī)硬件價(jià)格的不斷下降,各類系統(tǒng)軟件層出不窮,人們常常為改善系統(tǒng)硬件環(huán)境和運(yùn)行環(huán)境而產(chǎn)生系統(tǒng)更新?lián)Q代的需求;企業(yè)的外部市場環(huán)境和管理需求的不斷變化也使得各級管理人員不斷提出新的信息需求。這些因素都將導(dǎo)致適應(yīng)性維護(hù)工作的產(chǎn)生。適應(yīng)性維護(hù)(AdaptiveMaintenance)完善性維護(hù)(PerfectiveMaintenance)——根據(jù)用戶在軟件使用過程中提出的建設(shè)性意見而進(jìn)行的維護(hù)活動。完善性維護(hù)是為擴(kuò)充功能和改善性能而進(jìn)行的修改,主要是指對已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設(shè)計(jì)階段中沒有規(guī)定的功能與性能特征。這些功能對完善系統(tǒng)功能是非常必要的。另外,還包括對處理效率和編寫程序的改進(jìn),這方面的維護(hù)占整個(gè)維護(hù)工作的50%-60%,比重較大,也是關(guān)系到系統(tǒng)開發(fā)質(zhì)量的重要方面。完善性維護(hù)是軟件維護(hù)工作的主要部分,觸發(fā)這類維護(hù)工作的常常是用戶業(yè)務(wù)交易增加了,或是業(yè)務(wù)流程改變了,需要修改軟件;也可能是軟件不能滿足業(yè)務(wù)量要去,需要在性能上有所提高。完善性維護(hù)(PerfectiveMaintenance)預(yù)防性維護(hù)(PreventiveMaintenance)
——為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)。
預(yù)防性維護(hù)為了改進(jìn)應(yīng)用軟件的可靠性和可維護(hù)性,為了適應(yīng)未來的軟硬件環(huán)境的變化,主動增加預(yù)防性的新的功能,以使應(yīng)用系統(tǒng)適應(yīng)各類變化而不被淘汰。這方面的維護(hù)工作占整個(gè)維護(hù)工作量的4%左右,是維護(hù)工作中占比最少的一部分工作。預(yù)防性維護(hù)(PreventiveMaintenance)三、維護(hù)問題和軟件維護(hù)有關(guān)的部分問題:理解別人的代碼通常是非常困難的,而且難度隨著軟件配置成分的缺失而迅速增加需要維護(hù)的軟件往往沒有文檔、或文檔資料嚴(yán)重不足、或軟件的變化未在相應(yīng)的文檔中反映出來三、維護(hù)問題和軟件維護(hù)有關(guān)的部分問題:當(dāng)軟件要求維護(hù)時(shí),不能指望由原來的開發(fā)人員來完成或提供軟件的解釋。由于維護(hù)持續(xù)時(shí)間很長,因此當(dāng)需要解釋軟件時(shí)候,往往開發(fā)人員已經(jīng)不在附近了絕大多數(shù)軟件在設(shè)計(jì)時(shí)沒有考慮到將來的修改問題軟件維護(hù)這項(xiàng)工作毫無吸引力。一方面是因?yàn)檐浖S護(hù),看不到什么“成果”,但工作量很大,更重要的是維護(hù)工作難度大,軟件維護(hù)人員經(jīng)常遭受挫折。當(dāng)軟件要求維護(hù)時(shí),不能指望由原來的開發(fā)人員來完成或提供軟件的過去的二十年,軟件維護(hù)的成本在不斷增長。七十年代,一個(gè)信息系統(tǒng)機(jī)構(gòu)用于軟件維護(hù)的費(fèi)用占其軟件總預(yù)算的35~40%,八十年代接近60%。若維護(hù)方式?jīng)]有大的改進(jìn),未來幾年,許多大型軟件公司可能要將其預(yù)算的80%用于軟件系統(tǒng)的維護(hù)上。四、維護(hù)成本過去的二十年,軟件維護(hù)的成本在不斷增長。四、維護(hù)成本軟件維護(hù)除費(fèi)用外的無形代價(jià)包括維護(hù)活動占用了其他軟件開發(fā)可用的資源,使資源的利用率降低一些修復(fù)或修改請求得不到及時(shí)安排,使得客戶滿意率下降維護(hù)的結(jié)果把一些新的潛在的錯(cuò)誤引入軟件,降低了軟件質(zhì)量將軟件人員抽調(diào)到維護(hù)工作中,使得其它軟件開發(fā)過程受到干擾軟件維護(hù)除費(fèi)用外的無形代價(jià)包括維護(hù)的工作可劃分成:生產(chǎn)性活動如,分析評價(jià)、修改設(shè)計(jì)、編寫程序代碼等非生產(chǎn)性活動如,程序代碼功能理解、數(shù)據(jù)結(jié)構(gòu)解釋、接口特點(diǎn)和性能界限分析等維護(hù)的工作可劃分成:在軟件維護(hù)中,影響維護(hù)工作量的因素主要有以下六種:系統(tǒng)的大小 系統(tǒng)規(guī)模越大,其功能就越復(fù)雜,軟件維護(hù)的工作量也隨之增大。程序設(shè)計(jì)語言 使用功能強(qiáng)大的程序設(shè)計(jì)語言可以控制程序的規(guī)模。語言的功能越強(qiáng),生成程序的模塊化和結(jié)構(gòu)化程度越高,所需的指令數(shù)就越少,程序的可讀性越好。在軟件維護(hù)中,影響維護(hù)工作量的因素主要有以下六種:系統(tǒng)年齡 系統(tǒng)使用時(shí)間越長,所進(jìn)行的修改就越多,而多次的修改可能造成系統(tǒng)結(jié)構(gòu)混亂。由于維護(hù)人員經(jīng)常更換,程序變得越來越難于理解,加之系統(tǒng)開發(fā)時(shí)文檔不齊全,或在長期的維護(hù)過程中文檔在許多地方與程序?qū)崿F(xiàn)不一致,從而使維護(hù)變得十分困難。數(shù)據(jù)庫技術(shù)的應(yīng)用 使用數(shù)據(jù)庫,可以簡單而有效地存儲、管理系統(tǒng)數(shù)據(jù),還可以減少生成用戶報(bào)表應(yīng)用軟件的維護(hù)工作量。系統(tǒng)年齡先進(jìn)的軟件開發(fā)技術(shù)
在軟件開發(fā)過程中,如果采用先進(jìn)的分析設(shè)計(jì)技術(shù)和程序設(shè)計(jì)技術(shù),如面向?qū)ο蠹夹g(shù)、復(fù)用技術(shù)等,可減少大量的維護(hù)工作量。其它一些因素 如應(yīng)用的類型、數(shù)學(xué)模型、任務(wù)的難度、開關(guān)與標(biāo)記、IF嵌套深度、索引或下標(biāo)數(shù)等,對維護(hù)工作量也有影響。先進(jìn)的軟件開發(fā)技術(shù)五、維護(hù)過程對于非糾錯(cuò)性維護(hù),則首先判斷維護(hù)類型,對適應(yīng)性維護(hù),按照評估后得到的優(yōu)先級放入隊(duì)列對于改善性維護(hù),則還要考慮是否采取行動,如果接受申請,則同樣按照評估后得到的優(yōu)先級放入隊(duì)列,如果拒絕申請,則通知請求者,并說明原因?qū)τ诠ぷ靼才抨?duì)列中的任務(wù),由修改負(fù)責(zé)人依次從隊(duì)列中取出任務(wù),按照軟件工程方法學(xué)規(guī)劃、組織、實(shí)施工程。五、維護(hù)過程對于非糾錯(cuò)性維護(hù),則首先判斷維護(hù)類型,對適應(yīng)性維維護(hù)請求類型類型嚴(yán)重性評估后按優(yōu)先級在隊(duì)列排隊(duì)救火行動,當(dāng)排在隊(duì)列之首評估后分類評估后按優(yōu)先級在隊(duì)列排隊(duì)采取的行動通知請求者并說明原因按優(yōu)先級在隊(duì)列中排隊(duì)從維護(hù)請求隊(duì)列之首取出一任務(wù)按SE方法學(xué)規(guī)劃、組織、實(shí)施工程隊(duì)列中還有維護(hù)請求嗎?資源用于開發(fā)新的軟件。yn糾錯(cuò)性維護(hù)其他改善性維護(hù)適應(yīng)性維護(hù)拒絕接受并不嚴(yán)重非常嚴(yán)重維護(hù)請求類型類型嚴(yán)重性評估后按優(yōu)先救火行動,當(dāng)評估后分類評估2022/11/24六、維護(hù)的副作用軟件修改是一項(xiàng)很危險(xiǎn)的工作,對一個(gè)復(fù)雜的邏輯過程,那怕做一項(xiàng)微小的改動,都可能引入潛在的錯(cuò)誤,雖然設(shè)計(jì)文檔化和細(xì)致的測試有助于排除錯(cuò)誤,但是維護(hù)仍然會產(chǎn)生副作用。一次修改5-10個(gè)語句,成功率50%;一次修改40-50個(gè)語句,成功的可能性20%;每糾正一個(gè)錯(cuò)誤平均需修改17條指令。2022/11/23六、維護(hù)的副作用軟件修改是一項(xiàng)很危險(xiǎn)的工軟件維護(hù)的副作用指,由于維護(hù)或在維護(hù)過程中其他一些不期望的行為引入的錯(cuò)誤,副作用大致可分為三類:(1)代碼副作用(2)數(shù)據(jù)副作用(3)文檔的副作用軟件維護(hù)的副作用指,由于維護(hù)或在維護(hù)過程中其他一些不期望的行(1)代碼副作用—下面的修改最易引起副作用:
①修改或刪除子程序;
②修改或刪除語句標(biāo)號;
③修改或刪除標(biāo)識符;
④為提高程序效率而做的修改;
⑤修改邏輯操作符;
⑥由設(shè)計(jì)變動引起的代碼修改;
⑦修改分支處的判斷條件;
(1)代碼副作用—下面的修改最易引起副作用:(2)數(shù)據(jù)副作用數(shù)據(jù)副作用是由于修改數(shù)據(jù)結(jié)構(gòu)帶來的副作用。容易引起數(shù)據(jù)副作用的修改包括:
①局部和全局常量的再定義;
②記錄或文件格式的再定義;
③增減數(shù)據(jù)或是由于修改數(shù)據(jù)結(jié)構(gòu)的定義導(dǎo)致數(shù)據(jù)結(jié)構(gòu)長度的改變;
④修改全局?jǐn)?shù)據(jù);
⑤重新初始化控制標(biāo)志和指針;
⑥重新排列I/O表或子程序參數(shù)表。。(2)數(shù)據(jù)副作用(3)文檔副作用由于程序修改而沒有對文檔進(jìn)行相應(yīng)的修改引起文檔的副作用。(3)文檔副作用1.愛上軟件維護(hù)工作
首先要認(rèn)識軟件維護(hù)工作在軟件生命周期中的重要性,做維護(hù)工作雖然不能成為臺前英雄,但卻是個(gè)實(shí)實(shí)在在的幕后英雄。實(shí)際上很多所謂的開發(fā)人員所做的開發(fā)工作就為軟件增加新功能,修改業(yè)務(wù)流程,這其實(shí)就是在做完善性維護(hù)工作。軟件維護(hù)工作同樣存在大量的挑戰(zhàn),同樣需要創(chuàng)造性、靈活性、耐心、訓(xùn)練和良好的溝通。愛好是學(xué)習(xí)最好的老師,只要喜歡上軟件維護(hù)工作,你就會在這一領(lǐng)域中發(fā)揮你的聰明才智,收獲屬于你的一片藍(lán)天。七、如何做好軟件維護(hù)1.愛上軟件
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳媒行業(yè)簽約合同范例
- 企業(yè)郵箱合同范例
- 二手合資車買賣合同范例
- 冷凍品采購合同范例
- 交換機(jī)合同范例
- 出售裝修工具合同范例
- 高精度氣動量具檢測儀企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 高精度輪廓投影儀企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 銀行資產(chǎn)托管業(yè)務(wù)行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 鄉(xiāng)村動物園行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 初中生物會考試卷及答案2024
- 2025年游戲開發(fā)與設(shè)計(jì)專業(yè)考試試卷及答案
- 美術(shù)高考集訓(xùn)班協(xié)議合同
- 中國證券經(jīng)營行業(yè)市場發(fā)展現(xiàn)狀分析及發(fā)展趨勢與投資前景研究報(bào)告
- 職業(yè)技術(shù)學(xué)院食品質(zhì)量與安全專業(yè)《食品化學(xué)》課程標(biāo)準(zhǔn)
- GB 38031-2025電動汽車用動力蓄電池安全要求
- 兒童糖尿病酮癥酸中毒診療指南(2024)解讀課件
- 《重金屬廢水處理工藝中的鐵碳微電解塔設(shè)計(jì)案例》2100字
- 跟我學(xué)古箏智慧樹知到期末考試答案章節(jié)答案2024年麗水學(xué)院
- 田字格(綠色標(biāo)準(zhǔn))
- 罐內(nèi)升降機(jī)防腐施工方案
評論
0/150
提交評論