UML. Diagrammes de classes (suite) Delphine Longuet.

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

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

Transcription

1 Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année UML Diagrammes de classes (suite) Delphine Longuet delphine.longuet@lri.fr

2 Opérations Opérations Service qui peut être demandé à tout objet de la classe Comportement commun à tous les objets de la classe Client Compte pré naissance : Date ouvrircompte(init : float) devenirproprio(c : Compte) propriétaire 1..2 possède comptes 1..* numéro : int devise : Devise solde : float déposer(montant : float) retirer(montant : float) solde() : float D. Longuet - UML 2

3 Effets possibles d'une opération Opérations Renvoyer le résultat d'un calcul MonLivretA : Compte numéro = devise = EUR solde = 3509,43 déposer(montant : float) retirer(montant : float) solde() : float solde() 3509,43 D. Longuet - UML 3

4 Effets possibles d'une opération Opérations Renvoyer le résultat d'un calcul Modifier l'état du système - modification de la valeur des attributs MonLivretA : Compte numéro = devise = EUR solde = 3509,43 déposer(montant : float) retirer(montant : float) solde() : float déposer(150,0) MonLivretA : Compte numéro = devise = EUR solde = 3659,43 déposer(montant : float) retirer(montant : float) solde() : float D. Longuet - UML 4

5 Effets possibles d'une opération Opérations Renvoyer le résultat d'un calcul Modifier l'état du système - modification de la valeur des attributs - ajout/suppressions de liens entre objets MarieDupont : Personne CompteJoint : Compte MarieDupont : Personne CompteJoint : Compte JeanDupont : Personne nom = "Dupont" devenirproprio(comptejoint) JeanDupont : Personne nom = "Dupont" prénom = "Jean" prénom = "Jean" naissance = 20/08/1990 naissance = 20/08/1990 ouvrircompte(init : float) ouvrircompte(init : float) devenirproprio(c : Compte) devenirproprio(c : Compte) D. Longuet - UML 5

6 Effets possibles d'une opération Opérations Renvoyer le résultat d'un calcul Modifier l'état du système - modification de la valeur des attributs - ajout/suppressions de liens entre objets - création/destruction d'objets AnneBérou : Personne nom = "Bérou" prénom = "Anne" naissance = 14/12/1965 ouvrircompte(init : float) devenirproprio(c : Compte) ouvrircompte(1000,0) AnneBérou : Personne nom = "Bérou" prénom = "Anne" naissance = 14/12/1965 ouvrircompte(init : float) devenirproprio(c : Compte) LivretA : Compte numéro = devise = EUR solde = 1000,0 déposer(montant : float) retirer(montant : float) solde() : float D. Longuet - UML 6

7 Héritage d'opération Opération commune aux sous-classes : Définition dans la super-classe déposer(montant : float) {solde := solde+montant} Compte numéro : int devise : Devise solde : float déposer(montant : float) retirer(montant : float) solde() : float opération commune à tous les comptes CompteCourant découvertautorisé : float fraisdécouvert : float CompteÉpargne plafond : float taux : float calculerintérêts() : float D. Longuet - UML 8

8 Redéfinition d'opération Opération commune aux sous-classes : Définition dans la super-classe Possibilité de redéfinition locale de l'opération dans une sous-classe pour prendre en compte un cas particulier déposer(montant : float) {solde := solde+montant} Compte numéro : int devise : Devise solde : float déposer(montant : float) retirer(montant : float) solde() : float opération commune à tous les comptes déposer(montant : float) {if(solde+montant <= plafond) then solde := solde+montant} CompteCourant découvertautorisé : float fraisdécouvert : float redéfinition CompteÉpargne plafond : float taux : float calculerintérêts() : float déposer(montant : float) D. Longuet - UML 9

9 Classe abstraite Classe sans instance car certaines opérations non définies Opération non définie en italique Nom de la classe en italique (ou stéréotype «abstract») Exemple : On ne peut pas calculer la surface d'une forme sans savoir de quelle forme il s'agit opération non définie (abstraite) Forme surface() : float D. Longuet - UML 10

10 Polymorphisme Contexte : Définition d'une opération abstraite dans les classes héritant d'une classe abstraite Opération polymorphe : Opération définie dans différentes sous-classes mais opération spécifique à la sous-classe Forme surface = longueur*largeur surface() : float surface = pi*rayon*rayon Rectangle longueur : float largeur : float opération polymorphe Cercle rayon : float surface() : float surface() : float D. Longuet - UML 11

