d'enseignement
en ligne
- des modèles de développement logiciel (par exemple, cascade, incrémentielle, agile) et les activités au sein de cycles de vie des logiciels;
- des approches pratiques d'ingénierie des exigences;
- l'analyse et la conception de logiciels techniques et leurs notations;
- la description des données du système en utilisant, par exemple, la modélisation objet rôle ou diagrammes entité-relation;
- la gestion de projet et les techniques de planification.
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 :
- INFO2.1-5
- INFO4.1-4
- INFO5.1-6
- INFO6.1, 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 :
- INFO2.1-4
- INFO4.1-4
- INFO5.1-3
- INFO6.2-4
Eu égard au référentiel AA du programme « Master [60] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
- 1SINF1.M3
- 1SINF2.1-4
- 1SINF3.1-4
- 1SINF4.1-3
- 1SINF5.2-4
A l'issue de ce cours, les étudiants auront appris à développer un produit logiciel de grande taille dans des conditions semi-professionnelles. Les étudiants ayant suivi ce cours avec fruit seront capables de :
- Décrire les différences entre plusieurs modèles de développement majeurs (par exemple, cascade, itératif et agile);
- Distinguer entre les phases de développement de logiciels (spécifications, architecture, conception, implémentation, validation, documentation);
- Réaliser, d'une manière rigoureuse et systématique, les artefacts produits dans ces différentes phases du cycle de vie du logiciel;
- Appliquer une méthodologie de développement logiciel actuellement pratiquée dans l'industrie;
- Travailler efficacement dans une équipe pour développer un système logiciel de taille moyenne à grande;
- Gérer la coordination et la communication entre les différents membres de l'équipe;
- Interagir avec un client pour identifier ses besoins, pour clarifier les spécifications imprécises, et de prendre en compte la demande des modifications tout au long du processus de développement;
- Décrire les exigences fonctionnelles d'un système logiciel en utilisant, par exemple, les cas d'utilisation ou utilisateurs des histoires;
- Estimer le temps et les ressources nécessaires pour compléter un tel projet de développement de logiciels, planifier les tâches à exécuter et les délivrables à produire, et assurer le respect de cette planification;
- Utilisez un outil de gestion de projet pour affecter le suivi les tâches de développement logiciel;
- Mettre en pratique différentes méthodes et techniques pour assurer la qualité du logiciel produit;
- Comprendre les problèmes inhérents au développement de grands systèmes logiciels impliquant différentes parties prenantes et qui se composent de plusieurs composants.
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) ».
des acquis des étudiants
- La participation individuelle aux réunions de groupe hebdomadaires avec les tuteurs de cours;
- Trois rapports intermédiaires;
- Le rapport final, le système livré et de la documentation, la présentation et la démonstration du produit final;
- Un petit examen composé de quelques questions d'examen théorique.
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 participé à l'élaboration d'un système logiciel de petite à moyenne échelle.
en charge