軟體工程 - 軟體維護
軟體維護的必要性:
(1) 軟體維護能夠改正錯誤。
(2) 軟體維護能夠改善設計。
(3) 軟體維護能夠實現軟體的改進。
(4) 軟體維護能夠與其他系統進行互動。
(5) 軟體維護能夠為使用不同的硬體、軟體、系統的新效能以及通訊裝置等而對軟體進行改進。
(6) 軟體維護能夠完成遺留程式的移植。
(7) 軟體退出使用。
維護是軟體週期中花費最多的階段,測試需要的工作量比前面加起來的都多。
四種維護和所佔百分比:
(1) 糾錯性維護:約佔整個維護工作量的21%。
(2) 適應性維護:約佔整個維護工作量的25%。
(3) 完善性維護:約佔整個維護工作量的50%。
(4) 預防性維護:約佔整個維護工作量的4%。
在維護階段的最初一段時期,糾錯性維護的工作量較大。隨著錯誤發現率逐漸降低,並趨於穩定,軟體進入正常使用期。然而,由於新需求的提出,適應性維護和完善性維護的工作量逐步增加。
軟體維護的困難性(軟體維護為什麼是困難的):
(1) 配置管理工作不到位。
(2) 人員變動造成影響。
(3) 維護人員大多不是編寫**的人,所以要先理解軟體。但許多軟體的可讀性差,導致理解困難。
(4) 往往是在任務急、時間緊的情況下處理維護請求的。
可維護性的定義:可維護性是指通過一定的手段,使軟體可以被維護、改進、改動或修正,以滿足特定的需求的方便程度。
估算維護工作量的模型:
m = p + k×exp(c-d)
m是維護用的總工作量,p是生產性工作量,k是經驗常數,c是複雜程度(非結構化設計和缺少文件都會增加軟體的複雜程度),d是維護人員對軟體的熟悉程度。如果軟體的開發沒有遵循軟體工程方法學,原來的開發人員不能參加維護工作,那麼維護工作量(維護費用)將指數地增加。
軟體的維護技術包括:程式的理解、軟體再工程、軟體逆向工程。
軟體再工程的定義:軟體再工程指對現有軟體進行仔細審查和改造,對其進行重新構造,使之成為乙個新的形式,同時包括隨之產生的對新形式的實現。
軟體逆向工程是分析目標系統,識別系統的構件及其互動關係,並且通過高層抽象或其他形式來展現目標系統的過程。
軟體逆向工程主要內容有三方面:資料的逆向工程、處理的逆向工程、使用者介面的逆向工程。
軟體逆向工程的內容:
軟體工程 軟體維護
軟體的維護階段,是軟體成型過程中的最後一步,其實我們所使用軟體的不同的版本都是維護過程中出現的,軟體的公升級,文件的更新等等都是建立在原材料的基礎上進行進一步步的優化,更改的!軟體的維護在佔軟體生存期的比例非常的大,因此十分重要!如下圖,軟體維護分為以下的幾種,軟體維護在軟體生存期中占用的比例為70...
軟體工程 軟體維護
前言 軟體維護相當於建築後期的維護 一 維護的型別 如下圖,軟體維護分為以下的幾種,軟體維護在軟體生存期中占用的比例為70.8 它是整個生存期中消耗資金人力最多的環節。1 改正維護 測試為檢錯出錯 改正性維護是指改正在系統開發系統開發階段已發生而系統測試階段尚未發現的錯誤。這方面的維護工作量要佔整個...
軟體工程 維護
知識要點 1 軟體維護的定義 特點 2 主要的維護活動 3 軟體再工程過程。前注 維護是軟體生命週期最後乙個階段也是持續時間最長 代價最大的乙個階段 一 維護的定義 在軟體已經交付使用之後,為改正錯誤或滿足新的需要而修改軟體的過程 二 主要的維護活動 改正性維護 適應性維護 完善性維護 預防性維護 ...