




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章軟件維護(hù)工程軟件維護(hù)階段覆蓋了從軟件交付使用到軟件被淘汰為止的整個(gè)時(shí)期。軟件的開(kāi)發(fā)時(shí)間可能需要一、二年,甚至更短,但它的使用時(shí)間可能要經(jīng)歷幾年或幾十年。在軟件開(kāi)發(fā)過(guò)程中始終強(qiáng)調(diào)軟件的可維護(hù)性。原因是,一個(gè)應(yīng)用系統(tǒng)由于需求和環(huán)境的變化以及自身暴露的問(wèn)題,在交付用戶使用后,對(duì)它進(jìn)行維護(hù)是不可避免的,統(tǒng)計(jì)和估測(cè)結(jié)果表明,信息技術(shù)中硬件費(fèi)用一般占35%,軟件占65%,而軟件后期維護(hù)費(fèi)用有時(shí)竟高達(dá)軟件總費(fèi)用的80%,所有前期開(kāi)發(fā)費(fèi)用僅占20%。對(duì)軟件而言,“維護(hù)”是個(gè)不太直觀的術(shù)語(yǔ),因?yàn)檐浖a(chǎn)品在重復(fù)使用時(shí)不會(huì)被磨損,并不需要進(jìn)行象對(duì)車輛或電器那樣的維護(hù)。許多大型軟件公司為維護(hù)已有軟件耗費(fèi)大量人力、財(cái)力。因此,必須建立一套評(píng)估、控制和實(shí)施軟件維護(hù)的機(jī)制。軟件維護(hù)需要的工作量非常大。平均說(shuō)來(lái),大型軟件的維護(hù)成本高達(dá)開(kāi)發(fā)成本的四倍左右。目前國(guó)外許多軟件開(kāi)發(fā)組織把60%以上的人力用于維護(hù)已有的軟件,而且隨著軟件數(shù)量增多和使用壽命延長(zhǎng),這個(gè)百分比還在持續(xù)上升。將來(lái)維護(hù)工作甚至可能會(huì)束縛住軟件開(kāi)發(fā)組織的手腳,使他們沒(méi)有余力開(kāi)發(fā)新的軟件。10.1軟件維護(hù)案例介紹10.2軟件維護(hù)概述10.2.1軟件維護(hù)的類型10.2.2軟件維護(hù)的困難10.2.3軟件維護(hù)的費(fèi)用10.2.4軟件維護(hù)的方式10.3軟件系統(tǒng)的維護(hù)10.3.1概述10.3.2軟件維護(hù)的過(guò)程10.3.3軟件維護(hù)技術(shù)10.3.4影響維護(hù)工作量的因素10.3.5軟件維護(hù)的策略10.3.6維護(hù)成本10.1軟件維護(hù)案例介紹維護(hù)發(fā)生在一個(gè)軟件產(chǎn)品發(fā)布之后。普遍地估計(jì)軟件70%左右的費(fèi)用集中于維護(hù)。如果疏忽這個(gè)方面,軟件品質(zhì)的研究是不會(huì)令人滿意的。文檔驅(qū)動(dòng)的軟件維護(hù)主要包括用戶文檔和系統(tǒng)文檔。用戶文檔是用戶了解系統(tǒng)的第一步,它應(yīng)該能使用戶獲得對(duì)系統(tǒng)的準(zhǔn)確的初步印象。文檔的結(jié)構(gòu)方式應(yīng)該使用戶能夠方便地根據(jù)需要閱讀有關(guān)的內(nèi)容。用戶文檔至少應(yīng)該包括下述5方面的內(nèi)容:(1)功能描述,說(shuō)明系統(tǒng)能做什么;(2)安裝文檔,說(shuō)明怎樣安裝這個(gè)系統(tǒng)以及怎樣使系統(tǒng)適應(yīng)特定的硬件配置;(3)使用手冊(cè),簡(jiǎn)要說(shuō)明如何著手使用這個(gè)系統(tǒng)(應(yīng)該通過(guò)豐富例子說(shuō)明怎樣使用常用的系統(tǒng)功能,還應(yīng)該說(shuō)明用戶操作錯(cuò)誤時(shí)怎樣恢復(fù)和重新啟動(dòng));(4)參考手冊(cè),詳盡描述用戶可以使用的所有系統(tǒng)設(shè)施以及它們的使用方法,還應(yīng)該解釋系統(tǒng)可能產(chǎn)生的各種出錯(cuò)信息的含義(對(duì)參考手冊(cè)最主要的要求是完整,因此通常使用形式化的描述技術(shù));(5)操作員指南(如果需要有系統(tǒng)操作員的話),說(shuō)明操作員應(yīng)該如何處理使用中出現(xiàn)的各種情況。上述內(nèi)容可以分別作為獨(dú)立的文檔,也可以作為一個(gè)文檔的不同分冊(cè),具體做法應(yīng)該由系統(tǒng)規(guī)模決定。10.2軟件維護(hù)概述一種軟件產(chǎn)品在重復(fù)的使用中是不會(huì)磨損的,因此并不需要象汽車或電視機(jī)那樣的”維護(hù)”。事實(shí)上,這個(gè)詞被軟件人員用以描述一些重要的和一些并不重要的活動(dòng)。重要的部份是指修改:當(dāng)計(jì)算機(jī)系統(tǒng)的規(guī)格改變了,其反映了外部的世界的改變,因此系統(tǒng)自己也必須要改變。并不重要的部份是指后期除錯(cuò):首先移除那些不應(yīng)該在那里的錯(cuò)誤。軟件維護(hù)是指在軟件運(yùn)行或維護(hù)階段對(duì)軟件產(chǎn)品所進(jìn)行的修改。生存周期的最后一個(gè)階段,所有活動(dòng)都發(fā)生在軟件交付并投入運(yùn)行之后。軟件維護(hù)強(qiáng)調(diào)必須在現(xiàn)有系統(tǒng)的限定和約束條件下實(shí)施,維護(hù)活動(dòng)根據(jù)起因可分為改正性維護(hù)、適應(yīng)性維護(hù)、改善性維護(hù)和預(yù)防性維護(hù)四類。10.2.1軟件維護(hù)的類型改正性維護(hù):在軟件交付使用后,由于開(kāi)發(fā)時(shí)測(cè)試得不徹底或不完全,在運(yùn)行階段會(huì)暴露一些開(kāi)發(fā)時(shí)未能測(cè)試出來(lái)的錯(cuò)誤。為了識(shí)別和糾正軟件錯(cuò)誤,改正軟件性能上的缺陷,避免實(shí)施中的錯(cuò)誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯(cuò)誤的過(guò)程,這就是改正性維護(hù)。10.2.2軟件維護(hù)的困難軟件維護(hù)的困難性主要是由于軟件需求分析和開(kāi)發(fā)方法的缺陷造成的。軟件生存周期中的開(kāi)發(fā)階段沒(méi)有嚴(yán)格而又科學(xué)的管理和規(guī)劃,幾乎必然會(huì)導(dǎo)致在最后階段出現(xiàn)問(wèn)題。10.2.3軟件維護(hù)的費(fèi)用在過(guò)去的幾十年中,軟件維護(hù)的費(fèi)用穩(wěn)步上升。維護(hù)費(fèi)用只不過(guò)是軟件維護(hù)的最明顯的代價(jià),其他一些現(xiàn)在還不明顯的代價(jià)將來(lái)可能更為人們所關(guān)注。因?yàn)榭捎玫馁Y源必須供維護(hù)任務(wù)使用,以致耽誤甚至喪失了開(kāi)發(fā)新軟件的良機(jī),這是軟件維護(hù)的一個(gè)無(wú)形的代價(jià)。其他無(wú)形的代價(jià)還有:當(dāng)看來(lái)合理的有關(guān)改錯(cuò)或修改的要求不能及時(shí)滿足時(shí)將引起用戶不滿;由于維護(hù)時(shí)的改動(dòng),在軟件中引入了潛伏的故障,從而降低了軟件的質(zhì)量;當(dāng)必須把軟件工程師調(diào)去從事維護(hù)工作時(shí),將在開(kāi)發(fā)過(guò)程中造成混亂。10.2.4軟件維護(hù)的方式軟件維護(hù)可分為,結(jié)構(gòu)化與非結(jié)構(gòu)化的維護(hù)。如果軟件配置的唯一成分是程序代碼,那么維護(hù)活動(dòng)從艱苦地評(píng)價(jià)程序代碼開(kāi)始,而且常常由于程序內(nèi)部文檔不足而使評(píng)價(jià)更困難。諸如軟件結(jié)構(gòu)、全程數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)接口、性能或設(shè)計(jì)約束等微妙的特點(diǎn)是難于搞清的,而且常常誤解了這一類特點(diǎn)。最終對(duì)程序代碼所做的改動(dòng)的后果是難于估量的。因?yàn)闆](méi)有測(cè)試方面的文檔,所以不可能進(jìn)行回歸測(cè)試。10.3軟件系統(tǒng)的維護(hù)
10.3.1概述維護(hù)過(guò)程本質(zhì)上是修改和壓縮了的軟件定義和開(kāi)發(fā)過(guò)程,而且事實(shí)上遠(yuǎn)在提出一項(xiàng)維護(hù)要求之前,與軟件維護(hù)有關(guān)的工作已經(jīng)開(kāi)始了。首先必須建立一個(gè)維護(hù)組織,隨后必須確定報(bào)告和評(píng)價(jià)的過(guò)程,而且必須為每個(gè)維護(hù)要求規(guī)定一個(gè)標(biāo)準(zhǔn)化的事件序列。此外,還應(yīng)該建立一個(gè)適用于維護(hù)活動(dòng)的記錄保管過(guò)程,并且規(guī)定復(fù)審標(biāo)準(zhǔn)。10.3.2軟件維護(hù)的過(guò)程1.維護(hù)組織雖然通常并不需要建立正式的維護(hù)組織,但是,即使對(duì)于一個(gè)小的軟件開(kāi)發(fā)團(tuán)體而言,非正式地委托責(zé)任也是絕對(duì)必要的。每個(gè)維護(hù)要求都通過(guò)維護(hù)管理員轉(zhuǎn)交給相應(yīng)的系統(tǒng)管理員去評(píng)價(jià)。系統(tǒng)管理員是被指定去熟悉一小部分產(chǎn)品程序的技術(shù)人員。2.維護(hù)報(bào)告所有軟件維護(hù)申請(qǐng)應(yīng)按規(guī)定的方式提出,維護(hù)機(jī)構(gòu)通常提供“維護(hù)申請(qǐng)報(bào)告”或稱“軟件問(wèn)題報(bào)告”由申請(qǐng)維護(hù)的用戶填寫(xiě)。維護(hù)機(jī)構(gòu)內(nèi)部要寫(xiě)“軟件修改報(bào)告”。軟件修改報(bào)告指明:為滿足維護(hù)申請(qǐng)報(bào)告提出的需求所需的工作量、本次維護(hù)活動(dòng)的類別、本次維護(hù)請(qǐng)求的優(yōu)先級(jí)、本次修改的背景數(shù)據(jù)。在擬定進(jìn)一步維護(hù)計(jì)劃前,軟件修改報(bào)告要提交給修改決策機(jī)構(gòu),供進(jìn)一步規(guī)劃維護(hù)活動(dòng)使用。3.維護(hù)的事件流圖10.3描繪了由一項(xiàng)維護(hù)要求而引出的一串事件。首先應(yīng)該確定要求進(jìn)行的維護(hù)的類型。用戶常常把一項(xiàng)要求看作是為了改正軟件的錯(cuò)誤(即改正性維護(hù)),而開(kāi)發(fā)人員可能把同一項(xiàng)要求看作是適應(yīng)性或完善性維護(hù)。當(dāng)存在不同意見(jiàn)時(shí)必須協(xié)商解決。4.保存維護(hù)記錄對(duì)于軟件生命周期的所有階段而言,以前記錄保存都是不充分的,而軟件維護(hù)則根本沒(méi)有記錄保存下來(lái)。由于這個(gè)原因,往往不能估價(jià)維護(hù)技術(shù)的有效性,不能確定一個(gè)產(chǎn)品程序的“優(yōu)良”程度,而且很難確定維護(hù)的實(shí)際代價(jià)是什么。10.3.3軟件維護(hù)技術(shù)1.面向維護(hù)的技術(shù)面向維護(hù)的技術(shù)涉及軟件開(kāi)發(fā)的所有階段。在需求分析階段,對(duì)用戶的需求進(jìn)行嚴(yán)格的分析定義,使之沒(méi)有矛盾和易于理解,可以減少軟件中的錯(cuò)誤。2.維護(hù)支援技術(shù)維護(hù)支援技術(shù)包括下列各方面的技術(shù):(1)信息收集。(2)錯(cuò)誤原因分析。(3)軟件分析與理解。(4)維護(hù)方案評(píng)價(jià)。(5)代碼與文檔修改。(6)修改后的確認(rèn)。(7)遠(yuǎn)距離的維護(hù)。10.3.4影響維護(hù)工作量的因素軟件的維護(hù)受各種因素的影響。設(shè)計(jì)、編碼和測(cè)試時(shí)漫不經(jīng)心,軟件配置不全都會(huì)給維護(hù)帶來(lái)困難。除了與開(kāi)發(fā)方法有關(guān)的因素外,還有下列與開(kāi)發(fā)環(huán)境有關(guān)的因素:是否擁有一組訓(xùn)練有素的軟件人員;系統(tǒng)結(jié)構(gòu)是否可理解;是否使用標(biāo)準(zhǔn)的程序設(shè)計(jì)語(yǔ)言;是否使用標(biāo)準(zhǔn)的操作系統(tǒng);文檔的結(jié)構(gòu)是否標(biāo)準(zhǔn)化;測(cè)試用例是否合適;是否已有嵌入系統(tǒng)的調(diào)試工具;是否有一臺(tái)計(jì)算機(jī)可用于維護(hù)。除此之外,軟件開(kāi)發(fā)時(shí)的原班人馬是否能參加維護(hù)也是一個(gè)值得考慮的因素。10.3.5軟件維護(hù)的策略1.降低改正性維護(hù)成本的策略顯然,軟件中包含的錯(cuò)誤越少,改正性維護(hù)的成本也就越低,但是,要生成100%可靠的軟件通常成本太高,并不一定合算。然而通過(guò)使用先進(jìn)技術(shù)仍然可以大大提高軟件的可靠性,從而減少改正性維護(hù)的需求。2.降低適應(yīng)性維護(hù)成本的策略3.降低完善性維護(hù)成本的策略上述的減少前兩類維護(hù)成本的策略,通常也能降低完善性維護(hù)的成本。特別是數(shù)據(jù)庫(kù)管理系統(tǒng)、程序自動(dòng)生成系統(tǒng)、軟件開(kāi)發(fā)環(huán)境、第四代語(yǔ)言和應(yīng)用軟件包,可明顯減少維護(hù)工作量。此外,在需求分析過(guò)程中準(zhǔn)確地預(yù)測(cè)用戶將來(lái)可能提出的需求,并且在設(shè)計(jì)時(shí)為將來(lái)可能提出的需求預(yù)先做準(zhǔn)備,顯然是降低完善性維護(hù)成本的有力措施。10.3.6維護(hù)成本
影響維護(hù)成本的非技術(shù)因素主要有:(1)應(yīng)用域的復(fù)雜性。如果應(yīng)用域問(wèn)題已被很好地理解,需求分析工作比較完善,那么維護(hù)代價(jià)就較低。反之維護(hù)代價(jià)就較高。(2)開(kāi)發(fā)人員的穩(wěn)定性。如果某些程序的開(kāi)發(fā)者還在,讓他們對(duì)自己的程序進(jìn)行維護(hù),那么代價(jià)就較低。如果原來(lái)的開(kāi)發(fā)者已經(jīng)不在,只好讓新手來(lái)維護(hù)陌生的程序,那么代價(jià)就較高。(3)軟件的生命期。越是早期的程序越難維護(hù)。一般地,軟件的生命期越長(zhǎng),維護(hù)代價(jià)就越高。生命期越短,維護(hù)代價(jià)就越低。(4)商業(yè)操作模式變化對(duì)軟件的影響。比如財(cái)務(wù)軟件,對(duì)財(cái)務(wù)制度的變化很敏感。財(cái)務(wù)制度一變動(dòng),財(cái)務(wù)軟件就必須修改。軟件維護(hù)的副作用指,由于維護(hù)或在維護(hù)過(guò)程中其他一些不期望的行為引入的錯(cuò)誤,副作用大致可分為三類:代碼副作用:修改或刪除子程序;修改或刪除語(yǔ)句標(biāo)號(hào);修改或刪除標(biāo)識(shí)符;為提高執(zhí)行效率而做的修改;修改文件的open、close操作;修改邏輯操作符;由設(shè)計(jì)變動(dòng)引起的代碼修改;修改對(duì)邊界條件的測(cè)試。數(shù)據(jù)副作用:局部和全局常量的再定義;記錄或文件格式的再定義;增減數(shù)據(jù)或其他復(fù)雜數(shù)據(jù)結(jié)構(gòu)的體積;修改全局?jǐn)?shù)據(jù);重新初始化控制標(biāo)志和指針;重新排列I/O表或子程序參數(shù)表。文檔的副作用:維護(hù)應(yīng)統(tǒng)一考慮整個(gè)軟件配置,而不僅僅是源代碼。否則,由于在設(shè)計(jì)文檔和用戶手冊(cè)中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 金蝶會(huì)計(jì)培訓(xùn)課件
- 2025至2030年中國(guó)楊梅香精數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)木珠工藝品數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 育苗公司轉(zhuǎn)讓合同范本
- 橋梁澆灌包工合同范本
- 2025至2030年中國(guó)復(fù)合PU膠帶數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)內(nèi)控型電液比例變量軸向柱塞泵數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 人工合同范本
- 老年患者輸液護(hù)理
- 普通高等學(xué)校就業(yè)協(xié)議書(shū)(2025年度)-國(guó)際交流與合作就業(yè)協(xié)議
- 2025年安徽職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)學(xué)生專用
- 2025年黑龍江農(nóng)墾職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 2025年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整版
- 小學(xué)科學(xué)點(diǎn)亮我的小燈泡省公開(kāi)課一等獎(jiǎng)全國(guó)示范課微課金獎(jiǎng)?wù)n件
- 2023-2024學(xué)年高中信息技術(shù)必修一滬科版(2019)第三單元項(xiàng)目六《 解決溫標(biāo)轉(zhuǎn)換問(wèn)題-認(rèn)識(shí)程序和程序設(shè)計(jì)語(yǔ)言》教學(xué)設(shè)計(jì)
- 浙江新陣地教育聯(lián)盟2025屆高三第二次聯(lián)考化學(xué)試題及答案
- 2024預(yù)防流感課件完整版
- 前廳羅盤(pán)系統(tǒng)操作細(xì)則
- 迅達(dá)扶梯9300AE故障代碼
- 二年級(jí)下冊(cè)數(shù)學(xué)課件-第三單元 對(duì)稱圖形 ppt(29張) 北京版(2021秋)
- 六十四卦爻象全圖(彩色)(共6頁(yè))
評(píng)論
0/150
提交評(píng)論