Skip to main content

0. Introduction to Developing Maintainable Software

03/10/22

Core attributes of maintainable software

  • Readable Code
  • Strong documentation
  • Consistent variable/functions conventions
  • Standard code layout (whitespace/variables)
  • Testability

Developing Maintainable Software

Three principles for developing maintainable software

  • Maintainability benefits most from adhering to simple guidelines
    • Never write methods that have more than 15 lines of code
  • Maintainability is not an afterthought, but should be addressed from the very beginning of a development project
  • Some violations are worse than other; the more a software system compiles with the guidelines, the more maintainable it is

What software maintenance involves: The process for managing and executing software maintenance activities is described. However, also need to consider how we can reduce the effort of maintenance.

Main Categories of Maintenance

  • Corrective maintenance: Finding and fixing errors in the system
  • Adaptive Maintenance: The system has to be adapted to changes in the environment in which it operates
  • Perfective + Preventive Maintenance: Users of the system have new or changed requirements. Ways identified to increase the quality or prevent future bugs.

Software Maintenance Process

  • Understanding the client
  • Understanding the existing code
  • Refactoring the existing code
  • Extending the existing code
  • Working as a team
  • Managing client expectations
  • Managing the maintenance process