Génie logiciel

Génie logiciel
Licence InformatiqueParcours Informatique

Description

Contexte d'entreprise : acteurs, enjeux, aspects organisationnels. Périmètre, planification et maîtrise de projet informatique. Qualités logicielles. Cycles de vie, modèles de développement. Expression du besoin, outils d'analyse, spécification. Méthodes de conception. Modélisation, analyse et conception orientée objets : UML. Cas d'utilisation, activités, diagrammes de classes et d'objets, de séquence, de communication. Études de cas. Technique de production d'un code de qualité professionnelle. Pratiques agiles, Extreme Programming, Srum. Équipes de développement, rôles, travail collaboratif. Évaluation : revue de code, stratégies de test, types de tests, automatisation, intégration descendante et ascendante et d'un système, validation, déploiement, métriques. Maintenance. Gestion de version, gestion de configuration. Pipeline de documentation. Ateliers de Génie Logiciel, outils automatisés de développement, intégration continue.

Compétences requises

Programmation orientée objet 2

Compétences visées

À l'issue de cet enseignement un étudiant saura :
- procéder à l’analyse, à la modélisation et au développement de divers types de systèmes logiciels.
- s’adapter aux divers types de matériels, de logiciels et d'organisation en usage dans les entreprises.
- comprendre l’importance de planifier, d’organiser et de structurer un projet de développement de système, d’en estimer les coûts et les bénéfices et d’en coordonner la réalisation.
- communiquer facilement et efficacement, tant de façon orale qu’écrite, les résultats de ses analyses et travaux.
- acquérir des méthodes de travail, une capacité de synthèse et un degré d’autonomie, devenir apte à résoudre divers types de problèmes rencontrés dans une pratique professionnelle.

Disciplines

  • Informatique

Bibliographie

- David Thomas, Andrew Hunt, The Pragmatic Programmer.
- Fred Brooks, The Mythical Man-Month.
- Robert C. Martin, Clean Code.
- Michael C. Feathers, Working Effectively with Legacy Code.
- Martin Fowler, Refactoring.
- Ian Sommerville, Software Engineering. 

Contacts

Responsable(s) de l'enseignement