|Course Code :||2001WETSRE|
|Study domain:||Computer Science|
|Semester:||Semester: 2nd semester|
|Study load (hours):||168|
|Contract restrictions: ||No contract restriction|
|Language of instruction :||English|
|Exam period:||exam in the 2nd semester|
At the start of this course the student should have acquired the following competences:
An active knowlegde of :
(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
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).
- assess which parts should be reengineered first;
- identify the risks and opportunities for a given reengineering project;
- extract coarse-grained and fine-grained design models;
- exploit tests during reengineeren;
- select de most appropriate migration strategy;
- solve the typical problems of an object-oriented reengineering project;
- give an overview of the recent research on software reengineering.
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: LecturesLaboratory sessions
Project-based work:In group
5. Assessment method and criteria
Examination: Practical examination
6. Study material
See also http://www.lore.ua.ac.be/Teaching/SReengMaster/
- Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz, Object-oriented Reengineering Patterns, Morgan Kaufmann Publishers, 2002.
The following study material can be studied on a voluntary basis:
7. Contact information
(+)last update: 18/07/2011 17:09 serge.demeyer