Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

validation routines, correcting invalid processing and reporting, and minimizing

downtime.
Maintenance programmers use such traditional debugging tools as static code
analysers, on-line debuggers, and dynamic debugging tools. Online debuggers are
used to trace the order in which modules are executed or to exhibit the names and data
values of selected variables as they change.
Adaptive maintenance
The point of adaptive maintenance is to enhance the system by adding features,
capabilities, and functions in response to new technology, upgrades, new requirements,
or new problems. Note that adaptive maintenance is reactive. The idea is to fix the
system when the general business climate, competition, growth, new technology, or
new regulations make change necessary. The key to minimizing adaptive maintenance
costs is to isolate system-dependent features.
• Add online capability
• Create new reports
• Add new data entry field to input screen
• Install links to website

Perfective maintenance
The point of perfective maintenance is to enhance the system by improving efficiency,
reliability, functionality, or maintainability, often in response to user or system personnel
requests. Corrective and adaptive maintenance are reactive. Bugs are fixed as they are
discovered. An upgrade to an operating system can necessitate a change to application
software. Perfective maintenance, in contract, is proactive. The idea is to fix the system
before it breaks. Restructuring efforts are aimed at enhancing performance without
changing how the system works or what it does. The code might be converted to a more
efficient language or run through an optimizing compiler.
Code conversion software might be used to reorganize the code or convert the logic to a
more structured form. Note that the code is not rewritten, just restructured.
The point of reengineering is to change the system to make it better without affecting its
functionality or external behaviour. The idea is to gradually “clean up the mess” by doing
such things as restructuring files and databases and encasing old code in a wrapper of
well-structured or object oriented code. Reengineered software is easier to reverse
engineer or to farm out to subcontractors.
The objective of reverse engineering is to extract an abstract model from the system’s
physical documentation and then use the model as a base for creating a functionally
equivalent system. For example, an analysis of a set of source code might generate a
structure chart, a set of data dictionary entries, or an entity-relationship diagram.
Reverse engineering has been applied to software almost as long as software has
existed. For example,
Microsoft might reverse engineer its Excel spreadsheet program to produce equivalent
programs to run on different computers or to create an object oriented version of Excel.
• Install additional memory
• Write micro to handle respective task
• Compress system file
• Optimize user desktop setting
• Install more powerful network server

You might also like