This course has been discontinued.
Last planned examination: Spring 2000
Decision to discontinue this course:No information inserted
To change or not to change, that is the question?
Or should we rather say change or perish!!!!!
How many systems do the software engineers start building from scratch today? Well, not many. How many systems do the software engineers support today? The majority. Therefore, the success of many software organisations will strongly depend on how well they may support (evolve and maintain) these systems. And YOUR SUCCESS will strongly depend on how well prepared you will be to face the evolution and maintenance challenge.
So, take the opportunity and learn how to meet this challenge on the Software Evolution and Maintenance course. I promise you will not regret it. First of all, it is a very interesting course. After the first lecture you will become as deliriously enthusiasic as the course leader is. Second of all, it is a unique course. It is even internationally listed among the very few courses on the subject in the world (see http://catamaran.labs.cs.uu.nl/twiki/pt/bin/view/Transform/TeachingSoftwareEvolution).
Software evolution and maintenance has become one of the most important, costly and complex activities within software engineering. Its cost reaches almost 90% of the total life-cycle cost. Evolution and maintenance encompasses enhancement of extant software systems with new functionality, attendance to software defects, adaptation to new environment, and prevention of future problems.
Despite the fact that evolution and maintenance has become the dominating software engineering activity, most of the academic courses today are only dedicated to software development, the phase before the system is delivered to the customer. On this course, you will learn how to effectively evolve and maintain the software systems after the system is delivered to the customer.
Content and learning outcomes
Lifecycle roadmap is presented and different types of evolution and maintenance activities are placed on it. Status within industry and research is mapped out. Evolution laws are discussed and analyses in different contexts (the traditional, component-based, and open-source). Predelivery and transition maintenance models are studied and criteria for their success are identified. Impact analysis is studied. Different ways to manage customer problems are surveyed, both the critical (emergency) and non-critical ones. Retirement process model is considered. Finally, the quality attribute "maintainability" is discussed and compared to "bad smells".
Intended learning outcomes
After the accomplished course, the student should be able to
- plan for the whole software lifecycle in the initial phases of software development
- identify all support line levels involved in evolution and maintenance
- identify problems within the industry and research
- choose appropriate problem management method. The choice should be based on software criticality and problem urgency.
- explain differences among all the types of maintenance categories
- make decisions and manage legacy systems
- identify retirement activities
- evaluate agile methods from the lifecycle perspective
- motivate why it is important to build in evolvability/maintainability in a system
- describe and motivate evolution laws.
Literature and preparations
- basic knowledge in software engineerign
Kajko-Mattsson, Software Evolution and Maintenance, Compendium, DSV.
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
- INL1 - Assignment, 3.0 credits, grading scale: P, F
- TEN1 - Examination, 4.5 credits, grading scale: A, B, C, D, E, FX, 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.
Other requirements for final grade
- written exam, 4,5 credit points
- assignment, 3 credit points
Opportunity to complete the requirements via supplementary examination
Opportunity to raise an approved grade via renewed examination
- 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 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 ID2006
Main field of study
The course occasion in period P4, spring term 2011, will be canceled due to too few applicants.