IP4570 - Programmation des sytèmes interactifs

IP4570 - Programmation des sytèmes interactifs

Objectifs

Objectif général :

- savoir décrire le modèle d’exécution d’une application interactive (flot d'exécution vs flot de programmation, mécanismes d’affichage),
- Savoir utiliser l’API de la bibliothèque Qt pour programmer des IHM,
- savoir utiliser et assembler des widgets,
- savoir structurer le code d’une application réactive, utiliser les signaux, programmer des interactions de manipulation directe (prendre, glisser, déposer).

Objectifs détaillés :

A l'issue de la partie de COO :
L’étudiant saura conduire une analyse orientée objet ;
L’étudiant saura utiliser le formalisme UML pour décrire les principales vues de son système logiciel (diagrammes de cas d'utilisation, de classes, de séquence)
L’étudiant sera capable de comprendre une spécification basée sur un ensemble de diagrammes UML en vue d’en réaliser une implémentation dans un langage objet (Java)
L'étudiant saura produire des diagrammes de classe et de séquence correspondant à une spécification textuelle donnée, exploitables par la suite pour en produire du code.

A l'issue de la partie de POO
- Comparer et différencier les approches (1) procédurales/fonctionnelles - définir une fonction pour chaque opération dont le corps fournit un cas pour chaque variante de donnée - et les approches orientées-objet (2) - définir une classe pour chaque variante de donnée et fournir une méthode pour chaque opération. Les expliquer en définissant une matrice d’opérations et de variantes.
- Utiliser le sous-classage pour concevoir une hiérarchie de classes simples afin de partager le code dans les classes de niveau intermédiaires.
- Utiliser différents mécanismes d’encapsulation comme les interfaces, les clôtures et le support de types abstraits de données, en Java.
- Définir et utiliser les itérateurs et autres opérations sur des agrégats en utilisant des idiomes les plus courants en Java, y compris en prenant des classes anonymes ou des fonctions comme argument.
- Utiliser la programmation par contrat, et définir des pré-conditions et post-conditions pour chaque méthode,
- Commencer à utiliser les mécanismes de gestion d’événements (ensuite approfondi dans le cours de programmation événementielle).

Place dans le cursus

Ce cours est un pré-requis au cours de programmation événementielle (IH4562) et au projet JAVA (IP4561).

Volume horaire (h)

  • Cours Magistraux : 4h
  • Travaux Pratiques : 8h

En bref

Crédits ECTS : Cf UE

Nombre d'heures 12

Contact(s)

Nicolas SAPORITO

Email : nicolas.saporito @ enac.fr

Lieu(x)

  • Toulouse