Programmation Objet (SLAM2) David ROUMANET 2014
OBJECTIFS Dépasser la programmation procédurale Comprendre quelques diagrammes UML Apprendre un langage orienté objet Comprendre les avantages et inconvénients Développer des applications robustes, évolutives, abouties 17/01/2015 SLAM2 - Programmation Objet 2
PLAN Premières séances Réviser les notions SI4 Découvrir UML Préparer un environnement technique (Eclipse) Séances suivantes Lire des diagrammes UML Programmer en Java Faire évoluer du code procédural en objet Dernières séances Préparation examen et examen final 17/01/2015 SLAM2 - Programmation Objet 3
Définition Unified Modeling Language C'est un langage (graphique) de modélisation unifié : il permet de décrire simplement des solutions techniques. Il existe plusieurs types de diagrammes 17/01/2015 SLAM2 - Programmation Objet 4
Définition Unified Modeling Language Ce n'est pas un outil de programmation capable de convertir un diagramme en langage-objet Actuellement, ce langage de modélisation est à la version 2. 17/01/2015 SLAM2 - Programmation Objet 5
Types Il existe 9 représentations de diagrammes UML (13 en UML2) Diagramme des cas d'utilisation Diagramme de classes Diagramme d'objets Diagramme états-transitions Diagramme d'activités Diagramme de séquences Diagramme de collaborations Diagramme de composants Diagramme de déploiements 17/01/2015 SLAM2 - Programmation Objet 6
Types Il existe 9 représentations de diagrammes UML (13 en UML2) Diagramme des cas d'utilisation Diagramme de classes Diagramme d'objets Diagramme états-transitions Diagramme d'activités Diagramme de séquences Diagramme de collaborations Diagramme de composants Diagramme de déploiements 17/01/2015 SLAM2 - Programmation Objet 7
Types Il existe 9 représentations de diagrammes UML (13 en UML2) Diagramme des cas d'utilisation Diagramme de classes Diagramme d'objets Diagramme états-transitions Diagramme d'activités Diagramme de séquences Diagramme de collaborations Diagramme de composants Diagramme de déploiements http://www.lsv.ens-cachan.fr/~schmitz/teach/2003_ap_java/uml/ 17/01/2015 SLAM2 - Programmation Objet 8
Types Il existe 9 représentations de diagrammes UML (13 en UML2) Diagramme des cas d'utilisation Diagramme de classes Diagramme d'objets Diagramme états-transitions Diagramme d'activités Diagramme de séquences Diagramme de collaborations Diagramme de composants Diagramme de déploiements http://uml.free.fr/index-cours.html 17/01/2015 SLAM2 - Programmation Objet 9
Types Il existe 9 représentations de diagrammes UML (13 en UML2) Diagramme des cas d'utilisation Diagramme de classes Diagramme d'objets Diagramme états-transitions Diagramme d'activités Diagramme de séquences Diagramme de collaborations Diagramme de composants Diagramme de déploiements http://uml.free.fr/index-cours.html 17/01/2015 SLAM2 - Programmation Objet 10
Types Il existe 9 représentations de diagrammes UML (13 en UML2) Diagramme des cas d'utilisation Diagramme de classes Diagramme d'objets Diagramme états-transitions Diagramme d'activités Diagramme de séquences Diagramme de collaborations Diagramme de composants Diagramme de déploiements http://uml.free.fr/index-cours.html 17/01/2015 SLAM2 - Programmation Objet 11
Types UML servant à modéliser des procédés, il faut apprendre à conceptualiser! Programmer en pensant "fonctions" ou "procédures" Limiter les objets globaux (variables globales) Utiliser au maximum la notion de "boite" Un code dispose d'entrées et de sorties C'est vous qui gérez l'intérieur de la boite Une boite doit se limiter à une fonction Une "boite" principale appelle les autres 17/01/2015 SLAM2 - Programmation Objet 12
Eléments Diagrammes d'utilisation Nous utiliserons cette modélisation pour montrer les relations entre les différents objets nécessaires à l'application. Diagrammes de classes Nous utiliserons cette modélisation avec comme objectif visualiser les relations entre les classes créées. 17/01/2015 SLAM2 - Programmation Objet 13
Eléments Diagrammes d'utilisation 17/01/2015 SLAM2 - Programmation Objet 14
Eléments Diagrammes de classe 17/01/2015 SLAM2 - Programmation Objet 15
Essai 1 Distributeur de billets (utilisation) Distributeur de Billets voir Retirer Argent Charger Argent Alimente Diagnostic Distributeur Gère Banquier 17/01/2015 SLAM2 - Programmation Objet 16
Essai 1 Distributeur de billets (utilisation) Distributeur de Billets Client voir débiter Consulter Solde Retirer Argent Retrait limité à La qté d'argent Sur le compte Ou dans le DAB Charger Argent Diagnostic Distributeur Alimente Répare Technicien Lire Opérations Gère Banquier 17/01/2015 SLAM2 - Programmation Objet 17
Essai 2 Connexion FTP Client connecter inclut inclut......... Client inclut 17/01/2015 SLAM2 - Programmation Objet 18
Essai 2 Connexion FTP Client connecter Connexion Serveur FTP inclut inclut inclut Authentifier Client Interpréter commandes Transférer données 17/01/2015 SLAM2 - Programmation Objet 19
Modélisation Projet SLAM2 17/01/2015 SLAM2 - Programmation Objet 20
4 Groupes de 3-4 élèves : Serveur Groupe 1 Groupe 1 Groupe 2 Groupe 2 Client Groupe 3 Groupe 4 Groupe 3 Groupe 4 17/01/2015 SLAM2 - Programmation Objet 21
Objectif du projet Créer un service 'tchat' sur le réseau Conversations publiques (tout le monde voit) Conversations privées (conversation chiffrée) Gestion émoticones Gestion de transfert de fichiers (photo) 17/01/2015 SLAM2 - Programmation Objet 22