Systems Analysis & Design:
- Reducing maintenance costs is a major concern, since software
maintenance alone can devour upwards of 50 percent of the total
data-processing budget for a business.
- Excessive maintenance costs reflect directly back on the system's
designer, since approximately 70 percent of software errors have
been attributed to inappropriate software design.
- From a systems perspective, it makes sense that detecting
and correcting software design errors early on is less costly
than letting errors remain unnoticed until maintenance is necessary.
- Any system will be required to change for a multitude of reasons:
- Users demand new functions or changes to the old.
- Governmental bodies such as the Internal Revenue Service require
- New computer equipment is periodically developed that will
solve problems that were previously unsolvable.
- There are also user requests that were identified during the
earlier phases but were tabled in the interest of bringing the
project to completion.
- Maintenance is performed most often to improve the existing
software rather than to respond to a crisis or system failure.
- As users' requirements change, software and documentation
should be changed as part of the maintenance work.
- Additionally, programs might be recoded to improve on the
efficiency of the original program. Over half of all maintenance
is comprised of such enhancement work.
- Maintenance is also done to update software in response to
the changing organization. This work is not as substantial as
enhancing the software, but it must be done. Emergency and adaptive
maintenance comprise less than half of all system maintenance.
- Part of the systems analyst's job is to ensure that there
are adequate channels and procedures in place to permit feedback
about, and subsequent response to, maintenance needs.
- Users and operators must be able to communicate problems and
suggestions easily to those who will be maintaining the system.
- The systems analyst should set up a classification scheme
to allow users to designate the perceived importance of the maintenance
being suggested or requested.
- Classifying requests enables maintenance programmers to understand
how users themselves estimate the importance of their request.
- This viewpoint can then be taken into account along with other
factors when scheduling maintenance.
- There must be an orderly way to integrate changes into systems.
- Once an individual in the organization has requested a modification,
either management or a change control committee must decide whether
or not the change is to be implemented.
- If it is to be implemented, the analyst must design the changes
to minimize their impact, and must keep a record of each change
as it is made so that it can be easily reversed later if necessary.
- The implementation phase involves the steps below:
- User Training
- Conversion and Operation
- While maintenance continues throughout the life of the system,
this concludes the systems development life cycle.