Idir AIT SADOUNE
CentraleSupelec - Département informatique LRI - Équipe MODHEL
3 rue Joliot-Curie Bât 650 Ada Lovelace, Université Paris Sud
F-91192 Gif-sur-Yvette cedex, France Rue Noetzlin, 91190 Gif-sur-Yvette, France
Téléphone : +33 [0]1 69 85 14 88
Télécopie : +33[0]1 69 85 14 99
idir[.]aitsadoune[at]centralesupelec[.]fr idir[.]aitsadoune[at]lri[.]fr
Génie Logiciel

Le génie logiciel regroupe des concepts, techniques et outils visant la production de logiciels de qualité, en maîtrisant le coût et le délai de développement tout en prenant en compte les contraintes classiques des systèmes informatiques actuels : respect des exigences et des standards, ouverture, facilité de test et de maintenance, évolutivité.

Support - Une introduction générale au domaine du Génie Logiciel

Cours de 1e année du cursus Ingénieur Supélec

Présentation du cours

En mettant l'accent sur la modélisation orientée objet, le langage java, le langage UML, en relation avec les phases du processus de développement de logiciels menant de l'expression du besoin au produit final testé et documenté, ce cours apporte aux étudiants des compétences de base indispensables à la réalisation de logiciels industriels.

Supports du cours

  • Présentation du cours - Définition du logiciel, Définition du Génie Logiciel, Les activités liées au développement d'un logiciel, Les objectifs et L'organisation du cours.
  • Apprendre à programmer avec Java - Présentation de Java, L’IDE Eclipse ,Premier programme Java, Les variables et les constantes, Les expressions, Le branchement conditionnel, Les boucles, Les tableaux, Les Entrées/Sorties, et Les fonctions.
  • Programmation orientée objet avec Java - La programmation orientée objet, Les classes et les objets, Le constructeur, L’objet this, Les références sur les objets, Les méthodes, Les attributs et les méthodes statiques, Les packages, L’accessibilité et la visibilité, et Quelques classes prédéfinies de l'API Java (String, ArrayList et HashMap).
  • La notion d’héritage en Java - L’héritage en Java, L’héritage et le constructeur, L’héritage et la visibilité, Le Polymorphisme, Cas de la classe Object, et La notion d’abstraction.
  • Diagramme de classes UML - La modélisation en informatique, Unified Modeling Language (UML), Diagramme de classes UML, Les associations dans un diagramme de classes, La Généralisation/Spécialisation en UML, Les Classes abstraites et les Interfaces en UML, et le passage d'UML vers Java.
  • Notions avancées de Java - Les interfaces avec Java, La généricité avec Java, et La gestion des erreurs avec Java.
  • Object Constraint Language (OCL) - Les Contraintes OCL, Le contexte d’une contrainte OCL, Un Invariant dans une contrainte OCL, Precondition et Postcondition d’une méthode en OCL, Contrainte sur le résultat d’une méthode en OCL, Contraintes sur les Attributs d’une classe en OCL, Manipulation des Collections en OCL.
  • Les patrons de conception - La notion de Patron, Les Patrons de conception GRASP, Les Patrons de conception GoF.
  • Modélisation UML - Diagrammes de comportement - présente des notions avancées du diagramme de cas d'utilisation et les notions de base pour comprendre un diagramme d'activité.
  • Modélisation UML - Diagrammes d'interaction - présente des notions avancées du diagramme de sequences et les notions de base pour comprendre un diagramme global d'interaction.
  • Les Cycles de développement - Les modèles de développement du logiciel, Les modèles en cascade, Les modèles en V, Les modèles itératifs, Les méthodes agiles.

TD/BE

  • TD 1 - La programmation impérative avec Java
  • BE 1 - La programmation orientée objet avec Java
  • BE 2 - UML et Java
  • TD 2 - UML et OCL

TP/EL