第七章軟件運行與維護_第1頁
第七章軟件運行與維護_第2頁
第七章軟件運行與維護_第3頁
第七章軟件運行與維護_第4頁
第七章軟件運行與維護_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第七章運行與維護教學要求掌握理解了解掌握維護的基本概念維護的主要內容維護的基本步驟 再工程的相關概念主講教師學院工程系主要內容1維護的概念2維護的特點3維護的步驟4的可維護性5逆向工程與正向工程主講教師學院工程系1.1幾個問題提問主講教師學院工程系維護是一次新的開發活動嗎?維護就是改錯嗎?什么時候需要維護?1.2維護的定義維護 指系統交付使用以后,為了改正錯誤或滿足新的需要而修改的過程 國標GB/T 在一11457-95給出如下定義交付使用后對其進行修改,以糾正故障、改進其性能和其它屬性,或使產品適應改變了的環境主講教師學院工程系1.3維護的維護的 完善性維護 適應性維護 校正性維護 預防性維

2、護(根據起因不同)國外的統計數字表明,各種維護在全部維護活動中所占的比例是不同的。各類維護所占比例主講教師學院工程系1.3維護的(續1)糾錯性維護 為了改正系統中的錯誤,使能夠滿足預期的正常運行狀態的要求而進行的維護適應性維護 為了使改適應內部或外部環境變化,而去修的過程性維護 滿足使用過程中用戶提出增加新功能或修改已有功能的建議維護主講教師學院工程系1.3維護的(續2)預防性維護 為了提高 進一步改進動的可維護性、可靠性等,為以后打下良好基礎而修改的活主講教師學院工程系主要內容1維護的概念2維護的特點3維護的步驟4的可維護性5逆向工程與正向工程主講教師學院工程系2.1結構化維護與非結構化維護

3、非結構化維護 如果不采用工程開發,只有欠缺文檔,則維護工作將變得十分結構化維護 采用工程的進行開發,保證每個階段都有完整且詳細的文檔維護時,開發從分析需求規格說明開始,明白功能和性能上的改變,對設計說明文檔進行修改和復查,再根據設計修改進行程序變動, 并用測試文檔中的測試用例進行回歸測試,最后將修改后的再次交付使用。主講教師學院工程系維護要求代碼配置?復查復查交付使用主講教師學院工程系非結構化維護結構化維護重編程序重編程序修改設計計劃途徑評價代碼評價設計2.2維護的維護的理解別人的代碼通常是非常的,而且難度隨著配置成分的缺失而迅需要維護的嚴重不足、或反映出來往往沒有文檔、或文檔資料的變化未在相

4、應的文檔中絕大多數改問題在設計時沒有考慮到將來的修主講教師學院工程系2.2維護的維護的(續)當要求維護時,不能指望由原來的開發來完成或提供的解釋。由于維護持續時間很長,因此當需要解釋時候,往往開發已經不在附近了維護這項工作毫一方面是因為引力。維護,看不到什么“成果”,但工作量很大,更重要的是維護工作難度大,維護經常挫折。主講教師學院工程系2.3維護的成本維護的成本 隨著規模和復雜性的增長,維護的成本呈上升趨勢 1970年, 1980年, 1990年,維護成本占總成本35%40%維護成本占總成本40%60% 維護成本占總成本70%80%主講教師學院工程系2.4維護的工作量維護工作量的模型c -K

5、de=+M其中:pM維護的總工作量;P生產性工作量;K經驗常數;c復雜程度;d維護對的熟悉程度該公式表明:若c越大,d越小,則維護的工作量將呈指數級規律增加;c增加表示未采用軟不是原件工程的開發;d減小表示維護開發主講教師學院工程系2.4維護的工作量影響維護工作量的因素 系統的規模 系統規模越大,其功能就越復雜, 的工作量也隨之增大 程序設計語言 使用強功能的程序設計語言可以維護程序的規模。語言的功能越強,生成程序的模塊化和結構化程度越高,所需的指令數就越少, 程序的可讀性也越好主講教師學院工程系2.4維護的工作量影響維護工作量的因素(續1) 系統 老系統比新系統需要 數據庫技術的應用 使用數

