Budgetary constraints can limit the number and types of modifications made to an existing program -- a given degree of speedup is worth only so much time and trouble. ---- '''S''''''oftwareMaintenance''' * Maintenance can be defined as four activities: ** Corrective Maintenance *** A process that includes diagnosis and correction of errors. ** Adaptive Maintenance *** Activity that modifies software to properly interface with a changing environment (hardware and software). ** Perfective Maintenance *** Activity for adding new capabilities, modifying existing functions and making general enhancements. *** This accounts for the majority of all effort expended on maintenance. ** Proactive Maintenance (Relatively Rare) *** Activity which builds software keeping in mind future maintainability or reliability *** Ensuring that a basis exists which allows for future enhancements. * http://hebb.cis.uoguelph.ca/~dave/27320/quality/maintain.html