Chapitre Les raisons d une méthodologie objet L objet, un élément de programme dynamique opératoire qui simplifie. 2.1.

Dimension: px
Commencer à balayer dès la page:

Download "Chapitre 2. 2.1 Les raisons d une méthodologie objet. 2.1.1 L objet, un élément de programme dynamique opératoire qui simplifie. 2.1."

Transcription

1 Chapitre 2 Le modèle objet avec UML 2.1 Les raisons d une méthodologie objet L objet, un élément de programme dynamique opératoire qui simplifie la complexité d un problème Objet : modules cohérants regroupant des données et des opérations associées Ils sont créés dynamiquement au cours d un programme (instanciation) à partir d une classe, abstraction statique qui définit les opérations réalisables par ses objets. Robot totor avancer() tourneradroite() FIG. 2.1: totor est une instanciation de Robot Approche décentralisée d un développement logiciel : des unités élémentaires, objets, qui interagissent simplifie la complexité d une description globale parfois non souhaitable ou non accessible pas nécessaire de connaître le système complet pour en développer une partie L encapsulation Un objet est une coquille cachant à l utilisateur son contenu (données ou opérations) Interface publique : elle décrit les données ou opérations accessibles à l extérieur de l objet (par les autres objets). Interface privée : elle décrit les données ou méthodes non visibles hors de l objet. 5

2 Agent Mulder interrogerpersonne() recevoircourrier() mettreajourdossier() FIG. 2.2: interface publique de l agent mulder mulder:agent (interface privée) memoire base connaissance raisonne() reve() L héritage FIG. 2.3: interface privée de l agent mulder Une classe A peut se définir comme spécialisation d une autre classe B. On dit que A hérite de B. A hérite de toutes les données de B et peut en définir d autres ou en adapter certaines à ses caractéristiques. Permet la réutilisabilité Permet de factoriser des parties communes Facilite les évolutions du programme Bilan : réutilisabilité, adaptabilité et sureté Réutilisabilité : grâce à l héritage et à la définition de classes génériques pouvant être dérivée. Sureté : grâce à l encapsulation. Le développeur ne possède que des contextes locaux délimités 1 et plus faciles à gérer. 2.2 Décrire les utilisateurs et les cas d utilisation : diagramme de cas Objectif : conceptualiser le problème du point de vue du client/utilisateur Représentation orientée utilisateur 1 la vérité est ailleurs 6

3 Découper le système en grandes tâches à répartir entre les équipes de développement Outil privilégié de communication entre les équipes et avec les clients Les utilisateurs On recense les différents types d utilisateurs en interaction avec le système. Client Commercial Comptable Livreur FIG. 2.4: exemple d utilisateurs Les cas d utilisation On recense les actions ou évènements demandés ou réalisés par les utilisateurs autour du système. Gestion compte client Traitement commande Facturation FIG. 2.5: exemple de cas d utilisation Les diagrammes de cas Liaisons entre utilisateurs et cas Liaisons entre cas d utilisation ( uses ou includes ). Sur l exemple, la gestion de compte du client utilise le traitement de commande qui utilise la facturation. On peut aussi introduire une liaison extends entre des cas : c est analogue à de l héritage. 2.3 Décrire des objets : diagramme de classe Une classe est un modèle à partir duquel on construire des objets. Elle est représentée par un rectangle découpé en 3 parties : 7

4 Client Facturation Traitement commande Commercial Gestion compte client Comptable Livreur FIG. 2.6: exemple de diagramme de cas Identifiant de la classe Liste des attributs Liste des méthodes Les attributs ou méthodes sont précédés d un symbole désignant sa visibilité : - l attribut ou la méthode est privé (visible que dans la classe) + l attribut ou la méthode est public (visible partout) # l attribut ou la méthode est protégé (visible dans la classe et ses sous-classes) Les méthodes sont suivie par : et le type de retour, s il y en a un (non indiqué si de type void ). Les attributs peuvent être suivis de = et d une valeur par défaut. Attention : Au niveau de la description UML, les attributs ne peuvent être que de type élémentaire (int, double, boolean, string,...) et il ne peuvent être de type objet. Pour définir une telle dépendance, on utilise les associations. La figure 2.7 est un exemple de classe compte bancaire : La traduction en Java de cette classe, sans son implémentation, est la suivante : class Compte { string titulaire; double solde = new Somme(0.0); public void ouvrir() {... }; public void fermer() {... }; public void crediter(double x) {... }; public void debiter(double x) {... }; 8

