系統維護

系統維護

為了清除系統運行中發生的故障和錯誤,軟、硬體維護人員要對系統進行必要的修改與完善;為了使系統適套用戶環境的變化,滿足新提出的需要,也要對原系統做些局部的更新,這些工作稱為系統維護。 系統維護的任務是改正軟體系統在使用過程中發現的隱含錯誤,擴充在使用過程中用戶提出的新的功能及性能要求,其目的是維護軟體系統的"正常運作"。這階段的文檔是軟體問題報告和軟體修改報告,它記錄發現軟體錯誤的情況以及修改軟體的過程。

基本介紹

  • 中文名:系統維護
  • 原因:系統發生故障
  • 任務:維護系統
  • 領域:計算機
目的和任務,綜述,電腦系統維護指的是,內容和類型,系統維護的內容,系統維護的類型,工作特點,是否採用結構化開發方法,對系統維護工作有極大的影響,系統維護要付出很高的代價,系統維護工作對維護人員要求較高,系統維護工作的對象是整個系統的配置,系統維護經常遇到的很多問題,考慮因素,維護的背景,維護工作的影響,資源要求,組織管理,

目的和任務

綜述

管理信息系統(MIS)在完成系統實施、投入正常運行之後,就進入了系統運行與維護階段。一般信息系統的使用壽命短則4-5年,長則可達10年以上,在信息系統的整個使用壽命中,都將伴隨著系統維護工作的進行。系統維護的目的是要保證管理信息系統正常而可靠地運行,並能使系統不斷得到改善和提高,以充分發揮作用。因此,系統維護的任務就是要有計畫、有組織地對系統進行必要的改動,以保證系統中的各個要素隨著環境的變化始終處於最新的、正確的工作狀態。
系統維護工作在整個系統生命周期中常常被忽視。人們往往熱衷於系統開發,當開發工作完成以後,多數情況下開發隊伍被解散或撤走,而在系統開始運行後並沒有配置適當的系統維護人員。這樣,一旦系統發生問題或環境發生變化,最終用戶將無從下手,這就是為什麼有些信息系統在運行環境中長期與舊系統並行運行不能轉換,甚至最後被廢棄的原因。隨著信息系統套用的深入,以及使用壽命的延長,系統維護的工作量將越來越大。系統維護的費用往往占整個系統生命周期總費用的60%以上,因此有人曾以浮在海面的冰山來比喻系統開發與維護的關係,系統開發工作如同冰山露出水面的部分,容易被人看到而得到重視,而系統維護工作如同冰山浸在水下部分,體積遠比露出水面的部分大得多,但由於不易被人看到而常被忽視:從另一方面來看,相對具有“開創性”的系統開發來講,系統維護工作屬於“繼承性”工作,挑戰性不強,成績不顯著,使很多技術人員不安心於系統維護工作,這也是造成人們重視開發而輕視維護的原因。但系統維護是信息系統可靠運行的重要技術保障,必須給予足夠的重視。

電腦系統維護指的是

為保證計算機系統能夠正常運行而進行的定期檢測、修理和最佳化。主要從硬體和軟體方面入手。硬體包括計算機主要部件的保養和升級;軟體包括計算機作業系統的更新和防毒。

內容和類型

系統維護的內容

系統維護是面向系統中各個構成因素的,按照維護對象不同,系統維護的內容可分為以下幾類:
(1)系統應用程式維護。套用軟體維護是系統維護的最主要內容。它是指對相應的應用程式及有關文檔進行的修改和完善。系統的業務處理過程是通過應用程式的運行而實現的,一旦程式發生問題或業務發生變化,就必然地引起程式的修改和調整,因此系統維護的主要活動是對程式進行維護。
(2)數據維護。資料庫是支撐業務運作的基礎平台,需要定期檢查運行狀態。業務處理對數據的需求是不斷發生變化的,除了系統中主體業務數據的定期正常更新外,還有許多數據需要進行不定期的更新,或隨環境或業務的變化而進行調整,以及數據內容的增加、數據結構的調整。此外,數據的備份與恢復等,都是數據維護的工作內容。
(3)代碼維護。代碼維護是指對原有的代碼進行的擴充、添加或刪除等維護工作。隨著系統套用範圍的擴大,套用環境的變化,系統中的各種代碼都需要進行一定程度的增加、修改、刪除,以及設定新的代碼。
(4)硬體設備維護。主要就是指對主機及外設的日常維護和管理,如機器部件的清洗、潤滑,設備故障的檢修,易損部件的更換等,這些工作都應由專人負責,定期進行,以保證系統正常有效地工作。
(5)機構和人員的變動。信息系統是人機系統,人工處理也占有重要地位,人的作用占主導地位。為了使信息系統的流程更加合理,有時涉及到機構和人員的變動。這種變化往往也會影響對設備和程式的維護工作。