11 Interface Liste d'opérations constituant un contrat à respecter par les classes réalisant l'interface Pas une classe, ne peut pas servir à créer des objets Toutes les opérations sont abstraites Point abscisse : float ordonnée : float égal(object o) : boolean supérieur(object o) : boolean classes réalisant l'interface «interface» Comparable Date égal(object o) : boolean jour : int supérieur(object o) : boolean mois : int année : int égal(object o) : boolean supérieur(object o) : boolean diff(date d) : int String content : string égal(object o) : boolean supérieur(object o) : boolean print() D. Longuet - UML 12

12 Attributs et opérations de classes Notations avancées Attribut de classe : valeur commune à toutes les instances Opération de classe : opération sur la classe elle-même (création de nouvelles instances par exemple) Soulignés dans la classe Article - référence : int - prixht : float - nbinstances : int + calculerprixttc(taxe : float) : float + créer() + compterinstances() : int D. Longuet - UML 14

13 Notations avancées Visibilité + : public, accessible à toutes les classes # : protégé, accessible uniquement aux sous-classes - : privé, inaccessible à tout objet hors de la classe Pas de visibilité par défaut Vecteur - début : Point - /fin : Point - longueur : float - angle : float # ajouter(v : Vecteur) : Vecteur + déplace(p : Point) D. Longuet - UML 15

14 Attribut dérivé Peut être calculé à tout moment à partir d'autres informations du système Notation : /attribut Peut nécessiter des informations de plusieurs classes Vecteur attribut dérivé - début : Point - /fin : Point - longueur : float - angle : float # ajouter(v : Vecteur) : Vecteur + déplace(p : Point) fin = (longueur*cos(angle), longueur*sin(angle)) D. Longuet - UML 16

15 Association dérivée Redondance d'une association : Association n'apportant pas d'information supplémentaire, se demander si nécessaire Banque 1..* banques 1 banque 1..* comptes Compte numéro : int devise : Devise solde : float 1..* comptes 1 propriétaire Client naissance : Date 1..* clients ClientsBanque D. Longuet - UML 17

16 Association dérivée Redondance d'une association : Association n'apportant pas d'information supplémentaire, se demander si nécessaire Si nécessaire, la faire apparaître comme association dérivée Association dérivée : Peut être calculée à tout moment à partir d'autres informations du système Notation : /association Banque 1..* banques 1 banque 1..* comptes Compte numéro : int devise : Devise solde : float 1..* comptes 1 propriétaire Client naissance : Date 1..* clients association dérivée /ClientsBanque D. Longuet - UML 18

17 Limites du diagramme de classes Diagramme de classes représente la structure du système en termes d'objets et de relations entre ces objets Ne permet pas de représenter : Valeurs autorisées des attributs Conditions sur les associations Relations entre les attributs ou entre les associations Expression des contraintes liées au diagramme : Notes dans le diagramme Texte accompagnant le diagramme OCL : langage de contraintes formel associé à UML D. Longuet - UML 19

18 Propriétés : Contraintes, invariants Portant sur les éléments du modèle Doivent être vérifiées à tout instant En général, restriction sur les diagrammes d'objets possibles à partir du diagramme de classes Héritage des contraintes de la super-classe vers les sous-classes Contraintes présentes dans le diagramme : Type des attributs Multiplicités des associations D. Longuet - UML 20

19 Contraintes sur les attributs {age = diff(naissance,today)} {naissance today} sous forme de note Personne naissance : Date /age : int {age 0} dans le diagramme Contraintes sur la classe Personne : L'âge est toujours positif L'âge est calculé comme la différence de la date de naissance et la date d'aujourd'hui La date de naissance est inférieure ou égale à la date d'aujourd'hui dans un document annexe D. Longuet - UML 21

20 Contraintes associées à la multiplicité Compte numero : int * 1..* Personne devise : Devise solde : float pre naissance : Date Par défaut : ensemble non ordonné 2 parents Personne enfants pre *{ordered} naissance : Date ensemble ordonné Commande numero : int total : float date : Date * 1..* {nonunique} Pizza id : int prix : float multi-ensemble (chaque élément peut apparaître plusieurs fois) PolygoneRempli multi-ensemble 1 ordonné 1..*{sequence} Point abscisse : float ordonnée : float D. Longuet - UML 22