5 Compte -titulaire: String -solde: double = 0.0 +ouvrir() +fermer() +créditer(x:double) +débiter(x:double) +liresolde(): double FIG. 2.7: Représentation d une classe Compte } public double liresolde() {... }; Pour désigner un objet d une classe, on le spécifiera de la manière suivante : comptemulder:compte FIG. 2.8: Représentation d un objet Les associations Les associations correspondent à des relations entre objets. Description alternative des attributs-classes, interdits en UML Elles sont nommées avec un sens de lecture, si nécessaire Un rôle est attribué à chaque classe associée. Il est indiqué aux extrémités des relations. Action +cours: double Portefeuille +nomporteur: string +titres: liste d Actions INTERDIT Action +cours: double titre 0..* détient Portefeuille +nomporteur: string porteur 0..* FIG. 2.9: Exemple d association 9

6 Cardinalités Les cardinalités sont associées aux rôles et indique le nombre d objets d une même classe participant à l association : 1 : obligatoire (un et un seul) 0..1 : optionnel (O ou 1) 0..* ou * : quelconque n..m : entre n et m l,n,m : l, n ou m Sous-type et généralisation Correspond à la notion d héritage en C++ et Java. Sur l exemple suivant, CompteEpargne est une spécialisation de Compte ( Compte est une généralisation de CompteEpargne ). Compte CompteEpargne -tauxremuneration: double +calculinterets() FIG. 2.10: Exemple de généralisation Agrégation et composition Concerne les relations partie de qui peuvent être vues de 2 manières. La composition, représentée par un losange noir, signifie que l objet est une partie indissociable de l objet auquel il est lié. Par exemple, une chambre d hôtel et son hôtel de rattachement : si ce dernier disparait, la chambre disparaitra aussi. L agrégation, représentée par un losange blanc, signifie que l objet est référencé par l objet auquel il est lié, il n en est pas la propriété. Par exemple, les wagons d un train peuvent être ultérieurement rattachés à un autre train. Hotel Train Chambre Wagon FIG. 2.11: Exemple de composition et d agrégation 10

7 2.3.4 Compléments et notions avancées Classe abstraite : classe générique qui n est pas instanciée dans l application Classe paramétrée : correspond à des templates en C++. Interface : décrit un comportement générique de classe. Similaire aux interfaces Java. Associations n-aire Attributs et classes d association 2.4 Décrire des programmes : diagrammes de séquence, d état et d activité Collaboration entre les objets, diagrammes de séquence Les diagrammes de séquences ont pour objet de décrire des scénario particuliers de comportements des acteurs vis-à-vis du système. Ensemble de colonnes représentant chacun un objet ou un acteur. La longueur de la colonne correspond à la durée de vie de son interaction avec les autres. Les flèches entre les colonnes correspondent aux messages envoyés. Application Simulateur Population Génome création création création création soumission évaluation création FIG. 2.12: Exemple de diagramme de séquence Un programmeur doit pouvoir coder à partir d un diagramme de séquence. Eviter les diagrammes tentaculaires. Un diagramme de séquence doit correspondre à un algorithme simple Aspect dynamique d un objet : automate et diagramme d état Les diagrammes d état indiquent les changement d état d un objet à travers les cas d utilisation dans lesquels il est impliqué. Etat-transition De la forme nomevenementdeclancheur [ contrainte ]/ nomactiondéclanchée. 11