系統維護的類型

系統維護的重點是系統套用軟體的維護工作,按照軟體維護的不同性質劃分為下述4種類型:
(1)糾錯性維護。由於系統測試不可能揭露系統存在的所有錯誤,因此在系統投入運行後頻繁的實際套用過程中,就有可能暴露出系統內隱藏的錯誤。診斷和修正系統中遺留的錯誤,就是糾錯性維護。糾錯性維護時在系統運行中發生異常或故障時進行的,這種錯誤往往是遇到了從未用過的輸入數據組合或是在與其他部分接口處產生的,因此只是在某些特定的情況下發生。有些系統運行多年以後才暴露出在系統開發中遺留的問題,這是不足為奇的。
(2)適應性維護。適應性維護時為了使系統適應環境的變化而進行的維護工作。一方面計算機科學技術迅速發展,硬體的更新周期越來越短,新的作業系統和原來作業系統的新版本不斷推出,外部設備和其他系統部件經常有所增加和修改,這就是必然要求信息系統能夠適應新的軟硬體環境,以提高系統的性能和運行效率;另一方面,信息系統的使用壽命在延長,超過了最初開發這個系統時套用環境的壽命,即套用對象也在不斷發生變化,機構的調整,管理體制的改變、數據與信息需求的變更等都將導致系統不能適應新的套用環境。如代碼改變、數據結構變化、數據格式以及輸入/ 輸出方式的變化、數據存儲介質的變化等,都將直接影響系統的正常工作。因此有必要對系統進行調整,使之適應套用對象的變化,滿足用戶的需求。
(3)完善性維護。在系統的使用過程中,用戶往往要求擴充原有系統的功能,增加一些在軟體需求規範書中沒有規定的功能與性能特徵,以及對處理效率和編寫程式的改進。例如,有時可將幾個小程式合併成一個單一的運行良好的程式,從而提高處理效率;增加數據輸出的圖形方式;增加在線上線上幫助功能;調整用戶界面等。儘管這些要求在原來系統開發的需求規格說明書中並沒有,但用戶要求在原有系統基礎上進一步改善和提高;並且隨著用戶對系統的使用和熟悉,這種要求可能不斷提出。為了滿足這些要求而進行的系統維護工作就是完善性維護。
(4)預防性維護。系統維護工作不應總是被動地等待用戶提出要求後才進行,應進行主動的預防性維護,即選擇那些還有較長使用壽命,目前尚能正常運行,但可能將要發生變化或調整的系統進行維護,目的是通過預防性維護為未來的修改與調整奠定更好的基礎。例如,將目前能套用的報表功能改成通用報表生成功能,以應付今後報表內容和格式可能的變化,根據對各種維護工作分布情況的統計結果,一般糾錯性維護占21%,適應性維護工作占25%,完善性維護達到50%,而預防性維護以及其他類型的維護僅占4%,可見系統維護工作中,一半以上的工作室完善性維護。

工作特點

是否採用結構化開發方法

對系統維護工作有極大的影響

是否採用結構化開發方法對系統為=維護工作有極大的影響。如果系統開發採用了結構化方法,則系統交付時有完整的軟體配置文檔,維護的過程也就比較規範。維護從評價設計文檔開始,從文檔中確定軟體結構、數據結構和系統接口等特點,在考慮修改可能帶來影響的情況下,設計修正錯誤的途徑,然後修改設計,在與設計相對應的源程式上進行相應的修改,使用測試說明書中包含的測試方案進行回歸測試。可見經過結構化開發的系統,將大大減少維護的工作量,提高質量。

系統維護要付出很高的代價

