Abstract
The case study is about the System Monitor and Control Facility (SMCF) workstation product developed by a major telecommunications company that has been used to monitor MVS OS mainframe computer systems since 1983. In 1991, mainframe UNIX systems were added to the list of systems supported using software executing on the mainframe side. In 1994, an effort to develop a common interface using TCP/IP and Remote Procedure Calls (RPC) began with a product being developed in the C. The product, which was officially delivered in June of 1994, was coded using structured programming techniques. However, after the product had been in use for some time, maintaining and extending the code for additional functionality and portability was less than desirable.A decision was made by the programmers who support the host-side code to restructure (re-engineer) it such that certain software engineering principles be included into the product to make the product more maintainable and portable. This paper discusses the factors that led to the initial decisions of the designers and programmers, the evaluation of the existing code, and the resulting code with software engineering principles re-engineered into the existing code, and how the incorporation of these principles make maintenance simpler and how they may prevent or minimize defects in the future.
Similar content being viewed by others
References
Chikofsky E.J. and Cross H. II Reverse engineering and design recovery: a taxonomy. IEEE Software, January (1990) 13-17.
Glass R.L. Building Quality Software (Prentice-Hall, Englewood Cliffs, NJ, 1992) pp. 180-195.
Choi S.C. and Scacchi W. Extracting and restructuring the design of large systems. IEEE Software, January (1990) 66-71.
Arthur L.J. Improving Software Quality: An Insider's Guide to TQM(John Wiley & Sons, New York, 1993) pp. 217-231, 247-259.
Fenton N.E. Software Metrics: A Rigorous Approach (Chapman & Hall, New York, 1991) Chapters 1-3, 5, 10, 11 and 14.
Lew K.S., Dillon T.S. and Forward K.E. (1988) Software complexity and its impact on software reliability. IEEE Transactions on Software Engineering, 14, 1645-1655.
Martin J. and McClure C. Software Maintenance: The Problem and Its Solutions. Prentice-Hall, Inc., Englewood Cliffs, NJ, 1983. Chapters 3, 4, & 17.
Schneidewind N.F. (1987) The state of software maintenance. IEEE Transaction on Software Engineering, SE-13, 303-310.
Jarzabek S. (1994) Life-cycle approach to strategic re-engineering of software. Journal of Software Maintenance: Research and Practice, 6, 287-317.
Kafura D. and Reddy G.R. (1987) The use of software complexity metrics in software maintenance. IEEE Transactions on Software Engineering, SE-13, 335-343.
Kelly M. Management and Measurement of Software Quality (Ashgate Publishing, Brookfield, VT, 1993).
Shere K.D. Software Engineering and Management (Prentice-Hall, Englewood Cliffs, NJ, 1988) Chapters 2 and 3.
Parikh G. Techniques of Program and System Maintenance (Winthrop Publishers, Cambridge, MA, 1982) pp. 9-13, 25-35, 101-104, 201-202.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Saiedian, H., Urban, J.J. A case study to demonstrate the impact of quality design principles when restructuring existing software. Software Quality Journal 6, 337–348 (1997). https://doi.org/10.1023/A:1018584623908
Issue Date:
DOI: https://doi.org/10.1023/A:1018584623908