<- Archives UCL - Programme d'études ->



Software engineering : measures and maintenance [ LINGI2252 ]


5.0 crédits ECTS  30.0 h + 15.0 h   1q 

Enseignant(s) Mens Kim ;
Langue
d'enseignement:
Anglais
Lieu de l'activité Louvain-la-Neuve
Ressources
en ligne

> https://icampus.uclouvain.be/claroline/course/index.php?cid=INGI2252

Thèmes abordés
  • Les "bonnes pratiques" de la programmation orienté-objet;
  • Les techniques de réutilisation, application frameworks;
  • Les métriques et mesures de logiciels;
  • La compréhension et rétro-ingénierie de logiciels;
  • La ré-ingénierie et la restructuration et réusinage de logiciels;
  • L'utilisation de certains outils qui supportent les taches mentionnées ci-dessus.
Acquis
d'apprentissage

Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :

  • INFO1.1-3
  • INFO2.3, INFO2.5
  • INFO5.3-5
  • INFO6.1, INFO6.3, INFO6.4

Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :

  • SINF1.M3
  • SINF2.3, SINF2.5
  • SINF5.3-5
  • SINF6.1, SINF6.3, SINF6.4

Les étudiants ayant suivi avec fruit ce cours seront capables de

  • expliquer comment mesurer les qualités d'un logiciel (et notamment la qualité de la maintenabilité);
  • utiliser divers outils pour mesurer les qualités d'un logiciel et analyser de façon critique les résultats obtenus en les comparant avec ceux provenant d'autres outils et en inspectant le logiciel manuellement pour confirmer ou contredire les résultats obtenus;
  • expliquer la nature des problèmes rencontrés dans la maintenance de logiciels complexes et les processus impliqués;
  • mettre en oeuvre quelques approches-type pour favoriser la réutilisabilité et la maintenabilité;
  • programmer des applications maintenables et réutilisables en Smalltalk, un langage orienté-objet pur.

Les étudiants auront développé des compétences méthodologiques et opérationnelles. En particulier, ils ont développé leur capacité à

  • avoir un regard critique sur les résultats d'un outil automatisé;
  • réaliser une présentation convaincante;
  • rédiger un rapport de synthèse.
Modes d'évaluation
des acquis des étudiants

L'évaluation du cours est basée sur les rapports et la présentation sur l'analyse d'une étude de cas.

Chaque étudiant devra réaliser, par groupe de 2, un petit projet au cours du quadrimestre, avec des rapports intermédiaires et un rapport final à produire. La note finale se basera sur les résultats du projet, la qualité des rapports, et la présentation finale.

Conditions pour pouvoir participer à l'examen (= présentation finale) de janvier / juin : avoir soumis le(s) rapport(s) dans l'échéance indiquée  par le professeur.

Pour l'examen de juin ou de septembre la note de janvier n'interviendra plus. Or, l'étudiant devra finaliser,individuellement, un nouveau projet de même ampleur que pour la session de janvier.

Méthodes d'enseignement

Les aspects théoriques sont introduits dans les séances de théorie.

Une étude de cas sera réalisée sur un logiciel à analyser en utilisant les techniques vues au cours, par groupe de 2. Les étudiants sont invités à analyser les qualités de cette application, et notamment sa maintenabilité, et à suggérer des améliorations possibles . Les résultats de leur travail seront expliqués dans des rapports intermédiaires et final et lors d'une présentation.

Les étudiants sont invités à rédiger les rapports et à présenter leurs travaux en anglais.

Contenu

La théorie introduite dans les exposés magistraux sera mise en pratique lors d'un projet ou les étudiants doivent appliquer les techniques apprises sur un autre logiciel au choix, afin d'analyser les qualités de ce logiciel et notamment sa maintenabilité

Bibliographie

La théorie du cours se base sur plusieurs livres :

  • A. Black, S. Ducasse, O. Nierstrasz, "Pharo By Example", 2009.
  • K.Beck, "Smalltalk Best Practice Patterns", Prentice Hall, 1997.
  • M. Fowler, "Refactoring: Improving the Design of Existing Code", Addison-Wesley, 2001.
  • A. Riel, "Object-Oriented Design Heuristics", Addison-Wesley, 1996.
  • N.E. Fenton & S.L. Pfleeger, "Software Metrics: A Rigorous and Practical Approach", 2nd edition, Thomson Computer Press,1996.
  •  A. Black, S. Ducasse, O. Nierstrasz, "Pharo By Example", 2009.
  • A. Riel, "Object-Oriented Design Heuristics", Addison-Wesley, 1996.

Les transparents des cours magistraux ainsi que les énoncés des séances pratiques et d'autres informations pratiques relatives au cours seront accessibles en ligne.

Autres infos

Préalables:

  • LSINF1121  : programmation orienté-object et expérience avec des programmes de taille moyenne
  • LSINF2255/LINGI2255 : avoir en parallèle ou précédemment une expérience de développement d'un logiciel de plus grande taille
Cycle et année
d'étude
> Master [120] en sciences informatiques
> Master [120] : ingénieur civil en informatique
Faculté ou entité
en charge
> INFO


<<< Page précédente