软件维护性是考虑系统的扩展、压缩的特性。许多软件的维护十分困难,原因在于这些软件的文档和源程序难于理解,又难于修改。从原则上讲,软件开发工作就严格按照软件工程的要求,遵循特定的软件标准或规范进行。但实际上往往由于种种原因并不能真正做到。例如,文档不全、质量差、开发过程中不注意采用结构化方法,忽视程序设计风格等等。因此,造成软件维护工作量加大,成本上升,修改出错率升高。此外,许多维护要求并不是因为程序中出错而提出的,而是为适应环境变化或需要变化而提出的。由于维护工作面广,维护难度大,一不小心就会在修改中给软件带来新的问题或引入新的差错。所以,为了使软件能够易于维护,必须考虑使软件具有可维护性。