Skip to main content

Teaching maintenance using large software artifacts

  • Section I Third SEI Conference On Software Engineering Education
  • Conference paper
  • First Online:
Software Engineering Education (SEI 1989)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 376))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Norman E. Gibbs

Rights and permissions

Reprints 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

Publish with us

Policies and ethics