Plan. Partie 1: notion de base Introduction a la POO Modélisation UML : association, composition, héritage Notion d objet et structure d un programme

Documents pareils
Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

UML (Diagramme de classes) Unified Modeling Language

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Initiation à JAVA et à la programmation objet.

IFT2255 : Génie logiciel

Projet Active Object

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Cours de Génie Logiciel

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Chapitre I : le langage UML et le processus unifié

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

TP1 : Initiation à Java et Eclipse

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Annexe : La Programmation Informatique

Chapitre 2. Classes et objets

Généralités sur le Langage Java et éléments syntaxiques.

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Programmation Orientée Objet

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Université de Bangui. Modélisons en UML

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Le Guide Pratique des Processus Métiers

Héritage presque multiple en Java (1/2)

Générer du code à partir d une description de haut niveau

Refonte front-office / back-office - Architecture & Conception -

Diagramme de classes

Formation : Modélisation avec UML 2.0 et Mise en pratique

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Les diagrammes de modélisation

Description de la formation

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Cours Base de données relationnelles. M. Boughanem, IUP STRI

RTDS G3. Emmanuel Gaudin

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Catalogue des Formations

UML (Paquetage) Unified Modeling Language

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

SECTION 5 BANQUE DE PROJETS

Introduction au Génie Logiciel

Ingénierie des Modèles. Méta-modélisation

Formation : WEbMaster

Devenez un véritable développeur web en 3 mois!

Programmation par composants (1/3) Programmation par composants (2/3)

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Bases de données. Chapitre 1. Introduction

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Patrons de Conception (Design Patterns)

Programmation des Applications Réparties. Parsers XML DOM et SAX

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Programmation Objet - Cours II

Analyse,, Conception des Systèmes Informatiques

Programme et contenus Licence d'informatique de Lille, parcours MIAGE, en alternance ou en formation continue (13:40)

Concepteur Développeur Informatique

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Information utiles. webpage : Google+ : digiusto/

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

OMGL6 Dossier de Spécifications

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

UML et les Bases de Données

Programme de formation

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

FORMATION MULTIMÉDIA LVE

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Méthodes de développement. Analyse des exigences (spécification)

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

INITIATION AU LANGAGE JAVA

as Architecture des Systèmes d Information

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Chapitre VI- La validation de la composition.

Cours STIM P8 TD 1 Génie Logiciel

Cours en ligne Développement Java pour le web

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

3. UML - Unified Modeling Language Diagrammes statiques

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

Génie Logiciel Avancé Cours 3 Le modèle à objets

Chapitre 1 : Introduction aux bases de données

Développement d un interpréteur OCL pour une machine virtuelle UML.

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Méthodologies de développement de logiciels de gestion

Onglet sécurité de Windows XP Pro et XP Home

Transcription:

Formation java

2 Plan Partie 1: notion de base Introduction a la POO Modélisation UML : association, composition, héritage Notion d objet et structure d un programme Partie 2 : 1 er pas en java Introduction Hello world Eclipse L archiveur jar Partie 3: Programmation fonctionnelle Variables Type de base Fonction et visibilité Structures algorithmiques Tableaux Partie 4 : Programmation orienté objet Classes Constructeur Transmission de paramètre Héritage Polymorphisme

3 Plan Partie 5 :notions avancés Lien dynamique Interfaces Les grandes règles de design Containers Classes génériques Partie 6 : Exceptions Principe Syntaxe Créer ses propres exceptions Erreurs Partie 7 : objet api Les flux appliqués aux fichiers SAX, DOM Exemple Javadoc Balises javadoc Partie 8: GUI Swing

4 Objectifs Appréhender les concepts liés à la programmation orientée objet classe, héritage, polymorphisme Comprendre les avantages apportés par la POO. Comment écrire un programme Java propre. implémentation, documentation, tests Illustrer ces concepts de manière concrète au travers des TPs

5 Partie 1 : POO - notions de base Introduction a la POO Modélisation UML : association, composition, héritage Notion d objet et structure d un programme

6 La Programmation Orientée Objet (POO) La programmation orientée objet (POO) est un type de programmation qui a pour avantage de posséder une meilleure organisation des programmes, elle contribue à la fiabilité des logiciels et elle facilite la réutilisation de codes existants. C est une programmation dirigée par les données et non par les traitements. Elle permet de mieux séparer les données des fonctions qui les manipulent, du coup on se concentre sur la description des données et non sur la façon dont on les manipule. La POO s'articule autour du concept de composant qu'on nomme : " Objet ".

7 La Programmation Orientée Objet (POO) Donc la POO consiste en la définition et l assemblage de briques logicielles appelées objets afin de résoudre une problèmatique donnée. Un objet est une entite composée de données caracterisant cet objet et de traitements s'effectuant sur ces données. Terminologie des objets : Les données internes sont appelées attributs ou membres Les traitements sur ces données sont appelés méthodes

8 La Programmation Orientée Objet (POO) La POO introduit de nouveaux concepts, en particulier ceux d encapsulation, de classe et d héritage. L'encapsulation: désigne le regroupement de données dans un objet, ainsi que les méthodes agissant exclusivement sur les données de l'objet. Il n'est pas possible d'agir directement sur les données d'un objet; il est nécessaire de passer par ces méthodes, qui jouent ainsi le rôle d'interface obligatoire. Avantage: L'objet est considéré comme une boite noire dont les données sont sécurisées. Une modification éventuelle de la structure des données d'un objet n'a d'incidence que sur l'objet lui-même; les utilisateurs de l'objet ne seront pas concernés par la teneur de cette modification. Enfin, l'encapsulation des données facilite grandement la réutilisation d'un objet.

