ID1219 Software Evolution and Maintenance 7.5 credits

Vidareutveckling och underhåll av programvara

Maintenance costs amount up to 90% of the software life cycle cost. Today, it is mainly conducted in an ad hoc way. The course Software Evolution and Maintenance provides a broad spectrum of software processes that take place after delivery of the first version of a newly developed software system. This includes processes for correcting, continuous development, re-engineering, supporting, retiring and processes for managing emergency problems and for managing software quality. The course will also focus on processes that go in parallel with new development during which one prepares software systems for future continuous development and maintenance.

Show course information based on the chosen semester and course offering:

Offering and execution

No offering selected

Select the semester and course offering above to get information from the correct course syllabus and course offering.

Course information

Content and learning outcomes

Course contents *

  • Definition of the software life-cycle.
  • Types of refinement and maintenance of software.
  • Process models for most types of refinement and maintenance of software.
  • First, second, and third lines of support.
  • Testing in refinement and maintenance of software.
  • Transition from development to refinement and maintenance of software (software transition).
  • Aging of software.
  • Phasing-out (retirement) of software.
  • Revision (reengineering) of software.
  • Evolvability and maintainability of software.
  • Process models on organizational structures.
  • Quality management and reverse engineering.
  • Status in industry and research.

Intended learning outcomes *

Having passed the course, the student should be able to:

  • describe the software life-cycle process and its component processes
  • explain the interplay between software development and software refinement and maintenance
  • apply their knowledge in software refinement by defining, follow. and follow up on software life-cycle processes and the roles that are involved in each respective process
  • apply their technical knowledge to develop and maintain software systems
  • handle software problems that have appeared in an existing software system and take appropriate measures
  • explain current trends in managing the software life-cycle
  • act in an ethical manner when developing and maintaining software systems
  • work in a team when handling complex problems
  • communicate their work and its results in writing

in order to

  • obtain an understanding of the extent and complexity of the development and maintenance of an already existing software system.

Course Disposition

No information inserted

Literature and preparations

Specific prerequisites *

Completed course II1302 Projects and Project Methods 7.5 credits, or IV1300 Software Engineering 7.5 credits, or both IV1303 Modern software development 6 credits and ID1003 Project IT 7.5 credits or an equivalent project course on at least 7.5 credits.

Recommended prerequisites

No information inserted


No information inserted


Assignment if reading list is informed in course essay.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale *

P, F

Examination *

  • RAP1 - Report, 1.5 credits, Grading scale: P, F
  • ÖVN1 - Exercises, 6.0 credits, Grading scale: P, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Examiner determines, in consultation with KTH's coordinator for disabilities (Work), about possible adapted examination for students with documented, permanent disabilities. The examiner may permit other examination formats at the re-examination of individual students.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Mira Kajko-Mattsson

Ethical approach *

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web ID1219

Offered by

EECS/Computer Science

Main field of study *


Education cycle *

First cycle

Add-on studies

No information inserted

Supplementary information

In this course, the EECS code of honor applies, see: