国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件維護之重要性及方法

2015-12-02 12:31:10趙春城
環(huán)球市場信息導(dǎo)報 2015年26期
關(guān)鍵詞:代碼文檔軟件

趙春城

軟件維護之重要性及方法

趙春城

Point

軟件維護階段是軟件生存周期中的最后一個階段,是一個重要的階段,有很大的挑戰(zhàn)性,迎接這些挑戰(zhàn)需要技巧和方法。文章分析了軟件維護的幾種類型,不同類型的維護工作針對不同的工作內(nèi)容,所占工作比重也不同,并分析總結(jié)出維護工作的特征,為管理軟件維護工作打下基礎(chǔ);分析論證了軟件維護的重要性,維護人員實際做的是幕后英雄的工作,也有很大的挑戰(zhàn)性和成就感;最后,結(jié)合作者在軟件維護管理和工作中的實踐,總結(jié)出做好軟件維護的幾點實用的實踐經(jīng)驗,改變對維護工作的認識是做好維護工作的前提。

緒論

軟件維護是軟件生存期中的最后一個階段,它既是時間最長的一個階段,也是消耗人力最多的一個時期,在整個軟件生存期內(nèi),這個階段具有極其重要的意義。軟件維護主要是指根據(jù)需求變化或硬件環(huán)境的變化對應(yīng)用程序進行部分或全部的修改,使軟件系統(tǒng)在新環(huán)境下適應(yīng)新的業(yè)務(wù)需求,修改時應(yīng)充分利用源程序和設(shè)計文檔。

國內(nèi)軟件項目由于前期需求考慮不周全,業(yè)務(wù)需求變化快,在開發(fā)完成進入維護階段后容易產(chǎn)生較多變更。但由于項目規(guī)模不大基于成本和管理等因素考慮,不能完全把運營、維護、測試等團隊和軟硬件嚴格分開,外包公司“包打天下”的情況比較普遍。在高度依賴軟件系統(tǒng)的行業(yè),系統(tǒng)的安全可靠運行變得越來越重要,需要采取有效的措施加強軟件維護項目的管理。

本文闡述了軟件維護及其在項目管理中的重要性,結(jié)合軟件工程方法學(xué),并根據(jù)作者在軟件管理和軟件維護實踐中積累的經(jīng)驗,總結(jié)出行之有效的軟件維護方法。

一、軟件維護類型

軟件維護活動類型總起來大概有四種:糾錯性維護、適應(yīng)性維護、完善性維護、預(yù)防性維護。除此四類維護活動外,還有一些其它類型的維護活動,如:支援性維護(如用戶的培訓(xùn)等)。

針對以上幾種類型的維護結(jié)合作者實際工作,在下面做簡要闡述。

1.糾錯性維護

糾錯性維護是指在系統(tǒng)開發(fā)階段已發(fā)生而系統(tǒng)測試階段尚未發(fā)現(xiàn)的錯誤。這方面的維護工作量要占整個維護工作量的17%~21%。所發(fā)現(xiàn)的錯誤有的不太重要,不影響系統(tǒng)的正常運行,其維護工作可隨時進行;而有的錯誤非常重要,甚至影響整個系統(tǒng)的正常運行,其維護工作必須制定計劃,進行修改,并且要進行復(fù)查和控制。

這部分的維護工作實際上就是在軟件系統(tǒng)運行過程中修改前期沒有發(fā)現(xiàn)的bug,在修改舊bug過程中也可能會引入新的bug,這部分工作以會成為新的糾錯性維護工作。在軟件開發(fā)過程中加強評審和測試,可以有效減少這部分的維護工作。

2.適應(yīng)性維護

適應(yīng)性維護是指使用軟件適應(yīng)信息技術(shù)變化和管理需求變化而進行的修改。這方面的維護工作量占整個維護工作量的18%~25%。由于目前計算機硬件價格的不斷下降.各類系統(tǒng)軟件層出不窮,人們常常為改善系統(tǒng)硬件環(huán)境和運行環(huán)境而產(chǎn)生系統(tǒng)更新?lián)Q代的需求;企業(yè)的外部市場環(huán)境和管理需求的不斷變化也使得各級管理人員不斷提出新的信息需求。這些因素都將導(dǎo)致適應(yīng)性維護工作的產(chǎn)生。

3.完善性維護

