13M111ES - Software Evolution

Course specification
Course title Software Evolution
Acronym 13M111ES
Study programme Electrical Engineering and Computing
Type of study master academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
    ESPB 6.0 Status elective
    Condition none
    The goal To give the student a theoretical and practical foundation for understanding and addressing advanced topics in software evolution, including processes, methodologies and tools.
    The outcome After completing this course, students should be able to: Understand and categorize the causes of software evolution. Understand the advantages and disadvantages of various technologies for evolving software systems Analyze an existing system, explore possible change strategies and construct a plan for evolving the system Efficiently use various tools for implementing change.
    Contents of lectures The evolution life cycles, types of software maintenance. Lehman's laws of evolution. Program understanding and reverse engineering. Cost estimation, prediction of changes, impact analysis. Configuration and Change Management, Refactoring, Aspect-oriented programming, feature oriented programming, program transformations.
    Contents of exercises Laboratory exercises illustrating some of the concepts, techniques, and tools discussed in the lectures. Two practical student projects.
    1. T, Mens, S. Demeyer, Software Evolution, Springer 2008.
    2. Martin Fowler. Refactoring: Improving the design of existing programs. 2nd Edition, Pearson 2019.
    3. Scott W. Ambler, Pramod J. Sadalage, Refactoring Databases: Evolutionary Database Design, Addison Wesley, 2006
    4. Selected research papers
    Number of hours per week during the semester/trimester/year
    Lectures Exercises OTC Study and Research Other classes
    2 2
    Methods of teaching Lectures, exercises, individual work on the projects
    Knowledge score (maximum points 100)
    Pre obligations Points Final exam Points
    Activites during lectures 0 Test paper 0
    Practical lessons 0 Oral examination 50
    Colloquia 0
    Seminars 50