Vous êtes ici

  1. Accueil
  2. Génie logiciel

Génie logiciel

Génie logiciel

En pratique :

Volume horaire de cours : 14
Volume horaire global de TP : 40
Langue principale : français
Nombre de crédits européens : 6

Description du contenu de l'enseignement

Ce cours confronte les étudiants à la réalité du développement collaboratif de logiciels de grande taille, en présentant quelques principes et outils pour parvenir à le maîtriser. Il s’appuie sur les cours de programmation impérative et programmation fonctionnelle de L1, programmation objet de L2 et prépare aux cours de bases de modélisation par objets (L3).

Cours magistraux

  1. Initiation au langage Scala : types, structures, contrôle
  2. Initiation au langage Scala : classes, objets
  3. Architecture logicielle objet : encapsulation, traits, héritage, diagrammes de classes
  4. Outils pour le développement logiciel : gestion de version, tests, documentation
  5. Introduction au développement agile
  6. Programmation par contrats

Travaux pratiques

  1. 3 séances introductives sur Scala
  2. 3 séances en mode projet (projet 1), développement collaboratif
  3. 1 séance de mise en place de la gestion de version sur le projet 1
  4. 1 séance de renforcement Scala
  5. 1 séance de développement dirigé par les tests
  6. 8 séances en mode projet (projet 2), définition de l’architecture logicielle, gestion de version, mise en place de l’architecture de tests
  7. 1 séance de renforcement en architecture logicielle
  8. 2 séances sur la programmation par contrats

Compétences à acquérir

À l’issue de ce cours, les étudiants sont conscients des problèmes posés par :

  1. Le développement de logiciels de taille importante (très supérieur à ce qu’ils font usuellement en TP)
  2. Le développement en équipe (de 10 à 20 personnes)

À l’issue de ce cours, les étudiants ont acquis les bases de :

  1. Génie logiciel
  2. Architecture logicielle objet (encapsulation, héritage, association, diagrammes de classes)
  3. Test logiciel (test unitaire, test d’intégration)
  4. Gestion de version

Ils ont renforcé leur compréhension de la programmation objet et de la programmation fonctionnelle


Bibliographie, lectures recommandées

  • Livre de référence : Programming in Scala, M. Odersky, L. Spoon, B. Venners. Artima. 2010.

  • Pré-requis

    Profils attendus

    Avoir suivi une UE de programmation impérative et une UE de programmation objet.