Software Maintenance

We have more than 8 years of experience enhancing application stability, lowering support costs and steering companies like yours towards continuous service and quality improvements.


WHY does software have to be maintained?

View more

View more

of software maintenance

View more

View more

Maintenance processes

View more

View more
Why is software maintenance necessary

After delivery, software systems always evolve in response to demand for change.

  • Software is a model of reality. Reality changes.
  • It is impossible to produce system of any size which do not need to be changed. Once software is put into use, new requirements emerge and existing requirements changes as the business running that software changes.
  • Parts of the software may have to be modified to correct errors that are found in operation, improve its performance or other non-functional characteristics.
  • Software rots. Even with no code changes, the systems change, and eventually you can't compile the software.
Why maintenance

In summary we have the following reasons to do a software maintenance:

  • Corrective Reasons.
  • Adaptive Reasons.
  • Preventive Reasons.
  • Perfective Reasons.

We explain these reasons or types of software maintenance in the next section.

Types of maintenance

We offer the next types of maintenance:

  • Corrective: Maintenance performed to correct faults in hardware or software, maintenance involves testing to detect a problem and injecting a fix without disturbing the rest of the system.
  • Adaptive: Software maintenance performed to make a computer program usable in a changed environment (business rules, government policy, software platforms, hardware upgrades, etc.)
  • Perfective: Software maintenance performed to improve the performance, maintainability, or other attributes of a computer program.
  • Preventive: Maintenance performed for the purpose of preventing problems before they occur. Also called software reengineering (Data restructuring, Code restructuring).
Types of maintenance

Some examples of software maintenance are:

  • Y2K: Y2K problem is an interesting example of the role of maintenance in software.(Y2K was the need to fix software that handled years as two-digit numbers when the calendar switched from 1999 [99] to 2000 [00]. Some programs took that to mean that time had moved backwards.)
  • Anti-Virus Software: Do not usually have to update software, but must send virus definitions.
  • Operating System Patching: Microsoft, Apple, Linux/Unix. OS is core to use of computer, so it must be constantly maintained.
  • Commercial Software in General: customers need to be informed of updates. Updates have to be easily available - web is good tool.
Maintenance processes

The process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment is:

  • Analysis: Root cause analysis and modification analysis.
  • Modification Implementation: Enhancements, new Developments, bug fixing, etc.
  • Maintenance Review/ Acceptance: Review and acceptance of the implementation.

Other maintenance process models include:

  • Quick fix
  • Spiral
  • Osborneā€™s
  • Iterative enhancement, and
  • reuse-oriented.