Navigation

13M111ES - Software Evolution

Course specification
Course title Software Evolution
Acronym 13M111ES
Study programme Electrical Engineering and Computing
Module Applied Mathematics, Audio and Video Communications, Audio and Video Technologies, Biomedical and Environmental Engineering, Biomedical and Nuclear Engineering, Computer Engineering and Informatics, Electronics, Electronics and Digital Systems, Energy Efficiency, Information and Communication Technologies, Microwave Engineering, Nanoelectronics and Photonics, Power Systems - Networks and Systems, Power Systems - Renewable Energy Sources, Power Systems - Substations and Power Equipment, Signals and Systems, Software Engineering, System Engineering and Radio Communications
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
    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.
    Literature
    1. R. Reussner, et. al, Managed Software Evolution, Springer Nature 2019.
    2. Martin Fowler. Refactoring: Improving the design of existing programs. 2nd Edition, Pearson 2019.
    3. 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
    Projects
    Colloquia 0
    Seminars 50