阿摩線上測驗 登入

申論題資訊

試卷:111年 - 111 專技高考_資訊技師:系統分析與資訊安全#111975
科目:系統分析與資訊安全
年份:111年
排序:0

題組內容

二、軟體品質保證(Software quality assurance, SQA)是監控軟體開發流程以 確保軟體符合品質標準(如 ISO/IEC 9126, ISO 25010)的方法。軟體品 質 則 包 含 許 多 特 性 , 例 如 效 能 ( Performance efficiency )、 相 容 性 (Compatibility)、可使用性(Usability)、可靠性(Reliability)、安全 (Security)、可維護性(Maintainability)和可移植性(Portability)等。

申論題內容

(二)請說明可維護性可分為那些子特性,並以銀行存提款系統為例,說明 如何測量可維護性。 (10 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

可維護性的子特性

根據ISO/IEC 25010(軟體產品質量模型),可維護性(Maintainability)可以分為以下幾個子特性:

  1. 模組化(Modularity):指軟體系統被分解為離散模組或組件的程度,這些模組或組件可以獨立開發、維護和更新。
  2. 重用性(Reusability):指軟體系統的某些組件能夠在不同的情境或系統中重用的程度。
  3. 可分析性(Analyzability):指在軟體系統中識別缺陷或故障原因的難易程度。
  4. 可改正性(Modifiability):指能夠有效修正缺陷、更新功能或進行優化的難易程度。
  5. 可測試性(Testability):指能夠有效測試軟體系統的難易程度。

測量銀行存提款系統的可維護性

為了測量銀行存提款系統的可維護性,可以從以下方面進行考量:

1. 模組化(Modularity)

測量方法

  • 代碼複雜度度量:使用度量工具(如Cyclomatic Complexity)來分析系統的代碼複雜度,確保系統被劃分為合理的模組和子模組。
  • 模組間依賴性分析:檢查模組之間的依賴關係,確保模組之間的耦合度低,這樣每個模組可以獨立修改而不影響其他模組。

範例

  • 銀行存提款系統可以將不同的功能模組化,如賬戶管理模組、交易處理模組、報表生成模組等。每個模組應該具有明確的接口和功能定義,並且彼此之間的依賴性應該最小化。

2. 重用性(Reusability)

測量方法

  • 組件重用率:計算系統中可重用組件的比例,這些組件可以在其他系統或功能模組中重用。
  • 重用範例數:統計被重用的代碼或組件在不同模組或系統中的使用次數。

範例

  • 銀行存提款系統中的身份驗證模組或加密模組可以被其他銀行系統(如貸款系統或信用卡系統)重用。

3. 可分析性(Analyzability)

測量方法

  • 故障診斷時間:統計識別系統故障根源所需的平均時間。
  • 代碼可讀性度量:使用代碼可讀性分析工具來評估系統的代碼可讀性,確保代碼易於理解和分析。

範例

  • 銀行存提款系統應該有良好的日志機制和錯誤報告系統,幫助開發人員快速定位和修復問題。例如,交易失敗時應記錄詳細的錯誤信息,以便於分析和排除故障。

4. 可改正性(Modifiability)

測量方法

  • 修改所需時間:統計對系統進行修改所需的平均時間,包括修復缺陷和增加新功能。
  • 影響分析範圍:評估系統中每次修改所涉及的模組或代碼範圍,確保修改的影響範圍最小。

範例

  • 在銀行存提款系統中,增加新的交易類型(如快速轉賬)應該能夠在不影響現有功能的情況下進行。可以通過添加或修改單個模組來實現,而不需要大範圍修改整個系統。

5. 可測試性(Testability)

測量方法

  • 測試覆蓋率:使用測試覆蓋率分析工具,確保系統的代碼和功能測試覆蓋率達到一定標準。
  • 自動化測試比例:統計系統中自動化測試的比例,確保測試過程高效且重複性高。

範例

  • 銀行存提款系統應該包含全面的單元測試、集成測試和系統測試。每次修改後,這些測試應能夠自動運行,以確保系統功能的正確性和穩定性。

總結

通過模組化、重用性、可分析性、可改正性和可測試性這些子特性,可以全面評估銀行存提款系統的可維護性。具體方法包括使用代碼分析工具、測試覆蓋率工具、故障診斷工具和自動化測試框架等,這些工具和方法能夠幫助開發團隊持續改進系統的可維護性,確保系統的長期穩定運行和易於維護。