Abstract
A method for teaching software maintenance at the graduate level using software artifacts is described. Objectives, the syllabus, and assignments are included in annotated form. A discussion of the actual events and lessons learned in a prototype course is presented.
Preview
Unable to display preview. Download preview PDF.
Bibliography
Arango85 Guillermo Arango, Ira Baxter, Peter Freeman, and Christopher Pidgeon, "Maintenance and Porting of Software by Design Recovery," in the Proceedings of the 1985 Software Maintenance Conference, pp. 42–49. This work is from the Reusable Software Engineering Project at the University of California, Irvine, and is a valuable framework for developing the support material needed when placing undocumented code under maintenance.
Arthur88 Lowell Jay Arthur, Software Evolution. New York: John Wiley, 1988. This particular textbook on maintenance does a good job of placing the activity in the context of the total life cycle of software, plus it has a number of examples and a useful language for describing maintenance activity.
Bendifallah87 Salah Bendifallah and Walt Scacchi, “Understanding Software Maintenance Work," in IEEE Transactions on Software Engineering, Vol. SE-13, No. 3, Mar. 1987, pp. 311–323. This paper expands on Scacchi's previous work on the social aspects of software development organizations. It makes a comparison between two different software evolution organizations that illuminates many of the principles presented in the technical part of the course.
Ford89 Gary Ford, Charles B. Engle, and Tim Korson, "Software Maintenance Excercises for a Software Engineering Project Course," SEI-89-EM-1. This outstanding piece of educational material is a guide to the use of maintenance excercises, and contains actual problems usable in software engineering project courses. It comes with a fairly substantial piece of “broken” software.
Lehman80 Meir M. Lehman, "Programs, Life Cycles, and Laws of Software Evolution," in Proceedings of the IEEE, Vol. 86, No. 9, September 1980, pp. 1060–1076. In this classic paper, Lehman first separates programs into types, then derives laws of software evolution that are illustrated in an example. Very useful for sparking discussion.
Lientz83 Bennet P. Lientz, "Issues in Software Maintenance," in Computing Surveys, Vol. 15, No. 3, September 1983, pp. 271–278. This is a useful survey of the main problems confronting maintainers. It makes a good jump-off reading for the course.
Schaefer85 Hans Schaefer, "Metrics for Optimal Maintenance Management," in the Proceedings of the 1985 Software Maintenance Conference, pp. 114–119. The author suggests that certain data be kept by maintainers to help identify modules that would be candidates for perfective maintenance, and also to facilitate estimation of time and costs of future maintenance work. Even though this is a ‘management’ article, it is useful to discuss it just prior to starting serious project work to give the students some idea of the reasons for collecting such data.
Tomayko87 James E. Tomayko, "Teaching a Project-Intensive Introduction to Software Engineering," Software Engineering Institute, SEI-87-SP-1. This contains the documents about Ares. The user manual was the only item given to the students.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tomayko, J.E. (1989). Teaching maintenance using large software artifacts. In: Gibbs, N.E. (eds) Software Engineering Education. SEI 1989. Lecture Notes in Computer Science, vol 376. Springer, New York, NY. https://doi.org/10.1007/BFb0042345
Download citation
DOI: https://doi.org/10.1007/BFb0042345
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-0-387-97090-5
Online ISBN: 978-0-387-34791-2
eBook Packages: Springer Book Archive