6、據庫,可以簡單而有效地管理和的維護工作量。用戶 表應用 先進的的數據,還可以減少生成用戶報的維護工作量開發技術 在開發過程中,如果采用先進的分析設計技術和程序設計技術,如面向對象技術、復用技術等,可減少大量的維護工作量主講教師學院工程系2.4維護的工作量影響維護工作量的因素(續2) 其它一些因素 如應用的類型、數學模型、任務的難度、IF 嵌套深度、索引或下標數等,對維護工作量也有影響主講教師學院工程系2.5維護的副作用什么是維護的副作用 因情況。副作用的類型 編碼副作用 修改源碼引入錯誤 數據副作用 修改數據結構時,可能造成結構不匹配 文檔副作用修改而造成的錯誤或其它不希望出現的設計與數據修改

7、了,文檔不能反映當前的狀態主講教師學院工程系主要內容1維護的概念2維護的特點3維護的步驟4的可維護性5逆向工程與正向工程主講教師學院工程系維護的流程維護工作的流程 維護申請 維護 影響分析 版本規劃 變更實施發布主講教師學院工程系對任何類型的維護來說,維護實施的技術工作基本都是相同的,主要 設計修改 設計評審 代碼修改 單元測試 集成測試 確認測試 復審:主講教師學院工程系主要內容1維護的概念2維護的特點3維護的步驟4的可維護性5逆向工程與正向工程主講教師學院工程系4.1可維護性的定義可維護性(maintainability) 指理解、改正、調整和改進的難易程度。 對可維護性影響的主要因素 可

8、理解性(understandability) 可測試性(testability) 可修改性、modifiability) 可移植性(portability)主講教師學院工程系4.2可理解性可理解性 指理解難易程度。的結構、接口、功能和內部過程的 提高可理解性的措施 采用模塊化的程序結構; 書寫詳細正確的文檔; 采用結構化程序設計; 書寫源程序的內部文檔; 使用良 具有良編程語言;程序設計風格等主講教師學院工程系4.3可測試性可測試性 指測試和易程度。(主要指錯誤的難 提高可測試性的措施 采用良程序結構; 書寫詳細正確的文檔; 使用測試工具和調試工具; 保存以前的測試過程和測試用例等主講教師學院

9、工程系4.4可修改性可修改性 指修改 在修改(主要指程序)的難易程度。時經常會發生這樣的情況:修改了某個錯誤的同時又產生新的錯誤(由程序的修改引起的);或者在增加了某個功能后,導致原先的某些功能不能正常執行。主講教師學院工程系4.5可移植性可移植性 指程序轉移到一個新的計算環境的難易程度。 影響可移植性的因素隱蔽原則; 模塊 良;模塊化;高內聚低耦合;程序結構; 不用標準文本以外的語句等 一個可移植的程序應具有結構良好、靈活、不依賴于某一具體計算機或操作系統的性能主講教師學院工程系主要內容1維護的概念2維護的特點3維護的步驟4的可維護性5逆向工程與正向工程主講教師學院工程系5.1遺留系統與再工

10、程幾乎每個成熟的開發機構都要維護15年或更多年以前開發的程序,這種程序被稱為“遺留系統”遺留系統通常對組織的業務邏輯提供關鍵性的支持,因此需要采用先進的工程對整個或中的一部分重新進行設計、編寫和測試,以提高的可維護性和可靠性,統的正常運行,這就是再工程。再工程以系統理解為基礎,結合逆向工程、重構和正向工程等成新的形式。,將現有的系統重新構造主講教師學院工程系5.2再工程的過程再工程的過程主講教師學院工程系5.2再工程的過程反(逆)向工程 是分析程序以便在比源代碼更高的抽象層次上創建出程序的某種表示的過程。 可以使用CASE工具從現有系統的源代碼中抽取數據結構、體系結構和程序設計。主講教師學院工程系5.2再工程的過程重構(restructuring) 指在同一抽象級別上轉換系統的描述形式。 重構文檔重構和代碼重構 文檔重構 代碼重構 例如:把C+ 數據重構程序轉換成Java程序 例如:把文件數據管理變換為數據庫管理系統主講教師學院工程系5.2再工程的過程正向工程 利用從現有恢復的設計而修改或重構現有系統,以提高系統的整體質量。 通常,正向工程并不是簡單的構造一個與原有系統功能等價的系統,而是結合新的用戶需求和技術擴展原有系統的功能和性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論