Niveau d'étude
BAC +4
ECTS
6 crédits
Composante
Sciences économiques, gestion, mathématiques et informatique
Volume horaire
60h
Période de l'année
Enseignement septième semestre
Objectifs
Ce cours vise à introduire les méthodes et les outils supportant un développement logiciel de qualité. Cela inclut l’étude des méthodes agiles en général et de la méthode Scrum en particulier. En termes d’outils plus techniques, cela inclut les bonnes pratiques de codage, le développement dirigé par les tests, la gestion des versions et les systèmes associés, le build automatique et l’intégration continue.
Approche pédagogique et plan de cours.
Les bonnes pratiques vues en cours seront appliquées sur des cas vus en TD ainsi que mis en œuvre en mode projet.
- Méthodes Agiles: démarches et organisation
- Les artefacts clés d’une méthode agile. L’exemple Scrum
- Planification et déroulement d’un sprint
- Mettre en place Scrum et Kanban
- Pratique du Product Owner
- Notion de qualité de code (Clean Code et bonnes pratiques Java)
- Concepts du test et approche développement dirigé par les tests (TDD)
- Concepts du DevOps (gestion de version, build automatique, intégration, livraison et déploiement continus, dette technique)
Évaluation
Session 1 : Évaluation continue (cf. règle par défaut de la section « Modalités spécifiques » des M3C spécifiques)
Session 2 : Règle par défaut décrite dans la section « Modalités de contrôle et examens / Modalités spécifiques »
Heures d'enseignement
- Méthodes et outils du développement logiciel CM18h
- Méthodes et outils du développement logiciel TD42h
Pré-requis obligatoires
- Programmation objet en Java
Compétences visées
- Clean code
- Maitrise d’une méthode agile
- Test logiciel et développement dirigé par les tests
- Conception de tests pertinents et outils associés
- DevOps
Bibliographie
- Sommerville Software Engineering, Global Edition (Anglais), 2015
- Meyer : Agile!: The Good, the Hype and the Ugly (Anglais) 2014
- Martin The Clean Coder : A Code of Conduct for Professional Programmers (Anglais) 2011
- Martin Clean Code : A Handbook of Agile Software Craftsmanship (Anglais) 2008
- Garcia, Test-Driven Java Development - Second Edition : Invoke TDD principles for end-to-end application development (Anglais) Broché – 2018
- JF Pradat-Peyre & J. Printz : Mise en œuvre des tests logiciels, Dunod 2017, 3ème édition
- Bloch. Effective Java, 3rd Edition, 2017.
- The DevOps Handbook, how to create World-class agility, reliability, and security in technology organizations, Gene Kim et al., 2016, ISBN, 978-1942788003