Navigation

MS1ES - Software Evolution

Course specification
Course title Software Evolution
Acronym MS1ES
Study programme Electrical Engineering and Computing
Module Software Engineering
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. H. Yang, M. Ward, Successful Evolution of Software Systems, Artech House 2003. (Original title)
    2. Martin Fowler. Refactoring: Improving the design of existing programs. Addison-Wesley, 1999. (Original title)
    3. Grubb, Takang,Software Maintenance: Concepts and Practice 2ed, World Scientific, 2003. (Original title)
    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
    Projects 50
    Colloquia 0
    Seminars 0