軟件的維護與升級

軟件維護

軟件維護:在軟件發佈後,修改軟件以修正錯誤和提升性能
維護包含兩點:

  • 確定錯誤位置
  • 測試、修正和文檔

代碼可維護性的指標

  • CC(Cyclomatic Complexity,圈複雜度):代碼裏面的環數,如圖
    在這裏插入圖片描述
  • HV(Halstead Volume,運算符和操作數的數目)
  • LOC(The average number of lines of code per module ,每個模塊的代碼行數)
  • COM(The percentage of comment lines per module ,註釋行的百分比)

這裏提示,深度地繼承會使得代碼難以理解,同時注意高內聚低耦合,注意測試。

模塊設計

模塊設計是要將程序的功能分散到獨立可交互的模塊中

評價模塊性的五個標準
▪可分解性

  • 較大的組件是否分解爲較小的組件?

▪可組合性

  • 較大的部件是否由較小的部件組成?

▪可理解性

  • 組件是否可以單獨理解?

▪連續性(可持續性)

  • 規格的微小變化是否會影響本地化和有限數量的組件?對規格說明的改動,其影響是否是局部和有限的

▪保護性

  • 運行時異常的影響是否僅限於少數相關組件

模塊設計的五個規則
▪ Direct Mapping (直接映射):模塊的結構與現實世界中問題領域的結構保持一致
影響持續性和可分解性

▪ Few Interfaces (儘可能少的接口):模塊應儘可能少的與其他模塊通訊
影響:可持續性、保護性、可理解性、可組合性

▪ Small Interfaces (儘可能小的接口):如果兩個模塊通訊,那麼它們應交換儘可能少的信息
對“可持續性”和“保護性”產生影響

▪ Explicit Interfaces (顯式接口):當A與B通訊時,應明顯的發生在A與B的接口之間)
可分解性、可組合性、可持續性、 可理解性

▪ Information Hiding (信息隱藏):經常可能發生變化的設計決策應儘可能隱藏在抽象接口後面
可持續性

SOLID

單一責任原則
開放封閉原則
Liskov替換原則
接口隔離原則
依賴轉置原則

在這裏插入圖片描述

GRASP(通用責任分配軟件模式)

控制者

信息專家

創造者

低耦合

高內聚

間接的

多態性

受保護的變體

純粹的製造

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章