Personen | Personen nieuwe site | Google | Route | Contact Login 
Course details 2012-2013  
Software reengineering
Course Code :2001WETSRE
Study domain:Computer Science
Semester:Semester: 2nd semester
Contact hours:45
Study load (hours):168
Contract restrictions: No contract restriction
Language of instruction :English
Exam period:exam in the 2nd semester
Lecturer(s)Serge Demeyer


1. Prerequisites

At the start of this course the student should have acquired the following competences:
An active knowlegde of :
  • English
(This course is taught in English)
Specific prerequisites for this course:
  • Practical programming experience, preferably in a team context..
  • Profound knowledge about the testing of software (unit tests, regression tests)
  • Knowledge about the various techniques applied during a software project (requirements, analysis, design, implementation, testing, maintenance).
  • Knowledge about techniques for managing quality during a project (cost estimation, code reviews, metrics)

2. Learning outcomes

To become acquainted with a broad selection of principles, techniques and skills used when reengeneering existing software systems. After this course, a student will be able to

  1. assess which parts should be reengineered first;
  2. identify the risks and opportunities for a given reengineering project;
  3. extract coarse-grained and fine-grained design models;
  4. exploit tests during reengineeren;
  5. select de most appropriate migration strategy;
  6. solve the typical problems of an object-oriented reengineering project;
  7. give an overview of the recent research on software reengineering.
As such, studens will obtain some of the core competences of a master in computer science. They learn to assess which parts should be reengineered first and select de most appropriate migration strategy which allows them to select between available techniques. This selection is performed with the necessary depth, by exploiting the underlying theories as well as the practical experience, in particular the lab sessions and the reengineering project. The overview of recent research in software reengineering is a necessary prerequisite for research and development (knowing which techniques can be applied to create a strategic advantage over competitors), as well as fundamental research (knowing the current research questions within the discipline of software engineering).

3. Course contents

This course concerns the 'state-of-the-art' of the reengineeren of existing software systems. This includes an introduction to the recent research, as well as an overview of the principles techniques and skills applied in practice today.

The course has a practical ring to it with a minimal theoretical content (taught as reengineering patterns), several lab-sessions (trying out several tools) and one project (restructuring an existing large software system).

4. Teaching method

Class contact teaching:
  • Lectures
  • Laboratory sessions

  • Project-based work:
  • Individually

  • Project-based work:
  • In group

  • 5. Assessment method and criteria

  • Practical examination

  • 6. Study material

    Required reading

    • Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz, Object-oriented Reengineering Patterns, Morgan Kaufmann Publishers, 2002.
    See also

      Optional reading

      The following study material can be studied on a voluntary basis:

      7. Contact information

      (+)last update: 18/07/2011 17:09 serge.demeyer