Génie logiciel orienté objet

Ref: 2EL1520

Description

Le génie logiciel regroupe des concepts, techniques et outils visant la production de logiciels de qualité́, en maitrisant 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é́. Java est l’un des langages de programmation les plus utilisés pour le développement d’applications informatiques. 
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.

Période(s) du cours

SG6 en français et SG8 en anglais

Prérequis

  • 1CC1000 : Systèmes d'Information et Programmation
  • 1CC2000 : Algorithmique et Complexité

Syllabus

  • Introduction, notions de base du langage Java
  • Classes Java, bases de l’API Java
  • Héritage en Java, classes abstraites, interfaces
  • Introduction Génie logiciel, UML
  • Diagrammes de classes avec UML, liens avec Java
  • Autres diagrammes UML
  • Compléments Java (exceptions, généricité, énumérations…)
  • Patrons de conception, exemples sur API Java
  • Introduction à la réalisation d’interfaces graphiques en Java
  • Tests unitaires avec JUnit
  • Processus légers et synchronisation
  • Mise en œuvre UML/Java sur un projet

Composition du cours

  • Cours magistraux : 13h30 (SG6) - 13h30 (SG8)
  • Travaux dirigés sur ordinateur : 15h00 (SG6) - 15h00 (SG8)
  • Travail personnel (dont projet intégré) : 28h30
  • Examen final : 2h00

Ressources

  • Enseignant des cours magistraux : Dominique MARCADET
  • 4 groupes de travaux dirigés, encadrants : Idir AIT SADOUNE, Francesca BUGIOTTI, Dominique MARCADET, Joanna TOMASIK
  • Outils logiciels : Java : Eclipse, UML : Modelio

Résultats de l'apprentissage couverts par le cours

À l'issue de ce module, les élèves seront capables :
  • de mettre en œuvre les principaux éléments de la programmation orientée objets en utilisant le langage Java ;
  • d'écrire un programme informatique de complexité moyenne en utilisant le langage Java ;
  • de connaître les différentes activités d’un cycle de développement logiciel et savoir choisir des outils adaptés pour ces activités ;
  • de choisir le niveau d’abstraction approprié à la réalisation d’une activité ;
  • de connaître et comprendre l’utilité de la modélisation UML dans la conception et la réalisation d'un logiciel ;
  • de concevoir et réaliser une interface homme-machine simple ;
  • d'appliquer des principes de bonne conception pour le  développement des logiciels évolutifs et facilement maintenables ;
  • de comprendre l’utilité de la programmation parallèle et savoir utiliser les outils nécessaires à sa mise en œuvre.

Support de cours, bibliographie

  • Livres
    • Java et Eclipse - Développez une application avec Java et Eclipse - Frédéric Déléchamp
    • UML 2.5 par la pratique - Etudes de cas et exercices corrigés - Pascal Roques
  • Supports
    • Transparents projetés pendant les cours magistraux
    • Exercices et corrigés des travaux dirigés