- 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.
- Handling of quality and reverse engineering.
- Current position for the area in industry and research.
ID129V Software Evolution and Maintenance 7.5 credits
This course will be discontinued.
Last planned examination: Autumn 2024
Decision to discontinue this course:
The course will be discontinued at the end of Autumn 2024 according to Head of School decision: J-2022-3063.
Decision date: 2022-12-19
The course is offered for the last time in Autumn 2023. The last opportunity to take an examination in the course is Autumn 2024.
Students who wish to complete the course after it has been given for the last time should contact the examiner.
Maintenance costs amount up to 90% of the software life cycle cost. Today, maintenance is mainly conducted in an ad hoc way. The course Software Evolution and Maintenance rovides 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, continuously developing, re-engineering, supporting and retiring software, as well as rocesses for managing emergency problems and for managing software quality. The course ill also focus on processes that go in parallel with new development during which one repares software systems for future continuous development and maintenance.
Choose semester and course offering
Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.
Application
For course offering
Autumn 2023 Start 28 Aug 2023 single courses students
Application code
10036
Content and learning outcomes
Course contents
Intended learning outcomes
After passing the course, the participant 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, following and following 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 way in and maintenance of software system
- work in a team when handling complex problems
- communicate about their work and its result in writing
in order to
- obtain an understanding of the extent and complexity of the development and maintenance of an already existing software system.
Literature and preparations
Specific prerequisites
Documented knowledge in software development project, 7,5 ECTS-credits.
Recommended prerequisites
Equipment
Literature
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
Grading scale
Examination
- SEM1 - Seminar, 1.5 credits, grading scale: P, F
- SEM2 - Seminar, 2.0 credits, grading scale: P, F
- SEM3 - Seminar, 2.0 credits, grading scale: P, F
- SEM4 - Seminar, 2.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.
To pass the course, the course participant should normally be present on all seminars. In case of absence, an individual report about the subject that was treated on the seminar should be written.
Opportunity to complete the requirements via supplementary examination
Opportunity to raise an approved grade via renewed examination
Examiner
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.