21 Contraintes sur les associations Salle capacité : int 1 1..* Place numéro : int contrainte sur une association nombre de places associées à une salle = capacité P1:Place Olympia:Salle nom = Olympia capacité = 2000 numéro = 1 P2:Place numéro = 2 P3:Place numéro = 3 D. Longuet - UML 23

22 Contraintes sur les associations subordonné 1..* Personne pré naissance : Date 0..1 chef 1..* 0..1 Entreprise employés employeur {pour toute Personne p, contrainte portant sur p.employeur = p.chef.employeur} plusieurs associations PierreDupont : Personne nom = "Dupont" prénom = "Pierre" naissance = 12/04/1988 employeur IBM:Entreprise nom = "IBM" chef AnneBérou : Personne nom = "Bérou" prénom = "Anne" employeur Microsoft:Entreprise nom = "Microsoft" naissance = 14/12/1965 D. Longuet - UML 24

23 Contraintes, invariants {age = diff(naissance,today)} Personne naissance : Date /age : int {age 0} 1 * ExpériencesPro entreprise : string entrée : Date sortie : Date {ordered} * 1 {subset} appartient administre D. Longuet - UML 25 * * Groupe thème : string création : Date L'âge est toujours positif L'âge est calculé comme la différence entre la date de naissance et la date d'aujourd'hui L'administrateur d'un groupe en est membre On a accès aux expériences professionnelles dans l'ordre de la date d'entrée

24 Contraintes en OCL Banque 1 banque 1..* banques 1..* clients Client naissance : Date 1 propriétaire comptes 1..* 1..* comptes Compte numéro : int devise : Devise solde : float dest 1 0..* 1 0..* orig Virement montant : float date : Date Tout propriétaire d un compte est client de la banque hébergeant ce compte. context c : Compte inv : c.banque.clients -> include(c.propriétaire) Tout client d une banque y possède au moins un compte. context b : Banque inv : b.clients -> forall(cl cl.comptes -> select(c c.banque = b) -> size() >= 1) Les virements ne sont autorisés qu'entre des comptes partageant la même devise. context v : Virement inv : v.orig.devise = v.dest.devise D. Longuet - UML 26

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

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

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

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

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

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

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

Object Constraint Language (OCL)

Object Constraint Language (OCL) Object Constraint Language (OCL) Eric Cariou Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr 1 Plan 1. Pourquoi OCL? Introduction par l'exemple

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

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

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

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

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

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

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

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

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

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

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

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

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

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

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

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

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

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

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

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

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

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

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

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

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

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

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

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

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

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

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

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

Object Constraint Language (OCL) Une introduction

Object Constraint Language (OCL) Une introduction Object Constraint Language (OCL) Une introduction Master 2 IFPRU - Module Ingénierie des modèles - FMIN310 Marianne Huchard 7 novembre 2008 1 Présentation générale OCL est un langage formel, basé sur la

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

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

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

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

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

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Introduction Les modèles d'omt Le Modèle Objet (MO) Le Modèle

Plus en détail

Classes et Objets en Ocaml.

Classes et Objets en Ocaml. Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.

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

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

Génie Logiciel Orienté Objet UML

Génie Logiciel Orienté Objet UML Licence Professionnelle en Informatique Génie Logiciel Orienté Objet UML E. Grislin-Le Strugeon E. Adam UVHC ISTV Plan Concepts orientés objet Principes des méthodes OO Qu est-ce que UML? Caractéristiques

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

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

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

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

Division Moyennes et Grande Entreprises Les éditions de Sage trésorerie. Sommaire

Division Moyennes et Grande Entreprises Les éditions de Sage trésorerie. Sommaire Les éditions de Sage trésorerie Sommaire 1. Préambule... 4 2. Trésorerie... 6 Paramétrage... 6 Edition des sociétés... 6 Edition des banques.... 7 Edition des natures.... 8 Edition des affectations des

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT UML FOR BUSINESS INTELLIGENCE PROJECT Abstract : this document deals with the role of UML into business intelligence projects (like data warehousing). After a quick overview of what UML offers, it focuses

Plus en détail

Modèle Entité/Association