9 La Programmation Orientée Objet (POO) Le concept de classe : un système complexe a un grand nombre d objets. Pour réduire cette complexité, on regroupe les objets en classes. Une classe peut être considérée comme: La description d'un ensemble d'objets ayant une structure de données commune (les attributs) et disposant des mêmes méthodes; Un modèle (ou un moule) utilisé pour créer les objets; La généralisation de la notion de type que l'on rencontre dans les langages classiques. En effet, une classe n'est rien d'autre que la description d'un ensemble d'objet ayant une structure de données commune et disposant des même méthodes. Les objets apparaissent alors comme des variables d'un tel type classe. En POO, on dit qu'un objet est une instance de sa classe.

10 Programmation Orientée Objet (POO) Une classe doit être vu comme une sorte de moule. Chaque "variable" de ce type est appelée instance de classe et maintient son propre état. Chaque "champ" (ici prénom, nom, ) est appelé attribut ou membre de classe.111

11 Programmation Orientée Objet (POO) Le concept d héritage: Il permet de définir une nouvelle classe à partir d une classe existante, à laquelle on ajoute de nouvelles données et de nouvelles méthodes. L'intérêt est de pouvoir définir de nouveaux attributs et/ou méthodes pour la classe dérivée, qui viennent s'ajouter à ceux et celles héritées. Avec l'héritage vient le concept de Polymorphisme: c'est la possibilité de redéfinir certaines des méthodes héritées de sa classe de base. Le polymorphisme permet ainsi de traiter de la même manière des objets de types différents, pour peu qu'ils soient issus de classes dérivées d'une même classe de base. Le polymorphisme permet aux méthodes d'avoir plus de spécialisation.

12 Programmation Orientée Objet (POO) Avantage de la POO: La modularité: le code source d'un objet peut être écrit et actualisé indépendamment du code source d'autres objets. La confidentialité des informations: puisque un objet intéragit avec d'autres objets via des méthodes, les informations concernant son implémentation interne reste cachées au monde externe. La ré-utilisabilité: si un objet existe déjà (potentiellement créer par un autre programme) il est possible de l'utiliser dans votre programme. La facilité de maintenance: si un objet devient problématique, il est possible de le remplacer par un nouveau.

13 La modélisation et la programmation objet Le développement en POO se fait en plusieurs temps : 1) la conception du diagramme de classes (UML...), indépendante du langage quelles classes? quels liens entre les classes? 2) l'implémentation, spécifique au langage coder, tester et documenter les classes Avantages : architecturer et factoriser le code, gain de temps, maintenance...

14 La modélisation avec UML Unified Modeling Language (UML) est un langage graphique qui permet de représenter et de communiquer les divers aspects d un système d information. Aux graphiques sont bien sûr associés des textes qui expliquent leur contenu. UML comporte ainsi plusieurs types de diagrammes représentant autant de vues distinctes pour représenter des concepts particuliers du système d'information.

15 La modélisation avec UML UML peut être utilisé pour: Représenter les limites d'un système et ses principales fonctions à l'aide de scénarios et d'acteurs, Illustrer le déroulement des scénarios à l'aide de diagrammes d'intéractions, Représenter la structure statique du système avec des classes Modéliser le comportement des objets à l'aide de diagrammes d'états Révéler l'architecture d'implantation physique avec des diagrammes de déploiments

16 Exemple de diagrammes UML Diagramme de cas d utilisation:

17 Exemple de diagrammes UML Diagramme de classes:

18 Exemple de diagrammes UML Diagramme de séquence:

19 Exemple de diagrammes UML Relation entre les composants : Association entre deux classes : trait plein + cardinalité une entreprise a plusieurs employés un client commande un produit Cardinalité : * : plusieurs N-M : entre N et M (N < M) N : exactement N Entreprise 1 1..n Employé

20 Exemple de diagrammes UML Agrégation : trait plein + losange blanc du côté du conteneur Un livre peut avoir une couverture Lorsqu'on instancie le livre, on peut instancier la couverture au préalable. Lorsqu'on détruit le livre, on détruit la couverture en cascade. Couverture Livre

21 Exemple de diagrammes UML Composition : trait plein + losange du côté du conteneur Une voiture contient un moteur Lorsqu'on instancie la voiture, on instancie le moteur au préalable. Lorsqu'on détruit la voiture, on détruit le moteur en cascade. Moteur Voiture

22 Exemple de diagrammes UML Héritage : trait + triangle du côté de la classe la plus générique Une voiture est un type de véhicule Un mp3 est un type de fichier son qui est un type de fichier multimédia. Lorsqu'on instancie la voiture, on instancie le moteur au préalable. Lorsqu'on détruit la voiture, on détruit le moteur en cascade. Multimédia Son Vidéo Wav Mp3 Ogg Avi Flv

23 TP : UML Écrire un diagramme UML permettant de réaliser un jeu d'échecs. Les questions à se poser pour le réaliser : Quels sont les classes nécessaires pour décrire un jeu d'échecs? Comment sont-elles liées? Comment piloter l'application (tour des blancs / des noirs, tester si le jeu est fini ou bloqué...)?

24 TP : UML - corrigé TourJeu Couleur Pion Tour Échiquie r Case Pièce Cavalier Fou Jeu Reine Roi