《軟體工程》總結——第十一章

來源:互聯網
上載者:User

標籤:

本章的主要內容是軟體演化

軟體演化的特性

            1985 年,Lehman 和 Belady 總結了軟體在更改過程中演化的特性:1. 軟體維護是一個必然的過程;2. 軟體的不斷修改會導致軟體的退化;3. 軟體系統的演化特性是在早起的開發階段建立起來的。4. 軟體開發的效率與投入的資源無關;5. 在軟體系統中添加新功能無可避免的會產生新的缺陷。對於軟體變更引起的各種問題,人們通常採用不同的策略進行處理:軟體維護和軟體再工程。

軟體維護

      軟體維護的概念

            軟體維護是指在軟體運行或維護階段對軟體產品所進行的修改,這些修改可能是改正軟體中的錯誤,也可能是增加新的功能以適應新的需求,但是一般不包括軟體系統結構上的重大改變,根據軟體維護的不同原因,軟體維護可以分成三種類型:改正性維護、適應性維護和完善性維護。

      軟體維護的特點

            1. 軟體維護受開發過程影響大;2. 軟體維護困難多;3. 軟體維護成本高。

      軟體維護的過程

            1. 改正性維護:首先應該評價軟體錯誤的嚴重程度,對於十分嚴重的錯誤,維護人員應該立即實施維護;對於一般性的錯誤,維護人員可以將有關的維護工作與其他開發工作單位一起進行規劃。在有些情況下,有的錯誤非常嚴重,以致不得不臨時放棄正常的維護控制工作程式,即不對修改可能帶來的負作用作出評價,也不對文檔作相應的更新,而是立刻進行代碼的修改。這是一種救火式的改正性維護,只有在非常緊急的情況下才使用,這種維護在全部維護中只佔一小部分比例。應當說明的是,救火式不是取消,只是延遲了維護所需要的控制盒評價。一旦危機取消,這種控制和評價活動必須進行,以確保當前的修改不會增加更為重要的問題。

            2. 適應性維護:首先應該確定軟體維護的優先次序,再與其他開發工作單位一起進行規劃。

            3. 完善性維護:考慮到商業上的需要和軟體的發展趨勢,有些完善性維護可能不會被接受。杜宇被接受的維護申請,應該確定其優先次序並規劃其開發工作。

軟體再工程

      軟體再工程以系統理解為基礎,結合逆向工程、重構和正向工程等方法,將現有系統重新構造成為新的形式。形象的說,就是”把今天的方法學用於昨天的系統以滿足明天的需要“。典型的軟體再工程過程,主要包括:對象選擇、反向工程、文檔重構、代碼重構、資料重構和正向工程等活動。

《軟體工程》總結——第十一章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.