Modèle Entité/Association Base de données Modèle Entité/Association L3 Informatique Antoine Spicher antoine.spicher@u-pec.fr Contexte du cours Organisation du cours 1 ère partie (C. D.) Modèle et algèbre relationnel Langage SQL

Plus en détail

Modèle conceptuel : diagramme entité-association

Modèle conceptuel : diagramme entité-association Modèle conceptuel : diagramme entité-association Raison d'être de ce cours «La conception et l'utilisation de bases de données relationnelles sur micro-ordinateurs n'est pas un domaine réservé aux informaticiens.»

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

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

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

2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN : 978-2-21212250-3 2 e édition JAVA 5 et 6 Jérôme Bougeault TSoft et Groupe Eyrolles, 2003, 2008, ISBN : 978-2-21212250-3 Classes et objets Les constructeurs Propriétés Les méthodes L héritage Les interfaces Les relations

Plus en détail

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

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools. 1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Diplôme Européen de III ème cycle en Systèmes d'information!"" #!$%& ' (

Diplôme Européen de III ème cycle en Systèmes d'information! #!$%& ' ( $%&)"& Diplôme Européen de III ème cycle en Systèmes d'information!"" #!$%& ' ( 2002-2003 * #& % Introduction... 1 Contexte et motivation... 1 Objectif du Travail... 2 Partie I: Etat de l'art 1. Chapitre1

Plus en détail

II. Modèle conceptuel le modèle entité-association

II. Modèle conceptuel le modèle entité-association II. Modèle conceptuel le modèle entité-association Personne Voiture Schéma conceptuel Monde réel υ Concepteur υ Personne conduit Voiture ϖ ϖ Schéma logique utilisateurs ω LMD BD Personne Dupont Durant

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

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

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

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................

Plus en détail

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS Mémento Ouvrir TI-Nspire CAS. Voici la barre d outils : L insertion d une page, d une activité, d une page où l application est choisie, pourra

Plus en détail

Diagramme de déploiement

Diagramme de déploiement Table des matières Table des matières... Diagramme de déploiement... 2 Diagramme de cas d utilisation global... 3 Sous-système : Gestion des utilisateurs... 4 Diagramme de cas d utilisations... 4 Diagramme

Plus en détail

La C.A.O (Conception Assistée par Ordinateur). Le logiciel de C.A.O.

La C.A.O (Conception Assistée par Ordinateur). Le logiciel de C.A.O. CAO1 La C.A.O (Conception Assistée par Ordinateur). Aujourd'hui, lorsque des ingénieurs décident de concevoir un nouveau produit, ils n'utilisent plus de stylo. Les plans sont réalisés sur ordinateur.

Plus en détail

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

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh NOTATION UML AVEC RATIONAL ROSE G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES...2 1.1 ENVIRONNEMENT LOGICIEL...2 1.2 LES VUES DU LOGICIEL ROSE...3 1.3 ORGANISATION RECOMMANDÉE...3

Plus en détail

Modélisation avec UML

Modélisation avec UML 2 Vue générale du cours ) Introduction au langage de modélisation UML points de vue et diagrammes cas d'utilisation, analyse, conception, implémentation 2) Le diagramme des cas d utilisations acteur cas

Plus en détail

Initiation à la programmation orientée-objet avec le langage Java

Initiation à la programmation orientée-objet avec le langage Java Initiation à la programmation orientée-objet avec le langage Java Pôle Informatique 2013-2014 158 cours Fauriel 42023 Saint-Étienne Cedex 02 Gauthier Picard gauthier.picard@emse.fr Institut Henri Fayol,

Plus en détail

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

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

Support de cours et TD Programmation Orientée Objet

Support de cours et TD Programmation Orientée Objet REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Institut Supérieur des Etudes Technologiques de Médenine Département Informatique Support de cours et TD Programmation

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

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

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

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

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

AVIS DE CHANGE N 5 DU MINISTRE DU PLAN ET DES FINANCES RELATIF AUX COMPTES DE NON-RESIDENTS. ( Publié au J.O.R.T. du 5 octobre 1982 )

