You are on page 1of 3

systems

Problemsand solutionsin
sof~are maintenance
by A4 C ER

T
he information revolution has Definition of software level up to the software, making the
brought important changes to maintenance software the most crucial component
m~agement isolation sys- in any ~formation system. What is
tems; its impact on business systems In a very loose sense, software main-
built into the software is the computa-
is apparent. With more and more tenance is an activity which makes
tion logic which models the activities
aspects of the management informa- existing software operationable. In
of the outside world. In consequence,
tion systems being computerized, the this respect, it includes corrections,
when the outside world is changed,
data processing department is gradu- improvements, modifications and en-
the affected software shotid be
ally becoming one of the important hancements. The correction activity is
changed if it is to continue EOmake
departments in most corporations. to fix up errors in computer pro-
sense at all. In this respect, if the
Until now a great deal of attention grams, which may be due to specifka-
outside world is complex, so is the
has focused on software development, tion errors of coding errors. The
internal structure of the software.
namely, how to specify software sys- improvement activity is to increase
Obviously, the more frequently the
tems using formal techniques and the execution efficiency of computer
outside world is changed, the more
how to implement software systems programs, for instance. The modifica-
frequently the software needs to be
within budgets and time constraints. tion activity is to alter the code in
updated. Thus the software main-
Attention has gradually shifted to order to reflect the changes of legisla-
tenance activity seems to be endless.
software rn~ten~~e where more tion or of business environment. The
Coupled with the endless software
and more software systems are put enhancement activity is to add more
maintenance activity are the software
into operation and more and more facilities to existing software systems,
maintenance problems which are uni-
resources are being poured into soft- which are normally initiated by users.
que in themselves.
ware maintenance activities. Some The cost of each software main-
corporations have already experienced tenance activity depends to a large Sofnoare maintenance is an
spending more than 70% of the DP extent on how substantial the changes intellectual activity
personnel salaries on software main- are made to the code. In general, the
m~~cation and enh~cement activi- Software maintenance is not as simpie
tenance-3, and the cost of software
ties account for more than 70% of the as changing a bulb or fixing a screw.
maintenance is increasing every year.
software maintenance cost. One needs the creativity to identify
Thus, there is an urgent need to study
the code to be changed and to make
software maintenance problems and
Software maintenance problems an appropriate change without de-
to seek possible solutions to the crisis.
stroying the integrity of the software
Why is software maintenance a pro-
system as a whole.
blem at all? First of all, we need to
Abstract: The software ~~nt~~e cost has
understand the intrinsic nature of
risen to 7#% of the data procekrrg budget in The complexity of understanding
software in order to fully appreciate
some corpor&ons. Some of the crucial factors computer programs
contributing to the sofnuare maintenance the software maintenance problems
problems are identiw and discussedand and the feasible solutions. Software is The complexity of a computer pro-
mu-88~~ aud technical sozutionsto totally different from hardware - gram depends to a large extend on its
the ~~~~ob~~ are proposed. software never deteriorates due to size and the interaction of compo-
wear and tear but the hardware does. nents. In reading computer programs,
Keywords: sofmare maittteuance, sofmare Hence the techniques of hardware not only has one to understand the
quality control, maintenance problems, maintenance cannot be applied to the code but one has also to relate it to the
maintenance solutions. software maintenance directly. Gen- operating environment and to make
eral-purpose computers have pushed sense out of it. Thus, in rn~ta~g
M C Er is at the University of ~ollongong,
Australia. the complexity of computation one software, one has to suffer from the

~0126 no 6 july/august 1984 ~11~~4~84~~2~3$03.~ Q 1984 Butte~o~b & Co ~~ub~~h~s~ Ltd. 25