8 Mineur anniversaire[age=18] Majeur événement contrainte FIG. 2.13: Exemple d état-transition Une transition peut provoquer une activité, notée do/action : opération durable, interruptible, associée à un état. Exemple de la modélisation d un réveil à 3 boutons : alarm on/ alarm off/ stop sonnerie alarm on(h alarme) [heure = h alarme] Désarmé Armé do/sonner alarm off stop sonnerie alarm off FIG. 2.14: Automate réveil Action en entrée et en sortie : Action en entrée (entry) exécutée à chaque entrée dans l état (ex : redessiner le contenu de la fenêtre quand la souris y est). Action en sortie (exit) exécutée à chaque sortie d un état (ex : mettre à jour un compteur de visite). Caissière entry : direbonjour() do : encaisser() exit : diretchao() FIG. 2.15: Représentation des actions d entrée et de sortie 12

9 Diagrammes hiérarchiques Permettent de structurer la description et en facilite la lecture. On entre dans l état englobant puis dans ses sous-états. avancer Transmission reculer PointMort stop stop Marche avant Marche arrière up up Première Seconde Troisième down down Parallélisme et synchronisme FIG. 2.16: Diagramme hiérarchique état composite do/a1 do/a2 do/a3 do/a4 do/a5 do/a6 FIG. 2.17: Etat à traitement parallèle 13

10 2.4.3 Diagramme d activité Doit correspondre au comportement d une seule méthode Doit permettre de mettre en évidence les contraintes de séquentialité et de parallélisme Préparer café Mettre un filtre Mettre du café Mettre l eau dans réservoir Prendre une tasse Allumer la cafetière Attendre que le café passe Servir FIG. 2.18: Exemple de diagramme d activité, la pause café 14

11 2.5 Présentation rapide de BlueJ BlueJ est un outil de développement pour l apprentissage du langage Java. C est un interface utilisateur qui contient un éditeur et des accès faciles aux outils du JDK. Il permet aussi de gérer interactivement des objets dont il fait une représentation graphique qui s appuie sur UML. Sur la figure 2.19, on visualise l interface qui représente une hiérarchie de classe. FIG. 2.19: Interface de BlueJ représentant une hiérarchie de classes A partir de cette représentation, on peut alors, par exemple, cliquer-droit sur la classe Circle et choisir, à la souris, new Circle() : une représentation de l instanciation apparaît alors dans le rectangle bas de l interface (cf. figure 2.20). FIG. 2.20: Visualisation de l instanciation d un objet de classe Circle On peut ensuite appeler des méthodes des objets créés, en cliquant-droit sur ceux-ci et choisir la méthode dans la liste des méthodes accessibles. Sur la figure 2.21, on a invoqué la méthode 15

12 makevisible() de l objet cercle. La visualisation se fait alors dans une fenêtre de visu. FIG. 2.21: Tracé graphique du cercle instancié dans une fenêtre de visu Lorsqu une méthode attend des paramètres, à la sélection de celle-ci, une fenêtre apparaît, avec un champ de formulaire pour pouvoir saisir des valeurs aux paramètres. La figure 2.22 montre comment affecter une valeur au paramètre de la méthode movehorizontal. FIG. 2.22: Saisie de la valeur d un paramètre BlueJ propose aussi des fenêtres d inspection des différents attributs des objets (cf. figure 2.23). Vous serez donc amené à manipuler et à utiliser BlueJ en TD/TP et à en connaître ainsi ses fonctionalités complémentaires. 16

13 FIG. 2.23: 17

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

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes de classes (suite) Delphine Longuet delphine.longuet@lri.fr Opérations Opérations Service qui peut

Plus en détail

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

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Table des matières Sources

Table des matières Sources Table des matières Modélisation objet avec UML... 2 Introduction... 2 Modèle de système informatique :... 2 Pourquoi UML pour la modélisation Objet?... 3 Représentation dynamique du système... 5 Le diagramme

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

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

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

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

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail

Diagrammes de Package, de déploiement et de composants UML

Diagrammes de Package, de déploiement et de composants UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Université de Pau et des Pays de l Adour Institut Universitaire de Technologie des Pays de l Adour Département Réseaux et Télécommunications 371, rue du Ruisseau BP 201 40004 Mont-de-Marsan Cedex tél :

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

