d'enseignement
en ligne
- 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.
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 , INFO1.3
- INFO2.5
- INFO5.5
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.5
- SINF5.5
Les étudiants ayant suivi avec fruit ce cours seront capables de
- Comprendre les difficultés de développement de code dans un contexte de changement, par opposition au développement à partir de rien
- Évaluer l'impact d'une demande de modification d'un produit existant de taille moyenne.
- Décrire les techniques, les idiomatiques de codage et d'autres mécanismes de mise en 'uvre des conceptions qui sont plus maintenables.
- Comprendre comment les modèles de conception peuvent améliorer la conception d'un système de logiciel.
- Refactoriser une implémentation logicielle existante pour améliorer certains aspects de sa conception.
- Identifier les principaux problèmes liés à l'évolution d'un logiciel et expliquer leur impact sur le cycle de vie du logiciel.
- Discuter des avantages et inconvénients des différents types de réutilisation de logiciels.
La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».
Même si un logiciel de bonne qualité peut être plus facile à maintenir et à faire évoluer, les techniques d'assurance de la qualité des logiciels ne seront pas abordées explicitement dans ce cours car ils font l'objet d'un cours distinct sur l'assurance qualité du logiciel [LINGI2251]
Préalables:
- Avoir une bonne connaissance et expérience avec les concepts de la programmation orientée objet, les algorithmes et les structures de données.
- Avoir une expérience préalable ou simultanée avec le développement d'un logiciel de taill moyenne à grande.
en charge