usual learning curve effect, and on top computation in written language, the into another persons framework.
of it one has to reconstruct the inter- lack of time during software deveiop- Another fallacy is so-called preven-
nal model manipulated by the com- ment to produce decent documents, tive softovaremaintenunce.A program
puter program. The larger the com- especially when the software is behind logic is either right or wrong; it
puter program, the more complex is schedule, the lack of an incentive to cannot be somewhere in between.
this exercise. Unfortunately, this produce high quality documents, and Thus, the preventive measure com-
aspect is often underestimated. the fact that poor documentation monly used in hardware maintenance
means that others have to rely on the cannot be carried over to software
Maintainability of sofnoare programmers. maintenance. More importantly, the
more frequently the software is modi-
Many computer programs were writ-
Management attitude fied, the greater is the rate of its
ten without having maintainability in
degradation. A regular review (say
mind. This is not due to the incompe- Management often regards software
once every couple of years) of soft-
tence of programmers; rather it is due maintenance as a second-rate job.
ware with users is perhaps a better
to the following two contributing Consequently, not only is the financial
approach.
factors. First, most of the software is reward paid to the software main-
The above points suggest that ideal-
developed under very tight budget tenance personnel lower than that
ly the person who maintains the
and time constraints and there is paid to the software development
software should be the original imple-
virtually no time to ponder upon the personnel, but also ill-qualified people
mentor. Thus, the intuitive under-
maintainability issue. Second, pro- are assigned to maintain the software.
standing of the internal model mani-
grammers are quite often not the It is, therefore, not surprising that
pulated by the program is not lost and
users of software products and it is competent programmers have chosen
can be carried forward to the main-
difficult to anticipate what course the to avoid software-maintenance jobs.
tenance phase. Consequently, the
future will take.
code can be modified in a systematic
Management solutions
manner. More importantly, if an error
Integrated software system is specific
One of the most crucial elements is detected in the program, the origi-
to a corporation
which will ensure the success of nal implementor has a chance to
A piece of software, say the payroll software maintenance is a change of enhance his own understanding. Of
system, could be contracted to a management attitude. Unless soft- course, if the original implementor
software house. However, the integra- ware maintenance staff are as well has already left the operation, it does
ted software system is specific to each paid as software development staff, not matter who is assigned to modify
corporation and cannot be contracted there is little hope that able program- the software. Some authors4 object to
to outside software houses. mers will be attracted to do the this approach, claiming that the soft-
maintenance jobs. The change of ware maintenance tends to use up
Mobility of software personnel attitude sounds simple, but in fact it is resources and the software develop-
The computer industry is a fast grow- the hardest part. ment eventually suffers. The problem
ing industry; the demand for software Some authorsy4 advocate the estab- perhaps is due to the lack of proper
specialists far exceeds the supply. To lishment of a separate independent management control or insufficient
gain quick promotion or better finan- software maintenance department. manpower or both.
cial reward, software specialists fre- The supeticial advantages seem to be Another innovation is the establish-
quently change jobs. Yet, when a better budgetary control, perfor- ment of a software quality control
software specialist quits, the corpora- mance measures and manpower plan- (SQC) department. Obviously, such a
tion loses the expertise gained over a ning. But the disadvantages seem to department should have independent
long period of time. The long-term outweigh the advantages. In the jurisdiction. In general, the function
effect of high turnover is that the separate department situation, the of the SQC department is to control
software will gradually degrade to a people who maintain the software are the quality of software and its accom-
state whereby its maintenance is too unlikely to be the original implemen- panying documents. More specifical-
costly or impossible. tors. Communication problems may ly, the activities of the SQC depart-
then occur between the software ment include the following:
Lack of documentation maintenance department and the soft-
ware development department. Worst l Approve the quality of system and
The fact that most programmers write of all is that the software will degrade program specifications, and of final
poorly is of great concern. It is related at a faster rate, because people may programs - including program
to the difficulty of expressing dynamic find it difficult to fit their thinking validation, comprehensibility of