Plus en détail

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

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Cours STIM P8 TD 1 Génie Logiciel

Cours STIM P8 TD 1 Génie Logiciel Cours STIM P8 TD 1 Génie Logiciel Compléments sur UML Intervenant : Anil CASSAM CHENAI Date : 02/02/2012 Objectifs du complément Ce complément sera approfondi en parallèle de plusieurs TD/Cours. Rappels

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

Ingénérie logicielle dirigée par les modèles

Ingénérie logicielle dirigée par les modèles Ingénérie logicielle dirigée par les modèles Destercq Lionel & Dubuc Xavier 17 décembre 2009 Table des matières 1 Introduction 1 2 Diagrammes de classes 1 2.1 Principal..............................................

Plus en détail

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP IUT BREST DEP.GMP UN LOGICIEL SCADA : PC VUE 2010 Table des matières 1. Introduction à la supervision- logiciel SCADA... 4 1.A. Définition d un logiciel SCADA /Supervision... 4 1.B. Ou trouve-t-on des

Plus en détail

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

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Introduction au Génie Logiciel

Introduction au Génie Logiciel Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

Plus en détail

UML : DIAGRAMME D ETATS

UML : DIAGRAMME D ETATS UML : DIAGRAMME D ETATS Le modèle dynamique représente l évolution du système au cours du temps en réaction aux événements externes. L évolution du système est définie par l évolution (cycle de vie) des

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

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)

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) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Site Web de paris sportifs

Site Web de paris sportifs HENAUD Benoît Numéro d auditeur 05-39166 Version V1.2 Date de mise à jour 31/03/2008 1/21 Table des matières 1. Objectif du document... 3 2. Présentation... 3 2.1. Présentation du projet... 3 2.2. Situation

Plus en détail

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

3. UML - Unified Modeling Language Diagrammes statiques

3. UML - Unified Modeling Language Diagrammes statiques 3. UML - Unified Modeling Language Diagrammes statiques Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon

Plus en détail

Tutoriel BlueJ. Michael Kölling Mærsk Institute University of Southern Denmark. Version 1.4 fr-2 par le groupe Sigma 1 pour BlueJ Version 1.2.

Tutoriel BlueJ. Michael Kölling Mærsk Institute University of Southern Denmark. Version 1.4 fr-2 par le groupe Sigma 1 pour BlueJ Version 1.2. Tutoriel BlueJ Michael Kölling Mærsk Institute University of Southern Denmark Version 1.4 fr-2 par le groupe Sigma 1 pour BlueJ Version 1.2.x Table des matières 1 Avant-propos 3 1.1 BlueJ......................................

Plus en détail

Révision salariale - Manager

Révision salariale - Manager Révision salariale - Manager Version : V1.0, mise à jour le 29/07/2014 Légende : 1 Information Points d attention Etapes Astuces De quoi s agit-il? VITALIS a pour vocation de permettre et faciliter la

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

SD1+ SD1+ SD1+ ENT ESC

SD1+ SD1+ SD1+ ENT ESC SD SD SD A B 4 5 6 C 7 8 9 D ENT 0 ESC Sommaire Options du Menu SD........ Généralités...... Raccordements.......... Mot de Passe........... Type de Mot de Passe........... Sortie Programmable...........

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

