Schița subiectului
Déscription du cours
Le cours Technologies et Outils de Développement des Produits Logiciel vise à familiariser les étudiants avec les concepts nécessaires pour développer des produits logiciels utilisant des environnements de programmation populaires et modernes.
Le cours commence par la présentation des concepts de base, suivi par l’introduction aux plus populaires types de technologies et aux outils interactifs de développement.
L'objectif du cours est de permettre aux étudiants d'acquérir une perspective sur les technologies et les outils de développement permettant la création de logiciels basés sur les dernières technologies pour la conception et l’écriture du code flexible et réutilisable dans des applications complexes.
Les objectifs du cours sont: familiariser avec les techniques et les outils de développement, identifier les cas d'utilisation des différents techniques selon les besoins des applications, former les aptitudes et les habiletés d'utilisation des outils pour améliorer le processus de développement et créer un code qualitatif et réutilisable.
T1. INTRODUCTION
Concepts généraux sur les techniques et les outils de développement des logiciels. Techniques et types d'architectures. Système de contrôle de version et travail collaboratif. Les tendances de développement des outils de programmation. Types d'outils CASE.
T2. Outils de modélisation et d’assurance qualité.
Outils de modélisation. Méthodes formelles. Classification formelle. Outils d’assurance qualité: refactoring, modularité, réflexion. Types et formes de programmation visuelle. Paradigmes de la programmation visuelle.
T3. Outils de développement (IDE)
Outils de développement créés par Jet Brains. Utilisation d’IntelliJ IDEA pour développer des programmes en JAVA. Utiliser les tests unitaires, l’injection de dépendance et les maquettes. Utiliser le débogueur, l’éditeur de liens et le traducteur. Paradigme de développement logiciel rapide
T4. Intégration continue, livraison continue.
Utilisation de l'environnement logiciel de gestion de projet (JIRA). Intégration continue, livraison continue. Comprendre, connaître et utiliser des outils de construction automatisés (Ant, Maven, Grandle). Tests de performance. Profilling. Virtualisation, conteneurs. Docker.
T5. Technologies émergents. (Clouds, Web services, Web Applications.)
Technologies émergents. Cloud. Applications Web et services Web. Utilisation de CMS et de cadres pour faciliter le développement d'applications Web.