Objectifs (en termes de compétences)
- comprendre et expliquer la nature des problèmes rencontrés dans le développement de logiciels de taille importante, et des qualités attendues de ces logiciels (en particulier, fiabilité, adaptabilité, évolutivité et réutilisabilité);
- comprendre et expliquer les différents types de produits et processus impliqués tout au long du cycle de vie d'un projet informatique;
- évaluer qualitativement l'impact des décisions prises aux différentes étapes de ce cycle de vie;
- comprendre et mettre en oeuvre quelques approches-types pour modéliser, spécifier, concevoir, valider et documenter des logiciels complexes offrant les qualités attendues.
Objet de l'activité (principaux thèmes à aborder)
- Cycle de vie d'un projet logiciel: aspects statiques (les produits) et dynamiques (les procédés).
- Introduction à l'analyse des besoins: modélisation semi-formelle, spécification et analyse des exigences auxquelles doit répondre le logiciel.
- Introduction à la conception d'architectures logicielles: hiérarchisation, modularisation; styles et patterns architecturaux.
- Spécification d'un module vu comme unité de travail.
- Validation d'un logiciel: conception de jeux de test: black-box, white-box et d'intégration.
- Documentation des décisions prises au cours des différentes étapes du cycle de vie.
Résumé : Contenu et Méthodes
Le cours est fortement couplé au développement d'un projet " en vraie grandeur ", par équipes, selon les techniques étudiées (voir INGI2255 : Projet de génie logiciel). L'enseignement est organisé de manière intensive, en début de quadrimestre, pour permettre un démarrage rapide du projet, puis de façon plus épisodique, en fonction des besoins des différentes étapes de développement.
Certaines séances comportent des tests de connaissance (" quizz ") et des exposés d'études de cas illustrant les techniques à appliquer dans le projet.
Les travaux pratiques (2 ECTS) sont totalement intégrés à INGI2255 (5 ECTS) ; cette introduction au génie logiciel correspond donc à une charge globale de 10 ECTS, soit un travail tiers-temps durant tout le quadrimestre.
Autres informations (Pré-requis, Evaluation, Support, ...)
- Pré-requis:
(1) INGI2341- Mathématiques discrètes: bases logiques de l'informatique.
(2) LINF2121 - Algorithmique et structures de données.
(3) Avoir participé à la réalisation d'un projet logiciel de taille réduite.
- Références:
(1) Syllabus de cours et ouvrages recommandés ci-dessous.
(2) C. Ghezzi, M. Jazayeri, D. Mandrioli, "Fundamentals of Software Engineering", Prentice-Hall, 1991
(3) M.C. Gaudel et al., "Précis de génie logiciel", Masson, 1996
(4) F. Brooks, "The Mythical Man-Mouth", Addison-Wesley, 1995
(5) V. Berzins, Luqi, "Software Engineering with Abstractions", Addison-Wesley, 1991
- Evaluation :
Tests pendant le quadrimestre et examen écrit à la fin.
- Remarque:
Voir aussi http://www.info.ucl.ac.be/notes_de_cours/INGI2255/
Autres crédits de l'activité dans les programmes
FSA3DA
|
Diplôme d'études approfondies en sciences appliquées
|
(5 crédits)
| |
FSA3DS/IN
|
Diplôme d'études spécialisées en sciences appliquées (informatique)
|
(5 crédits)
| |
INFO22
|
Deuxième année du programme conduisant au grade d'ingénieur civil informaticien
|
(5 crédits)
|
Obligatoire
|
INFO23
|
Troisième année du programme conduisant au grade d'ingénieur civil informaticien
|
(5 crédits)
| |
LINF22/GN
|
Deuxième licence en informatique (informatique générale)
|
(5 crédits)
|
Obligatoire
|
LINF22/GS
|
Deuxième licence en informatique (informatique de gestion)
|
(5 crédits)
|
Obligatoire
|
|