完善性維護是為擴充功能和改善性能而進行的修改,主要是指對已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設(shè)計階段中沒有規(guī)定的功能與性能特征。這些功能對完善系統(tǒng)功能是非常必要的。另外,還包括對處理效率和編寫程序的改進,這方面的維護占整個維護工作的50%~60%,比重較大,也是關(guān)系到系統(tǒng)開發(fā)質(zhì)量的重要方面。完善性維護是軟件維護工作中的主要部分,觸發(fā)這類維護工作的常常是用戶業(yè)務(wù)交易增加了,或是業(yè)務(wù)流程改變了,需要修改軟件;也可能是軟件系統(tǒng)不能再滿足業(yè)務(wù)量要求,需要在性能上有所提高。

4.預(yù)防性維護

預(yù)防性維護為了改進應(yīng)用軟件的可靠性和可維護性,為了適應(yīng)未來的軟硬件環(huán)境的變化,主動增加預(yù)防性的新的功能,以使應(yīng)用系統(tǒng)適應(yīng)各類變化而不被淘汰。這方面的維護工作量占整個維護工作量的4%左右,是維護工作中占比最少的一部分工作。

二、軟件維護的重要性

很多人都不愿意做維護工作,都想做開發(fā)者,做首席架構(gòu)師,認為那才是軟件“創(chuàng)造者”,而維護人員不過是對軟件的修修補補,是一個無名的軟件“修理工”。實際上不管是開發(fā)者,還是維護者,都是軟件工程中的必不可少的組成人員,只不過后者更傾向是一個幕后英雄??梢宰鲆粋€不太適當(dāng)?shù)谋扔鳎S護工作做不好,軟件系統(tǒng)可能會英年早逝,維護工作做好了,軟件系統(tǒng)就會長命百歲。

軟件維護階段作為軟件生存周期中的最后一個階段,是歷時時間最長的一個周期,是最消耗人力物力的一個時期,維護階段管理的好壞,工作效率的高低,直接影響著軟件的使用和體驗,也直接影響維護成本。有的軟件系統(tǒng)前期開發(fā)得很好,文檔也齊全,但由于維護階段管理不善,經(jīng)過一段時間的修改后,文檔與代碼對不上了,維護越來越難,最后甚至變成不可維護了。有的軟件系統(tǒng)在開發(fā)階段可能不是太完美,但如果維護階段管理得好,軟件系統(tǒng)的維護性會越來越好。

三、軟件維護的方法

1.改變觀念,愛上軟件維護工作

首先要正常認識軟件維護在軟件生命周期中的重要性,做維護工作雖然不能成為臺前英雄,但卻是一個實實在在的的幕后英雄。實際上很多所謂的開發(fā)人員所做的開發(fā)工作就為軟件增加新功能,修改業(yè)務(wù)流程,這其實就是在做完善性維護工作。軟件維護工作同樣存在大量的挑戰(zhàn),同樣需要創(chuàng)造性、靈活性、耐心、訓(xùn)練和良好的溝通。愛好是學(xué)習(xí)最好的老師,只要喜歡上軟件維護工作,你就會在這一領(lǐng)域中發(fā)揮你的聰明才智,收獲屬于你的一片藍天。

2.建設(shè)高效,穩(wěn)定的維護團隊是首要任務(wù)

在維護團隊建設(shè)初期,大家有一個普遍的認識:維護工作沒有成就感。不僅枯燥,乏味,而且沒有技術(shù)含量。程序員最頭疼的就是修改別人寫的代碼,而且這些代碼往往沒有健全的文檔和注釋。這種認為“軟件維護是不入流的技術(shù)人員所做的工作”的思想,使得維護工作舉步維艱。

為了改變這一現(xiàn)狀,在維護初期,多次組織和開展了項目組的交流會議和培訓(xùn)工作。必須首先讓大家擺正心態(tài),正視維護工作。在培訓(xùn)過程中,重點關(guān)注項目組成員的個人發(fā)展,以此為起點,引導(dǎo)大家從思想上有所轉(zhuǎn)變,把項目組的利益和個人利益相結(jié)合,達到共同提高的目的。

3.熟悉軟件系統(tǒng)

熟悉所維護軟件的功能是非常重要的,也是進行軟件維護工作的第一步。首先閱讀現(xiàn)有的文檔,最好能對文檔中提到的內(nèi)容親自進行測試??梢詮腝A部門找出他們的測試計劃文檔,并且照著文檔再把測試做一遍。掌握現(xiàn)實中軟件的使用方法,確保你要知道最常用的使用情形。有時候用戶會要求提供一些已經(jīng)存在的功能特性,只是因為他們不知道軟件中已經(jīng)具有了這些功能。

