UML : relations. Programmation Orientée Objet. Jean-Christophe Routier Licence mention Informatique Université des Sciences et Technologies de Lille

Documents pareils
GOL502 Industries de services

Diagramme de classes

TD/TP PAC - Programmation n 3

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

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Chapitre 10 Arithmétique réelle

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Cours 1: Java et les objets

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

Chapitre 10. Les interfaces Comparable et Comparator 1

Applet pour visualiser les variables «automate» notifiées

Chapitre VI- La validation de la composition.

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

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

Corrigés des premiers exercices sur les classes

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

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Université de Bangui. Modélisons en UML

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

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

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

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)

Java Licence Professionnelle CISII,

UML (Diagramme de classes) Unified Modeling Language

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

UML. Diagrammes de classes (suite) Delphine Longuet.

Conception des bases de données : Modèle Entité-Association

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

ALGORITHMIQUE ET PROGRAMMATION En C

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

TD/TP PAC - Programmation n 3

UML et les Bases de Données

TP, première séquence d exercices.

Programmation par les Objets en Java

Analyse de sécurité de logiciels système par typage statique

La technologie Java Card TM

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Construire des plug-ins pour SAS Management Console SAS 9.1

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Programmation en Java IUT GEII (MC-II1) 1

Programmation avec des objets : Cours 7. Menu du jour

Chapitre I : le langage UML et le processus unifié

1 Définition d une classe en Java

Recherche dans un tableau

Programmer en JAVA. par Tama

Programmation Par Objets

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

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

Programmation Orientée Objet

Projet de programmation (IK3) : TP n 1 Correction

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

UE Programmation Impérative Licence 2ème Année

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Table des matières Sources

2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN :

Intégration de l interface graphique de Ptidej dans Eclipse

Programmation Objet Java Correction

3. UML - Unified Modeling Language Diagrammes statiques

Plan Pédagogique du cours

Application web de gestion de comptes en banques

Bases de données. Chapitre 1. Introduction

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Plan du cours. Historique du langage Nouveautés de Java 7

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Tp 1 correction. Structures de données (IF2)

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Arguments d un programme

Classes et Objets en Ocaml.

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

RMI le langage Java XII-1 JMF

Corrigé des exercices sur les références

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

Chapitre 2. Classes et objets

Bases Java - Eclipse / Netbeans

IFT2255 : Génie logiciel

4. Groupement d objets

Création d objet imbriqué sous PowerShell.

Premiers Pas en Programmation Objet : les Classes et les Objets

Remote Method Invocation (RMI)

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

Chapitre V. Les classes : Object, Vector, etc.

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

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Programmation d application Bases de données avec Java

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Généricité. en Java. (polymorphisme paramétrique) Philippe GENOUD UJF Janvier


UML : DIAGRAMME D ETATS

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

LOG4430 : Architecture logicielle et conception avancée

Description du logiciel Modbus RTU

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Création d'une interface graphique

V- Manipulations de nombres en binaire

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

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

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Transcription:

1 Jean-Christophe Routier Licence mention Informatique Université des Sciences et Technologies de Lille

2 Classes nom attributs Rectangle largeur hauteur Classe documentée méthodes draw() moveto() resize() Classe non documentée nom «complet», intégrant le paquetage appli::geom::triangle

3 privé UneClasse + attpublic - attprivate - attstatic statique publique + methpublic() - methprivate()

4 Rectangle - largeur : float - hauteur : float - estvisible : boolean = true Classe détaillée note + draw() + moveto( newp : Position) + resize( scale : Float) + tostring() : String return rectangle +largeur+, +hauteur;

5 Relations Identifier les classes ne suffit pas, elles coopèrent/ interagissent entre elles, il faut exprimer ces relations (le plus souvent binaires). Dépendances relations d utilisation Généralisations Associations relations structurelles, connexion sémantique

6 Dépendance Exprimer le fait qu une classe en utilise une autre. Toute modification sur la classe utilisée peut avoir un impact sur la classe utilisante. Rectangle largeur hauteur draw() moveto() resize() java::awt::color dépendance

7 Association C est une relation structurelle qui exprime une relation sémantique entre (le plus souvent) deux classes. Elle est le plus souvent réflexive. On peut la compléter de 4 informations : Nom Rôles Multiplicité Agrégation

8 Exemple nom cardinalités direction Personne 1..* Travaille pour 0..1 employé employeur Entreprise rôles association

9 Cardinalités Définissent la multiplicité des rôles Une cardinalité à une extrémité signifie qu à l autre extrémité ce nombre d éléments doit exister pour tout objet de la classe. Expressions possibles : n : exactement n n..m : de n à m * : quelconque (équivalent à «0..n» ou «0..») n..* : n ou plus liste de cardinalités : 1..2,3..5 = 1 à 5 sauf 4

10 Il peut exister plusieurs relations entre les mêmes classes Travaille pour employé 1..* Personne 0..1 employeur Entreprise 1 0..n directeur est dirigée par

11 Navigabilité restreinte Rendre unidirectionnelle la relation Pour indiquer que les instances d'une classe ne "connaissent" pas les instances d'une autre. Electeur * vote pour 0..1 Candidat

12 Agrégation/Composition Association «tout/partie», relation de possession «has-a» Agrégation : le tout est responsable de la gestion de ses parties. Relation de subordination. agrégation Zoo 1 tout Un animal peut appartenir à un zoo (qui peut regrouper plusieurs animaux). Un objet animal peut être lié à un autre objet. * Animal partie

13 la partie est éventuellement partagée Compagnie 1 appartient * Port 0..1 Bateau *

14 Composition : agrégation forte, la partie n est pas partagée composition Maison 0..1 tout Une pièce appartient à une maison qui peut être composée de plusieurs pièces. Un objet piève ne peut pas être lié à un autre objet. Si on détruit l'objet maison, on détruit aussi les instances pièces liées. 1..* Pièce partie

15 Interfaces

16 Exemple : compteur Counter - value : int - incf:incrementfunction + getvalue() : int + increment() + initvalue(value:int) 1 * affiche IncrementFunction CounterGraphicInterface Javax::swing::JFrame value = incf.increment(value); «interface» IncrementFunction increment(value : int) : int SimpleIncrement AnotherIncrement ModularIncrement

17 wator grid::griddisplayer 1 1 affiche grid::grid <<interface>> Fish Position Shark Tuna Fish 1 n Environment grid::grid Environment 1 fait évoluer 1 Wator 1 1 grid::griddisplayer grid::graphicalgriddisplayer grid::textgriddisplayer