Aims
- To understand and analyze the quality of a software system (and more specifically, its maintainability) ;
- To understand the nature of some of the problems encountered when maintaining complex software systems ;
- To suggest appropriate solutions to improve reusability and maintainability of a software system, measure its quality and support its evolution ;
- To program in Smalltalk, a pure object-oriented programming language.
Main themes
- "Best practices" of object-oriented programming ;
- Reuse techniques and application frameworks ;
- Software measures and metrics ;
- Version management : variants, revisions, configurations ;
- Software comprehension and reverse engineering ;
- Software reengineering and restructuring ;
- The use of variety of tools that support some of the above activities.
Content and teaching methods
The theoretical aspects that will be introduced in the theory sessions will be put in practice during "hands-on" practical sessions in one of the computer rooms. A single software application will be developed throughout the different practical sessions, and the techniques taught in the theory course will be tested on this application. The course evaluation will be an assignment where the students are asked to applied the learned techniques on a software application of their choice, more specifically to analyze the qualities of this application (and its maintainability in particular) and suggest possible improvements to that application.
Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
- Prerequisite:
INGI2251 - Génie logiciel: méthodes de développement
- References:
(1) N.E. Fenton and S.L. Pfleeger, " Software Metrics: A Rigorous and Practical Approach", 2nd edition, Thomson Computer Press, 1996.
(2) K.Beck, "Smalltalk Best Practice Patterns", Addison-Wesley, Prentice Hall, 1996
(3) M. Fowler, "Refactoring, Improving the Design of Existing Code", Addison-Wesley, 1999
- Remarques:
All practical information related to this course will be accessible on iCampus
http://www.icampus.ucl.ac.be/INGI2252 . This will also be the preferred communication medium between the teachers and the students.
|