首先,有形的代價直接來自維護工作本身,維護工作可分為兩部分,一部分為非生產性活動,主要是理解源程式代碼的功能,解釋數據結構、接口特點和性質限度等。這部分工作量和費用與系統的複雜程度(非結構化設計和缺少文檔都會增加系統的複雜程度)、維護人員的經驗水平以及對系統的熟悉程度密切相關;另一部分為生產性活動,主要是分析評價、修改設計和編寫程式代碼等。其工作量與系統開發的方式、方法、採用的開發環境有直接的關係。因此,如果系統開發途徑不好,且原來的開發人員不能參加維護工作,則維護工作量和費用呈指數上升。例如,據1976年的報導,美國空軍的飛行控制軟體每條指令的開發成本是75美元,而維護成本大約是每條指令4000美元。統計表明,60%-70%的軟體費用花在維護方面。
另外,許多無形的代價來自維護所產生的效果和影響上。由於開發人員和其他開發資源越來越多地被束縛在系統維護工作中,開發的系統越多,維護的負擔越重,這將導致開發人員完全沒有時間和潛力和精力從事新系統的開發,從而耽誤甚至喪失了開發良機。此外,合理的維護要求不能及時滿足,將引起用戶的不滿;維護過程中引入新的錯誤,使系統可靠性下降等問題將帶來很高的維護代價。

系統維護工作對維護人員要求較高

因為系統維護所要解決的問題可能來自系統整個開發周期的各個階段,因此承擔維護工作的人員應對開發階段的整個過程、每個層次的工作都有所了解,從需求、分析、設計一直到編碼、測試等,並且應具有較強的程式調試和排錯能力,這些對維護人員的知識結構、素質和專業水平有較高的要求。

系統維護工作的對象是整個系統的配置

由於問題可能來源於系統的各個組成部分,產生於系統開發的各個階段,因此系統維護工作並不僅僅是針對源程式代碼,而且包括系統開發過程中的全部開發文檔。

系統維護經常遇到的很多問題

系統維護中的絕大部分問題源於系統分析和設計階段,而編碼本身造成的錯誤比例並不高,僅占4%左右。理解別人編寫的程式很難,而且這種難度隨著軟體配置文檔的減少而增加。從實際情況來看,絕大多數系統在設計和開發時並沒有很好地考慮將來可能的修改,如有些模組不夠獨立,牽一髮而動全身。同時,系統維護工作相對開發工作者來講,不具挑戰性、不吸引人,使系統維護人員隊伍不穩定。

考慮因素

系統的維護不僅範圍廣,而且影響因素很多。通常,在進行某項維護修改工作之前,需要考慮下列3方面的因素:

維護的背景

(1)系統的當前情況
(2)維護對象。
(3)維護工作的複雜性與規模。

維護工作的影響

(1)對新系統目標的影響。
(2)對當前工作進度的影響。
(3)對本系統其它部分的影響。
(4)對其他系統的影響。

資源要求

(1)對維護提出的時間要求。
(2)維護所需費用(並與不進行維護所造成的損失比是否合算)。
(3)維護所需的工作人員。

組織管理

