軟體品質的三個面向

根據 David Chappell 在 The Three Aspects of Software Quality: Functional, Structural, and Process 中指出,軟體品質可以用三個面向來檢視:Functional、Structural 和 Process,而這三個面向分別會有對應的群體來關注:User、Developer、Sponsor。

Functional 面的軟體品質指的是軟體如何達到 User 的要求,分別有下列四個維度來描述:

  • The software meets the specified requirements (軟體達成特定的需求)
  • It has few defects (軟體的缺陷很少)
  • It has reasonable performance (軟體具有良好的性能)
  • It is easy to learn and use (軟體很容易學習及使用)
Structural 面向的軟體品質指的是軟體本身在結構上是否被良好的組織,通常 developers 會較為關注此面相。分別由以下維度來描述:

  • Code testability (程式碼的可測試性)
  • Code maintainability (程式碼的可維護性)
  • Code understandability (程式碼的可理解性)
  • Code efficiency - does it manage resources efficiently? (程式碼是否能夠有效率的去管理資源)
  • Code security - does it prevent common security threats? (程式碼是否能夠避免常見的安全疑慮)

Process 面向的軟體品質具有下列幾個維度:

  • The software meets delivery dates (軟體如期產出)
  • It meets budgets (軟體開發成本控制在預算內)
  • A repeatable development process is in place, one that reliably delivers quality software (軟體開發的過程是可重複的,藉此提供高品質的軟體)

【相關閱讀】


Share this post!

Bookmark and Share

0 意見: