Génie logiciel
Organiser, spécifier, tester et faire vivre un logiciel à plusieurs — le tout appliqué à un projet collectif mené sur tout le semestre.
Commencer : Du programme au logiciel- C1Non commencé
Pourquoi le génie logiciel
1 leçon · 6 hObjectif. Comprendre ce qui change quand un programme devient un logiciel — durable, collectif, à maintenir — et pourquoi cela mérite une discipline.
- C2Non commencé
Cycle de vie
2 leçons · 8 hObjectif. Situer les étapes d'un projet et choisir un modèle de développement — cascade, V, itératif, agile — selon le contexte.
- Étapes d'un projetAnalyse des besoins, conception, implémentation, tests, déploiement, maintenance ; pourquoi chaque étape existe ; ce que coûte une erreur détectée tard.4 h · non commencée
- Modèles de développementCascade et ses limites ; modèle en V ; développement itératif et incrémental ; méthodes agiles et Scrum (sprint, backlog, mêlée) ; comment choisir selon le contexte.4 h · non commencée
- C3Non commencé
Analyse et spécification
2 leçons · 8 hObjectif. Recueillir des besoins et les écrire sans ambiguïté, puis en tirer trois diagrammes UML utiles.
- Recueil des besoinsBesoins fonctionnels et non fonctionnels ; entretien avec le client ; rédaction d'un cahier des charges simple ; les critères d'un besoin bien formulé — vérifiable, non ambigu.4 h · non commencée
- Modélisation UMLDiagramme de cas d'utilisation, acteurs et scénarios ; diagramme de classes en première approche ; diagramme de séquence simple ; du modèle vers le code.4 h · non commencée
- C4Non commencé
Qualité du code
2 leçons · 10 hObjectif. Écrire un code que les autres — et soi-même dans six mois — pourront lire, et le concevoir pour qu'il résiste au changement.
- Écrire un code lisibleConventions de nommage et d'indentation ; découpage en fonctions courtes ; commentaires utiles contre commentaires bruyants ; documentation ; lecture croisée entre binômes.5 h · non commencée
- Principes de conceptionSéparation des responsabilités ; couplage et cohésion ; éviter la duplication ; dette technique ; refactoring d'un code volontairement mal écrit.5 h · non commencée
- C5Non commencé
Tests et outillage
2 leçons · 9 hObjectif. Éprouver son code plutôt que de l'espérer correct, et travailler à plusieurs sans se marcher dessus grâce à Git.
- TestsPourquoi « ça marche chez moi » ne suffit pas ; tests unitaires, d'intégration, de recette ; jeux de tests et cas limites ; framework de test ; couverture ; tests de non-régression.5 h · non commencée
- Gestion de versions et collaborationGit : dépôt, commit, historique ; branches et fusion ; résolution de conflits ; dépôt distant et travail à plusieurs ; suivi des tâches ; bonnes pratiques de messages de commit.4 h · non commencée
- C6Non commencé
Projet intégrateur
1 leçon · 4 hObjectif. Conduire en équipe un logiciel modeste de bout en bout : découpage, avancement, documentation, soutenance.