26 data processing
systems
program logic and documentation; que has been proved to be one of the graded to beyond feasible mainte-
* ensure the comprehensibility of most helpful techniques. But when it nance, it is time to rewrite them. But
user guides; comes to software maintenance, struc- even before this stage is reached,
l approve the quality of any modified tured programming techniques do some programs may be worth rewrit-
programs. not work well. The reason is that, in ting. Such a judgement depends very
software maintenance, one tries to much on the individuals experience.
The disadvantages of setting up an modify the structure of programs Failure to recognize this point will no
SQC department are: which are already inflexible. The al- doubt increase the software mainte-
ternative approach is to rewrite the nance cost.
* Delay of software operation time, affected programs!
* additional SQC staff who must be Conclusion
qualified programmers are re- Modularity of computer programs
quired. The high cost of software mainte-
A module is the smallest logical pack- nance and the software maintenance
age within a program that provides a problems are mainly due to the use, in
However, the long-term benefits
set of common functions. The modu- the sixties and seventies, of immature
gained by the corporation outweigh
larity of computer programs will in- programming languages and systems
the disadvantages:
crease the maintainability of soft- in the computerization of manage-
ware5. U~ortunately, conventional ent notation systems. The lack of
The software quality can be main-
programming languages, like COBOL, suitable programming languages and
tained at a satisfactory level,
FORTRAN and ~~11, do not support the high cost of converting software
the software maintenance cost will
information encapsulation very well. from one form to another have virtu-
be reduced substantially.
Isolation encaps~ation is essential ally ruled out any lasting solutions.
for making the modularity a success. Hence corporations have to shoulder
Nevertheless, the management solu-
New programming languages, such as the software maintenance burden.
tions do not guarantee that all soft-
ADA and MOJXJLA-Z, provide a more Nevertheless, in the above discussion,
ware maintenace problems will dis-
effective way of hiding unncessary I have identified the software main-
appear. I now turn to a discussion of
information. Sadly, such new pro- tenance problems and have proposed
technical solutions which are com-
gramming languages are incompatible some management and technical solu-
plementary to the management solu-
with COBOL, which is the most widely tions that will help to alleviate some of
tions.
used Prolog language in com- the pressing problems and to reduce
mercial applications. the cost of software maintenance.
Technical Solutions
Rwwing what to document m
Computer science is a relatively new
c~~~pro~a~
science and many of its theories and References
techniques are still under rapid deve- Some programmers do not know what
to document in computer programs or 1 Agresti, W W, Managing program
lopment. Software maintenance has
maintenance, 3 System Management,
only surfaced as a major disaster in purposely do not document the most vol 33, no 2(1982) pp 34-37.
recent years, when software has been complex parts. The concept of soft- 2 Forney, R H, Race, R G and Nash-
used over a long period requiring the ware quality control discussed in the leanas, R P, Data processing: a manage-
maintaining effort of programmers. foregoing section will alleviate the ment paradox, 3 Systems Management,
No completely satisfactory technical problem. As a general rule, all vari- ~0134, no 5 (1983) pp 21-23.
3 Glass, R L, Persistent software errors,
solutions have been found. In what ables and all modules should bear IEEE Trans Sofrware Engineering, vol
follows, I identify some of the tech- comments. Also, the more time a SE-7, no 2 (1981) pp 162-168.
nical problems - hopefully future programmer spends on a piece of 4 Martin, G N, EDP systems mainte-
research effort will be directed at code, the more essential it is to nance, 3 Systems Maggoty vol 30,
them - and some of the tangible document the reasons beside the no 9 (1979) pp 18-21.
5 You, S S and Collofello, J S, Some
solutions which require disciplined code. The use of hierarchical charts stability measures for software mainte-
practice. will also help to put the logic of nance, IEEE Trans Sofnuare Engineer-
computer programs into perspective. ing, vol SE-6 no 6 (1980) pp 545-552.
Structured programming technique 0
does rwt work Knowing when to rewrite computer
In developing computer programs, programs Departmentof ComputingScience, University
of Woilongong,P. 0. Box 1144, Wollougong,
the structured programming techni- When computer programs are de- NSW 2500, Australia. Tel: (042) 270859.

~0126 no 6 julylaugust 1984 27

You might also like