系統維護工作並不僅僅是技術性工作,為了保證系統維護工作的質量,需要付出大量的管理工作。系統投入運行後,事實上在一項具體的維護要求提出之前,系統維護工作就已經開始了。系統維護工作,首先必須建立相應的組織,確定進行維護工作所應遵守的原則和規範化的過程,此外還應建立一套適用於具體系統維護過程的文檔及管理措施,以及進行複審的標準。信息系統投入運行後,應設系統維護管理員,專門負責整個系統維護的管理工作;針對每個子系統或功能模組,應配備系統管理人員,他們的任務是熟悉並仔細研究所負責部分系統的功能實現過程,甚至對程式細節都有清楚的了解,以便於完成具體維護工作。系統變更與維護的要求常常來自於系統的一個局部,而這種維護要求對整個系統來說是否合理,應該滿足到何種程度,還應從全局的觀點進行權衡。因此,為了從全局上協調和審定維護工作的內容,每個維護要求都必須通過一個維護控制部門的審查批准後,才能予以實施,是個維護控制部門,應該由業務部門和系統管理部門共同組成,以便從業務功能和技術實現兩個角度控制維護內容的合理性和可行性。系統的組織管理如圖1:系統維護工作的程式圖2:用戶的每個維護請求都以書面形式的“維護申請報告”向維護管理員提出,對於糾錯性維護,報告中必須完整描述出現錯誤的環境,包括輸入數據、輸出數據以及其他系統狀態信息;對於適應性和完善性維護,應在報告中提出簡要的需求規格說明書。維護管理員根據用戶提交的申請,召集相關的系統管理員對維護申請報告的內容進行核實和評價。對於情況屬實併合理的維護要求,應根據維護的性質、內容、預計工作量、緩急程式或優先權以及修改所產生的變化結果等,編制維護報告,提交維護控制部門審批。維護控制部門從整個系統出發,從業務功能合理性和技術可行性兩個方面對維護要求進行分析和審查,並對修改所產生的影響做充分的估計,對於不妥的維護要求在與用戶協商的條件下予以修改或撤銷。通過審批的維護報告,有維護管理員根據具體情況制定維護計畫。對於糾錯性維護,估計其緩急程度,如果維護十分緊急,嚴重影響系統的運行,則應安排立即開始修改工作;如果維護不是很嚴重,可與其他維護項目結合起來從維護開發資源上統籌安排;對於適應性或完善性維護要求,高優先權的安排在維護計畫中,優先權不高的可視為一個新的開發項目組織開發。維護計畫的內容應包括:維護工作的範圍、所需資源、確認的需求、維護費用、維修進度安排以及驗收標準等。維護管理員將維護計畫下達給系統管理員,有系統管理員安計畫進行具體的修改工作。修改後應經過嚴格的測試,以驗證維護工作的質量。測試通過後,再由用戶和管理部門對其進行審核確認,不能完全滿足維護要求的應返工修改。只有經過確認的維護成果才能對系統的相應文檔進行更新,最後交付用戶使用。
系統維護組織管理的結構 圖1系統維護組織管理的結構 圖1
系統維護工作的程式 圖2系統維護工作的程式 圖2
系統維護之所有要按照嚴格的步驟進行,是為了防止未經允許的擅自修改系統,因為無論是用戶直接找程式人還是程式人員自行修改程式,都將引起系統混亂,如出現不及時更新文檔造成程式與文檔不一致,多個人修改的結果不一致,以及缺乏全局考慮的局部修改等。當然維護審批過程的環節多也可能帶來反應速度慢,因此當系統發生惡性或緊急故障時,也即出現所謂“救火”的維護要求是,需立即動用資源解決問題,以保證業務工作的連續進行。
為了評價維護的有效性,確定系統的質量,記載系統所經歷過的維護內容,應將維護工作的全部內容以文檔的規範化形式記錄下來,主要包括維護對象、規模、語言、運行和錯誤發生的情況,維護所進行的修改情況,以及維護所付出得代價等,作為系統開發文檔的一部分,形成歷史資料,以便於日後備查。
維護舊意味著對系統進行修改,修改對於系統來講有一些副作用,即由於修改而出現錯誤或其他不合要求的行為,這種副作用主要來自3個方面:第一,對原始碼的修改可能會引入新的錯誤,一般可以通過回歸測試發現這類副作用;第二,對數據結構進行修改,如局部或全局變數的重新定義,檔案格式的修改等,可能會帶來數據的不匹配等錯誤,在修改時必須參照系統檔案中關於數據結構的詳細描述和模組間的數據交叉引用表,以防局部的修改影響全局的整體作用;第三,任何對源程式的修改,如不能對相應的文檔進行更新,造成源程式與文檔的不一致,必將給今後的套用和維護工作造成混亂。在系統維護中,應該注意以上3個問題,以避免修改帶來的副作用。
另外,在安排系統維護人員工作時應注意,不僅要使每個人員的維護職責明確,而且對每一個子系統或模組至少應安排兩個人可以進行維護工作,這樣可以避免系統維護工作對某個人的過分依賴,防止由於工作調動等原因,使維護工作受到影響,應儘量保持維護人員隊伍的穩定性,在系統運行尚未暴露出問題時,維護人員應著重於熟悉掌握系統的有關文檔,了解功能的程式實現過程,一旦維護要求提出後,他們就應快速高質量地完成維護工作。
最後,應注意系統維護的限度問題。系統維護是在原有系統的基礎上進行修改,調整和完善。使系統能夠不斷適應新環境、新需要。但一個系統終會有生命周期結束的時候,當對系統的修改不再奏效,或修改的困難很多且工作量很大、花費過大,以及改進、完善的內容遠遠超出原系統的設計要求時,就應提出研製新系統的要求,從而開始一個新的系統生命周期。

相關詞條

熱門詞條

聯絡我們