最后只能研究代碼了,試著去理解函數(shù)、模塊和組件在軟件中所扮演的角色。使用調(diào)試器單步執(zhí)行程序中不同的分支,查看當(dāng)代碼的不同部分執(zhí)行時將會發(fā)生什么。要把熟悉軟件的體系結(jié)構(gòu)當(dāng)作一個持續(xù)進行的過程,而不是一次就能完成的事情。當(dāng)你修正bug或添加新的特性時,可能會對系統(tǒng)有更好的理解。以上過程一定要記錄結(jié)果,這樣會對維護工作有巨大幫助。

4.與用戶溝通

與用戶溝通是非常重要的。許多軟件開發(fā)者都很內(nèi)向,他們寧愿與技術(shù)打交道,也不愿意去與用戶溝通。然而,軟件就是為了人們使用才開發(fā)的。而且在軟件的維護階段,已經(jīng)有用戶在使用我們的軟件了。試著建立一種簡單而有效的機制用于用戶提交bug報告和增加需求,當(dāng)他們提出一個問題時,要及時給他們反饋,即使你不能馬上解決這個問題,至少讓他們知道你正在處理這個問題,而沒有怠慢他們。最后,要誠實的告訴他們問題的最新解決情況,如果由于某些原因不能滿足他們的需求,也要及時告訴他們。

5.保留修改記錄

有很多種保留修改記錄的方法。最常見的方式是在每次提交代碼前要進行注釋說明,還有些人喜歡把修改的記錄列表寫到文件的頂部,在電子表格中保留一份修改列表也是很方便的。無論你采用哪種方式,一定要重視它。一份精確的修改記錄對成功地維護工作來說是無價的。

6.盡量保持程序原貌,避免重構(gòu)

在軟件維護的很多時候,你會被某些模塊中的代碼弄得很沮喪。真想把這些代碼刪除然后從頭重寫。事實上,無論何時我們對代碼進行修改,不管是多么微小的修改,都存在引入新的bug的風(fēng)險。避免重構(gòu),盡管在開發(fā)階段重構(gòu)是一項很有用的技術(shù),但在軟件的維護階段,它可能只會給你帶來麻煩。即使你使用重構(gòu)沒有破壞任何東西,至少也增加了維護記錄的復(fù)雜度,使源代碼管理系統(tǒng)中不同版本間的差別變大。

7.重視測試

測試永遠是軟件質(zhì)量保證中重要的一環(huán),當(dāng)你接手軟件的維護工作時,也許你需要做的第一件編碼任務(wù)是為該軟件寫一份回歸測試集——除非你已經(jīng)有了一份。即使只是對代碼做了一點修改,但是運行整個回歸測試卻會花費很長的時間。這種情況下,我們可以取出回歸測試集的一個子集進行一次“冒煙測試”——只覆蓋了回歸測試集中的一部分測試用例的測試。每次修改后你都可以進行“冒煙測試”,而在周末或晚上進行回歸測試。自動測試在這方面是一個很好的測試工具。

總 結(jié)

軟件的安全運行,離不開維護工作的效率和管理質(zhì)量的提高。軟件維護工作有它獨特的挑戰(zhàn)性,迎接這些挑戰(zhàn)需要技巧和方法,與開發(fā)工作是一樣的。作者全面分析了軟件維護的類型,不同類型維護工作的工作內(nèi)容和工作比重,總結(jié)了做好軟件維護工作的幾點實踐經(jīng)驗。

(作者單位:中鋁財務(wù)有限責(zé)任公司)

猜你喜歡
代碼文檔軟件
禪宗軟件
英語文摘(2021年10期)2021-11-22 08:02:26
有人一聲不吭向你扔了個文檔
軟件對對碰
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
基于RI碼計算的Word復(fù)制文檔鑒別
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
談軟件的破解與保護
精品(2015年9期)2015-01-23 01:36:01
龙南县| 峨山| 江西省| 玉树县| 拜城县| 鹤壁市| 淮北市| 米脂县| 舞阳县| 满洲里市| 梁河县| 鹿泉市| 莱芜市| 大姚县| 科尔| 芮城县| 阆中市| 二连浩特市| 永平县| 蕉岭县| 巩义市| 鄂尔多斯市| 玉山县| 龙江县| 尼勒克县| 辽宁省| 南涧| 鹤山市| 漳平市| 林口县| 广宗县| 岗巴县| 微山县| 陵水| 湖北省| 阜平县| 临沂市| 宜都市| 安仁县| 德钦县| 平武县|