AVIS DE CHANGE N 5 DU MINISTRE DU PLAN ET DES FINANCES RELATIF AUX COMPTES DE NON-RESIDENTS. ( Publié au J.O.R.T. du 5 octobre 1982 ) AVIS DE CHANGE N 5 DU MINISTRE DU PLAN ET DES FINANCES RELATIF AUX COMPTES DE NON-RESIDENTS ( Publié au J.O.R.T. du 5 octobre 1982 ) Le présent texte pris dans le cadre de l'article 19 du décret n 77-608

Plus en détail

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013 UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des

Plus en détail

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association Modélisation Conceptuelle Partie 2: Le modèle Entité-Association Modèle de type conceptuel But: permettre la description conceptuelle des structures de données d'une application Les concepts de base (correspondent

Plus en détail

Modélisation UML. Christine Solnon 2013-2014. INSA de Lyon - 3IF 1/140.

Modélisation UML. Christine Solnon 2013-2014. INSA de Lyon - 3IF 1/140. 1/140. Modélisation UML Christine Solnon INSA de Lyon - 3IF 2013-2014 Introduction Positionnement de l UE / IF Domaines d enseignement du département IF : Système d Information Réseaux Architectures matérielles

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Chap. 3: Le modèle de données entité-association (E.A.)

Chap. 3: Le modèle de données entité-association (E.A.) Chap. 3: Le modèle de données entité-association (E.A.) En anglais: Entity-Relationship (ER) Origines: C.Bachman (1969), P.Chen (1976). Modèle de données > décrire la réalité perçue à travers les données

Plus en détail

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

BASES DE DONNEES ORIENTEES OBJETS BDA10.1 BASES DE DONNEES ORIENTEES OBJETS BDA10.1 Trois chapitres Principes et modèles 2 approches : langage de programmation OO => nouveaux SGBD "purs orientés-objets" norme ODMG extension des bd relationnelles

Plus en détail

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

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 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 des objets d'une classe Utilisation d'une classe Droit

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R. Angles orientés Trigonométrie I. Préliminaires. Le radian Définition B R AB =R C O radian R A Soit C un cercle de centre O. Dire que l angle géométrique AOB a pour mesure radian signifie que la longueur

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

Reporting Services - Administration

Reporting Services - Administration Reporting Services - Administration Comment administrer SQL Server Reporting Services Cet article a pour but de présenter comment gérer le serveur depuis le "portail" de Reporting Services. Nous verrons

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

COMPTES ETRANGERS EN DINARS ET COMPTES ETRANGERS EN DEVISES CONVERTIBLES. sont subordonnés à l'autorisation de la Banque Centrale de Tunisie (1).

COMPTES ETRANGERS EN DINARS ET COMPTES ETRANGERS EN DEVISES CONVERTIBLES. sont subordonnés à l'autorisation de la Banque Centrale de Tunisie (1). AVIS DE CHANGE N 5 DU MINISTRE DU PLAN ET DES FINANCES RELATIF AUX COMPTES DE NON-RESIDENTS ( Publié au J.O.R.T. du 5 octobre 1982 ) * * * * * Le présent texte pris dans le cadre de l'article 19 du décret

Plus en détail

«Cimetières de France en ligne»

«Cimetières de France en ligne» AIDE UTILISATEURS Logiciel de gestion de cimetière sur internet «Cimetières de France en ligne» INFORMATIONS ET MISES A JOUR DU DOCUMENT : www.cimetieres-de-france.fr ASSISTANCE TECHNIQUE - HOTLINE : 03.80.50.81.95

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Programmation Orientée Objet en C#

Programmation Orientée Objet en C# Programmation Orientée Objet en C# 1 Introduction 1.1 Présentation Tout bon développeur le sait, le code d'un programme doit être propre, commenté, facile à maintenir et à améliorer. Vous êtes adepte de

Plus en détail

C f tracée ci- contre est la représentation graphique d une

C f tracée ci- contre est la représentation graphique d une TLES1 DEVOIR A LA MAISON N 7 La courbe C f tracée ci- contre est la représentation graphique d une fonction f définie et dérivable sur R. On note f ' la fonction dérivée de f. La tangente T à la courbe

Plus en détail

Modélisation de bases de données : Le modèle relationnel

Modélisation de bases de données : Le modèle relationnel Modélisation de bases de données : Le modèle relationnel Rappel chapitre 1 C est quoi un modèle? Type de modèle : Modèle hiérarchique Modèle réseau Modèle objet Modèle relationnel Cours BD Dr REZEG K 1

Plus en détail

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

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail