版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、2022-2-13軟件運維體系論述軟件運維體系論述o 一、軟件維護的概念o 二、軟件維護分類o 三、維護問題o 四、維護成本o 五、維護過程o 六、維護的副作用o 七、如何做好軟件維護2022-2-13o 軟件維護階段覆蓋了從軟件交付使用到軟件被淘汰為止的整個時期。軟件的開發(fā)時間可能需要一、二年,甚至更短,但它的使用時間可能要經(jīng)歷幾年或幾十年。o 在軟件開發(fā)過程中始終強調(diào)軟件的可維護性。原因是,一個應用系統(tǒng)由于需求和環(huán)境的變化以及自身暴露的問題,在交付用戶使用后,對它進行維護是不可避免的,統(tǒng)計和估測結(jié)果表明,信息技術(shù)中硬件費用一般占35%,軟件占65%,而軟件后期維護費用有時竟高達軟件總費用的
2、80%,所有前期開發(fā)費用僅占20%。軟件維護一、軟件維護的概念 o 什么是軟件維護n 是指軟件系統(tǒng)交付使用以后,為了改正錯誤或滿足新的需要而修改軟件的過程 o 國標GB/T 11457-95給出如下定義 n 在一軟件產(chǎn)品交付使用后對其進行修改,以糾正故障;n 在一軟件產(chǎn)品交付使用后對其進行修改,以糾正故障、改進其性能和其它屬性,或使產(chǎn)品適應改變了的環(huán)境2022-2-13o 按照維護的起因分類四類: 糾錯性維護 適應性維護 完善性維護 預防性維護二、軟件維護分類 1. 糾錯性維護(Corrective Maintenance) 為改正軟件系統(tǒng)中潛藏的錯誤而進行的活動。 糾錯性維護是指在系統(tǒng)開發(fā)階
3、段已發(fā)生而系統(tǒng)測試階段尚未發(fā)糾錯性維護是指在系統(tǒng)開發(fā)階段已發(fā)生而系統(tǒng)測試階段尚未發(fā)現(xiàn)的錯誤。這方面的維護工作量占整個維護工作量的現(xiàn)的錯誤。這方面的維護工作量占整個維護工作量的17%-21%。所發(fā)現(xiàn)的錯誤有的不太重要,不影響系統(tǒng)的正常運行。所發(fā)現(xiàn)的錯誤有的不太重要,不影響系統(tǒng)的正常運行,其維護工作可隨時進行;而有的錯誤非常重要,甚至影響整,其維護工作可隨時進行;而有的錯誤非常重要,甚至影響整個系統(tǒng)的正常運行,其維護工作必須制定計劃,進行修改,并個系統(tǒng)的正常運行,其維護工作必須制定計劃,進行修改,并且要進行復查和控制。且要進行復查和控制。 這部分維護工作實際上就是軟件系統(tǒng)運行過程中修改前期沒有這部
4、分維護工作實際上就是軟件系統(tǒng)運行過程中修改前期沒有發(fā)現(xiàn)的發(fā)現(xiàn)的bug,在修改舊,在修改舊bug過程中也可能會引入新的過程中也可能會引入新的bug,這這部分工作以后會成為新的糾錯性維護工作。在軟件開發(fā)過程中部分工作以后會成為新的糾錯性維護工作。在軟件開發(fā)過程中加強測試,可以有效減少這部分的維護工作。加強測試,可以有效減少這部分的維護工作。2022-2-132. 適應性維護(Adaptive Maintenance) 為適應軟件運行環(huán)境的變化而修改軟件的活動。 適應性維護是指是軟件適應信息技術(shù)變化和管理需求而進行的修適應性維護是指是軟件適應信息技術(shù)變化和管理需求而進行的修改。這方面的維護工作量占整
5、個維護工作量的改。這方面的維護工作量占整個維護工作量的18%-25%。由。由于目前計算機硬件價格的不斷下降,各類系統(tǒng)軟件層出不窮,人于目前計算機硬件價格的不斷下降,各類系統(tǒng)軟件層出不窮,人們常常為改善系統(tǒng)硬件環(huán)境和運行環(huán)境而產(chǎn)生系統(tǒng)更新?lián)Q代的需們常常為改善系統(tǒng)硬件環(huán)境和運行環(huán)境而產(chǎn)生系統(tǒng)更新?lián)Q代的需求;企業(yè)的外部市場環(huán)境和管理需求的不斷變化也使得各級管理求;企業(yè)的外部市場環(huán)境和管理需求的不斷變化也使得各級管理人員不斷提出新的信息需求。這些因素都將導致適應性維護工作人員不斷提出新的信息需求。這些因素都將導致適應性維護工作的產(chǎn)生。的產(chǎn)生。2022-2-133.完善性維護(Perfective Ma
6、intenance) 根據(jù)用戶在軟件使用過程中提出的建設性意見而進行的維護活動。 完善性維護是為擴充功能和改善性能而進行的修改,主要是完善性維護是為擴充功能和改善性能而進行的修改,主要是指對已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設計階段中沒有指對已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設計階段中沒有規(guī)定的功能與性能特征。這些功能對完善系統(tǒng)功能是非常必規(guī)定的功能與性能特征。這些功能對完善系統(tǒng)功能是非常必要的。另外,還包括對處理效率和編寫程序的改進,這方面要的。另外,還包括對處理效率和編寫程序的改進,這方面的維護占整個維護工作的的維護占整個維護工作的50%-60%,比重較大,也是關系,比重較大,也是關系到系
7、統(tǒng)開發(fā)質(zhì)量的重要方面。完善性維護是軟件維護工作的到系統(tǒng)開發(fā)質(zhì)量的重要方面。完善性維護是軟件維護工作的主要部分,觸發(fā)這類維護工作的常常是用戶業(yè)務交易增加了主要部分,觸發(fā)這類維護工作的常常是用戶業(yè)務交易增加了,或是業(yè)務流程改變了,需要修改軟件;也可能是軟件不能,或是業(yè)務流程改變了,需要修改軟件;也可能是軟件不能滿足業(yè)務量要去,需要在性能上有所提高。滿足業(yè)務量要去,需要在性能上有所提高。2022-2-134. 預防性維護(Preventive Maintenance) 為了進一步改善軟件系統(tǒng)的可維護性和可靠性,并為以后的改進奠定基礎。 預防性維護為了改進應用軟件的可靠性和可維護性,為預防性維護為了改
8、進應用軟件的可靠性和可維護性,為了適應未來的軟硬件環(huán)境的變化,主動增加預防性的新了適應未來的軟硬件環(huán)境的變化,主動增加預防性的新的功能,以使應用系統(tǒng)適應各類變化而不被淘汰。這方的功能,以使應用系統(tǒng)適應各類變化而不被淘汰。這方面的維護工作占整個維護工作量的面的維護工作占整個維護工作量的4%左右,是維護工作左右,是維護工作中占比最少的一部分工作。中占比最少的一部分工作。2022-2-13三、維護問題o 和軟件維護有關的部分問題 :n理解別人的代碼通常是非常困難的,而且難度隨著軟件配置成分的缺失而迅速增加n需要維護的軟件往往沒有文檔、或文檔資料嚴重不足、或軟件的變化未在相應的文檔中反映出來2022-
9、2-13n當軟件要求維護時,不能指望由原來的開發(fā)人員來完成或提供軟件的解釋。由于維護持續(xù)時間很長,因此當需要解釋軟件時候,往往開發(fā)人員已經(jīng)不在附近了n絕大多數(shù)軟件在設計時沒有考慮到將來的修改問題n軟件維護這項工作毫無吸引力。一方面是因為軟件維護,看不到什么“成果”,但工作量很大,更重要的是維護工作難度大,軟件維護人員經(jīng)常遭受挫折。 2022-2-13o 過去的二十年,軟件維護的成本在不斷增長。o 七十年代,一個信息系統(tǒng)機構(gòu)用于軟件維護的費用占其軟件總預算的3540%,八十年代接近60%。o 若維護方式?jīng)]有大的改進,未來幾年,許多大型軟件公司可能要將其預算的80%用于軟件系統(tǒng)的維護上。四、維護成
10、本2022-2-13o 軟件維護除費用外的無形代價包括n 維護活動占用了其他軟件開發(fā)可用的資源,使資源的利用率降低 n 一些修復或修改請求得不到及時安排,使得客戶滿意率下降 n 維護的結(jié)果把一些新的潛在的錯誤引入軟件,降低了軟件質(zhì)量 n 將軟件人員抽調(diào)到維護工作中,使得其它軟件開發(fā)過程受到干擾 2022-2-13o 維護的工作可劃分成:n 生產(chǎn)性活動 如,分析評價、修改設計、編寫程序代碼等 n 非生產(chǎn)性活動 如,程序代碼功能理解、數(shù)據(jù)結(jié)構(gòu)解釋、接口特點和性能界限分析等2022-2-13o 在軟件維護中,影響維護工作量的因素主要有以下六種:n 系統(tǒng)的大小系統(tǒng)規(guī)模越大,其功能就越復雜,軟件維護的工
11、作量也隨之增大。n 程序設計語言使用功能強大的程序設計語言可以控制程序的規(guī)模。語言的功能越強,生成程序的模塊化和結(jié)構(gòu)化程度越高,所需的指令數(shù)就越少,程序的可讀性越好。2022-2-13o 系統(tǒng)年齡系統(tǒng)使用時間越長,所進行的修改就越多,而多次的修改可能造成系統(tǒng)結(jié)構(gòu)混亂。由于維護人員經(jīng)常更換,程序變得越來越難于理解,加之系統(tǒng)開發(fā)時文檔不齊全,或在長期的維護過程中文檔在許多地方與程序?qū)崿F(xiàn)不一致,從而使維護變得十分困難。o 數(shù)據(jù)庫技術(shù)的應用使用數(shù)據(jù)庫,可以簡單而有效地存儲、管理系統(tǒng)數(shù)據(jù),還可以減少生成用戶報表應用軟件的維護工作量。2022-2-13o 先進的軟件開發(fā)技術(shù) 在軟件開發(fā)過程中,如果采用先進
12、的分析設計技術(shù)和程序設計技術(shù),如面向?qū)ο蠹夹g(shù)、復用技術(shù)等,可減少大量的維護工作量。o 其它一些因素如應用的類型、數(shù)學模型、任務的難度、開關與標記、IF嵌套深度、索引或下標數(shù)等,對維護工作量也有影響。2022-2-13五、維護過程o 對于非糾錯性維護,則首先判斷維護類型,對適應性維護,按照評估后得到的優(yōu)先級放入隊列 o 對于改善性維護,則還要考慮是否采取行動,如果接受申請,則同樣按照評估后得到的優(yōu)先級放入隊列,如果拒絕申請,則通知請求者,并說明原因o 對于工作安排隊列中的任務,由修改負責人依次從隊列中取出任務,按照軟件工程方法學規(guī)劃、組織、實施工程。2022-2-13維護請求維護請求類型類型類型
13、類型嚴重性嚴重性評估后按優(yōu)先評估后按優(yōu)先級在隊列排隊級在隊列排隊救火行動,當救火行動,當排在隊列之首排在隊列之首評估后分類評估后分類評估后按優(yōu)先評估后按優(yōu)先級在隊列排隊級在隊列排隊采取的行動采取的行動通知請求者通知請求者并說明原因并說明原因按優(yōu)先級在按優(yōu)先級在隊列中排隊隊列中排隊從維護請求隊列之首取出一任務從維護請求隊列之首取出一任務按按SESE方法學規(guī)劃、組織、實施工程方法學規(guī)劃、組織、實施工程隊列中還有維護請求嗎?隊列中還有維護請求嗎?資源用于開發(fā)新的軟件。資源用于開發(fā)新的軟件。y yn n糾錯性維護糾錯性維護其他其他改善性維護改善性維護適應性維護適應性維護拒絕拒絕接受接受并不嚴重并不嚴重
14、非常嚴重非常嚴重2022-2-132022-2-13六、維護的副作用n軟件修改是一項很危險的工作,對一個復雜的邏輯過程,那怕做一項微小的改動,都可能引入潛在的錯誤,雖然設計文檔化和細致的測試有助于排除錯誤,但是維護仍然會產(chǎn)生副作用。l一次修改5-10個語句,成功率50%;l一次修改40-50個語句,成功的可能性20%;l每糾正一個錯誤平均需修改17條指令。2022-2-13o 軟件維護的副作用指,由于維護或在維護過程中其他一些不期望的行為引入的錯誤,副作用大致可分為三類:(1)代碼副作用(2)數(shù)據(jù)副作用(3)文檔的副作用2022-2-13(1)代碼副作用下面的修改最易引起副作用:修改或刪除子程
15、序;修改或刪除語句標號;修改或刪除標識符;為提高程序效率而做的修改;修改邏輯操作符;由設計變動引起的代碼修改;修改分支處的判斷條件; 2022-2-13(2)數(shù)據(jù)副作用l 數(shù)據(jù)副作用是由于修改數(shù)據(jù)結(jié)構(gòu)帶來的副作用。容易引起數(shù)據(jù)副作用的修改包括:局部和全局常量的再定義;記錄或文件格式的再定義;增減數(shù)據(jù)或是由于修改數(shù)據(jù)結(jié)構(gòu)的定義導致 數(shù)據(jù)結(jié)構(gòu)長度的改變;修改全局數(shù)據(jù);重新初始化控制標志和指針;重新排列I/O表或子程序參數(shù)表。2022-2-13(3)文檔副作用l 由于程序修改而沒有對文檔進行相應的修改引起文檔的副作用。o 1.愛上軟件維護工作 首先要認識軟件維護工作在軟件生命周期中的重要性,做維護工
16、作雖然不能成為臺前英雄,但卻是個實實在在的幕后英雄。實際上很多所謂的開發(fā)人員所做的開發(fā)工作就為軟件增加新功能,修改業(yè)務流程,這其實就是在做完善性維護工作。軟件維護工作同樣存在大量的挑戰(zhàn),同樣需要創(chuàng)造性、靈活性、耐心、訓練和良好的溝通。愛好是學習最好的老師,只要喜歡上軟件維護工作,你就會在這一領域中發(fā)揮你的聰明才智,收獲屬于你的一片藍天。七、如何做好軟件維護o 2.熟悉軟件系統(tǒng) 熟悉所維護軟件的功能是非常重要的,也是進行軟件維護工作的第一步。首先閱讀現(xiàn)有的文檔,最好能對文檔中提到的內(nèi)容親自進行測試。掌握現(xiàn)實中軟件的使用方法,確保你要知道最常用的使用情形。有時候用戶會要求提供一些已經(jīng)存在的功能特性
17、,只是因為他們不知道軟件中已經(jīng)具有了這些功能。 最后只能研究代碼了,試著去理解函數(shù)、模塊和組件在軟件中所扮演的角色。使用調(diào)試器單步執(zhí)行程序中不同的分支,查看當代碼的不同部分執(zhí)行時將會發(fā)生什么。要把熟悉軟件的體系結(jié)構(gòu)當做一個持續(xù)進行的過程,而不是一次就能完成的事情。當你修改bug或添加新的特性時,可能對系統(tǒng)有更好的理解。以上過程一定要記錄結(jié)果,這樣對維護工作有巨大的幫助。o 3.與用戶溝通 與用戶溝通是非常重要的。許多軟件開發(fā)者都很內(nèi)向,他們寧愿與技術(shù)打交道,也不愿意去與用戶溝通。然而,軟件就是為了人們使用才開發(fā)的。而且在軟件的維護階段,已經(jīng)有用戶使用我們的軟件了。試著建立一個簡單有效的機制,用于及時反饋用戶提出的問題,即使我們不能立即解決這個問題,也要讓用戶知道我們正在處理這個問題,而沒有怠慢他們。最后,要誠實的告訴他們問題的最新解決情況,如果由于某些原因不能滿足他們的需求,也要及時告訴他么。o 4.保留修改記錄 有很多種保留修改記錄的方法。最常見的方式是在每次提交代碼前要進行注釋說明,還有些人喜歡把修改的記錄列表寫到文件的頂部,在電子表格中保留一份修改列表也是和方便的。無論你采用哪種方式,一定要重視它。一份精確的修改記錄對成功的維護工作來說是無價的。o 5.盡量保持程序原貌,避免重構(gòu) 在軟件維護的很多時候,你會被某些模塊中的代碼弄得很沮喪。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 租車協(xié)議合同范本示例
- 真心相待的夫妻保證書
- 簡單隱私保護合同協(xié)議樣本
- 規(guī)范文本偷錢保證書范例
- 建筑勞務分包安全管理協(xié)議
- 精確市場調(diào)研制作合同
- 綠化項目招標答疑
- 軟件開發(fā)合同協(xié)議范本示例
- 零售店長工作合同
- 補充合同格式范本
- 支氣管動脈造影護理
- 2024年度建筑工程有限公司股權(quán)轉(zhuǎn)讓合同3篇
- 校園春季安全
- 2024-2025學年六上科學期末綜合檢測卷(含答案)
- 【MOOC】工程力學-浙江大學 中國大學慕課MOOC答案
- 2024年湖南省公務員考試《行測》真題及答案解析
- 工會十八大精神、工會法知識考試題庫及答案
- 水利水電工程單位分部工程施工質(zhì)量評定表(完整版)
- 形式發(fā)票樣本
- 往復壓縮機填料函結(jié)構(gòu)及原理課件講解
- 干線鐵路牽引變電所設計
評論
0/150
提交評論