JAVA TD0. Prise en main du langage Environnement de base JAVA 1 JAVA TD0 Prise en main du langage Environnement de base JAVA 1 Mon premier programme public class HelloWorld { public static void main(string [] arg){ System.out.println("Hello, World!"); main(string []

Plus en détail

Utiliser Java sans BlueJ

Utiliser Java sans BlueJ Conception objet en Java avec BlueJ une approche interactive Utiliser Java sans BlueJ Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec BlueJ une approche

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Java Licence professionnelle CISII, 2009-2010

Java Licence professionnelle CISII, 2009-2010 Java Licence professionnelle CISII, 2009-2010 Cours 6 : le paquetage (package) Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett 1 Définition - Les classes Java sont regroupées

Plus en détail

F. Barthélemy. 17 mai 2005

F. Barthélemy. 17 mai 2005 Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes

Plus en détail

SECURIWEB. Manuel d utilisation de la navigation. VERSION rev1 190312. 6 mars 2012

SECURIWEB. Manuel d utilisation de la navigation. VERSION rev1 190312. 6 mars 2012 Manuel d utilisation de la navigation SECURIWEB VERSION rev1 190312 6 mars 2012 DISTRI MOBILE SYSTEMS Espace St Germain Bât. ELLIPSE 38200 Vienne Tel 04-74-16-28-28 Fax 04-74-16-28-29 SOMMAIRE 1. INTRODUCTION

Plus en détail

Java c est quoi? Java pourquoi?

Java c est quoi? Java pourquoi? Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle

Plus en détail

ULC-S536-04 Inspection et mise à l essai des réseaux avertisseurs d incendie

ULC-S536-04 Inspection et mise à l essai des réseaux avertisseurs d incendie ULC-S536-04 Inspection et mise à l essai des réseaux avertisseurs d incendie Séminaire technique ACAI 14 novembre 2013 Par : Pierre Noël STRUCTURE DE LA NORME Les réseaux avertisseurs d incendie doivent

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

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

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

Etude et développement d un moteur de recherche

Etude et développement d un moteur de recherche Ministère de l Education Nationale Université de Montpellier II Projet informatique FLIN607 Etude et développement d un moteur de recherche Spécifications fonctionnelles Interface utilisateur Responsable

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

Documentation RBS Change E-Commerce Core

Documentation RBS Change E-Commerce Core Documentation RBS Change E-Commerce Core 10 septembre 2010 2 Table des matières 1 Introduction à RBS Change 7 1.1 Concepts généraux................................... 7 1.1.1 Qu est-ce qu un module RBS

Plus en détail

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

Génie Logiciel Avancé Cours 3 Le modèle à objets Génie Logiciel Avancé Cours 3 Le modèle à objets Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/zack/teaching/1112/gla/ Copyright

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0 Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive Sommaire - Le Robot M.I.M.I. (Multipode Intelligent à Mobilité Interactive) - Présentation du Système à Enseigner. - Composition

Plus en détail

I - J inscris mon enfant pour le mois suivant (du 5 au 20 du mois en cours)

I - J inscris mon enfant pour le mois suivant (du 5 au 20 du mois en cours) Mise à jour le 1 juillet 2013 Tutoriel pour utilisation l utilisation d e-enfance d e-enfance (Année 2012/2013 2013/2014) Afin de faciliter les premières utilisations du logiciel vous permettant la gestion

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

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

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Corrigés des premiers exercices sur les classes

Corrigés des premiers exercices sur les classes Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Design patterns. Design patterns - définition. Design patterns - avantages

Design patterns. Design patterns - définition. Design patterns - avantages Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

SOMMAIRE... 1 ESPACE DU CLUB...

SOMMAIRE... 1 ESPACE DU CLUB... Documentation Extraclub Page 1/11 Sommaire SOMMAIRE... 1 ESPACE DU CLUB... 2 INTRODUCTION... 2 Bien utiliser la gestion du club... 2 Termes utilisés dans cet espace... 2 Par quoi commencer?... 2 L onglet

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

Plus en détail

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C La société C fabrique des pièces métalliques réalisées dans son atelier. La société C est en relation commerciale uniquement

Plus en détail

Préparation à l examen EFA en Macro

Préparation à l examen EFA en Macro Préparation à l examen EFA en Macro Exercice sur les macros en Word / Excel Les questions suivantes doivent constituer un bref rafraîchissement et vous aider à situer le niveau de vos connaissances : Question

Plus en détail

Programme. 048884-EcranTactile-01 MANUEL DE MISE EN ŒUVRE

Programme. 048884-EcranTactile-01 MANUEL DE MISE EN ŒUVRE Programme d application 048884-EcranTactile-01 MANUEL DE MISE EN ŒUVRE Sommaire 4 5 7 10 11 13 14 18 19 21 22 Description des fonctionnalités du produit Généralité concernant le fonctionnement Utilisation

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail